:root{color-scheme:dark;--bg:#0b0f14;--card:#121821;--card2:#171f2a;--line:#24303d;--text:#edf3f8;--muted:#8d9baa;--accent:#48d597;--accent2:#2ab77f;--danger:#ff7272}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 ui-sans-serif,system-ui,-apple-system,sans-serif}header{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));background:#0e131a;position:sticky;top:0;z-index:3}header>div{display:flex;align-items:center;gap:12px}main{max-width:1240px;margin:0 auto;padding:24px}.logo{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,var(--accent),#248dc4);color:#04130d;font-weight:900;font-size:22px}.logo.small{display:inline-grid;width:31px;height:31px;border-radius:8px;font-size:16px}.status{color:var(--accent);font-size:12px}.panel,.kpis article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.toolbar select{margin-left:auto}.ranges{display:flex;gap:4px;background:#0c1118;padding:4px;border-radius:9px}.ranges button{background:transparent;color:var(--muted)}.ranges button.active{background:var(--card2);color:var(--text)}button,select,input,textarea{border:1px solid var(--line);border-radius:8px;background:var(--card2);color:var(--text);padding:10px 13px;font:inherit}button{background:var(--accent2);border:0;font-weight:650;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:wait}.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpis article{display:flex;flex-direction:column;gap:7px}.kpis span,.muted{color:var(--muted)}.kpis strong{font-size:25px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}h1,h2{margin:0}h2{font-size:15px;margin-bottom:16px}.section-head{display:flex;align-items:center;justify-content:space-between}.chart{height:210px;display:flex;align-items:flex-end;gap:3px;padding-top:15px;border-bottom:1px solid var(--line)}.bar{flex:1;min-width:2px;background:linear-gradient(var(--accent),#2684b8);border-radius:3px 3px 0 0;position:relative}.bar:hover:after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#020407;padding:5px 7px;border-radius:5px;font-size:11px}.empty{margin:auto;color:var(--muted)}.rank-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr auto;gap:10px;align-items:center;margin:12px 0}.rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-track{height:6px;background:#202b37;border-radius:9px;overflow:hidden}.rank-fill{height:100%;background:var(--accent);border-radius:9px}.rank-value{font-variant-numeric:tabular-nums;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500}.live{color:var(--accent)}.footnote{text-align:center;color:var(--muted);font-size:12px;margin:18px}.login-body{min-height:100vh;display:grid;place-items:center}.login-card{width:min(390px,calc(100vw - 32px));padding:34px;background:var(--card);border:1px solid var(--line);border-radius:16px}.login-card .logo{margin-bottom:22px}.login-card h1{margin-bottom:4px}.login-card form{display:grid;gap:10px;margin-top:28px}.error{color:var(--danger)}dialog{width:min(510px,calc(100vw - 32px));background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:22px}dialog::backdrop{background:#000a}dialog form{display:grid;gap:12px}dialog textarea{width:100%;margin:12px 0;word-break:break-all}#shareResult button{margin-right:8px}
.custom-dates{display:flex;align-items:center;gap:7px}.custom-dates input{max-width:190px}
.user-management{margin-top:16px}.user-management .section-head{margin-bottom:12px}.user-management h2{margin-bottom:3px}.user-management p{margin:0}.user-name-input{width:min(260px,55vw)}.save-name,.share-user{min-width:70px}.share-user{margin-left:6px}#existingShareDialog textarea{width:100%;margin:14px 0}
@media(max-width:760px){header{padding:0 16px}main{padding:16px}.toolbar{flex-wrap:wrap}.toolbar select{margin-left:0;flex:1}.custom-dates{width:100%;flex-wrap:wrap}.custom-dates input{max-width:calc(50% - 24px)}.kpis{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.chart{height:150px}.kpis strong{font-size:20px}}
