:root{--green:#15803d;--green2:#16a34a;--greenSoft:#ecfdf3;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--bg:#f5f7f6;--card:#fff;--danger:#b91c1c;--shadow:0 18px 48px rgba(17,24,39,.10)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}.app{width:min(1120px,100%);margin:0 auto;padding:22px 18px 34px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.brandCluster{display:flex;align-items:center;gap:8px}.logoWrap{display:flex;align-items:center}.logo{display:block;height:42px;max-width:170px;object-fit:contain}.appNav{display:flex;align-items:center;gap:8px}.navIconLink{width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#111;display:grid;place-items:center;font-weight:1000;cursor:pointer;box-shadow:0 8px 22px rgba(17,24,39,.07)}.navIconLink svg{width:20px;height:20px;fill:currentColor}.navIconLink.active,.navIconLink:hover{background:var(--green);border-color:var(--green);color:#fff}.settingsWrap{position:relative}.settingsMenu{position:absolute;right:0;top:52px;z-index:50;width:190px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow)}.settingsMenuLink{display:block;padding:10px;border-radius:12px;color:var(--ink);font-weight:800;text-decoration:none}.settingsMenuLink:hover{background:#f3f4f6}.darkModeRow{display:flex;justify-content:space-between;gap:12px;padding:11px 10px;border-top:1px solid var(--line);font-weight:800}.panel{background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:24px}.dashHero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 5px;color:var(--green);font-weight:1000;font-size:12px;letter-spacing:.12em}.dashHero h1,.authPanel h1{margin:0;font-size:clamp(30px,6vw,52px);letter-spacing:-.04em}.sub{color:var(--muted);font-weight:650;line-height:1.45;margin:8px 0 0}.btn{border:0;border-radius:999px;padding:12px 18px;font-weight:950;cursor:pointer;transition:.15s}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#166534;transform:translateY(-1px)}.btn.light{background:#f3f4f6;color:#111;border:1px solid var(--line)}.btn.wide{width:100%;margin-top:12px}.toolbar{display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;align-items:end;margin-bottom:18px}.selectorButton,.periodField{min-height:64px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:10px 14px}.selectorButton{text-align:left;cursor:pointer}.selectorButton span,.periodField span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;margin-bottom:4px}.selectorButton b{display:block;font-size:16px}.periodField .textInput{border:0;padding:0;width:100%;font-weight:900;background:transparent;color:inherit}.textInput{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;color:#111;outline:none}.textInput:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(21,128,61,.12)}.coverageNotice{border-radius:16px;padding:12px 14px;margin:4px 0 18px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:750;font-size:13px;line-height:1.4}.emptyState{text-align:center;padding:48px 18px}.emptyState h2{margin:10px 0 6px}.emptyState p{max-width:600px;margin:0 auto 18px;color:var(--muted);font-weight:650}.emptyIcon,.dropIcon{width:58px;height:58px;border-radius:18px;background:var(--greenSoft);color:var(--green);display:grid;place-items:center;margin:0 auto;font-size:30px;font-weight:1000}.metricGroups{display:grid;gap:24px}.metricGroupTitle{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.metricGroupTitle:after{content:"";height:1px;flex:1;background:var(--line)}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metricCard{border:1px solid var(--line);border-radius:20px;background:#fff;padding:15px;text-align:left;cursor:pointer;min-height:128px;display:flex;flex-direction:column;box-shadow:0 8px 22px rgba(17,24,39,.04);transition:.15s}.metricCard:hover{border-color:#86efac;transform:translateY(-2px)}.metricName{font-weight:950;font-size:13px;line-height:1.2}.metricValue{font-weight:1000;font-size:28px;letter-spacing:-.04em;margin-top:auto}.rankPill{display:inline-flex;align-self:flex-start;margin-top:7px;border-radius:999px;background:var(--greenSoft);color:#166534;padding:5px 8px;font-size:11px;font-weight:950}.rankPill.neutral{background:#f3f4f6;color:#4b5563}.modalBackdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.56);display:grid;place-items:center;padding:18px}.modalBackdrop[hidden]{display:none}.modalCard{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;color:#111;border-radius:26px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.3)}.modalCard.compact{width:min(490px,100%)}.modalX{position:absolute;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:999px;background:#f3f4f6;font-size:24px;cursor:pointer}.dropZone{position:relative;border:2px dashed #bbf7d0;background:#f0fdf4;border-radius:20px;min-height:190px;padding:24px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;text-align:center;cursor:pointer;margin-top:18px}.dropZone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropZone small{color:var(--muted);font-weight:700}.uploadStatus{min-height:22px;margin-top:10px;font-weight:800;font-size:13px}.uploadStatus.bad{color:var(--danger)}.uploadStatus.ok{color:#166534}.uploadHistory{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.uploadHistory h3{margin:0 0 8px}.historyRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.historyRow b{display:block}.historyRow small{color:var(--muted)}.deleteBtn{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;padding:7px 10px;font-weight:900;cursor:pointer}.modalActions{display:flex;gap:8px;margin:12px 0}.miniBtn{border:1px solid var(--line);background:#f9fafb;border-radius:999px;padding:7px 12px;font-weight:900;cursor:pointer}.storeGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.checkPill{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:11px;font-weight:900;cursor:pointer}.checkPill input{accent-color:var(--green);width:18px;height:18px}.metricPicker{display:grid;gap:18px;margin-top:16px}.metricPickGroup h3{margin:0 0 8px}.metricPickGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.drillHead{padding-right:36px}.drillHead h2{margin:2px 0}.drillControls{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.rankingList{display:grid;gap:7px}.rankingRow{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:11px 12px}.rankingRow.selected{border-color:#86efac;background:#f0fdf4}.rankingPos{width:32px;height:32px;border-radius:999px;background:#f3f4f6;display:grid;place-items:center;font-weight:1000}.rankingStore{font-weight:950}.rankingNumber{font-weight:1000;font-size:16px}.authApp{width:min(700px,100%);padding-top:7vh}.authPanel{padding:28px}.authTopRow{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.loginSwitch{display:inline-flex;padding:4px;border-radius:999px;background:rgba(0,0,0,.06)}.loginSwitch .active{border-radius:999px;padding:9px 14px;background:var(--green);color:#fff;font-weight:1000;font-size:12px;text-transform:uppercase}.authForm{display:grid;gap:11px;margin-top:20px}.fieldLabel{font-weight:900;font-size:13px}.codeRow{display:grid;grid-template-columns:1fr 42px;gap:8px}.helpCircle{border:1px solid var(--line);background:#fff;border-radius:999px;font-weight:1000;cursor:pointer}.rememberDevice{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800}.rememberDevice input{width:18px;height:18px;accent-color:var(--green)}.authSubmit{margin-top:4px}.authError{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:14px;padding:11px;margin:10px 0;font-weight:850}.loginHelp{position:fixed;z-index:1200;left:50%;top:50%;transform:translate(-50%,-50%);width:min(390px,calc(100% - 36px));background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.3)}.appFooter{text-align:center;color:#6b7280;font-weight:900;font-size:12px;line-height:1.45;margin:14px 0 0}.appFooter span{font-size:11px}.dark-mode body{background:#0f1115;color:#f9fafb}.dark-mode .panel,.dark-mode .metricCard,.dark-mode .selectorButton,.dark-mode .periodField,.dark-mode .navIconLink,.dark-mode .settingsMenu{background:#171a21;border-color:#2b303b;color:#f9fafb}.dark-mode .textInput{background:#111827;border-color:#374151;color:#f9fafb}.dark-mode .modalCard{background:#171a21;color:#f9fafb}.dark-mode .modalX,.dark-mode .btn.light,.dark-mode .miniBtn{background:#252a34;color:#fff;border-color:#374151}.dark-mode .checkPill,.dark-mode .rankingRow,.dark-mode .uploadHistory,.dark-mode .historyRow{border-color:#374151}.dark-mode .rankingRow.selected{background:#123524}.dark-mode .sub{color:#aab2c0}.dark-mode .dropZone{background:#10281a;border-color:#166534}.dark-mode .darkModeRow{border-color:#374151}.dark-mode .settingsMenuLink{color:#fff}.dark-mode .settingsMenuLink:hover{background:#252a34}@media(max-width:820px){.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{grid-template-columns:1fr 1fr}.customizeBtn{grid-column:1/-1}.dashHero{align-items:flex-start}}@media(max-width:560px){.app{padding:14px 10px 28px}.panel{border-radius:22px;padding:16px}.logo{height:34px;max-width:126px}.navIconLink{width:40px;height:40px}.dashHero{display:block}.dashHero .btn{width:100%;margin-top:14px}.toolbar{grid-template-columns:1fr}.customizeBtn{grid-column:auto}.metricGrid{grid-template-columns:1fr 1fr;gap:8px}.metricCard{min-height:118px;padding:13px}.metricValue{font-size:24px}.storeGrid,.metricPickGrid{grid-template-columns:1fr}.modalCard{padding:20px 16px}.rankingRow{grid-template-columns:38px 1fr auto}.authApp{padding-top:18px}.authPanel{padding:20px}.authTopRow{gap:8px}}
.rankPill.good{background:#dcfce7;color:#166534}.rankPill.warn{background:#fef3c7;color:#92400e}.rankPill.bad{background:#fee2e2;color:#991b1b}.rankingPos.good{background:#dcfce7;color:#166534}.rankingPos.warn{background:#fef3c7;color:#92400e}.rankingPos.bad{background:#fee2e2;color:#991b1b}.selectorButton:disabled,.customizeBtn:disabled{opacity:.55;cursor:not-allowed}.dark-mode .rankPill.good,.dark-mode .rankingPos.good{background:#123524;color:#bbf7d0}.dark-mode .rankPill.warn,.dark-mode .rankingPos.warn{background:#422006;color:#fde68a}.dark-mode .rankPill.bad,.dark-mode .rankingPos.bad{background:#450a0a;color:#fecaca}
.metricValueWrap{display:flex;align-items:baseline;gap:6px;margin-top:auto}.metricValueWrap .metricValue{margin-top:0}.metricQualifier{font-size:11px;font-weight:900;color:var(--muted);text-transform:lowercase}.metricSecondary{display:block;margin-top:2px;font-size:11px;line-height:1.2;color:var(--muted);font-weight:750}.metricSecondary b{color:var(--ink);font-weight:1000}.dark-mode .metricSecondary,.dark-mode .metricQualifier{color:#aab2c0}.dark-mode .metricSecondary b{color:#f9fafb}
