:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#253044;background:#f5f6fa;font-synthesis:none;--accent:#6152d9;--border:#e8ebf2;--muted:#7b8598;--navy:#20253d;--radius:16px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a99bff;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-.8px;line-height:1.35}h2{font-size:17px;line-height:1.5}h3{font-size:15px;line-height:1.5}p{line-height:1.7}.muted{color:var(--muted);font-size:12px;line-height:1.7}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent);margin-bottom:8px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button{border:1px solid transparent;border-radius:9px;min-height:38px;padding:9px 14px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,box-shadow .15s;white-space:nowrap}.button.primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px #6152d91a}.button.primary:hover{background:#5143c2}.button.secondary{background:#fff;border-color:var(--border);color:#566077}.button.secondary:hover,.button.ghost:hover{background:#f0effb}.button.ghost{background:transparent;color:var(--muted)}.button.wide{width:100%}input,select{border:1px solid #dfe3ee;background:#fff;color:#333d51;border-radius:8px;min-height:38px;padding:8px 10px;max-width:100%}input::placeholder{color:#a3aaba}select{padding-right:25px}label{font-size:12px;font-weight:600;color:#667087}.form-error{color:#bb3951;min-height:20px;font-size:12px;margin:8px 0}.notice{font-size:12px;color:#7b8598;padding:10px 14px;border:1px solid var(--border);border-radius:9px;background:#fff;margin-bottom:20px;overflow-wrap:anywhere;min-height:40px}.notice.error{color:#ac3047;border-color:#f0d1d9;background:#fff8fa}.notice.success{color:#4f7169}.brand-mark{width:54px;height:54px;background:var(--accent);color:#fff;border-radius:18px;display:grid;place-items:center;font-size:24px;font-weight:800;box-shadow:0 8px 20px #6152d924}.brand-mark.small{width:37px;height:37px;border-radius:12px;font-size:18px;box-shadow:none}.login-view{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 20% 20%,#e9e5ff 0,transparent 55%),radial-gradient(ellipse at 90% 100%,#e0f1eb 0,transparent 55%),#f5f6fa}.login-card{width:100%;max-width:420px;padding:39px 36px 28px;background:#fff;border:1px solid #ffffffbd;border-radius:24px;box-shadow:0 20px 70px #2b2f4820}.login-card .brand-mark{margin-bottom:28px}.login-card .eyebrow{font-size:9px;letter-spacing:1.8px}.login-card h1{font-size:25px;margin-bottom:8px}.login-card form{margin-top:26px}.login-card label{display:block;margin:16px 0 7px}.login-card input{width:100%;min-height:43px}.login-card .button{min-height:44px}.login-note{font-size:10px;color:#9aa3b3;text-align:center;margin-top:24px}.app-shell{display:flex;min-height:100dvh}.sidebar{background:var(--navy);width:212px;padding:28px 17px 24px;position:fixed;inset:0 auto 0 0;color:#fff;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:11px;align-items:center;color:#fff;text-decoration:none;padding:0 10px;font-size:16px;font-weight:700}.brand small{display:block;font-weight:400;font-size:10px;letter-spacing:3px;margin-top:3px;color:#989db5}.nav-label{font-size:10px;color:#777e9e;margin:42px 15px 12px;letter-spacing:2px}.nav-item{width:100%;border:0;background:transparent;color:#a9b0c8;text-align:left;border-radius:10px;padding:13px 15px;font-size:12px;margin-bottom:7px;display:flex;align-items:center;gap:12px}.nav-item span{font-size:20px;width:20px;line-height:20px}.nav-item.active{background:#ffffff12;color:#fff;box-shadow:inset 3px 0 #9789ff}.nav-item:hover{background:#ffffff09}.sidebar-foot{margin-top:auto;padding:20px 13px 0;border-top:1px solid #ffffff12;font-size:10px;color:#bbc0d3}.sidebar-foot small{display:block;color:#777e9e;margin-top:10px;font-size:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#82c7ad;margin-right:7px}.main-wrap{width:calc(100% - 212px);margin-left:212px}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:12px}.topbar p{font-size:11px;color:#8c94a6}.topbar p span{margin:0 12px;color:#ccd0db}.topbar strong{font-weight:500;color:#535d73}.account{display:flex;gap:18px;align-items:center;font-size:11px;color:#667087}.account>span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{max-width:1600px;margin:auto;padding:31px 34px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.page-heading .muted{margin-top:7px}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;background:#fff;border:1px solid var(--border);padding:16px 18px;border-radius:var(--radius)}.filter-bar>label{display:grid;gap:7px}.filter-bar .button{margin-left:auto}.range-choice{display:flex;border:1px solid var(--border);padding:3px;gap:2px;border-radius:9px;margin:0;min-height:38px}.range-choice label{cursor:pointer;position:relative}.range-choice input{position:absolute;opacity:0;pointer-events:none}.range-choice span{display:block;padding:7px 13px;border-radius:6px;white-space:nowrap;font-size:11px;font-weight:500}.range-choice input:checked+span{background:#eeebff;color:var(--accent);font-weight:700}.range-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.date-fields{display:flex;align-items:flex-end;gap:9px}.date-fields label{display:grid;gap:7px}.date-fields>span{color:#c2c6d2;align-self:center;padding-top:20px}.date-fields input{min-width:135px;font-size:11px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0 13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:19px 20px;min-width:0}.metric-card.accent{background:linear-gradient(120deg,#6557dc,#8879e4);border-color:transparent;color:#fff}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.metric-top .metric-icon{font-size:16px;border-radius:8px;background:#f3f1fd;color:var(--accent);width:28px;height:28px;display:grid;place-items:center}.accent .metric-top{color:#eeeaff}.accent .metric-icon{background:#ffffff24;color:#fff}.metric-value{font-size:29px;font-weight:700;letter-spacing:-.8px;line-height:1.3;margin-top:13px;overflow-wrap:anywhere}.metric-note{font-size:10px;color:#939bad;margin-top:7px;line-height:1.7}.accent .metric-note{color:#e0dbff}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-top:20px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px}.panel-heading .muted{margin-top:5px}.compact-label{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px}.compact-label select{font-size:11px;min-height:34px}.chart{padding:3px 17px 10px;min-height:245px}.chart svg{width:100%;height:auto;display:block;max-height:310px;overflow:visible}.chart .empty-state{padding:85px 20px}.chart-caption{font-size:11px;color:var(--muted);text-align:right;padding:0 12px 8px}.table-details{border-top:1px solid var(--border)}.table-details summary{font-size:11px;color:var(--accent);padding:12px 22px;cursor:pointer}.table-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}th{background:#fafbfe;color:#969eae;font-size:10px;font-weight:500;padding:12px 22px;border-block:1px solid #f0f2f7}td{padding:14px 22px;border-bottom:1px solid #f0f2f7;color:#566077}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfbff}td strong{color:#333d51;font-weight:600}td small{display:block;margin-top:5px;font-size:10px;color:#a0a7b6}.empty-state{text-align:center!important;color:#929bad!important;padding:36px 20px!important;line-height:1.8;white-space:normal!important}.pill{font-size:10px;color:var(--accent);background:#f0edff;border-radius:6px;padding:6px 9px;white-space:nowrap}.retention-summary{display:flex;gap:30px;flex-wrap:wrap;margin:0 22px 18px;padding:16px 18px;border-radius:10px;background:#faf9ff}.retention-item{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.retention-item span{font-size:11px;color:#8690a4}.retention-item strong{color:var(--accent);font-size:24px;font-weight:650}.retention-item small{font-size:10px;color:#9ba3b4}.panel-note{padding:13px 22px;font-size:10px;color:#9aa2b2;border-top:1px solid var(--border)}.event-grid .metric-value{font-size:25px}.search-label{flex:1;max-width:440px}.search-label input{width:100%;min-width:220px}.player-link{border:0;background:none;color:var(--accent);padding:0;text-align:left;font-weight:650;max-width:260px;overflow:hidden;text-overflow:ellipsis;font-size:12px}.player-link:hover{text-decoration:underline}.online-badge{display:inline-flex;align-items:center;color:#4a9b80;background:#eaf6f0;font-size:9px;padding:2px 5px;border-radius:4px;margin-left:7px}.player-code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:9px;max-width:240px;overflow:hidden;text-overflow:ellipsis;display:block}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-top:1px solid var(--border)}.pagination>div{display:flex;gap:8px}.pagination .button{font-size:10px;min-height:32px;padding:7px 11px}.page-footer{color:#acb2bf;text-align:center;font-size:10px;margin:32px 0 2px;line-height:1.8}.player-dialog{position:fixed;inset:0 0 0 auto;width:min(860px,95vw);height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-left:1px solid var(--border);padding:0;background:#f8f9fc;color:#253044;box-shadow:-15px 0 80px #18213c20}.player-dialog::backdrop{background:#20253d80;backdrop-filter:blur(3px)}.detail-top{position:sticky;top:0;background:#fff;padding:23px 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);z-index:1}.detail-top h2{font-size:23px;overflow-wrap:anywhere}.detail-top .eyebrow{font-size:9px}.detail-top .mono{font-size:10px;margin-top:5px}.detail-body{padding:22px 27px 35px}.detail-body h3{margin-bottom:12px}.identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:#fff;border:1px solid var(--border);padding:17px;border-radius:12px;margin-bottom:25px}.identity-item span{color:#969eae;font-size:10px;display:block;margin-bottom:6px}.identity-item strong{font-size:11px;font-weight:500;overflow-wrap:anywhere}.detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.detail-metrics .metric-card{padding:15px 13px;border-radius:12px}.detail-metrics .metric-value{font-size:23px}.detail-metrics .metric-icon{display:none}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-section{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:17px}.detail-section .panel-heading{padding:0;margin-bottom:10px;align-items:flex-start}.detail-section .panel-heading h3{margin-bottom:3px}.detail-section .table-scroll{margin-top:10px}.detail-section th,.detail-section td{padding:12px 9px}.chip-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chip{font-size:10px;padding:6px 9px;border:1px solid #e9e6fa;border-radius:7px;color:#746d9b;background:#f9f7ff}.key-values{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px}.key-values dt{color:#929aac}.key-values dd{margin:0;text-align:right;color:#58637a}.history-list{margin-top:12px;display:grid;gap:8px}.history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#fafbfe;border:1px solid #eff0f5;border-radius:8px}.history-row p{font-size:11px}.history-row small{font-size:9px;color:#929bad;display:block;margin-top:4px}.history-row .button{font-size:10px;min-height:31px;padding:6px 9px}.event-properties{min-width:180px;max-width:300px;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;color:#8b93a4;margin:0;max-height:130px;overflow:auto}.event-name{white-space:normal;min-width:110px}.event-name small{overflow-wrap:anywhere}.body-modal-open{overflow:hidden}
@media(min-width:1400px){main{padding:35px 45px}.topbar{padding-inline:45px}.metric-grid{gap:18px}.metric-card{padding:21px 24px}.metric-value{font-size:32px}}
@media(max-width:1150px){.sidebar{width:180px;padding-inline:12px}.main-wrap{margin-left:180px;width:calc(100% - 180px)}main{padding:26px 23px}.topbar{padding-inline:23px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.section-line{align-items:flex-start}.section-line>.muted{max-width:50%;text-align:right;font-size:10px}.date-fields{flex-wrap:wrap}.filter-bar{gap:12px}.metric-card{padding:18px}.brand{padding-inline:7px;font-size:14px}.brand-mark.small{width:33px;height:33px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;inset:auto;width:100%;padding:14px 18px 0;display:block}.brand{padding:0;font-size:14px}.brand small{display:inline;font-size:9px;margin-left:10px}.brand-mark.small{width:29px;height:29px;border-radius:9px;font-size:14px}.sidebar nav{display:flex;margin-top:14px;gap:7px}.nav-label,.sidebar-foot{display:none}.nav-item{width:auto;margin-bottom:0;padding:10px 15px;border-radius:8px 8px 0 0;font-size:11px}.nav-item span{font-size:16px}.nav-item.active{box-shadow:inset 0 -3px #9789ff}.main-wrap{margin:0;width:100%}.topbar{height:55px;padding-inline:18px}.topbar p{font-size:10px}.topbar p span{margin-inline:8px}.account{gap:6px;font-size:10px}.account>span{max-width:90px}.account .button{padding:7px;font-size:10px}main{padding:23px 17px}h1{font-size:24px}.page-heading{gap:8px}.page-heading .muted{font-size:11px;max-width:230px}.page-heading .eyebrow{font-size:8px}.page-heading .button{min-height:34px;font-size:10px;padding:8px 10px}.filter-bar{padding:14px;gap:12px}.filter-bar>label{width:100%}.filter-bar>label select{width:100%}.filter-bar .button{margin-left:auto}.range-choice{flex:1}.range-choice span{padding:7px 10px}.date-fields{width:100%;gap:6px}.date-fields label{flex:1}.date-fields input{min-width:0;width:100%;font-size:11px}.date-fields>span{padding-top:22px}.metric-grid{gap:10px}.metric-card{padding:15px 14px;border-radius:12px}.metric-top{font-size:10px}.metric-top .metric-icon{height:23px;width:23px;font-size:14px}.metric-value{font-size:26px;margin-top:11px}.metric-note{font-size:9px}.section-line h2{font-size:15px}.section-line>.muted{font-size:9px}.panel{margin-top:16px;border-radius:12px}.panel-heading{padding:17px 15px;align-items:flex-start}.panel-heading h2{font-size:15px}.panel-heading .muted{font-size:10px}.compact-label{display:grid;gap:5px;font-size:9px}.compact-label select{font-size:10px;max-width:135px;min-height:30px}.chart{padding-inline:8px;min-height:190px}.chart svg{min-height:175px}.chart-caption{font-size:9px}th,td{padding:12px 15px}.retention-summary{margin-inline:15px;padding:13px;gap:16px}.retention-item{gap:7px}.retention-item strong{font-size:21px}.retention-item small{width:100%}.retention-item span{font-size:10px}.search-label{max-width:none}.search-label input{min-width:0}.pagination{padding:13px 15px;gap:6px}.pagination .muted{font-size:10px}.player-dialog{width:100vw;max-width:100vw}.detail-top{padding:19px 17px}.detail-top h2{font-size:20px}.detail-body{padding:17px}.identity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:14px}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-columns{grid-template-columns:1fr;gap:0}.detail-section{padding:15px}.detail-section .panel-heading{gap:10px}.detail-section .button{font-size:10px;padding:8px 10px}.page-footer{font-size:9px}.login-card{padding:30px 25px}}
.boot-status{min-height:100dvh;display:grid;place-items:center;font-size:13px;color:var(--muted);letter-spacing:1px}.form-error.success{color:#4f8b72}.cat-list{display:grid;gap:8px;margin-top:13px;max-height:370px;overflow-y:auto;overscroll-behavior:contain}.cat-row{padding:10px 11px;border:1px solid #ece9f8;background:#faf9ff;border-radius:8px}.cat-row strong{display:block;font-size:11px;color:#74669b;font-weight:600}.cat-row span{display:block;color:#9791aa;font-size:9px;margin-top:6px;line-height:1.8}
.topbar{height:auto;min-height:72px;padding-block:13px;flex-wrap:wrap}.account{margin-left:auto;gap:12px}.project-picker{display:flex;align-items:center;gap:9px;font-size:10px;color:#959daf}.project-picker select{font-size:11px;min-height:34px;max-width:230px;min-width:150px}.project-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-5px 0 20px;padding:11px 14px;border:1px solid #e7e3fa;border-radius:9px;background:#f0edff66;font-size:11px}.project-banner strong{font-weight:600;overflow-wrap:anywhere}.project-banner .mono{font-size:10px;color:#8f86b0}.project-banner .pill{margin-left:auto}.muted-pill{background:#edf0f5;color:#929bac}.configured-pill{background:#edf7f1;color:#558d72}.project-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-setup-grid>.panel{margin-top:0}.settings-form{display:grid;gap:15px;padding:0 22px 22px}.settings-form>label{display:grid;gap:7px;min-width:0}.settings-form input:not([type=checkbox]){width:100%;min-width:0}.settings-form small{font-size:10px;font-weight:400;color:#969eaf;line-height:1.8}.settings-form .button{justify-self:start}.settings-form .muted{font-size:10px}.check-label{display:flex!important;align-items:center;gap:9px!important;font-size:11px;cursor:pointer}.check-label input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--accent)}.readonly-code{display:block;background:#f8f9fd;border:1px solid var(--border);padding:10px;border-radius:8px;font-size:11px;color:#8b83a6;overflow-wrap:anywhere;font-weight:400}.form-message{font-size:11px;line-height:1.8;min-height:20px;overflow-wrap:anywhere;color:#8992a5}.form-message.error{color:#b43d54}.form-message.success{color:#548b73}.credential-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}.credential-card{margin-top:0}.credential-card .panel-heading{padding-inline:18px;align-items:flex-start}.credential-card .panel-heading h3{font-size:15px}.credential-card .panel-heading .muted{font-size:9px}.credential-card .settings-form{padding-inline:18px}.integration-content{padding:0 22px 22px}.integration-content>p{font-size:12px;margin-bottom:10px}.integration-content>p.muted{font-size:11px}.integration-content code{color:var(--accent);background:#f0edff;padding:4px 7px;border-radius:5px}.integration-example{margin:13px 0 0;background:#f7f8fc;border:1px solid var(--border);border-radius:10px;padding:17px;font-size:10px;line-height:1.85;color:#737c91;white-space:pre;max-height:440px;overflow:auto;tab-size:2}.save-disclosure{margin-top:14px}.save-disclosure summary{font-size:11px;color:var(--accent);cursor:pointer}.save-disclosure .integration-example{font-size:9px;padding:12px}.sidebar-foot small{line-height:1.8}
@media(max-width:1150px){.project-picker select{max-width:190px}.topbar>p{font-size:10px}}
@media(max-width:950px){.project-setup-grid{grid-template-columns:1fr}.account{gap:8px}.topbar>p{flex:1;min-width:160px}.project-picker select{max-width:200px}.credential-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}
@media(max-width:760px){.topbar{height:auto;min-height:82px;padding-block:10px;gap:6px}.topbar>p{font-size:9px;flex:0 0 100%}.account{margin-left:0;width:100%;justify-content:space-between;gap:6px}.account>span{max-width:65px;font-size:9px}.project-picker{gap:7px;font-size:9px}.project-picker select{min-width:115px;max-width:160px;font-size:10px;min-height:32px}.project-banner{padding:10px 12px;gap:8px;font-size:10px}.project-banner .mono{font-size:9px}.project-banner .pill{font-size:9px}.settings-form{padding-inline:16px;gap:14px}.credential-grid{grid-template-columns:1fr}.integration-content{padding-inline:16px}.integration-example{padding:12px;font-size:9px;max-height:360px}.sidebar nav{gap:1px}.nav-item{flex:1;justify-content:center;padding:10px 5px;gap:6px;font-size:10px}.nav-item span{font-size:16px;width:17px}.project-setup-grid{gap:16px}.credential-card .panel-heading{padding:17px 16px}.credential-card .settings-form{padding-inline:16px}}
.metric-grid.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.metric-grid.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
