:root{color:#101828;background:#f5f7fb;font-family:HarmonyOS Sans SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,rgba(47,109,246,.08),rgba(16,163,127,.04) 34%,transparent 72%),#f5f7fb}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(880px,100%);display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,420px);background:#fff;border:1px solid #d9e2f1;box-shadow:0 24px 60px #19233724}.login-brand{min-height:420px;padding:48px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.18),transparent 28%),linear-gradient(150deg,#1849d6,#0f766e);color:#f8fafc}.login-brand .ant-typography{color:#f8fafc}.login-brand h1{margin:0 0 10px;color:#f8fafc;font-size:34px;line-height:1.12}.login-brand p{margin:0;color:#dce8ff}.login-brand span.ant-typography{color:#dce8ff}.login-card{display:flex;align-items:center;padding:36px}.login-card .ant-card-body{width:100%}.login-card-lite{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:18px;margin:0;border:0;background:#fff}.login-card-lite h2{margin:0 0 4px;font-size:24px}.login-card-lite label{display:grid;gap:8px;color:#344054;font-size:14px}.login-card-lite input{width:100%;height:38px;padding:7px 11px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:#101828;font:inherit;outline:none}.login-card-lite input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24}.login-card-lite button{height:40px;border:0;border-radius:6px;background:#0f766e;color:#fff;font:inherit;font-weight:600;cursor:pointer}.login-card-lite button:disabled{cursor:progress;opacity:.72}.login-error{padding:8px 10px;border:1px solid #ffccc7;border-radius:6px;background:#fff2f0;color:#b42318;font-size:13px}.app-loading{min-height:100vh;display:grid;place-items:center;color:#667085}.brand-mark{width:60px;height:60px;display:grid;place-items:center;margin-bottom:22px;border-radius:8px;background:#0f766e;color:#fff;font-weight:900}.brand-mark.mini{width:34px;height:34px;margin:0;border-radius:8px;background:#2f6df6;font-size:13px}.app-shell{min-height:100vh;background:transparent}.app-topnav{height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;border-bottom:1px solid #dfe5ef;box-shadow:0 4px 18px #1923370f}.analysis-menu-dropdown .ant-dropdown-menu-item,.analysis-menu-dropdown .ant-dropdown-menu-item-group-title,.analysis-menu-dropdown .ant-dropdown-menu-title-content{text-align:left}.brand-inline{display:flex;align-items:center;gap:10px}.project-select{min-width:180px}.current-user{color:#576273;white-space:nowrap}.project-scope-bar{min-height:72px;padding:16px 22px;display:flex;align-items:center;gap:12px;background:#f0f3f8;border-bottom:1px solid #e3e8f0}.project-scope-bar .ant-select{min-width:180px}.quick-range{flex:1}.quick-range .ant-picker{min-width:250px}.granularity-select{min-width:96px}.range-preset-select{min-width:138px}.workspace,.event-workspace{padding:22px}.page-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.page-title-row .ant-typography{margin:0}.board-select{min-width:220px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:16px}.dashboard-card-loading{min-height:260px;display:grid;place-items:center;color:#667085;background:#f8fafc;border:1px dashed #d0d5dd;border-radius:6px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-bottom:16px}.workspace>.ant-card{margin-bottom:16px}.page-tip{margin-bottom:16px}.funnel-step-list{display:grid;gap:10px}.funnel-config-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.funnel-step-row{display:grid;grid-template-columns:90px minmax(240px,1fr) 76px;gap:10px;align-items:center}.metric-builder-list{display:grid;gap:12px}.metric-builder-item{display:grid;grid-template-columns:28px minmax(0,1fr) 52px;gap:8px;align-items:start;padding:10px;border:1px solid #e4e9f2;border-radius:6px;background:#fff}.metric-builder-index{width:24px;height:24px;border-radius:5px;background:#172554;color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.metric-builder-body{display:grid;gap:8px;min-width:0}.metric-builder-topline{display:flex;align-items:center;gap:8px}.metric-builder-topline .metric-format-select{flex:0 0 104px}.metric-builder-toolbar{display:flex;justify-content:flex-end;gap:6px;opacity:0;transition:opacity .18s ease}.metric-builder-item:hover .metric-builder-toolbar,.metric-builder-toolbar.is-visible{opacity:1}.metric-filter-actions{min-height:24px}.formula-editor{display:grid;gap:8px;padding:6px 0 0;border:0;border-top:1px solid #edf1f7;border-radius:0;background:transparent}.compact-formula-editor{gap:6px;padding:6px 0 0}.compact-formula-list{display:block}.formula-token-flow{display:flex;flex-wrap:wrap;gap:6px 4px;align-items:center;min-height:46px;padding:8px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:text}.formula-token-item{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:4px;max-width:100%}.formula-input-slot-wrap{display:inline-flex;align-items:center;min-width:20px;min-height:28px;flex:0 0 auto}.formula-input-slot{width:100%;height:28px;border-radius:6px}.formula-input-slot-empty{min-width:20px;border:1px dashed transparent;background:transparent;cursor:text;display:inline-flex;align-items:center;justify-content:center}.formula-input-slot-empty:hover,.formula-input-slot-empty:focus-visible{border-color:#94a3b8;background:#f8fafc}.formula-input-slot-active{min-width:108px;background:#fff}.formula-token-card{display:inline-flex;align-items:center;gap:4px}.formula-token-card-operand{padding:0;border:0;border-radius:0;background:transparent;width:auto;min-width:0;overflow:visible}.formula-token-card-number{max-width:88px}.formula-token-card-operator{width:fit-content}.formula-token-main{display:flex;flex-wrap:nowrap;gap:4px;align-items:center;width:auto;min-width:0}.compact-formula-row-wrap{display:grid;gap:8px}.compact-formula-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(120px,.8fr) minmax(0,.9fr) auto auto auto;gap:8px;align-items:center}.compact-formula-main,.compact-formula-event,.compact-formula-metric,.compact-formula-field{width:auto}.compact-formula-saved-metric{min-width:0;flex:1 1 auto}.compact-formula-filter-row{margin-left:0}.formula-action-panel{display:grid;gap:8px;min-width:220px}.formula-action-grid,.formula-number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.formula-token-list{min-height:42px;padding:10px;border:1px dashed #d0d8e5;border-radius:8px;background:#fff}.formula-pad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.formula-operands{display:grid;gap:10px}.formula-operand-card{border-radius:10px}.compact-formula-event{min-width:0;flex:1 1 150px}.compact-formula-metric{min-width:92px;flex:0 0 92px}.compact-formula-field{min-width:108px;flex:0 0 108px}.formula-token-card-number .ant-input{width:56px;height:28px;padding-inline:8px;border-radius:6px;background:#f5f7fb;border-color:transparent}.formula-token-card-operator .ant-btn{min-width:24px;height:28px;padding-inline:8px;border-radius:6px;background:#f5f7fb;border-color:transparent}.formula-token-card-operand .ant-select .ant-select-selector,.formula-token-card-operand .ant-btn:not(.ant-btn-text){height:28px!important;border-radius:6px!important}.formula-token-card-operand .ant-select{min-width:0}.formula-token-card-operand .ant-select .ant-select-selector{background:#f5f7fb!important;border-color:transparent!important;box-shadow:none!important;padding-inline:10px!important}.formula-token-card-operand .ant-select .ant-select-selection-item,.formula-token-card-operand .ant-select .ant-select-selection-placeholder{line-height:26px!important}.formula-token-card-operand .ant-select .ant-select-selection-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formula-token-card-operand .ant-btn{height:28px;border-radius:6px}.formula-token-card-operand .ant-btn:not(.ant-btn-text){background:#f5f7fb;border-color:transparent}.formula-token-card-operand .ant-btn-text{padding-inline:6px}.formula-operand-delete,.formula-number-delete{opacity:0;pointer-events:none;transition:opacity .16s ease}.formula-token-card-operand:hover .formula-operand-delete,.formula-token-card-operand:focus-within .formula-operand-delete,.formula-token-card-number:hover .formula-number-delete,.formula-token-card-number:focus-within .formula-number-delete{opacity:1;pointer-events:auto}.metric-filter-row{padding-left:0}.dashboard-card .ant-card-body{min-height:390px}.dashboard-stat-row{display:flex;gap:18px;flex-wrap:wrap}.dashboard-card.is-statistic .ant-card-body{min-height:0;padding:14px 18px 18px}.dashboard-card.is-statistic .dashboard-statistic-row{gap:12px}.dashboard-statistic-item{min-width:180px;flex:1 1 0;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fafcff}.dashboard-statistic-date,.dashboard-statistic-title{display:block}.dashboard-statistic-title{margin-top:2px;color:#344054;font-size:13px;font-weight:600}.dashboard-statistic-item .ant-statistic{margin:2px 0 8px}.dashboard-statistic-item .ant-statistic-content{color:#101828;font-size:30px;line-height:1.1}.dashboard-statistic-comparisons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-statistic-comparison{display:flex;justify-content:space-between;gap:8px;font-size:12px}.dashboard-statistic-comparison span{font-variant-numeric:tabular-nums;font-weight:600}.dashboard-statistic-comparison .is-up{color:#389e0d}.dashboard-statistic-comparison .is-down{color:#cf1322}.dashboard-statistic-comparison .is-flat{color:#667085}.event-workspace{display:grid;grid-template-columns:560px minmax(0,1fr);gap:0;padding:0;min-height:calc(100vh - 130px)}.analysis-panel{padding:22px;background:#fff;border-right:1px solid #dfe5ef}.panel-title,.builder-label{display:flex;align-items:center;gap:8px;font-weight:700}.panel-title{margin-bottom:22px;font-size:20px}.builder-section{display:grid;gap:12px;margin-bottom:26px}.builder-section .ant-select,.builder-section .ant-input{width:100%}.filter-row{width:100%;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(88px,.9fr) minmax(82px,1fr) 48px;gap:8px;align-items:start;padding:10px;background:#f7f9fc;border:1px solid #e6ebf3;border-radius:8px}.filter-row .ant-space-item{min-width:0}.filter-row .ant-select:nth-child(1){width:100%}.filter-row .ant-select:nth-child(2){width:100%}.filter-row .ant-input,.enum-value-input{width:100%;min-width:0}.dashboard-global-filter-row{display:grid;grid-template-columns:minmax(280px,1.5fr) 120px minmax(240px,1fr) auto;gap:8px;align-items:center;width:100%}.dashboard-global-filter-row>.ant-select,.dashboard-global-filter-row>.ant-select-auto-complete,.dashboard-global-filter-value{width:100%;min-width:0}.dashboard-global-filter-value .ant-select-selection-item{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-global-filter-delete{grid-column:4}.enum-value-option{display:flex;min-width:260px;max-width:min(520px,calc(100vw - 64px));justify-content:space-between;gap:18px}.enum-value-option>span:first-child{overflow-wrap:anywhere}.enum-value-stats{display:flex;flex:none;flex-direction:column;align-items:flex-end;font-size:12px;line-height:1.35}.enum-value-footer{width:100%;padding:7px 12px;border:0;border-top:1px solid #f0f0f0;background:#fafafa;color:#597ef7;cursor:pointer;text-align:center}.enum-value-footer:disabled{color:#8c8c8c;cursor:default}.filter-row .ant-btn{width:100%;padding-inline:0}.filter-tree-group{border:1px solid #dbe3ef;border-radius:8px;padding:10px;background:#fff}.filter-tree-depth-2,.filter-tree-depth-3{background:#f8fafc}.filter-tree-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}.filter-tree-children,.filter-tree-subgroup{display:flex;flex-direction:column;gap:8px}.filter-tree-subgroup>.ant-btn{align-self:flex-end}.filter-tree-condition{width:100%}.field-select-popup{min-width:480px;max-width:min(720px,calc(100vw - 48px))}.field-select-popup .ant-select-item{align-items:flex-start}.field-select-popup .ant-select-item-group{padding-top:10px;padding-bottom:6px}.field-select-popup .ant-select-item-option{min-height:40px;padding-top:9px;padding-bottom:9px}.field-select-popup .ant-select-item-option-content{white-space:normal;line-height:1.45;overflow-wrap:anywhere}.event-select-popup{display:grid;grid-template-columns:minmax(260px,1fr) 280px;min-width:620px;max-width:min(860px,calc(100vw - 48px))}.event-select-popup-menu{min-width:0;border-right:1px solid #eef2f7}.event-select-popup-detail{display:grid;align-content:start;gap:14px;padding:14px;background:#fafcff}.event-select-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.event-select-popup-subtitle{margin-top:4px;color:#667085;word-break:break-all}.event-select-popup-section{display:grid;gap:8px}.event-select-popup-remark{min-height:140px;padding-top:14px;border-top:1px solid #eef2f7}.event-select-popup-actions{display:flex;gap:8px;justify-content:flex-end}.event-select-popup-remark-text{margin-bottom:0;white-space:pre-wrap}.event-meta-inline-button{width:fit-content;padding-inline:0}.event-select-option{display:grid;gap:4px;min-width:0}.event-select-option-title{font-weight:600;color:#111827;overflow-wrap:anywhere}.event-select-option-meta{display:flex;justify-content:space-between;gap:8px;color:#667085;font-size:12px}.event-management-search{width:280px}.builder-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:14px;background:#fff}.analysis-result{min-width:0;background:#f5f7fb}.event-detail-page{min-height:calc(100vh - 130px);padding:22px;background:#f5f7fb}.event-detail-page .result-toolbar{margin-bottom:16px}.event-detail-page .ant-typography,.event-detail-card{margin:0}.event-detail-card .ant-table-cell{white-space:nowrap}.result-toolbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid #dfe5ef}.small-select{width:90px}.result-card{margin:22px}.result-summary{display:flex;gap:48px;margin-bottom:10px}.result-summary-toolbar{margin-bottom:10px}.drilldown-value{height:auto;padding:0;font-weight:600}.sql-preview-textarea{margin-top:10px;font-family:Consolas,Courier New,monospace;font-size:12px}.sql-query-panel{gap:12px}.sql-editor textarea,.sql-preview-textarea textarea{font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.6}.sql-executed-card{margin-bottom:0}.alert-workspace{grid-template-columns:520px minmax(0,1fr)}.alert-panel{overflow:auto;max-height:calc(100vh - 130px)}.alert-small-select{min-width:116px}.alert-actions{grid-template-columns:120px minmax(0,1fr)}.event-chart{height:300px;margin:10px 0 18px}.funnel-chart-scroll{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.funnel-chart-scroll:focus-visible{outline:2px solid #2f6df6;outline-offset:2px}.funnel-chart-canvas{width:100%}.retention-matrix-cell{min-width:86px;min-height:46px;display:grid;place-items:center;gap:1px;padding:5px 6px;color:#fff;border-radius:4px;line-height:1.2}.retention-matrix-empty,.retention-matrix-incomplete{min-width:86px;min-height:46px;display:grid;place-items:center;border-radius:4px;color:#334155;background:#f1f5f9;border:1px dashed #94a3b8;font-size:12px}.retention-matrix-incomplete{background:repeating-linear-gradient(135deg,#f8fafc,#f8fafc 6px,#e2e8f0 6px,#e2e8f0 12px)}.retention-matrix-cell.is-abnormal{outline:2px solid #7c3aed;outline-offset:-2px}.retention-matrix-cell.is-incomplete{background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,rgba(255,255,255,.2) 7px,rgba(255,255,255,.2) 12px)}.retention-matrix-cell strong{font-size:13px;font-weight:700}.retention-matrix-cell span{font-size:12px}.retention-matrix-cell em{color:inherit;opacity:.86;font-size:11px;font-style:normal}.heat-cell{min-width:88px;min-height:38px;display:grid;place-items:center end;gap:2px;padding:5px 8px;border-radius:4px;color:#173b76;line-height:1.2}.heat-cell strong{font-size:13px;font-weight:700}.heat-cell span{color:#475467;font-size:11px}.path-sankey-chart{width:100%;min-height:560px}.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.event-param-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.event-param-grid-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;align-items:start}.event-param-pair{display:grid;grid-template-columns:minmax(120px,34%) minmax(0,1fr);gap:8px 12px;padding:6px 0;border-bottom:1px solid #f0f2f5}.event-param-k{color:#475467;font-weight:600;word-break:break-all}.event-param-v{position:relative;min-height:24px;padding-right:150px;word-break:break-all}.event-param-loading{grid-column:1 / -1;color:#667085;padding:4px 0 8px}.event-param-value{word-break:break-all}.event-param-cell{position:relative;min-height:24px;padding-right:150px}.event-param-actions{position:absolute;right:0;top:-4px;display:none;padding-left:12px;background:#fff}.event-param-pair:hover .event-param-actions,.ant-table-row:hover .event-param-actions{display:inline-flex}.event-visible-tag{display:inline-grid;min-width:112px;padding:4px 10px;border:0;border-radius:4px;background:#e8eaf0;line-height:1.35}.event-visible-tag span{color:#68758a;font-weight:400}.event-visible-tag b{color:#111827;font-weight:500}.page-alert{margin:18px 22px 0}.modal-stack,.modal-stack .ant-select,.modal-stack .ant-input{width:100%}.board-checkbox-group{display:grid;grid-template-columns:1fr;gap:10px;max-height:320px;overflow:auto;padding:4px 0}.board-checkbox-group .ant-checkbox-wrapper{margin-inline-start:0;padding:8px 10px;border:1px solid #e4e9f2;border-radius:6px;background:#fff}.ai-result-panel{position:fixed;top:58px;right:480px;bottom:0;left:0;z-index:999;overflow:auto;background:#f5f7fb;border-right:1px solid #dfe5ef}.ai-result-inner{padding:22px}.ai-result-card{margin-bottom:16px}.ai-history-list{display:grid;gap:8px;max-height:220px;overflow:auto}.ai-history-item{width:100%;display:grid;gap:4px;padding:9px 10px;border:1px solid #e4e9f2;border-radius:6px;background:#fff;color:#101828;text-align:left;cursor:pointer}.ai-history-item:hover,.ai-history-item.active{border-color:#2f6df6;background:#edf4ff}.ai-history-question{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ai-history-meta{color:#68758a;font-size:12px}.ai-preview-json{max-height:560px;margin:0;overflow:auto;white-space:pre-wrap;word-break:break-all}.user-search-input{width:280px}.user-query-type-select{width:130px}.user-workspace .filter-card,.user-workspace .chart-card,.user-workspace .table-card,.user-metrics{margin-bottom:16px}.user-properties-grid{display:grid;gap:8px}.user-properties-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.user-property-cell{display:grid;grid-template-columns:minmax(112px,34%) minmax(0,1fr);gap:12px;align-items:center;min-height:40px;padding:8px 12px;border:1px solid #edf0f5;border-radius:6px;background:#fafbfc}.user-property-label{color:#667085;font-size:13px}.user-property-value{min-width:0;color:#101828;overflow-wrap:anywhere}.user-property-cell-empty{visibility:hidden}@media(max-width:960px){.user-properties-row{grid-template-columns:minmax(0,1fr)}.user-property-cell-empty{display:none}}.inline-alert{margin:0 0 16px}.cohort-field-select{width:240px}.cohort-op-select{width:128px}.cohort-value-input{width:220px}.event-context-row>td{background:#e6f4ff!important}@media(max-width:1100px){.event-param-grid,.event-param-grid-flow,.event-workspace{grid-template-columns:1fr}.analysis-panel{border-right:0;border-bottom:1px solid #dfe5ef}.dashboard-grid{grid-template-columns:1fr}.funnel-config-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:260px;padding:34px}.app-topnav,.project-scope-bar,.page-title-row,.result-toolbar{height:auto;flex-wrap:wrap;align-items:flex-start;padding:14px}.analysis-panel,.workspace,.result-card{padding:14px;margin:14px}.ai-result-panel{top:58px;right:0;bottom:0;left:0}.filter-row{flex-direction:column}.dashboard-global-filter-row{grid-template-columns:1fr}.dashboard-global-filter-delete{grid-column:auto}.funnel-config-grid,.funnel-step-row{grid-template-columns:1fr}.funnel-chart-scroll{margin-inline:-4px;padding-inline:4px}}
