:root{font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif;color:#202734;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:13px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:#1677ff;text-decoration:none}.shell{display:flex;min-height:100vh;background:#fff}.sidebar{width:48px;flex:none;background:linear-gradient(180deg,#041a31,#061c35);display:flex;align-items:center;flex-direction:column;gap:12px;padding:0 5px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar .logo{background:#e13b4c;color:#fff;font-weight:900;font-size:19px;width:29px;height:30px;display:grid;place-items:center;-webkit-clip-path:polygon(50% 0,95% 24%,85% 82%,50% 100%,15% 82%,5% 24%);clip-path:polygon(50% 0,95% 24%,85% 82%,50% 100%,15% 82%,5% 24%);margin-bottom:7px}.sidebar button{border:0;background:transparent;color:#8fa5c1;width:34px;height:34px;border-radius:8px;display:grid;place-items:center}.sidebar button.active,.sidebar button:hover{background:#1677ff;color:white}.sidebottom{margin-top:auto}.sidebottom button{background:#1677ff;color:white}.main{flex:1 1;min-width:0}.topbar{height:49px;border-bottom:1px solid #eef0f4;display:flex;justify-content:space-between;align-items:center;padding:0 23px;gap:12px}.topbar h1{display:inline;font-size:18px;margin:0 10px 0 0}.topbar small{color:#a6abb4;font-size:11px}.topright{display:flex;align-items:center;gap:13px}.timezone{border:1px solid #eee;padding:6px 10px;border-radius:4px;font-size:11px}.iconbtn{border:1px solid #eee;border-radius:5px;background:white;padding:5px;color:#8995a6;display:grid;place-items:center}.avatar{background:#2179ed;color:#fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-weight:700}.content{margin:18px 24px;padding:14px 18px;min-height:calc(100vh - 85px);border-radius:7px;background:#fff}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:11px;gap:11px;margin:12px 12px 14px}.metric{height:97px;border:1px solid #e5e8ed;border-radius:7px;box-shadow:0 1px 5px #00000008;padding:12px;display:flex;flex-direction:column;justify-content:space-between}.metric b{font-size:13px}.metric span{align-self:flex-end;color:#b7bdc7;font-size:21px}.metric.highlight{background:#eef8ff;border-color:#d5eaff}.metric.highlight span{color:#1677ff}.charts{display:grid;grid-template-columns:2fr 1fr;grid-gap:12px;gap:12px;margin:0 12px}.chartwrap,.radar{background:linear-gradient(130deg,#e8f5ff,#fafdff);border:1px solid #d8e4ee;border-radius:6px;min-height:320px;overflow:hidden}.charttop{display:flex;justify-content:space-between;align-items:center;padding:13px 18px}.charttop span{font-size:11px;color:#1677ff;background:#e3f2ff;border:1px solid #c6dffc;padding:5px;border-radius:3px}.chartwrap svg{width:100%;height:280px}.radar{padding:13px 15px}.radar svg{display:block;width:100%;max-height:260px}.quick{margin:20px 12px;display:flex;align-items:center;gap:20px;color:#6d7c8c}.positive{color:#23a53c!important;font-weight:600}.negative{color:#d94747!important;font-weight:600}.primary{background:#1677ff!important;color:white!important;border:1px solid #1677ff!important;border-radius:5px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.green{background:#4bb516!important;border:1px solid #4bb516!important;color:#fff!important}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.filterbar,.toolactions{display:flex;gap:9px;align-items:center}.filterbar{color:#8d97a5}.adminpage button:not(.primary),.filterbar input,.filterbar select,.tablebox button,.toolactions button{border:1px solid #e3e6ea;background:#fff;padding:6px 9px;border-radius:5px;color:#657181}.filterbar input[type=date]{max-width:150px}.filterbar input:first-of-type{width:200px}.toolactions button{display:inline-flex;gap:5px;align-items:center}.tablebox{width:100%;overflow-x:auto}.tablebox table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}.tablebox th{background:#f6f7f9;color:#303c49;font-size:12px;font-weight:600;padding:12px 11px}.tablebox td{padding:13px 11px;border-bottom:1px solid #eef0f2;font-size:12px}.tablebox .reason{max-width:230px;overflow:hidden;text-overflow:ellipsis}.tag{background:#e5fbf7;color:#19a29b;border:1px solid #a8e9e1;border-radius:4px;padding:3px 7px}.sessiontag{background:#e8f5ff;border:1px solid #b8dfff;color:#398bd9;padding:3px 7px;border-radius:3px}.rowbuttons{display:flex;gap:5px}.rowbuttons button{padding:5px}.empty{padding:80px 10px;text-align:center;color:#a4adba}.tablefoot{text-align:center;margin:20px;color:#919aa7}.settingspage{max-width:690px;margin:25px auto 70px}.settingspage h2{font-size:19px}.infobox{background:#e8f4ff;border:1px solid #a4cfff;border-radius:6px;padding:20px;margin:20px 0;color:#316caa}.sectiontitle{font-size:13px;font-weight:700;color:#8a8a8a;margin:25px 0 10px}.settingscard{border:1px solid #e9ebef;border-radius:7px;padding:20px;margin:14px 0;background:#fff}.settingscard h3{font-size:16px;margin:0 0 16px}.settingscard p{font-size:12px;color:#5e6978;line-height:1.7}.settingscard label{display:flex;flex-direction:column;gap:8px;font-size:12px}.settingscard input,.settingscard select{padding:9px;border:1px solid #dfe3e8;border-radius:5px;width:100%;background:#fff}.settingstable{width:100%;border-collapse:collapse;font-size:12px}.settingstable th{text-align:left;background:#f7f8fa}.settingstable td,.settingstable th{padding:8px;border-bottom:1px solid #eee}.settingstable input{max-width:190px}.saveSettings{float:right}.toast{margin:10px 25px;background:#edf6ff;color:#245b9e;border:1px solid #bad8fa;padding:10px 16px;border-radius:5px;cursor:pointer}.overlay{position:fixed;inset:0;z-index:100;background:#0007;display:flex;align-items:center;justify-content:center;padding:16px}.modal{position:relative;width:min(650px,100%);max-height:96vh;overflow-y:auto;background:white;border-radius:9px;padding:38px 42px 20px;box-shadow:0 20px 60px #0003}.modal h2{font-size:17px;margin:0 0 22px}.close{position:absolute;right:19px;top:18px;border:0;background:transparent;color:#999}.formgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.formgrid label{display:flex;flex-direction:column;gap:8px;font-size:13px}.formgrid em{color:#ed4c4c;font-style:normal}.formgrid input,.formgrid select,.modal textarea{border:1px solid #d7dbe0;border-radius:5px;padding:9px 12px;width:100%;background:#fff;min-width:0}.formgrid input:disabled{background:#f4f4f4;color:#888}.modalSection{margin-top:24px;border-top:1px solid #ececec;padding-top:20px}.modalSection h3{font-size:16px;margin:0 0 18px}.pillgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.pillgrid span{display:block;margin-bottom:8px;color:#59616b}.pillrow{display:flex}.pillrow button{border:1px solid #d9dee5;background:#fff;flex:1 1;padding:9px 3px;font-size:12px}.pillrow button:first-child{border-radius:5px 0 0 5px}.pillrow button:last-child{border-radius:0 5px 5px 0}.pillrow .chosen{color:#1677ff;background:#eaf4ff;border-color:#9ccaff}.modal textarea{resize:vertical}.upload{margin-top:10px;display:flex;align-items:center;gap:8px;color:#576a7c;cursor:pointer}.upload input{max-width:250px;font-size:11px}.modalactions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.modalactions button{border:1px solid #d9dde4;background:white;border-radius:5px;padding:8px 14px}.imageview{position:relative;max-width:90vw;max-height:90vh;background:#fff;padding:20px;border-radius:8px}.imageview img{display:block;max-width:85vw;max-height:80vh;object-fit:contain}.auth{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-left{background:linear-gradient(140deg,#071c35,#103d68);color:#fff;padding:9vw 7vw;position:relative}.brand-mark{width:55px;height:55px;border:2px solid #6db3ff;border-radius:15px;display:grid;place-items:center;font-size:35px;font-weight:800}.auth-left h1{font-size:29px}.auth-left h2{font-size:37px;line-height:1.5;margin-top:65px}.auth-left p{color:#a8c4df;font-size:16px}.auth-footer{position:absolute;bottom:40px;color:#8da9c7}.auth-right{display:grid;place-items:center;padding:30px}.auth-card{width:min(390px,100%)}.auth-card h2{font-size:27px;margin:0 0 12px}.auth-card p{color:#84909d}.auth-card label{display:flex;flex-direction:column;gap:9px;margin-top:22px;font-weight:600}.auth-card input{border:1px solid #dbe1e8;padding:13px;border-radius:6px}.auth-card small{color:#8694a4;font-weight:400}.wide{width:100%;margin-top:28px;padding:13px}.switch{text-align:center}.link{border:0;background:transparent;color:#1677ff!important;padding:0;cursor:pointer}.private-link{border-top:1px solid #edf0f2;margin-top:22px;padding-top:20px;text-align:center;color:#8794a3}.private-link a{display:inline-flex;align-items:center;gap:3px}.notice{margin-top:20px;padding:12px;background:#edf6ff;border:1px solid #c5ddfa;border-radius:5px;color:#285c98}.center,.setup{min-height:100vh;display:grid;place-items:center;background:#f5f8fc}.setup-card{width:min(550px,90vw);background:white;padding:40px;border:1px solid #e1e8f1;border-radius:15px;box-shadow:0 8px 40px #16345610;line-height:1.9}.setup-card code{display:block;background:#eff3f7;padding:10px}.adminstats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:15px;gap:15px}.adminstats>div{border:1px solid #e3e8ed;border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:10px}.adminstats strong{font-size:22px;color:#1677ff}.inline{display:flex;gap:10px;align-items:center}.inline select{width:auto;flex:1 1}.access{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;padding:9px}@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}.charts{grid-template-columns:1fr}.topbar small{display:none}.content{margin:12px;padding:6px}.settingspage{margin:20px;padding:10px}}@media(max-width:680px){.auth{grid-template-columns:1fr}.auth-left{padding:25px;min-height:160px}.auth-footer,.auth-left h2,.auth-left p{display:none}.auth-right{padding:30px 18px}.sidebar{width:42px}.topbar{padding:0 10px}.timezone{display:none}.metrics{margin:6px;gap:6px}.metric{padding:8px;height:85px}.metric span{font-size:17px}.charts{margin:6px}.filterbar,.toolbar{flex-wrap:wrap}.formgrid{gap:9px}.modal{padding:35px 18px 18px}.adminstats,.pillgrid{grid-template-columns:1fr}.inline{flex-wrap:wrap}}.metric{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;will-change:transform}.metric:hover{transform:translateY(-5px);box-shadow:0 12px 25px rgba(23,96,179,.18);border-color:#83bbfa;z-index:1}.equityplot,.metric:hover{position:relative}.equityplot svg{display:block}.equitytooltip{position:absolute;top:6px;transform:translateX(-50%);z-index:5;width:215px;max-width:85%;padding:12px;background:#fff;border:1px solid #e3e9f0;border-radius:8px;box-shadow:0 8px 26px #123b5a33;pointer-events:none;font-size:11px}.equitytooltip>div:not(.equitytooltiphead){display:flex;justify-content:space-between;gap:8px;padding:3px 0}.equitytooltiphead{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #edf0f3;padding-bottom:8px;margin-bottom:6px}.equitytooltiphead small{color:#8391a3;font-size:10px}.equitytooltip hr{border:0;border-top:1px solid #edf0f3;margin:7px 0}.feeactions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.feeactions button:not(.primary){background:white;border:1px solid #d8dde4;padding:8px 14px;border-radius:5px}.versionlabel{font-size:11px;color:#7b91ab;font-weight:400;margin-left:8px}.metric:hover{transform:translateY(-7px) scale(1.018);box-shadow:0 15px 30px rgba(23,96,179,.25);border-color:#2687ff}.equitychart svg{cursor:crosshair}.sidebar .logo{background:transparent;-webkit-clip-path:none;clip-path:none;width:32px;height:32px;object-fit:contain;border-radius:8px;margin:10px 0 8px}.brand-mark{object-fit:contain;border:0;border-radius:12px;display:block}.dashboard{background:#f7faff;margin:20px 24px;padding:24px;border:1px solid #edf2f8}.dashboardintro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px}.dashboardintro h2{font-size:22px;margin:0 0 8px;color:#17324e}.dashboardintro p{margin:0;color:#74849a}.dashboard .metrics{margin:0 0 24px;gap:16px}.dashboard .metric{height:112px;padding:17px;background:#fff;border-radius:12px;box-shadow:0 3px 12px #17324e06}.dashboard .metric b{color:#66798e;font-weight:500}.dashboard .metric span{color:#17324e;font-size:27px;font-weight:650}.dashboard .metric.highlight{background:#eaf4ff;border-color:#c8e1ff}.dashboard .metric.highlight span{color:#1677ff}.dashboard .charts{grid-template-columns:minmax(0,2.6fr) minmax(250px,1fr);gap:20px;margin:0}.chartwrap,.radar{border-radius:14px;min-width:0}.equitychart{min-height:470px;background:linear-gradient(145deg,#edf7ff,#fff)}.equitychart .charttop{padding:22px 24px;gap:12px}.charttop strong{font-size:17px}.charttop p,.radar p{color:#7b8ea3;font-size:12px;margin:8px 0 0}.equitychart .charttop span{line-height:1.9;padding:6px 12px}.equitychart svg{height:380px}.equityplot{padding:0 8px}.equitytooltip{top:12px;width:260px;max-width:90%;padding:14px;font-size:12px}.equitytooltiphead{flex-wrap:wrap}.equitytooltiphead small{font-size:11px}.chartempty{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#7b8ea3}.radar{padding:24px 18px;background:white}.radar strong{font-size:16px}.radar svg{margin-top:20px;max-height:270px}.sessionlegend{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:20px 2px 0}.sessionlegend>div{display:flex;justify-content:space-between;gap:6px;color:#74849a;font-size:11px}.sessionlegend b{color:#315d89}.dashboard .quick{margin:22px 0 0;justify-content:space-between;flex-wrap:wrap;gap:10px}.quick small{color:#7b8ea3}.security-form{display:flex;flex-direction:column;gap:16px}.security-form .primary{align-self:flex-start}.security-form input{width:100%;border:1px solid #dfe3e8;padding:10px;border-radius:5px}.forgot-password{font-size:12px;text-align:right}.editor-fields{border:0;margin:0;padding:0;min-width:0}.modalSection h3 small{font-size:11px;color:#8190a2;font-weight:400}.accountmodal{max-width:480px}.modal input:focus,.modal select:focus,.security-form input:focus{outline:2px solid #b9d9ff;outline-offset:1px}.imageview .close{background:white;border-radius:50%;z-index:1}.adminpage .rowbuttons{flex-wrap:wrap}@media(max-width:1100px){.dashboard .charts{grid-template-columns:1fr}.radar svg{max-height:240px}.sessionlegend{max-width:480px;margin:16px auto 0}.dashboard{margin:14px;padding:18px}.equitychart{min-height:440px}}@media(max-width:680px){.dashboard{margin:8px;padding:12px}.dashboardintro{align-items:flex-start}.dashboardintro h2{font-size:18px}.dashboardintro .primary{padding:8px;white-space:nowrap}.dashboard .metrics{gap:9px;margin-bottom:16px}.dashboard .metric{height:98px;padding:12px}.dashboard .metric span{font-size:22px}.equitychart{min-height:360px}.equitychart svg{height:290px}.equitychart .charttop{padding:16px;align-items:flex-start;flex-direction:column}.charttop p{display:none}.equitychart .charttop span{font-size:10px}.equitytooltip{width:215px;font-size:11px}.equitytooltiphead small{font-size:10px}.settingspage{margin:12px;padding:4px}.settingstable td,.settingstable th{padding:6px 3px}.settingstable input{padding:7px;max-width:100px}.settingstable td:nth-child(2){font-size:10px}.security-form{gap:12px}.sessionlegend{gap:10px}.quick{font-size:12px}}@media(prefers-reduced-motion:reduce){.metric{transition:none}.metric:hover{transform:none}}.boot-screen{min-height:100vh;background:#fff}.settingscard .invite-prefill-toggle{flex-direction:row;align-items:center;gap:10px;margin-top:18px;cursor:pointer}.settingscard .invite-prefill-toggle input{width:18px;height:18px;margin:0;accent-color:#1677ff;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-logo{display:inline-flex;flex-shrink:0;vertical-align:middle;overflow:hidden;border-radius:8px}.brand-logo>img,.brand-logo>svg{display:block;width:100%;height:100%;object-fit:contain;flex-shrink:0}.dashboardbar{height:auto;min-height:60px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.dashboardbar>.topright{flex-wrap:wrap;justify-content:flex-end;gap:10px}.dashboardfilters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#7b8ea3}.dashboardfilters input,.dashboardfilters select,.filterreset{border:1px solid #dce5ef;border-radius:6px;background:#fff;color:#40546a;padding:7px 9px;min-height:32px}.dashboardfilters select{min-width:100px}.dashboardfilters input{width:140px;min-width:0}.filterreset{font-size:12px}.dashboardfilters input:focus,.dashboardfilters select:focus{outline:2px solid #c6e0ff;outline-offset:1px}.performance-radar{background:linear-gradient(145deg,#edf7ff,#fff);padding:24px 18px}.performance-radar .radarplot{position:relative;max-width:440px;margin:0 auto}.performance-radar svg{width:100%;height:auto;max-height:none;margin:0;display:block;touch-action:pan-y}.performance-radar circle[role=button]{cursor:pointer}.performance-radar circle[role=button]:focus{outline:none;stroke:#1677ff;stroke-width:2}.radartooltip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;padding:13px 15px;border:1px solid #dce7f2;border-radius:10px;background:white;box-shadow:0 8px 24px #17324e26;pointer-events:none;font-size:12px;z-index:2}.radartooltip>strong{display:block;font-size:14px;margin-bottom:10px;color:#17324e}.radartooltip>div{display:flex;justify-content:space-between;gap:10px;margin:6px 0;color:#687d92}.radartooltip b{font-weight:600;color:#17324e}.radarempty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;white-space:nowrap;font-size:12px;color:#8293a4;pointer-events:none}.radarscale{text-align:center;color:#7c90a5;font-size:11px;margin:0 0 16px}.performance-radar .sessionlegend{grid-template-columns:1fr 1fr;gap:9px;margin:0}.performance-radar .sessionlegend>button{display:flex;align-items:flex-start;flex-direction:column;gap:6px;text-align:left;min-width:0;padding:10px;border:1px solid #dfeaf4;border-radius:8px;background:#ffffffb3;color:#617990;font-size:11px}.performance-radar .sessionlegend>button:hover,.performance-radar .sessionlegend>button[aria-pressed=true]{border-color:#89bfff;background:#edf6ff}.performance-radar .sessionlegend b{font-size:13px;overflow-wrap:anywhere}.performance-radar .sessionlegend small{font-size:10px;color:#8092a5}@media(max-width:1000px){.dashboardbar{align-items:flex-start}.dashboardbar>.topright{width:100%;justify-content:flex-start}.dashboardfilters{flex:1 1}.performance-radar .radarplot{max-width:430px}}@media(max-width:680px){.dashboardbar{padding:10px}.dashboardbar>.topright{gap:8px}.dashboardfilters{flex-basis:100%;order:2;gap:5px}.dashboardfilters select{min-width:78px;width:90px;padding:6px}.dashboardfilters input{width:122px;padding:6px 3px;font-size:11px}.filterreset{padding:6px}.performance-radar{padding:18px 12px}.performance-radar .radarplot{max-width:400px}.radartooltip{width:170px;font-size:11px;padding:11px}.dashboardintro p{line-height:1.7;overflow-wrap:anywhere}}