@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1c2543;--muted:#778099;--indigo:#343594;--teal:#19a799;--line:#e8eaf3;--paper:#fff;--canvas:#f5f6fb}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:15px/1.6 'DM Sans',system-ui,sans-serif}h1,h2,h3,.number{font-family:Manrope,system-ui,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,36px);font-weight:800;line-height:1.2;letter-spacing:-1.1px;margin-bottom:10px}h2{font-size:18px;line-height:1.3;letter-spacing:-.4px}a{color:var(--indigo);text-decoration:none}a:hover{text-decoration:underline}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #acaef2;outline-offset:3px}.app-topbar{height:88px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1300px)/2))}.brand{display:flex;align-items:center;gap:24px}.brand img{width:115px;height:auto}.brand span{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}.back-link{color:#69718b;font-size:13px}.back-link span{margin-left:8px}main{max-width:1348px;margin:auto;padding:44px 24px 32px;min-width:0}.eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:2px;color:#7a80a2;margin-bottom:12px}.muted{color:var(--muted)}.page-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;flex-wrap:wrap}.page-header p{margin-bottom:0}.account-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-nav form{margin:0}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;background:var(--indigo);border-radius:9px;padding:11px 17px;color:white;font:600 13px 'DM Sans',system-ui;cursor:pointer;min-height:44px;text-decoration:none;white-space:normal}button:hover,.button:hover{background:#272876;text-decoration:none}.secondary{background:white;color:#58617d;border-color:#e0e3ef}.secondary:hover{background:#ebedf7;color:var(--ink)}label{display:block;color:#5a627e;font-size:12px;font-weight:600;margin:14px 0 7px}input,select{font:inherit;color:var(--ink);width:100%;min-width:0;min-height:46px;padding:10px 13px;border:1px solid #dfe3ef;border-radius:8px;background:white}input::placeholder{color:#a6acc0}section,.card{background:white;border:1px solid var(--line);border-radius:14px;padding:26px;min-width:0}section{margin-bottom:24px}section>h2{margin-bottom:8px}.filter-bar{display:flex;gap:14px;align-items:end;background:white;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:24px}.filter-bar label{margin:0;flex:0 1 200px}.filter-bar input{margin-top:6px;font-size:13px;min-height:42px}.filter-bar button{min-height:42px;margin-left:2px}.period-note{margin-left:auto;font-size:12px;color:var(--muted);padding-bottom:10px}.totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric{padding:23px 25px;position:relative}.metric-label{color:#79809a;font-size:12px}.number{font-size:32px;line-height:1.4;font-weight:800;letter-spacing:-1px;margin:9px 0 4px}.metric-note{font-size:11px;color:#9a9fb2}.metric-mark{position:absolute;right:23px;top:22px;background:#f0f0fc;color:#6868b6;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;font-size:17px}.chart-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.chart-heading h2{margin:0 0 4px}.chart-heading p{font-size:12px;margin:0;color:var(--muted)}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#78809b}.legend span{display:flex;align-items:center;gap:6px}.dot{display:inline-block;height:8px;width:8px;border-radius:50%;flex-shrink:0}.chart-wrap{width:100%;overflow:auto}.traffic-chart{width:100%;height:290px;display:block}.traffic-chart text{font:11px 'DM Sans',system-ui;fill:#9299af}.chart-grid{stroke:#eff1f7;stroke-dasharray:4 5}.chart-grid.baseline{stroke-dasharray:none}.chart-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.country-content{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.donut{width:210px;max-width:100%;height:auto;flex:0 1 210px}.donut-total{font:800 33px Manrope,system-ui;fill:var(--ink)}.donut-label{font:12px 'DM Sans',system-ui;fill:var(--muted)}.country-legend{flex:1;min-width:160px}.country-row{display:flex;align-items:center;gap:9px;font-size:12px;margin:14px 0}.country-row .name{flex:1}.country-row strong{font-size:13px}.country-row .percent{color:#a0a6ba;min-width:38px;text-align:right}.page-row{margin:20px 0}.page-row-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:8px}.page-row-head span{color:#7b839d}.page-track{height:8px;border-radius:10px;background:#f1f2f8;overflow:hidden}.page-fill{height:100%;border-radius:10px;background:#7778ca}.data-note{font-size:12px;line-height:1.8;max-width:1000px;color:#8c93ab;margin:8px 0 20px}.alert{background:#fff8eb;border:1px solid #f3e0b6;border-radius:10px;padding:15px 18px;font-size:12px;color:#946b22;margin:0 0 24px}.alert strong{display:block;color:#71521f}.alert p{margin:4px 0 0}.error{color:#a03838;background:#fff0f0;border-color:#f1cdcd}.empty{color:#9299ae;font-size:13px;text-align:center;padding:30px 12px}.data-details{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.data-details>section{border:0;margin:0;padding:16px 0}.data-details h2{font-size:15px}.data-details summary,.diagnostics summary{font-size:12px;color:var(--muted);cursor:pointer}.diagnostics{font-size:12px;margin:16px 0 24px}.diagnostics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:18px 0}.diagnostics-grid dt{color:var(--muted)}.diagnostics-grid dd{margin:3px 0 0;font-weight:600}.scroll{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;color:#78829b;overflow-wrap:anywhere}td input{min-width:150px}summary{cursor:pointer}.bar{display:block;height:5px;background:#b1b1dc;border-radius:3px;margin-top:6px}.footer-note{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#a3a9bb;font-size:11px;margin-top:28px}.footer-note a{color:inherit}.login-layout{min-height:calc(100vh - 210px);display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:90px;max-width:1060px;margin:0 auto;padding-bottom:24px}.login-intro h1{font-size:clamp(36px,4vw,52px);line-height:1.16;letter-spacing:-2px;margin:16px 0 23px}.login-intro>p{font-size:15px;color:#858da6;max-width:380px;line-height:1.9}.intro-features{margin-top:34px}.intro-features>div{display:flex;align-items:center;gap:14px;margin:22px 0}.feature-icon{width:42px;height:42px;border:1px solid #dedff2;color:#6768b7;background:#eeeeFA;border-radius:12px;font-size:23px;display:grid;place-items:center}.intro-features strong,.intro-features div div>span{display:block}.intro-features strong{font-size:13px;margin-bottom:3px}.intro-features div div>span{font-size:12px;color:#9098ae}.privacy-note{margin-top:45px;font-size:11px;color:#a2a8bb}.login-card{padding:38px 36px;margin:0;box-shadow:0 14px 45px #24295d07}.login-card h2{font-size:27px;letter-spacing:-.8px;margin:0 0 8px}.login-card>.muted{font-size:13px;margin-bottom:28px}.login-card input{height:50px}.login-card label{margin-top:18px}.login-submit{width:100%;margin-top:26px;justify-content:space-between;padding:15px 18px}.login-help{font-size:11px;color:#9da4b7;text-align:center;margin:24px 0 0}.login-card .alert{margin-bottom:18px}
@media(min-width:1500px){main{padding-top:52px}.traffic-chart{height:315px}}
@media(max-width:1000px){.login-layout{gap:44px}.totals{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-columns{grid-template-columns:1fr}.page-header{align-items:start}.period-note{display:none}}
@media(max-width:640px){.app-topbar{height:72px;padding:0 20px}.brand{gap:14px}.brand img{width:95px}.brand span{padding-left:14px;font-size:11px}.back-link{font-size:11px}main{padding:26px 16px}.page-header{gap:18px;margin-bottom:24px}.page-header p{font-size:12px}.account-nav{width:100%;gap:6px}.account-nav .button,.account-nav button{font-size:11px;padding:9px 11px}.eyebrow{font-size:9px;letter-spacing:1.7px}.filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.filter-bar button{grid-column:1/-1;margin:0}.filter-bar label{font-size:11px}.filter-bar input{padding:8px;font-size:12px}.totals{gap:10px;margin-bottom:18px}.metric{padding:18px 16px}.metric-mark{right:14px;top:16px;width:25px;height:25px;font-size:13px}.metric-label{font-size:10px;padding-right:20px}.number{font-size:27px;margin-top:10px}.metric-note{font-size:9px}section{padding:20px 16px;margin-bottom:18px}.chart-columns{gap:0}.traffic-chart{height:235px;min-width:450px}.legend{gap:12px}.country-content{gap:10px;justify-content:center}.donut{width:180px;flex-basis:180px}.country-legend{min-width:140px}.country-row{font-size:11px}.chart-heading h2,h2{font-size:16px}.data-note{font-size:11px}.diagnostics-grid{grid-template-columns:1fr}.login-layout{display:flex;flex-direction:column;align-items:stretch;gap:25px;min-height:auto;padding:8px 0 20px;max-width:430px}.login-intro h1{font-size:34px;letter-spacing:-1.4px;margin:12px 0 14px}.login-intro h1 br{display:none}.login-intro>p{font-size:13px;margin:0}.intro-features,.privacy-note{display:none}.login-card{padding:28px 23px}.login-card h2{font-size:24px}.login-card>.muted{margin-bottom:22px}.login-card .eyebrow{margin-bottom:10px}.footer-note{font-size:10px}}
@media(prefers-reduced-motion:no-preference){button,.button,input,a{transition:background .15s,border-color .15s,box-shadow .15s}.card:hover{box-shadow:0 4px 20px #292f5a05}}

.traffic-mobile{display:none}
@media(max-width:640px){.traffic-desktop{display:none}.traffic-mobile{display:block;height:auto;min-width:0;width:100%}}

/* Internal sign-in: a single, compact form. */
.login-layout{display:block;min-height:calc(100vh - 220px);max-width:410px;margin:0 auto;padding:48px 0}
.login-card{width:100%;padding:34px}.login-card h1{font-size:27px;margin:0 0 26px}.login-card .alert{margin-bottom:16px}
.geo-attribution{margin:0;text-align:right;font-size:10px;color:#a3a9bb}.geo-attribution a{color:inherit}
@media(max-width:640px){.login-layout{padding:20px 0;max-width:390px;min-height:auto}.login-card{padding:28px 24px}.login-card h1{font-size:25px}}

.totals{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:640px){.totals{grid-template-columns:repeat(2,minmax(0,1fr))}.totals>.metric:last-child{grid-column:1/-1}}
