:root{--dsa-blue:#153e55;--dsa-blue-soft:#2c6177;--dsa-mist:#dce9ec;--ng-ink:#24323a;--ng-wine:#6f1735;--ng-red:#9f2148;--ng-rose:#f4d9df;--ng-cream:#f7f0df;--ng-paper:#fffdf7;--ng-green:#427c5b}*{box-sizing:border-box}html,body{min-height:100%;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.qualityLoginPage{color:#fff;background:radial-gradient(circle at 10% 85%,#d3af7640 0 8%,#0000 30%),radial-gradient(circle at 90% 8%,#ffffff18 0 5%,#0000 24%),linear-gradient(125deg,#102f40 0%,#153e55 43%,#57142c 100%);place-items:center;min-height:100dvh;padding:clamp(18px,4vw,48px);font-family:Arial,Helvetica,sans-serif;display:grid;position:relative;overflow:hidden}.qualityLoginPage:before,.qualityLoginPage:after{content:"";pointer-events:none;border:1px solid #ffffff1f;border-radius:50%;position:absolute}.qualityLoginPage:before{width:420px;height:420px;top:-260px;right:8%}.qualityLoginPage:after{width:260px;height:260px;bottom:-170px;left:4%}.qualityLoginPage>p{z-index:1;color:#ffffffbf;font-size:13px;position:relative}.qualityLoginShell{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(44px,7vw,92px);width:min(100%,1040px);min-height:540px;display:grid;position:relative}.qualityLoginBrand{isolation:isolate;border-right:1px solid #ffffff2b;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(24px,4vw,48px) clamp(34px,5vw,62px) clamp(24px,4vw,48px) 0;display:flex;position:relative}.qualityLoginBrand:after{content:"";z-index:-1;border:1px solid #e4bc7e66;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-90px;right:-90px}.qualityLoginBrandCopy{gap:13px;display:grid}.qualityLoginBrandCopy span{color:#e5c58f;letter-spacing:.22em;font-size:10px;font-weight:800}.qualityLoginBrandCopy p{color:#fffaf0;letter-spacing:-.04em;max-width:390px;margin:0;font:400 clamp(34px,5vw,56px)/1 Georgia,serif}.qualityLoginCard{color:#fff;flex-direction:column;justify-content:center;width:100%;padding:clamp(36px,5vw,56px) 0;display:flex}.qualityLoginCard .qualityEyebrow{color:#e5c58f;margin-bottom:16px}.qualityLoginCard h1{color:#fffaf0;letter-spacing:-.04em;margin:0 0 14px;font:700 clamp(38px,5vw,52px)/1 Georgia,serif}.qualityLoginIntro{color:#ffffffbd;margin:0 0 36px;font-size:14px;line-height:1.55}.qualityLoginCard form{gap:18px;display:grid}.qualityLoginCard form label{color:#ffffffb8;letter-spacing:.1em;text-transform:uppercase;gap:8px;font-size:10px;font-weight:800;display:grid}.qualityLoginCard input,.qualityLoginCard select{width:100%;min-width:0;min-height:50px;color:var(--ng-ink);background:#fffdf8f2;border:1px solid #ffffff73;border-radius:11px;outline-color:#e5c58f;padding:13px 15px;font-size:15px;font-weight:700;box-shadow:0 10px 28px #071b2730}.qualityLoginCard form>button{color:#153e55;background:#e5c58f;border:1px solid #f1d59b;border-radius:11px;min-height:52px;padding:14px 16px;font-weight:900;box-shadow:0 12px 28px #071b273d}.qualityLoginCard form>button:disabled{opacity:.45;cursor:not-allowed}.qualityLoginError{color:#fff;background:#ffffff14;border-left:3px solid #e5c58f;margin:0;padding:10px 12px;font-size:12px}.qualityLoginHelp{color:#ffffff80;letter-spacing:.08em;text-align:center;text-transform:uppercase;margin-top:20px;font-size:9px;font-weight:700;display:block}.qualityPage{min-height:100vh;color:var(--ng-ink);background:radial-gradient(circle at 92% 4%,#ffffff14 0 7%,#0000 28%),radial-gradient(circle at 7% 35%,#a66f3238 0 6%,#0000 25%),linear-gradient(135deg,#0e2938 0%,#153e55 48%,#57142c 100%);font-family:Arial,Helvetica,sans-serif}.qualityHeader{color:#fff8e8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c2635b8;border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(20px,5vw,76px);display:flex;box-shadow:0 10px 28px #071c2938}.qualityCoBrand{color:#fff;align-items:center;gap:18px;display:flex}.qualityDsaLogo{filter:brightness(0)invert();width:132px;height:auto;display:block}.qualityBrandCross{color:#e1bd80;font:400 30px/1 Georgia,serif}.qualityNgLogo{width:205px;height:auto;display:block}.qualityCoBrand.compact{color:#fff8e8;gap:9px}.qualityCoBrand.compact .qualityDsaLogo{width:62px}.qualityCoBrand.compact .qualityBrandCross{color:#e0b876;font-size:22px}.qualityCoBrand.compact .qualityNgLogo{width:112px}.qualitySession{align-items:center;gap:12px;display:flex}.qualitySession>span{text-align:right;gap:2px;display:grid}.qualitySession strong{color:#fff8e8;font-size:11px}.qualitySession small{color:#e8cbd4;font-size:9px}.qualitySession button{color:#fff8e8;background:0 0;border:1px solid #bd748b;padding:7px 9px;font-size:9px;font-weight:800}.qualityHero{grid-template-columns:1fr 220px;align-items:end;gap:40px;max-width:1440px;margin:auto;padding:54px clamp(20px,5vw,76px) 34px;display:grid}.qualityEyebrow{color:#e5c58f;letter-spacing:.18em;margin:0 0 10px;font-size:11px;font-weight:800}.qualityHero h1{color:#fffaf0;letter-spacing:-.045em;max-width:760px;margin:0;font:700 clamp(38px,6vw,76px)/.96 Georgia,serif}.qualityHero>div>p:last-child{color:#f1e5e5c7;max-width:700px;font-size:16px;line-height:1.6}.qualityHeroScore{background:#ffffff12;border:1px solid #ffffff38;border-radius:8px;gap:4px;padding:22px;display:grid;box-shadow:0 14px 36px #071b2838}.qualityHeroScore span,.qualityHeroScore small{color:#f5e8e8b8;font-size:11px}.qualityHeroScore strong{color:#f3d59b;font:700 44px Georgia,serif}.qualityToolbar,.qualityWorkspace{max-width:1440px;margin:0 auto;padding-left:clamp(20px,5vw,76px);padding-right:clamp(20px,5vw,76px)}.qualityToolbar{grid-template-columns:1.25fr 1fr;gap:12px;display:grid}.qualityToolbar label{text-transform:uppercase;letter-spacing:.08em;background:#fffdf8f2;border:1px solid #ffffff52;border-radius:7px;gap:8px;padding:15px 17px;font-size:10px;font-weight:800;display:grid;box-shadow:0 12px 30px #071b282b}.qualityToolbar input,.qualityToolbar select{min-width:0;color:var(--ng-ink);background:0 0;border:0;outline:0;font-size:14px;font-weight:700}.qualityLockedRestaurant{background:#fffdf8f2;border:1px solid #ffffff52;border-radius:7px;gap:5px;padding:15px 17px;display:grid;box-shadow:0 12px 30px #071b282b}.qualityLockedRestaurant span{color:#816a72;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.qualityLockedRestaurant strong{font-size:14px}.qualityLockedRestaurant small{color:#8f7a81;font-size:9px}.qualityPeriodPicker{background:#fffdf8f2;border:1px solid #ffffff52;border-radius:8px;grid-template-columns:minmax(250px,.82fr) minmax(0,2.5fr);width:100%;max-width:calc(1440px - clamp(40px,10vw,152px));margin:14px auto 0;display:grid;overflow:hidden;box-shadow:0 16px 38px #071b2838}.qualityMonthChoice{color:#fff8e8;background:linear-gradient(145deg,#601831,#401126);grid-template-columns:38px 1fr 38px;align-items:stretch;min-height:92px;display:grid}.qualityMonthChoice>button{color:#e9bfca;background:0 0;border:0;font:400 28px/1 Georgia,serif}.qualityMonthChoice>button:hover{color:#fff;background:#ffffff10}.qualityMonthChoice label{text-align:center;cursor:pointer;place-content:center;gap:5px;display:grid;position:relative}.qualityMonthChoice label span{color:#e4c5ce;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.qualityMonthChoice label strong{font:700 22px Georgia,serif}.qualityMonthChoice input{opacity:0;cursor:pointer;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:100%;position:absolute;inset:0}.qualityPeriodWeeks{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));display:grid}.qualityPeriodWeeks>button{min-height:92px;color:var(--ng-ink);text-align:center;background:0 0;border:0;border-left:1px solid #eadfd5;place-content:center;gap:4px;padding:13px 10px;display:grid}.qualityPeriodWeeks>button:hover{background:#faf1e7}.qualityPeriodWeeks>button.active{z-index:1;box-shadow:inset 0 -4px var(--ng-wine);background:#fbefe5;position:relative}.qualityPeriodWeeks>button span{color:var(--dsa-blue);font:700 23px Georgia,serif}.qualityPeriodWeeks>button strong{font-size:10px}.qualityPeriodWeeks>button small{color:#8a767d;font-size:9px}.qualityPeriodWeeks>button.done small{color:var(--ng-green);font-weight:800}.qualityPeriodWeeks>button.draft small{color:#b86c28;font-weight:800}.qualityScopeNote{color:#725d65;background:#fffaf0e8;border:1px solid #ffffff45;border-radius:7px;align-items:baseline;gap:12px;max-width:calc(1440px - clamp(40px,10vw,152px));margin:14px auto 0;padding:13px 16px;font-size:11px;line-height:1.5;display:flex}.qualityScopeNote strong{color:var(--dsa-blue);letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:10px}.qualityWorkspace{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px;padding-top:20px;padding-bottom:60px;display:grid}.qualityChecklist,.qualitySummary{background:#fffdf8f5;border:1px solid #ffffff4a;border-radius:8px;overflow:hidden;box-shadow:0 18px 48px #071b2840}.qualityChecklist{border-top:3px solid var(--dsa-blue)}.qualitySummary{border-top:3px solid var(--ng-wine)}.qualitySectionTitle{border-bottom:1px solid #eadfd4;justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.qualitySectionTitle p{color:var(--ng-red);letter-spacing:.12em;margin:0 0 4px;font-size:10px;font-weight:800}.qualitySectionTitle h2{color:var(--dsa-blue);margin:0;font:700 25px Georgia,serif}.qualitySectionTitle>span{color:#8c757d;font-size:11px}.qualityCheckRow{border-bottom:1px solid #eee4db;grid-template-columns:22px minmax(180px,1.2fr) auto minmax(150px,.9fr) auto;align-items:center;gap:13px;min-height:102px;padding:16px 20px;display:grid}.qualityCheckRow:last-child{border-bottom:0}.qualityCheckbox{border:1px solid #bba8a6;border-radius:50%;width:18px;height:18px}.qualityCheckRow strong{font-size:13px;line-height:1.35}.qualityCheckLabel{gap:7px;display:grid}.qualityCheckLabel small{color:#8a6572;letter-spacing:.03em;background:#f3e8dc;border-radius:20px;width:max-content;max-width:100%;padding:4px 7px;font-size:9px;font-weight:800}.qualityStates{background:#f0e9df;border-radius:20px;padding:3px;display:flex}.qualityStates button{color:#79656c;background:0 0;border:0;border-radius:16px;padding:7px 9px;font-size:10px}.qualityCheckRow>input{background:0 0;border:0;border-bottom:1px solid #d8c9bd;outline:none;width:100%;padding:8px 2px;font-size:12px}.qualityPhotoButton{border:1px solid var(--dsa-blue-soft);color:var(--dsa-blue);background:0 0;padding:8px 10px;font-size:11px}.qualitySummary{padding:25px;position:sticky;top:20px}.qualitySummary h2{color:var(--dsa-blue);margin:0;font:700 27px Georgia,serif}.qualitySummaryRing{text-align:center;border:13px solid #eadfd5;border-radius:50%;place-content:center;width:150px;height:150px;margin:25px auto;display:grid}.qualitySummaryRing strong{font:700 34px Georgia,serif}.qualitySummaryRing span{color:#8b757c;font-size:10px}.qualitySummary ul{margin:0 0 22px;padding:0;list-style:none}.qualitySummary li{border-bottom:1px solid #eee4dc;justify-content:space-between;padding:10px 0;font-size:12px;display:flex}.qualitySummary>button{background:var(--dsa-blue);color:#fff;border:0;width:100%;padding:13px;font-weight:800}.qualitySummary>button:disabled{opacity:.45}@media (max-width:980px){.qualityLoginShell{grid-template-columns:1fr;gap:0;width:min(100%,560px);min-height:0}.qualityLoginBrand{border-bottom:1px solid #ffffff2b;border-right:0;min-height:235px;padding:36px 40px}.qualityLoginBrandCopy p{font-size:40px}.qualityHero{grid-template-columns:1fr}.qualityHeroScore{max-width:250px}.qualityToolbar,.qualityPeriodPicker{grid-template-columns:1fr}.qualityPeriodWeeks>button:first-child{border-left:0}.qualityWorkspace{grid-template-columns:1fr}.qualitySummary{position:static}.qualityCheckRow{grid-template-columns:22px 1fr}.qualityStates,.qualityCheckRow textarea,.qualityPhotoCell{grid-column:2}}@media (max-width:620px){.qualitySession>span{display:none}.qualitySession button{padding:7px}.qualityHero{padding-top:34px}.qualityHero h1{font-size:44px}.qualityCheckRow{padding:18px 15px}.qualityStates{border-radius:8px;flex-wrap:wrap}.qualityScopeNote{flex-direction:column;align-items:stretch;gap:5px}.qualityPeriodWeeks{grid-template-columns:none;grid-auto-columns:minmax(108px,1fr);grid-auto-flow:column;overflow-x:auto}.qualityPeriodWeeks>button{border-top:1px solid #eadfd5}}.qualityNav{align-self:stretch;align-items:stretch;gap:4px;display:flex}.qualityNav button{color:#e8cbd4;background:0 0;border:0;padding:0 18px;font-size:12px;font-weight:800;position:relative}.qualityNav button:after{content:"";background:0 0;height:3px;position:absolute;bottom:0;left:18px;right:18px}.qualityNav button.active{color:#fff8e8}.qualityNav button.active:after{background:#e8bf75}.qualityHeroScore.isGood strong{color:#82d39d}.qualityHeroScore.isWatch strong{color:#efb16d}.qualityHeroScore.isAlert strong{color:#ff91a5}.qualityMessage{max-width:calc(1440px - clamp(40px,10vw,152px));color:var(--ng-wine);background:#fff7ef;border:1px solid #d6b8b8;margin:14px auto 0;padding:12px 16px;font-size:12px;font-weight:700}.qualityChecklistStack{gap:18px;display:grid}.qualityCheckRow textarea{resize:vertical;width:100%;min-height:48px;color:var(--ng-ink);background:0 0;border:0;border-bottom:1px solid #d8c9bd;outline:none;font:12px/1.4 Arial,sans-serif}.qualityCheckRow.state-ok{background:linear-gradient(90deg,#f3faf5 0,#0000 27%)}.qualityCheckRow.state-ko{background:linear-gradient(90deg,#fff1f1 0,#0000 27%)}.qualityCheckRow.state-na{opacity:.78}.qualityCheckRow.state-ok .qualityCheckbox{border-color:var(--ng-green);background:var(--ng-green);color:#fff}.qualityCheckRow.state-ko .qualityCheckbox{border-color:var(--ng-red);background:var(--ng-red);color:#fff}.qualityCheckbox{place-items:center;font-size:11px;font-weight:900;display:grid}.qualityStates button.active{color:#fff;background:var(--ng-wine);box-shadow:0 3px 8px #5a183021}.qualityCheckRow.state-ok .qualityStates button.active{background:var(--ng-green)}.qualityCheckRow.state-ko .qualityStates button.active{background:var(--ng-red)}.qualityCheckRow.state-na .qualityStates button.active{background:#79656c}.qualityPhotoCell{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.qualityPhotoButton{white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.qualityPhotoButton input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.qualityPhotoButton.loading{opacity:.55;pointer-events:none}.qualityThumb{width:38px;height:38px;position:relative}.qualityThumb img{object-fit:cover;border:1px solid #c9b9af;border-radius:3px;width:38px;height:38px}.qualityThumb button{background:var(--ng-wine);color:#fff;border:0;border-radius:50%;width:18px;height:18px;padding:0;line-height:18px;position:absolute;top:-7px;right:-7px}.qualityCommentCard{background:#fffdf8f5;border:1px solid #ffffff4a;border-radius:8px;grid-template-columns:260px 1fr;gap:24px;padding:24px;display:grid;box-shadow:0 18px 48px #071b2838}.qualityCommentCard h2{margin:0;font:700 25px Georgia,serif}.qualityCommentCard textarea{resize:vertical;outline-color:var(--ng-red);background:#fffcf5;border:1px solid #d8c9bd;min-height:110px;padding:13px}.qualitySummaryRing{border:0;padding:10px}.qualitySummaryRing>div{background:var(--ng-paper);border-radius:50%;place-content:center;width:124px;height:124px;display:grid}.qualitySummary>button{margin-top:8px}.qualitySummary .qualityDraftButton{border:1px solid var(--ng-wine);color:var(--ng-wine);background:0 0}.qualitySummary .qualitySubmitButton{background:linear-gradient(110deg, var(--dsa-blue), var(--ng-wine));color:#fff}.qualitySummary>button:disabled{opacity:.38;cursor:not-allowed}.qualityHint{color:#8c767e;text-align:center;margin-top:12px;font-size:10px;line-height:1.45;display:block}.metricGood{color:var(--ng-green)!important}.metricAlert{color:var(--ng-red)!important}.qualityDashboard{max-width:1440px;min-height:calc(100vh - 150px);margin:auto;padding:48px clamp(20px,5vw,76px) 60px}.qualityDashboardHead{justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px;display:flex}.qualityDashboardHead h1{color:#fffaf0;letter-spacing:-.04em;max-width:820px;margin:0;font:700 clamp(38px,5vw,68px)/.98 Georgia,serif}.qualityDashboardHead p:last-child{color:#f1e5e5c7}.qualityDashboardHead label{color:#856d75;text-transform:uppercase;letter-spacing:.09em;background:#fffdf8f2;border:1px solid #ffffff52;border-radius:7px;gap:8px;min-width:230px;padding:14px 16px;font-size:10px;font-weight:800;display:grid;box-shadow:0 12px 30px #071b282b}.qualityDashboardHead input{color:var(--ng-ink);background:0 0;border:0;outline:0;font-weight:800}.qualityDashboard .qualityMessage{max-width:none;margin:-10px 0 20px}.qualityKpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.qualityKpis article{background:#fffdf8f3;border:1px solid #ffffff4a;border-radius:8px;align-content:space-between;min-height:150px;padding:22px;display:grid;box-shadow:0 16px 38px #071b2838}.qualityKpis article:nth-child(odd){border-top:3px solid var(--dsa-blue-soft)}.qualityKpis article:nth-child(2n){border-top:3px solid var(--ng-wine)}.qualityKpis span{color:#866e77;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.qualityKpis strong{color:var(--dsa-blue);font:700 44px Georgia,serif}.qualityKpis strong em{color:#9a848b;font:400 18px Arial,sans-serif}.qualityKpis small{color:#8b767d;font-size:11px}.qualityPilotGrid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:20px;display:grid}.qualityRestaurantPanel,.qualityTrendPanel,.qualityDetailPanel{background:#fffdf8f5;border:1px solid #ffffff4a;border-radius:8px;overflow:hidden;box-shadow:0 18px 44px #071b2838}.qualityPanelTitle{border-bottom:1px solid #ebdfd5;justify-content:space-between;align-items:center;padding:21px 23px;display:flex}.qualityPanelTitle h2{color:var(--dsa-blue);margin:0;font:700 25px Georgia,serif}.qualityPanelTitle .qualityEyebrow{margin-bottom:4px}.qualityPanelTitle>button{border:1px solid var(--dsa-blue);color:var(--dsa-blue);background:0 0;padding:9px 11px;font-size:11px;font-weight:800}.qualityRestaurantForm{background:#f6eee4;border-bottom:1px solid #e4d5c8;grid-template-columns:1fr .7fr 1.4fr auto;gap:8px;padding:13px 18px;display:grid}.qualityRestaurantForm input{background:#fffdf8;border:1px solid #d7c6b9;min-width:0;padding:9px}.qualityRestaurantForm button{background:var(--dsa-blue);color:#fff;border:0;padding:9px 14px;font-weight:800}.qualityRestaurantGrid{grid-template-columns:1fr 1fr;display:grid}.qualityRestaurantCard{min-height:96px;color:var(--ng-ink);text-align:left;background:0 0;border:1px solid #eee3da;border-top:0;border-left:0;grid-template-columns:52px 1fr auto;align-items:center;gap:11px;padding:15px 17px;display:grid}.qualityRestaurantCard:nth-child(2n){border-right:0}.qualityRestaurantCard:hover,.qualityRestaurantCard.active{background:#faf1e7}.qualityRestaurantCard.active{box-shadow:inset 3px 0 var(--dsa-blue)}.qualityRestaurantCard>span:nth-child(2){gap:4px;display:grid}.qualityRestaurantCard>span:nth-child(2) strong{font-size:12px}.qualityRestaurantCard>span:nth-child(2) small{color:#8a747c;font-size:10px}.qualityRestaurantCard em{color:#876f77;grid-column:2;font-size:9px;font-style:normal}.qualityMiniScore{border:5px solid #e4d9cf;border-radius:50%;place-items:center;width:48px;height:48px;font:700 12px Georgia,serif;display:grid}.qualityMiniScore.submitted{border-color:var(--ng-green);color:var(--ng-green)}.qualityMiniScore.draft{color:#b96a24;border-color:#d58a3d}.qualityReportStatus{color:#826c74;text-transform:uppercase;background:#eee7df;border-radius:20px;padding:5px 7px;font-size:9px;font-weight:800}.qualityReportStatus.submitted{color:#39714e;background:#e7f4e9}.qualityReportStatus.draft{color:#aa6223;background:#fff0df}.qualityBars{justify-content:center;align-items:end;gap:10px;height:310px;padding:26px 20px 20px;display:flex}.qualityBars>div{text-align:center;flex:1;grid-template-rows:22px 1fr 18px;gap:6px;min-width:19px;height:100%;display:grid}.qualityBars strong{font-size:9px}.qualityBars span{background:repeating-linear-gradient(0deg,#eadfd6 0 1px,#0000 1px 25%);display:block;position:relative}.qualityBars i{background:linear-gradient(180deg, var(--ng-red), var(--dsa-blue));min-height:4px;position:absolute;bottom:0;left:18%;right:18%}.qualityBars small{color:#8b757d;font-size:9px}.qualityEmpty{color:#8d777f;margin:0;padding:30px;font-size:12px;line-height:1.6}.qualityDetailPanel{margin-top:20px}.qualityBigScore{color:var(--dsa-blue);font:700 36px Georgia,serif}.qualityDetailContent{padding:22px}.qualityDetailMeta{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.qualityDetailMeta span{color:#88727a;text-transform:uppercase;border:1px solid #e5d9d0;gap:5px;padding:12px;font-size:9px;display:grid}.qualityDetailMeta strong{color:var(--ng-ink);text-transform:none;font-size:12px}.qualityDetailContent blockquote{border-left:3px solid var(--ng-red);background:#faf1e8;margin:18px 0;padding:17px 20px;font:italic 15px/1.55 Georgia,serif}.qualityAlertList{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.qualityAlertList>div{background:#fff7f4;border:1px solid #e7d5d2;padding:15px}.qualityAlertList span{color:var(--ng-red);text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:900;display:block}.qualityAlertList strong{font-size:12px}.qualityAlertList p{color:#826d74;margin:7px 0 0;font-size:11px}.qualityPhotoGallery{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:18px;display:grid}.qualityPhotoGallery img{object-fit:cover;border:1px solid #d7c6bd;width:100%;height:130px}.qualityEmptyLarge{place-items:center;min-height:150px;display:grid}.qualityFooter{color:#ffffff91;justify-content:space-between;padding:22px clamp(20px,5vw,76px);font-size:10px;display:flex}.qualityBackupPage{background:radial-gradient(circle at 92% 7%,#ffffff14 0 7%,#0000 28%),radial-gradient(circle at 7% 70%,#a66f3238 0 6%,#0000 25%),linear-gradient(135deg,#0e2938 0%,#153e55 48%,#57142c 100%);min-height:calc(100vh - 150px);padding:54px clamp(20px,6vw,86px) 70px}.qualityBackupHero{justify-content:space-between;align-items:center;gap:35px;max-width:1180px;margin:0 auto 28px;display:flex}.qualityBackupHero>div{max-width:790px}.qualityBackupHero h1{color:#fffaf0;letter-spacing:-.045em;margin:5px 0 14px;font:700 clamp(36px,5vw,62px)/.98 Georgia,serif}.qualityBackupHero p:last-child{color:#f1e5e5c7;line-height:1.65}.qualityBackupSeal{color:#f3d59b;background:#ffffff12;border:8px double #e5c58f;border-radius:50%;flex:none;place-items:center;width:108px;height:108px;font:700 50px Georgia,serif;display:grid;box-shadow:0 18px 44px #501f311c}.qualityBackupGrid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:20px;max-width:1180px;margin:auto;display:grid}.qualityBackupCard,.qualityBackupRoutine{background:#fffdf8f5;border:1px solid #ffffff4a;border-radius:8px;padding:clamp(25px,4vw,43px);box-shadow:0 18px 46px #071b2838}.qualityBackupCard h2,.qualityBackupRoutine h2{color:var(--dsa-blue);margin:6px 0 13px;font:700 27px Georgia,serif}.qualityBackupCard>p:not(.qualityEyebrow){color:#7b6870;line-height:1.65}.qualityBackupContents{grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0;display:grid}.qualityBackupContents span{color:#765f68;text-align:center;background:#fbf4ea;border:1px solid #e5d7cc;gap:5px;padding:13px 9px;font-size:10px;display:grid}.qualityBackupContents b{color:var(--ng-red);font:700 20px Georgia,serif}.qualityBackupButton{background:linear-gradient(135deg, var(--dsa-blue), var(--ng-wine));color:#fff;justify-content:center;align-items:center;min-height:50px;margin-top:5px;padding:0 22px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 12px 25px #4719342e}.qualityBackupCard>small{color:#927d84;margin-top:12px;display:block}.qualityBackupRoutine ol{counter-reset:routine;margin:23px 0;padding:0;list-style:none}.qualityBackupRoutine li{counter-increment:routine;gap:4px;min-height:60px;padding:0 0 17px 43px;display:grid;position:relative}.qualityBackupRoutine li:before{content:counter(routine);width:29px;height:29px;color:var(--ng-wine);background:#f1e0df;border-radius:50%;place-items:center;font-weight:900;display:grid;position:absolute;top:0;left:0}.qualityBackupRoutine li:not(:last-child):after{content:"";border-left:1px solid #ddc9c5;position:absolute;top:30px;bottom:0;left:14px}.qualityBackupRoutine li span{color:#88747b;font-size:11px}.qualityBackupRoutine>p:last-child{border-left:3px solid var(--ng-red);color:#806a73;background:#f8ece8;padding:14px;font-size:11px;line-height:1.5}.qualityMobileActions{display:none}@media (max-width:1100px){.qualityHeader{flex-wrap:wrap;gap:8px;height:auto;min-height:76px;padding-top:9px}.qualityNav{order:3;justify-content:center;width:100%;height:42px}.qualityKpis{grid-template-columns:repeat(2,1fr)}.qualityPilotGrid,.qualityBackupGrid{grid-template-columns:1fr}}@media (max-width:760px){.qualityCommentCard,.qualityKpis,.qualityRestaurantGrid{grid-template-columns:1fr}.qualityRestaurantCard{border-right:0}.qualityDashboardHead{flex-direction:column;align-items:stretch}.qualityRestaurantForm{grid-template-columns:1fr}.qualityDetailMeta,.qualityAlertList{grid-template-columns:1fr 1fr}}@media (max-width:520px){.qualityNav button{padding:0 10px;font-size:10px}.qualityKpis,.qualityDetailMeta,.qualityAlertList{grid-template-columns:1fr}.qualityFooter{flex-direction:column;gap:8px}.qualityBackupSeal{display:none}.qualityBackupContents{grid-template-columns:1fr 1fr}.qualityBackupButton{text-align:center;width:100%}}@media (max-width:620px){html{-webkit-text-size-adjust:100%;scroll-padding-top:128px}body{overflow-x:hidden}button,a,label,select{touch-action:manipulation}.qualityLoginPage{min-height:100dvh;padding:12px}.qualityLoginBrand{min-height:190px;padding:27px 24px}.qualityLoginBrand .qualityCoBrand{gap:12px}.qualityLoginBrand .qualityDsaLogo{width:82px}.qualityLoginBrand .qualityNgLogo{width:132px}.qualityLoginBrand .qualityBrandCross{font-size:22px}.qualityLoginBrandCopy{gap:8px}.qualityLoginBrandCopy span{font-size:8px}.qualityLoginBrandCopy p{font-size:31px}.qualityLoginBrand:after{width:150px;height:150px}.qualityLoginCard{padding:32px 24px 25px}.qualityLoginCard h1{font-size:clamp(34px,10vw,40px)}.qualityLoginIntro{margin-bottom:26px;font-size:13px}.qualityLoginCard input,.qualityLoginCard select{min-height:48px;font-size:16px}.qualityLoginCard form>button{min-height:50px}.qualityHeader{z-index:50;align-items:center;gap:5px;min-height:116px;padding:8px 12px 0;position:sticky;top:0;box-shadow:0 5px 18px #3010232b}.qualityCoBrand.compact{gap:6px}.qualityCoBrand.compact .qualityDsaLogo{width:50px}.qualityCoBrand.compact .qualityBrandCross{font-size:18px}.qualityCoBrand.compact .qualityNgLogo{width:84px}.qualitySession{margin-left:auto}.qualitySession button{min-height:38px;padding:0 9px}.qualityNav{overscroll-behavior-x:contain;scrollbar-width:none;border-top:1px solid #ffffff18;order:3;justify-content:flex-start;width:calc(100% + 24px);height:48px;margin:0 -12px;overflow-x:auto}.qualityNav::-webkit-scrollbar{display:none}.qualityNav button{white-space:nowrap;flex:1 0 auto;min-width:112px;min-height:44px;padding:0 12px}.qualityNav button:after{left:12px;right:12px}.qualityHero{gap:16px;padding:27px 14px 18px}.qualityEyebrow{letter-spacing:.13em;font-size:9px;line-height:1.45}.qualityHero h1{font-size:clamp(35px,11vw,46px)}.qualityHero>div>p:last-child{font-size:14px;line-height:1.5}.qualityHeroScore{grid-template-columns:1fr auto;align-items:center;width:100%;max-width:none;padding:14px 16px}.qualityHeroScore strong{grid-area:1/2/span 2;font-size:36px}.qualityHeroScore small{grid-column:1}.qualityToolbar,.qualityWorkspace{padding-left:14px;padding-right:14px}.qualityToolbar{gap:8px}.qualityToolbar label,.qualityLockedRestaurant{padding:12px 14px}.qualityToolbar input,.qualityToolbar select{min-height:32px;font-size:16px}.qualityPeriodPicker{width:calc(100% - 28px);max-width:none;margin-top:10px}.qualityMonthChoice{min-height:74px}.qualityMonthChoice label strong{font-size:20px}.qualityMonthChoice>button{min-width:44px}.qualityPeriodWeeks{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row;overflow:visible}.qualityPeriodWeeks>button{border-top:1px solid #eadfd5;border-left:1px solid #eadfd5;min-height:74px;padding:9px 3px}.qualityPeriodWeeks>button:nth-child(3n+1){border-left:0}.qualityPeriodWeeks>button span{font-size:21px}.qualityPeriodWeeks>button strong,.qualityPeriodWeeks>button small{font-size:8px}.qualityScopeNote{width:calc(100% - 28px);max-width:none;margin-top:10px;padding:12px 14px}.qualityMessage{width:calc(100% - 28px);max-width:none;margin-top:10px}.qualityWorkspace{gap:14px;padding-top:14px;padding-bottom:112px}.qualityChecklistStack{gap:13px}.qualitySectionTitle{flex-direction:column;align-items:flex-start;gap:8px;padding:16px}.qualitySectionTitle h2{font-size:22px}.qualityCheckRow{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:11px 9px;min-height:0;padding:16px 14px}.qualityCheckRow strong{font-size:14px}.qualityStates,.qualityCheckRow textarea,.qualityPhotoCell{grid-column:1/-1}.qualityStates{background:0 0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;display:grid}.qualityStates button{background:#f5eee5;border:1px solid #d7c9bd;border-radius:7px;min-height:44px;padding:8px 5px;font-size:11px;font-weight:700}.qualityCheckRow textarea{background:#fffefb;border:1px solid #d8c9bd;border-radius:7px;min-height:82px;padding:11px 12px;font-size:16px}.qualityPhotoCell{min-height:48px}.qualityPhotoButton{border-radius:7px;min-width:122px;min-height:44px;padding:0 12px}.qualityThumb,.qualityThumb img{width:52px;height:52px}.qualityThumb button{width:22px;height:22px;line-height:22px}.qualityCommentCard{gap:14px;padding:18px 16px}.qualityCommentCard h2{font-size:22px}.qualityCommentCard textarea{min-height:120px;font-size:16px}.qualitySummary{padding:20px}.qualitySummaryRing{margin:17px auto}.qualitySummary>button{display:none}.qualityMobileActions{z-index:60;min-height:72px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f2;border-top:1px solid #d6c8bc;grid-template-columns:70px minmax(0,.82fr) minmax(0,1fr);align-items:center;gap:7px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #3d1b2926}.qualityMobileActions>span{text-align:center;display:grid}.qualityMobileActions>span strong{color:var(--dsa-blue);font:700 22px Georgia,serif}.qualityMobileActions>span small{color:#806d74;font-size:8px}.qualityMobileActions button{border:1px solid var(--ng-wine);border-radius:7px;min-height:46px;font-size:11px;font-weight:900}.qualityMobileDraft{color:var(--ng-wine);background:0 0}.qualityMobileSubmit{background:var(--dsa-blue);color:#fff}.qualityMobileActions button:disabled{opacity:.42}.qualityDashboard{min-height:calc(100dvh - 116px);padding:28px 14px 45px}.qualityDashboardHead{margin-bottom:17px}.qualityDashboardHead h1{font-size:clamp(34px,10.5vw,43px)}.qualityDashboardHead p:last-child{font-size:13px;line-height:1.5}.qualityDashboard .qualityPeriodPicker{width:100%}.qualityDashboard .qualityMessage{width:100%;margin:10px 0 16px}.qualityKpis{grid-template-columns:1fr 1fr;gap:8px}.qualityKpis article{min-height:118px;padding:15px}.qualityKpis strong{font-size:33px}.qualityPanelTitle{align-items:flex-start;gap:12px;padding:16px}.qualityPanelTitle h2{font-size:22px}.qualityPanelTitle>button{min-height:42px}.qualityRestaurantCard{grid-template-columns:48px minmax(0,1fr) auto;gap:9px;min-height:88px;padding:13px}.qualityMiniScore{width:46px;height:46px}.qualityTrendPanel{overflow:hidden}.qualityBars{justify-content:flex-start;height:270px;padding:22px 14px 16px;overflow-x:auto}.qualityBars>div{flex:0 0 42px}.qualityDetailPanel{margin-top:14px}.qualityDetailContent{padding:15px}.qualityDetailMeta{grid-template-columns:1fr 1fr;gap:7px}.qualityAlertList{grid-template-columns:1fr}.qualityPhotoGallery{grid-template-columns:repeat(2,minmax(0,1fr))}.qualityPhotoGallery img{height:145px}.qualityBackupPage{min-height:calc(100dvh - 116px);padding:29px 14px 45px}.qualityBackupHero{align-items:flex-start;gap:12px}.qualityBackupHero h1{font-size:clamp(34px,10.5vw,43px)}.qualityBackupCard,.qualityBackupRoutine{padding:21px 17px}.qualityBackupContents{gap:6px}.qualityBackupButton{min-height:50px}.qualityFooter{padding:20px 14px calc(94px + env(safe-area-inset-bottom));line-height:1.5}}@media (max-width:360px){.qualityKpis{grid-template-columns:1fr}.qualityNav button{min-width:106px}.qualityMobileActions{grid-template-columns:62px minmax(0,.8fr) minmax(0,1fr)}.qualityMobileActions button{font-size:10px}}
