:root{--bg:#f4f6f9;--paper:#fff;--ink:#172333;--muted:#657487;--line:#e3e9ef;--accent:#075de0;--accent-light:#eaf2ff;--dark:#121f30;--good:#0d795d;--warm:#956307;--bad:#bc3b4a;--radius:15px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button,input,select,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #84b6ff;outline-offset:3px}[hidden]{display:none!important}button{color:inherit}a{color:var(--accent);text-decoration:none}input,select{border:1px solid var(--line);border-radius:8px;background:white;min-height:44px;padding:9px 11px;max-width:100%;min-width:0;color:var(--ink)}label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:7px}.primary{border:0;border-radius:9px;padding:12px 19px;background:var(--accent);color:white;font-weight:600;min-height:44px}.primary:hover{background:#004fcb}button:disabled{opacity:.55;cursor:wait}.wordmark{font-size:24px;font-weight:900;letter-spacing:-1.2px;color:var(--ink);white-space:nowrap}.wordmark span{color:var(--accent)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}
.login-screen{min-height:100dvh;background:linear-gradient(145deg,#f4f7fb 55%,#e6eef9);padding:42px 7vw;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:32px}.login-brand{display:flex;align-items:center;gap:22px;align-self:flex-start}.brand-divider{height:24px;width:1px;background:#cbd5e1}.relasso-mark{font-weight:500;font-size:26px;letter-spacing:-1.2px;color:#243550}.login-card{width:100%;max-width:480px;padding:38px;background:white;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:18px;box-shadow:0 20px 65px #24467a0b}.login-card h1{font-size:36px;line-height:1.15;letter-spacing:-1.4px;margin:20px 0}.login-card p{color:var(--muted);line-height:1.7;margin-bottom:28px}.password-wrap{display:flex;border:1px solid #ccd5e1;border-radius:10px;overflow:hidden}.password-wrap input{border:0;flex:1;width:100%;min-height:50px}.password-wrap button{border:0;background:white;font-size:12px;color:var(--muted);padding:10px}.login-submit{width:100%;margin-top:18px}.error-message{font-size:14px;color:var(--bad);margin-top:8px}.login-note{font-size:12px;text-align:center;color:var(--muted);margin-top:23px;line-height:1.5}.login-footer{width:100%;font-size:12px;letter-spacing:1px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;padding:30px 22px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5}.sidebar-caption{font-size:12px;color:var(--muted);margin-top:6px}.project-switch{display:flex;background:#edf1f6;padding:4px;border-radius:10px;margin:29px 0 25px;gap:2px}.project-switch button{border:0;background:transparent;font-size:14px;font-weight:600;flex:1;min-height:36px;border-radius:7px;color:var(--muted)}.project-switch button[aria-pressed=true]{background:var(--dark);color:white}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-radius:9px;background:white;color:var(--muted);text-align:left;font-size:14px;font-weight:550;min-height:46px}nav button span{font-size:22px;width:23px;font-weight:400}nav button:hover{background:#f4f6f9}nav button.selected{color:var(--accent);background:var(--accent-light)}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-bottom .eyebrow{font-size:11px;letter-spacing:1.2px}.source-mini{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;margin:16px 0}.source-mini b{font-weight:500;color:var(--ink)}.logout{padding:11px 0;margin-top:18px;border:0;background:none;font-size:14px;color:var(--muted)}.workspace{margin-left:230px;padding:34px 34px 20px;max-width:1900px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.breadcrumb{display:flex;gap:10px;font-size:13px;color:var(--muted)}.breadcrumb span:first-child{color:var(--accent);font-weight:600}.topbar h1{font-size:29px;letter-spacing:-.85px;margin:10px 0 0;line-height:1.2}.top-right{text-align:right;display:grid;gap:8px}.snapshot-label{font-size:12px;background:white;border:1px solid var(--line);border-radius:5px;padding:6px 9px}.updated{font-size:12px;color:var(--muted)}.filter-panel{display:flex;align-items:end;gap:14px;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:18px}.date-group{display:flex;gap:9px;align-items:end;flex:1.6}.date-group>div{flex:1;min-width:140px}.date-group>span{padding-bottom:12px;color:var(--muted)}.filter-panel input,.filter-panel select{width:100%;font-size:14px}.compare-group{flex:1;min-width:165px}.campaign-group{flex:1.1;min-width:170px;max-width:300px}.apply{font-size:14px;min-width:100px}#custom-dates{width:100%;display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--line)}#custom-dates input{width:175px}#custom-dates label{margin:0}.period-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0 24px}.presets{display:flex;gap:5px;flex-wrap:wrap}.presets button{border:0;border-radius:6px;padding:7px 11px;background:none;color:var(--muted);font-size:13px;min-height:34px}.presets button.active{background:#e4ecf8;color:var(--accent);font-weight:600}#comparison-text{font-size:12px;color:var(--muted)}.notice,.error-banner{padding:13px 16px;border:1px solid #eeddb6;border-radius:10px;background:#fffaf0;color:#805a18;font-size:14px;line-height:1.6;margin-bottom:18px}.error-banner{color:var(--bad);background:#fff1f3;border-color:#efcbd2}
.section-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:3px 0 15px}.section-label h2{font-size:17px;font-weight:650;margin:0}.section-label span,.section-label a{font-size:12px;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.kpi{border:1px solid var(--line);border-radius:var(--radius);padding:21px;background:white;min-height:148px}.kpi.dark{background:var(--dark);color:white;border-color:var(--dark)}.kpi.dark .kpi-label,.kpi.dark .metric-note{color:#b9c8dd}.kpi-label{font-size:14px;color:var(--muted)}.kpi-value{font-size:34px;letter-spacing:-1.1px;line-height:1.25;margin:12px 0 10px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.kpi-value small{font-size:20px;font-weight:500;letter-spacing:0}.metric-note{font-size:12px;line-height:1.45;color:var(--muted)}.metric-note.good{color:var(--good)}.metric-note.bad{color:var(--bad)}.dark .metric-note.good{color:#87e4c4}.dark .metric-note.bad{color:#ffb9c4}.two-col{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:20px;margin-bottom:23px}.two-col.equal{grid-template-columns:1fr 1fr}.panel{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:white;min-width:0}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:17px}.panel h2{font-size:17px;margin:0;letter-spacing:-.2px}.panel-description{font-size:12px;color:var(--muted);line-height:1.5;margin:7px 0 0}.legend{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.legend:before{content:"";width:17px;height:3px;background:var(--accent);border-radius:3px}.chart{height:233px;width:100%;display:block}.chart text{fill:var(--muted);font-size:12px}.chart line{stroke:#eaf0f5;stroke-width:1}.chart .axis{stroke:#dce4ed}.chart .data-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart circle{fill:white;stroke:var(--accent);stroke-width:2}.chart circle:hover,.chart circle:focus{r:5;fill:var(--accent)}.chart-foot{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}.ranking{display:grid;gap:21px}.rank-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;margin-bottom:9px}.rank-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.rank-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.track{background:#eef2f7;height:6px;border-radius:4px;overflow:hidden}.track>span{display:block;height:100%;border-radius:4px;background:var(--accent)}.empty-panel{min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.empty-icon{width:44px;height:44px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;font-size:24px;color:var(--muted);margin-bottom:18px}.empty-panel p{max-width:520px;font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:0}.empty-panel h2{font-size:19px}.badge{display:inline-block;font-size:12px;line-height:1.4;padding:5px 8px;border-radius:5px;background:#f0f3f7;color:var(--muted);white-space:nowrap}.badge.ready{background:#e8f5ef;color:var(--good)}.table-panel{padding:0;overflow:hidden;margin-bottom:22px}.table-panel .panel-heading{padding:23px 24px 0}.table-scroll{overflow:auto;max-height:580px}.table-scroll:focus-visible{outline-offset:-3px}table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}thead{background:#f7f9fb}th{text-align:right;padding:14px 19px;color:var(--muted);font-weight:500;font-size:12px;position:sticky;top:0;background:#f7f9fb;border-bottom:1px solid var(--line)}td{text-align:right;padding:17px 19px;border-bottom:1px solid #edf1f5;font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left}td:first-child{max-width:440px;overflow:hidden;text-overflow:ellipsis;font-weight:550}td a{color:var(--ink)}tbody tr:hover{background:#f8faff}.table-muted{color:var(--muted)}.table-note{font-size:12px;color:var(--muted);padding:14px 24px;line-height:1.6}.source-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.source-card{padding:18px;border:1px solid var(--line);border-radius:12px;display:grid;gap:10px;background:white}.source-card header{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;font-weight:600}.source-card p{margin:0;font-size:12px;color:var(--muted);line-height:1.6}.source-card a{font-size:12px}.page-footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);padding:27px 0 0}.index-box{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:23px}.index-value{font-size:29px;font-weight:600;letter-spacing:-.7px}.index-box p{font-size:13px;color:var(--muted);margin:5px 0}.index-bar{height:9px;display:flex;border-radius:6px;overflow:hidden;background:#e7edf5;margin-top:24px}.index-bar span{background:var(--accent)}.muted{color:var(--muted)}.loading-content{opacity:.55;pointer-events:none}.scope-control{margin-bottom:20px;max-width:250px}.scope-control select{width:100%}
@media(min-width:1600px){.workspace{padding:40px 48px}.kpi-value{font-size:38px}.chart{height:265px}}
@media(max-width:1190px){.sidebar{width:198px;padding:25px 16px}.sidebar .wordmark{font-size:22px}.workspace{margin-left:198px;padding:25px 23px}.filter-panel{gap:12px}.date-group{flex-basis:100%}.campaign-group{max-width:none}.kpi{padding:18px}.kpi-value{font-size:29px}.two-col{grid-template-columns:1.5fr 1fr}}
@media(max-width:900px){.sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 240px;gap:14px;padding:18px 24px}.sidebar-caption,.sidebar-bottom{display:none}.project-switch{margin:0;grid-column:2;grid-row:1}.sidebar .wordmark{align-self:center}nav{grid-column:1/-1;display:flex;gap:5px;overflow:auto}nav button{white-space:nowrap;flex:1;justify-content:center;padding:8px;font-size:13px;min-height:40px}nav button span{display:none}.workspace{margin:0;padding:25px 24px}.topbar h1{font-size:26px}.kpis{gap:12px}.two-col,.two-col.equal{grid-template-columns:1fr}.source-cards{grid-template-columns:repeat(3,1fr)}.top-right{max-width:190px}.kpi-value{font-size:28px}.kpi{padding:16px}.period-line{align-items:flex-start;flex-direction:column;gap:9px}}
@media(max-width:600px){.sidebar{padding:16px;grid-template-columns:1fr;gap:15px}.project-switch{grid-column:1;grid-row:2;width:100%}.sidebar .wordmark{font-size:23px}nav{grid-row:3;margin:0 -3px}nav button{font-size:12px;padding:9px 8px;flex:0 0 auto}.workspace{padding:23px 16px 16px}.topbar{align-items:start;gap:10px;margin-bottom:21px}.topbar h1{font-size:23px;line-height:1.25}.breadcrumb{font-size:12px}.top-right{display:none}.filter-panel{padding:14px;gap:13px}.date-group{gap:7px;min-width:0}.date-group>div{min-width:0}.date-group input{padding:8px 5px;font-size:14px;min-height:44px}.date-group>span{display:none}.filter-panel label{font-size:12px}.compare-group,.campaign-group{min-width:0;flex-basis:calc(50% - 7px)}.apply{width:100%}.presets{gap:3px}.presets button{font-size:12px;padding:7px 8px;min-height:38px}.period-line{margin-bottom:22px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.kpi{padding:17px 13px;min-height:145px}.kpi-label{font-size:13px}.kpi-value{font-size:27px;margin:12px 0 9px;letter-spacing:-.8px}.kpi-value small{font-size:17px}.metric-note{font-size:12px}.section-label{gap:12px;align-items:start}.section-label h2{font-size:16px}.section-label>span{font-size:11px;text-align:right}.panel{padding:20px 17px}.panel h2{font-size:16px}.table-panel{padding:0}.table-panel .panel-heading{padding:20px 17px 0}.table-note{padding:13px 17px}.two-col{gap:15px}.source-cards{grid-template-columns:1fr}.source-card p{font-size:13px}.chart{height:210px}.rank-name{font-size:13px}.page-footer{flex-direction:column;gap:8px}.login-screen{padding:28px 20px;gap:30px}.login-card{padding:29px 23px}.login-card h1{font-size:31px}.login-card p{font-size:14px}.login-footer{font-size:10px;line-height:1.5}.login-brand{gap:17px}.login-brand .wordmark{font-size:23px}.login-brand .relasso-mark{font-size:23px}#custom-dates{flex-wrap:wrap}#custom-dates input{width:100%}.notice{font-size:13px}.chart-foot{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.sidebar,.filter-panel,.period-line,.logout{display:none}.workspace{margin:0;padding:10px}.panel,.kpi{break-inside:avoid}.table-scroll{max-height:none;overflow:visible}}

.mobile-logout{display:none;border:1px solid var(--line);background:white;border-radius:7px;padding:9px 12px;min-height:40px;font-size:12px}@media(max-width:900px){.mobile-logout{display:block}}

@media(max-width:600px){.sidebar{grid-template-columns:minmax(95px,1fr) minmax(145px,170px);gap:13px}.sidebar .wordmark{font-size:19px}.project-switch{grid-column:2;grid-row:1}.project-switch button{font-size:12px}nav{grid-row:2}.sidebar .project-switch{width:auto}}

.brand-logo{display:block;width:140px;height:78px;object-fit:contain;object-position:center}.login-brand{gap:22px}.login-brand .brand-divider{height:42px}.sidebar-brand{display:flex;align-items:center;justify-content:flex-start;width:150px;max-width:100%}.sidebar-brand .brand-logo{width:140px;height:78px}.sidebar-caption{margin-top:5px}@media(max-width:900px){.sidebar-brand{align-self:center}.sidebar-brand .brand-logo{width:120px;height:64px}}@media(max-width:600px){.login-brand{gap:15px}.login-brand .brand-logo{width:120px;height:68px}.sidebar-brand{width:110px}.sidebar-brand .brand-logo{width:105px;height:58px}}@media(max-width:350px){.login-brand .brand-logo{width:108px;height:62px}.sidebar-brand .brand-logo{width:88px;height:50px}}
