.workbench-card{overflow:visible;border-radius:0;background:transparent;box-shadow:none}
.workbench-card .wb-top{min-height:72px;margin:0;padding:14px 0;border-bottom:2px solid #775cf0}
.analysis-name{display:flex;align-items:center;gap:8px}.analysis-name svg{width:18px;height:18px;fill:#687386}.analysis-name input{width:min(360px,55vw);border:0;background:transparent;font-size:18px;font-weight:800}.analysis-name input:focus{outline:0;border-bottom:1px solid #7a8fe5}
.workbench-card button{transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.workbench-reset{height:38px!important;padding:0 18px!important;border:1px solid #e3e6eb!important;border-radius:10px!important;background:#f3f4f6!important;color:#252b36!important;box-shadow:5px 5px 11px #d9dce1,-5px -5px 11px #fff!important}.workbench-reset:hover{transform:translateY(-1px);box-shadow:7px 7px 15px #d7dae0,-7px -7px 15px #fff!important}.workbench-reset:active{transform:none;box-shadow:inset 3px 3px 7px #d5d8de,inset -3px -3px 7px #fff!important}
.workbench-card .wb-grid{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:650px;border:0;border-radius:0;background:transparent;box-shadow:none}
.workbench-card .fields{padding:18px 14px;border-right:1px solid #cfd4dc;background:transparent}
.workbench-card .database-explorer{margin:0;padding:0;border-radius:0;background:transparent;box-shadow:none}.workbench-card .database-explorer-title button{width:38px;height:38px;border:1px solid #e3e6eb;border-radius:10px;background:#f3f4f6;box-shadow:5px 5px 11px #d9dce1,-5px -5px 11px #fff}.workbench-card .database-explorer-title button:hover{transform:translateY(-1px)}.workbench-card .database-explorer-title button:active{transform:none;box-shadow:inset 3px 3px 7px #d5d8de,inset -3px -3px 7px #fff}
.workbench-card .database-catalog{gap:3px}.workbench-card .database-source{background:transparent;border-radius:0;overflow:visible}
.database-source-summary{display:grid;grid-template-columns:16px 20px minmax(0,1fr);align-items:center;gap:5px;padding:8px 5px;list-style:none;cursor:pointer;color:#354158}.database-source-summary::-webkit-details-marker{display:none}.database-source-summary:before{content:'›';font-size:18px;color:#667184;transition:transform .18s}.database-source[open]>.database-source-summary:before{transform:rotate(90deg)}
.database-source-summary>span{font-size:15px}.database-source-summary div{min-width:0}.database-source-summary strong,.database-source-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.database-source-summary strong{font-size:11px}.database-source-summary small{margin-top:2px;color:#8c96a5;font-size:9px}
.workbench-card .database-sheet-list{padding:0 0 5px 31px}.workbench-card .database-sheet{grid-template-columns:16px minmax(0,1fr);padding:7px 8px}.workbench-card .database-sheet:hover,.workbench-card .database-sheet.active{background:rgba(255,255,255,.65);box-shadow:none}
.workbench-main{min-width:0}.workbench-card .workbench-fields{display:grid;grid-template-columns:82px minmax(0,1fr);min-height:126px;padding:16px 20px;border:0;border-bottom:1px solid #cfd4dc}.workbench-card .workbench-fields[hidden]{display:none}.workbench-fields-title{display:block;margin:4px 12px 0 0}.workbench-fields-title h3{font-size:13px}.workbench-fields-title small{display:block;margin-top:8px;white-space:normal}
.field-strip{min-width:0}.field-strip .search{width:190px;height:38px;margin-bottom:10px}.ordered-fields{display:flex;align-items:center;gap:9px;overflow-x:auto;padding:3px 4px 12px}.ordered-fields .field{flex:none;width:auto;min-width:108px;height:38px;margin:0;padding:0 11px;border:1px solid #e3e6eb;border-radius:10px;background:#f3f4f6;box-shadow:4px 4px 9px #d9dce1,-4px -4px 9px #fff}.ordered-fields .field:hover{transform:translateY(-1px);background:#f7f8fa}.ordered-fields .field:active{transform:none;box-shadow:inset 3px 3px 7px #d5d8de,inset -3px -3px 7px #fff}.ordered-fields .field span:before{content:'维度';display:inline-block;margin-right:6px;color:#66806f;font-size:8px}.ordered-fields .field[data-kind="metric"] span:before{content:'指标';color:#6578ba}
.analysis-body{display:grid;grid-template-columns:minmax(0,1fr) 190px}.workbench-card .canvas{padding:20px}.workbench-card .config{padding:20px 16px;border-left:1px solid #dfe3e9;background:transparent}.workbench-card .chart-card{background:#fff;border:1px solid #e6e9ee;border-radius:18px;box-shadow:0 12px 30px rgba(38,51,77,.07)}
.chart-type-field>select[hidden]{display:none!important}.chart-type-picker{display:grid;grid-template-columns:repeat(3,44px);gap:6px;margin-top:5px}.chart-type-picker button{display:grid;grid-template-rows:20px auto;place-items:center;width:44px;height:38px;padding:3px 2px 2px;border:1px solid #e3e6eb;border-radius:9px;background:#f3f4f6;box-shadow:3px 3px 7px #d9dce1,-3px -3px 7px #fff;color:#687386;cursor:pointer}.chart-type-picker button:hover{color:#315eea;transform:translateY(-1px)}.chart-type-picker button.active{color:#315eea;background:#eef2ff;box-shadow:inset 3px 3px 7px #d9deef,inset -3px -3px 7px #fff}.chart-type-picker svg{display:none}.chart-type-picker button::before{content:"";width:18px;height:18px;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.chart-type-picker [data-chart-type="bar"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 3v16a2 2 0 0 0 2 2h16M18 17V9M13 17V5M8 17v-3'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 3v16a2 2 0 0 0 2 2h16M18 17V9M13 17V5M8 17v-3'/%3E%3C/svg%3E")}.chart-type-picker [data-chart-type="line"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 16v5M16 14.639V21M20 10.656V21m2-18-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15M4 18.463V21M8 14.656V21'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 16v5M16 14.639V21M20 10.656V21m2-18-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15M4 18.463V21M8 14.656V21'/%3E%3C/svg%3E")}.chart-type-picker [data-chart-type="table"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18'/%3E%3C/svg%3E")}.chart-type-picker span{font-size:8px;line-height:1}
.workbench-footer{display:flex;justify-content:flex-end;align-items:center;min-height:74px;padding:14px 0;border-top:1px solid #dfe3e9}.workbench-save{position:relative;overflow:hidden;width:11em;height:38px;border:1px solid #e3e6eb;border-radius:10px;background:#f3f4f6;background-image:linear-gradient(90deg,#75b865 0%,#e3c457 100%);background-repeat:no-repeat;background-size:0 100%;box-shadow:5px 5px 11px #d9dce1,-5px -5px 11px #fff;color:#252b36;font-weight:800;transition:background-size .55s ease,box-shadow .2s ease,transform .2s ease}.workbench-save:hover:not(:disabled){background-size:100% 100%;transform:translateY(-1px)}.workbench-save:active:not(:disabled){transform:none;box-shadow:inset 3px 3px 7px rgba(124,145,103,.35),inset -3px -3px 7px rgba(255,255,255,.72)}.workbench-save:disabled{opacity:.55}
@media(max-width:1050px){.workbench-card .wb-grid{grid-template-columns:190px minmax(0,1fr)}.analysis-body{grid-template-columns:1fr}.workbench-card .config{display:none}}
@media(max-width:760px){.workbench-card .wb-grid{grid-template-columns:1fr}.workbench-card .fields{border-right:0;border-bottom:1px solid #cfd4dc}.workbench-card .workbench-fields{grid-template-columns:1fr}.workbench-fields-title{margin-bottom:10px}}

/* Enlarged workbench scale and analysis-name treatment. */
.workbench-card .wb-top{min-height:82px;padding:16px 0;border-bottom:0}
.analysis-name{gap:10px}.analysis-name>svg{display:none}.analysis-name::before{content:"";flex:none;width:21px;height:21px;background:#657188;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 20h9M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 20h9M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center/contain no-repeat}.analysis-name.is-named::before{display:none}.analysis-name input{box-sizing:border-box;width:min(430px,55vw);padding:3px 2px 7px;border:0;border-bottom:1px solid #91a4e8;font-size:21px;line-height:1.2}.analysis-name input:focus{outline:0;border-bottom-color:#5878e8}
.workbench-reset{height:44px!important;padding:0 21px!important;border-radius:11px!important;font-size:13px}.workbench-card .wb-grid{grid-template-columns:260px minmax(0,1fr);min-height:710px}.workbench-card .fields{padding:22px 18px}.workbench-card .database-explorer-title>span{font-size:15px}.workbench-card .database-explorer-title button{width:44px;height:44px;border-radius:11px;font-size:17px}
.database-source-summary>span{font-size:17px}.database-source-summary strong{font-size:13px}.database-source-summary small{margin-top:3px;font-size:10px}.workbench-card .database-sheet{padding:9px 8px}.workbench-card .database-sheet b{font-size:12px}.workbench-card .database-sheet small{font-size:10px}
.workbench-card .workbench-fields{grid-template-columns:96px minmax(0,1fr);min-height:148px;padding:20px 24px}.workbench-fields-title{margin:5px 14px 0 0}.workbench-fields-title h3{font-size:15px}.workbench-fields-title small{margin-top:9px;font-size:10px}.field-strip .search{width:230px;height:44px;margin-bottom:12px;font-size:13px}.ordered-fields{gap:11px;padding:4px 5px 14px}.ordered-fields .field{min-width:126px;height:44px;padding:0 13px;border-radius:11px;font-size:12px}.ordered-fields .field span:before{font-size:9px}
.analysis-body{grid-template-columns:minmax(0,1fr) 230px}.workbench-card .canvas{padding:24px}.workbench-card .shelves{grid-template-columns:1fr 1fr 190px;gap:14px}.workbench-card .shelves label,.workbench-card .config label{font-size:12px}.workbench-card .shelf{height:44px}.workbench-card .config{padding:24px 20px}.workbench-card .config h3{font-size:16px}.workbench-card .config select{height:44px;font-size:12px}.workbench-card .chart-card{min-height:540px;padding:24px}.chart-type-picker{grid-template-columns:repeat(3,54px);gap:8px;margin-top:6px}.chart-type-picker button{grid-template-rows:25px auto;width:54px;height:46px;padding:4px 3px 3px;border-radius:10px}.chart-type-picker button::before{width:22px;height:22px}.chart-type-picker span{font-size:9px}.workbench-footer{min-height:88px;padding:17px 0}.workbench-save{width:12em;height:44px}
@media(max-width:1050px){.workbench-card .wb-grid{grid-template-columns:210px minmax(0,1fr)}}

/* Refined workbench hierarchy: compact data tree, inset naming and switchable tools. */
.header-analysis-icon{display:none;flex:none;width:62px;height:62px;place-items:center;border-radius:18px;background:#eef2ff;box-shadow:inset 4px 4px 9px rgba(132,145,177,.25),inset -4px -4px 9px #fff}.header-analysis-icon.visible{display:grid}.header-analysis-icon svg{width:50px;height:50px}.header-analysis-icon rect{fill:#315eea}.header-analysis-icon path{fill:#fff}
.workbench-card .wb-top{gap:20px;align-items:center}.analysis-name{box-sizing:border-box;min-height:58px;padding:9px 15px 8px;border-radius:16px;background:#eef0f3;box-shadow:inset 5px 5px 10px #d8dbe0,inset -5px -5px 10px #fff;gap:7px}.analysis-name::before{width:22px;height:22px;background:#303745;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7M18.4 2.6a2.1 2.1 0 0 1 3 3L12 15l-4 1 1-4 9.4-9.4Z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7M18.4 2.6a2.1 2.1 0 0 1 3 3L12 15l-4 1 1-4 9.4-9.4Z'/%3E%3C/svg%3E") center/contain no-repeat}.analysis-name input{width:min(410px,48vw);padding:4px 0 6px;border-bottom:2px solid #252b36;font-size:20px}.analysis-name input:focus{border-bottom-color:#000}.analysis-name.is-named{gap:0}.analysis-name.is-named input{width:min(410px,48vw)}
.workbench-card .wb-grid{grid-template-columns:284px minmax(0,1fr)}.workbench-card .fields{padding:24px 16px 22px}.database-explorer-title{gap:10px}.database-search{position:relative;display:block;margin:15px 0 12px}.database-search>span{position:absolute;left:11px;top:50%;width:17px;height:17px;transform:translateY(-50%);background:#6c7687;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m21 21-4.4-4.4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m21 21-4.4-4.4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}.database-search input{box-sizing:border-box;width:100%;height:40px;padding:0 12px 0 36px;border:1px solid #d8dce4;border-radius:9px;background:rgba(255,255,255,.48);color:#243047;font-size:12px;outline:none}.database-search input:focus{border-color:#8fa7ed;background:rgba(255,255,255,.78);box-shadow:0 0 0 3px rgba(49,94,234,.08)}
.database-source-summary{grid-template-columns:14px 19px minmax(0,1fr);gap:7px;padding:9px 7px;border-radius:8px}.database-source-summary:hover{background:rgba(223,229,243,.5)}.database-source-summary:before{font-size:16px}.database-source-icon,.database-sheet-icon{display:block;width:17px;height:17px;background:#40516e;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h6l2 2h8v14H4z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h6l2 2h8v14H4z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.database-sheet-icon{width:16px;height:16px;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='3' width='16' height='18' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M4 9h16M10 9v12M10 14h10' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='3' width='16' height='18' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M4 9h16M10 9v12M10 14h10' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}.database-source-summary strong{font-size:12px}.database-source-summary small{font-size:9px}.workbench-card .database-sheet-list{padding-left:29px}.workbench-card .database-sheet{border-radius:7px;padding:8px 7px}.workbench-card .database-sheet:hover{background:rgba(221,228,242,.55)}.workbench-card .database-sheet.active{background:#dce6ff;color:#2458dc}.workbench-card .database-sheet.active .database-sheet-icon{background:#315eea}
.analysis-body{grid-template-columns:minmax(0,1fr) 286px}.workbench-card .shelves{grid-template-columns:1fr 1fr}.chart-type-field{display:none!important}.workbench-card .config{padding:18px;border-left:1px solid #d8dde6}.config-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;border-radius:12px;background:#e8ebf0;box-shadow:inset 3px 3px 7px #d4d7dc,inset -3px -3px 7px #fff}.config-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:39px;padding:0 7px;border:0;border-radius:9px;background:transparent;color:#687386;font-size:11px;font-weight:700;cursor:pointer}.config-tabs button.active{background:#f8f9fb;color:#315eea;box-shadow:3px 3px 7px rgba(195,199,207,.72),-3px -3px 7px #fff}.config-tabs span{width:16px;height:16px;background:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.config-tab-settings{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h10M18 6h2M4 12h3M11 12h9M4 18h7M15 18h5M14 4v4M7 10v4M11 16v4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h10M18 6h2M4 12h3M11 12h9M4 18h7M15 18h5M14 4v4M7 10v4M11 16v4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.config-tab-charts{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V9h4v11M10 20V4h4v16M16 20v-7h4v7' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V9h4v11M10 20V4h4v16M16 20v-7h4v7' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E")}.config-panel{padding-top:22px}.config-panel[hidden]{display:none}.config-panel h3{margin:0 0 18px}.config-panel-hint{margin:-10px 0 17px;color:#8a94a4;font-size:10px;line-height:1.6}.config-panel .chart-type-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.config-panel .chart-type-picker button{grid-template-rows:32px auto;width:100%;height:72px;border-radius:12px}.config-panel .chart-type-picker button::before{width:28px;height:28px}.config-panel .chart-type-picker span{font-size:11px}
@media(max-width:1120px){.workbench-card .wb-grid{grid-template-columns:230px minmax(0,1fr)}.analysis-body{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:900px){.analysis-body{grid-template-columns:1fr}.workbench-card .config{display:block;border-left:0;border-top:1px solid #d8dde6}.config-panel .chart-type-picker{grid-template-columns:repeat(3,minmax(80px,120px))}}

/* Selected-sheet layout and typography alignment with the data page. */
.workbench{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,"Google Sans",Helvetica,Arial,"PingFang SC","Noto Sans CJK SC","Noto Sans SC","Microsoft YaHei",sans-serif;font-kerning:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.header-analysis-icon{width:58px;height:58px;border-radius:0;background:transparent;box-shadow:none}.header-analysis-icon svg{width:54px;height:54px;filter:drop-shadow(0 5px 10px rgba(49,94,234,.12))}
.header-dashboard-icon rect{fill:#315eea}.header-dashboard-icon path{fill:#fff}
.workbench-main{display:grid;grid-template-columns:minmax(0,1fr) 286px;grid-template-rows:auto minmax(0,1fr);min-width:0}.workbench-card .workbench-fields{grid-column:1;grid-row:1;min-width:0}.analysis-body{display:contents}.workbench-card .canvas{grid-column:1;grid-row:2;min-width:0}.workbench-card .config{grid-column:2;grid-row:1 / span 2;min-width:0}
.workbench-card .database-explorer-title>span{font-size:18px;line-height:1.25;letter-spacing:-.02em}.workbench-card .database-explorer-title button{position:relative}.workbench-card .database-explorer-title button::after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 9px);z-index:20;width:max-content;padding:6px 9px;border-radius:7px;background:#263044;color:#fff;font-size:11px;font-weight:600;line-height:1;opacity:0;visibility:hidden;transform:translate(-50%,-3px);transition:opacity .16s ease,transform .16s ease,visibility .16s}.workbench-card .database-explorer-title button:hover::after,.workbench-card .database-explorer-title button:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.database-search{margin:17px 0 15px}.database-search>span{left:14px;width:19px;height:19px}.database-search input{height:48px;padding:0 15px 0 44px;border:1px solid #d7dce6;border-radius:12px;background:#fff;font-family:inherit;font-size:13px;box-shadow:0 3px 9px rgba(49,64,91,.025);transition:border-color .18s ease,box-shadow .18s ease}.database-search input:hover{border-color:#aeb9cc}.database-search input:focus{border-color:#7894ef;background:#fff;box-shadow:0 0 0 3px rgba(49,94,234,.12)}
.database-source-summary{grid-template-columns:20px 19px minmax(0,1fr)}.database-source-summary:before{display:grid;width:20px;height:20px;place-items:center;content:'›';font-size:24px;font-weight:400;line-height:20px;color:#56647a;transform-origin:center}.database-source[open]>.database-source-summary:before{transform:rotate(90deg)}
@media(max-width:1120px){.workbench-main{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:900px){.workbench-main{grid-template-columns:1fr;grid-template-rows:auto auto auto}.workbench-card .workbench-fields{grid-column:1;grid-row:1}.workbench-card .canvas{grid-column:1;grid-row:2}.workbench-card .config{grid-column:1;grid-row:3}}

/* Exact data-page search treatment and a more compact analysis name. */
.workbench-card .wb-top{min-height:68px;padding:10px 0}.analysis-name{min-height:46px;padding:6px 12px 5px;border-radius:13px;box-shadow:inset 4px 4px 8px #d8dbe0,inset -4px -4px 8px #fff;gap:6px}.analysis-name::before{width:19px;height:19px}.analysis-name input,.analysis-name.is-named input{width:min(330px,42vw);padding:3px 0 5px;font-size:18px;line-height:1.15}
.analysis-name input,.analysis-name.is-named input{border-bottom-width:1px}

/* Match the data-page database action button exactly. */
.workbench-footer{min-height:60px;padding:10px 16px 0}.workbench-save{position:relative;top:4px;z-index:1;overflow:hidden;width:9em;height:3em;padding:0!important;border:0!important;border-radius:30em!important;background-color:#e8e8e8!important;background-image:linear-gradient(to right,#0fd850 0%,#f9f047 100%)!important;background-position:left top!important;background-repeat:no-repeat!important;background-size:0 100%!important;color:#202631!important;font-family:inherit;font-size:13px!important;font-weight:700;box-shadow:6px 6px 12px #c5c5c5,-6px -6px 12px #fff!important;cursor:pointer;transition:background-size .5s ease,color .3s ease,box-shadow .3s ease!important}.workbench-save:hover:not(:disabled){background-size:100% 100%!important;transform:none}.workbench-save:active:not(:disabled){color:#4b5563!important;transform:none;box-shadow:inset 4px 4px 12px rgba(98,130,83,.4),inset -4px -4px 12px rgba(255,255,255,.72)!important}.workbench-save:disabled{opacity:.62;cursor:default!important;filter:grayscale(.35)}

/* Unified field search, centered shelves and tighter explorer rhythm. */
.workbench-card .shelf{display:flex;align-items:center;gap:6px;padding:5px 8px}.workbench-card .shelf-empty{padding:0}.workbench-card .chip{display:inline-flex;align-items:center;min-height:30px}
.workbench-card .database-catalog{gap:0;margin-top:8px}.database-source-summary{padding:6px 7px}.workbench-card .database-sheet-list{padding-top:0;padding-bottom:2px}.workbench-card .database-sheet{padding:6px 7px}.database-source-summary small{margin-top:1px}.workbench-card .database-sheet small{margin-top:1px}
.workbench-card .config select:focus{border-color:#b8c0cd;box-shadow:none}

/* Workbench information hierarchy refinement. */
.analysis-name{position:relative}.analysis-name::after{content:"";position:absolute;left:12px;right:12px;bottom:7px;height:1px;background:#313844}.analysis-name::before{margin-bottom:5px}.analysis-name input,.analysis-name.is-named input{padding:3px 0 9px;border-bottom:0!important;color:#202735}.analysis-name input::placeholder{color:#929aa8;font-weight:650;opacity:1}.analysis-name.is-named::after{left:12px}
.workbench-card .workbench-fields{grid-template-columns:74px minmax(0,1fr);min-height:102px;padding:14px 20px}.workbench-fields-title{margin:3px 10px 0 0}.workbench-fields-title h3{font-size:14px}.workbench-fields-title small{margin-top:5px}.field-strip{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:14px;overflow:hidden}.field-strip .search{width:180px;margin:0}.ordered-fields{min-width:0;gap:6px;padding:5px 3px 8px;scrollbar-width:thin;scrollbar-color:#c8ced8 transparent}.ordered-fields::-webkit-scrollbar{height:5px}.ordered-fields::-webkit-scrollbar-track{background:transparent}.ordered-fields::-webkit-scrollbar-thumb{border-radius:10px;background:#c8ced8}.ordered-fields .field{min-width:0;height:34px;padding:0 9px;border:1px solid #e1e5eb;border-radius:7px;background:rgba(255,255,255,.64);box-shadow:none;color:#354052}.ordered-fields .field:hover{transform:none;border-color:#cdd4df;background:#fff}.ordered-fields .field:active{box-shadow:inset 2px 2px 5px #e1e4e9,inset -2px -2px 5px #fff}.ordered-fields .field span{white-space:nowrap}.ordered-fields .field span:before{margin-right:5px;font-size:8px}.ordered-fields .field i{margin-left:8px;color:#9da7b5;font-size:10px}
.config-panel[data-config-panel="analysis"]{padding-top:16px}.config-panel[data-config-panel="analysis"] label:first-child{margin-top:0}.config-panel[data-config-panel="analysis"] label{margin:16px 0;color:#6f7a8c}.database-context{margin:16px 4px 0;padding:14px 4px 0;border-top:1px solid #dde2ea;border-radius:0;background:transparent}.database-context b{color:#657188;font-size:11px}.database-context p{margin:7px 0 0;color:#8b95a5;font-size:10px;line-height:1.55}
.workbench-card .database-explorer-title button::after{left:auto;right:calc(100% + 8px);top:50%;transform:translate(3px,-50%)}.workbench-card .database-explorer-title button:hover::after,.workbench-card .database-explorer-title button:focus-visible::after{transform:translate(0,-50%)}
@media(max-width:1080px){.field-strip{grid-template-columns:150px minmax(0,1fr)}.field-strip .search{width:150px}}
@media(max-width:760px){.field-strip{grid-template-columns:1fr}.field-strip .search{width:100%}}

/* One bottom-layer card supports the whole operation area without covering the result card. */
.workbench-operation{position:relative;isolation:isolate;overflow:hidden;border:1px solid #e6e9ee;border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(38,51,77,.075)}.workbench-operation>.wb-grid{position:relative;z-index:1;border:0;background:transparent}.workbench-operation .chart-card{position:relative;z-index:2}.workbench-operation>.workbench-footer{position:relative;z-index:1;display:flex;justify-content:flex-end;align-items:center;min-height:76px;margin:0;padding:14px 20px;border:0;border-top:1px solid #eceff3;border-radius:0;background:transparent;box-shadow:none}.workbench-operation .workbench-save{top:0;flex:none}
@media(max-width:760px){.workbench-operation{border-radius:18px}.workbench-operation>.workbench-footer{min-height:68px;padding:11px 14px}}

/* Deterministic quick analysis: one action creates safe field-matched charts and a detail view. */
.wb-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.quick-analysis-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 19px;border:1px solid #cfd9f4;border-radius:11px;background:#f5f7ff;color:#315eea;font-family:inherit;font-size:13px;font-weight:750;box-shadow:0 5px 14px rgba(49,94,234,.09);cursor:pointer}.quick-analysis-button[hidden]{display:none}.quick-analysis-button span{width:18px;height:18px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V11h4v9M10 20V5h4v15M16 20v-7h4v7M3 21h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V11h4v9M10 20V5h4v15M16 20v-7h4v7M3 21h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.quick-analysis-button:hover:not(:disabled){border-color:#9eb1eb;background:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(49,94,234,.14)}.quick-analysis-button:active:not(:disabled){transform:none;box-shadow:inset 2px 2px 5px rgba(49,94,234,.12)}.quick-analysis-button:focus{outline:none}.quick-analysis-button:disabled{opacity:.55;cursor:default}
.quick-analysis-view{padding:4px 0 0}.quick-analysis-note{margin:0 0 16px;padding:11px 14px;border:1px solid #dce4f7;border-radius:10px;background:#f7f9ff;color:#65728a;font-size:11px;line-height:1.6}.quick-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-chart-card,.quick-detail-card{min-width:0;padding:17px;border:1px solid #e3e7ee;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(40,52,75,.055)}.quick-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.quick-card-head h4{margin:0;color:#273246;font-size:14px}.quick-card-head p{margin:5px 0 0;color:#8993a4;font-size:10px}.quick-card-head>span{flex:none;padding:4px 7px;border-radius:6px;background:#eef2ff;color:#4565c8;font-size:9px;font-weight:700}.quick-bars{display:grid;gap:8px}.quick-bar-row{display:grid;grid-template-columns:minmax(62px,92px) minmax(70px,1fr) 58px;align-items:center;gap:8px;font-size:9px}.quick-bar-row>span{overflow:hidden;color:#697589;text-overflow:ellipsis;white-space:nowrap}.quick-bar-row i{display:block;height:7px;overflow:hidden;border-radius:8px;background:#edf0f5}.quick-bar-row b{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#5578e9,#7d92e8)}.quick-bar-row strong{text-align:right;color:#445066;font-size:9px}.quick-line{height:184px}.quick-line svg{width:100%;height:158px;overflow:visible}.quick-axis{fill:none;stroke:#dfe4ec;stroke-width:1;vector-effect:non-scaling-stroke}.quick-line-path{fill:none;stroke:#5274e4;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.quick-axis-labels{display:flex;justify-content:space-between;gap:10px;color:#8c96a7;font-size:9px}.quick-detail-card{margin-top:14px}.quick-detail-scroll{max-width:100%;overflow:auto;border:1px solid #edf0f4;border-radius:9px}.quick-detail-scroll .result-table{min-width:max-content}.quick-detail-scroll th,.quick-detail-scroll td{white-space:nowrap}.quick-no-chart{padding:24px;border:1px dashed #d5dce8;border-radius:13px;background:#fafbfc;text-align:center}.quick-no-chart strong{color:#4b586d;font-size:13px}.quick-no-chart p{margin:7px 0 0;color:#8b95a5;font-size:10px}.config.quick-disabled{opacity:.46;pointer-events:none}.config.quick-disabled::after{display:block;margin-top:18px;padding:10px;border-radius:8px;background:#f4f6f9;color:#778397;content:'快速分析正在显示自动结果；重置或选择字段可返回单图配置。';font-size:10px;line-height:1.55;pointer-events:none}
@media(max-width:1280px){.quick-chart-grid{grid-template-columns:1fr}}@media(max-width:760px){.workbench-card .wb-top{flex-wrap:wrap}.wb-actions{width:100%;justify-content:flex-end}.quick-analysis-button,.workbench-reset{height:40px!important}.quick-chart-card,.quick-detail-card{padding:13px}.quick-bar-row{grid-template-columns:70px minmax(60px,1fr) 50px}}

/* Power-BI-like manual builder: users work with axes, not BI terminology. */
.axis-builder{margin-bottom:18px;padding:14px 15px 15px;border:1px solid #e2e6ed;border-radius:14px;background:#fafbfc}.axis-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.axis-builder-head h3{margin:0;color:#303b4e;font-size:13px}.axis-builder-head p{margin:5px 0 0;color:#8791a1;font-size:10px;line-height:1.55}.axis-builder-head>span{flex:none;padding:4px 8px;border-radius:6px;background:#edf2ff;color:#4e6bc8;font-size:9px;font-weight:700}.workbench-card .axis-builder .shelves{gap:12px}.workbench-card .axis-builder .shelves>label{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;min-width:0;color:#4b586d}.axis-label{display:grid;grid-template-columns:26px 1fr;align-items:center;column-gap:7px}.axis-label b{grid-row:1 / span 2;display:grid;width:26px;height:26px;place-items:center;border-radius:7px;background:#e8edfa;color:#315eea;font-size:11px}.axis-label small{display:block;margin-top:1px;color:#9aa3b1;font-size:8px;font-weight:500}.workbench-card .axis-shelf{box-sizing:border-box;min-width:0;height:43px;border:1px dashed #c8d0dc;border-radius:9px;background:#fff;color:#8792a3;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.workbench-card .axis-shelf.drag-over{border-color:#5578e9;background:#f4f7ff;box-shadow:0 0 0 3px rgba(49,94,234,.09)}.workbench-card .axis-shelf .shelf-empty{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.axis-chip{max-width:100%;padding:0 8px!important;border:1px solid #d7dfea!important;border-radius:7px!important;background:#f1f5ff!important;color:#34415a!important;box-shadow:none!important}.axis-chip em{display:grid;width:20px;height:20px;place-items:center;border-radius:5px;background:#dfe8ff;color:#315eea;font-size:8px;font-style:normal}.axis-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axis-chip i{margin-left:auto;color:#8d98a9;font-style:normal}.ordered-fields .field{display:flex;align-items:center;gap:6px;cursor:grab}.ordered-fields .field:active{cursor:grabbing}.ordered-fields .field.dragging{opacity:.48}.ordered-fields .field span{display:flex;align-items:center;gap:6px}.ordered-fields .field span:before{display:none!important}.ordered-fields .field em{display:grid;width:19px;height:19px;place-items:center;border-radius:5px;background:#edf1f7;color:#50617d;font-size:8px;font-style:normal}.ordered-fields .field small{margin-left:auto;color:#97a1b0;font-size:8px;font-weight:600}.ordered-fields .field i{margin-left:2px!important}.chart-card{margin-top:0}.config select option:disabled{color:#b6bdc8}
.workbench-card .axis-builder .shelves{grid-template-columns:1fr;gap:10px}
@media(max-width:980px){.workbench-card .axis-builder .shelves>label{grid-template-columns:96px minmax(0,1fr)}}@media(max-width:760px){.workbench-card .axis-builder .shelves{grid-template-columns:1fr}.workbench-card .axis-builder .shelves>label{grid-template-columns:105px minmax(0,1fr)}}

/* Global search component: shared by database, fields and data preview. */
.app-search{--search-height:42px;position:relative;display:block;box-sizing:border-box;width:100%;height:var(--search-height);margin:0;padding:0 42px 0 0!important;border:0!important;border-radius:9px;background:#fff;box-shadow:0 7px 18px rgba(26,35,52,.075);overflow:hidden}.app-search label{display:flex!important;align-items:center!important;width:100%;height:100%;margin:0!important}.app-search input{box-sizing:border-box!important;width:100%!important;height:100%!important;margin:0!important;padding:0 4px 0 43px!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#252d3a!important;font-family:inherit!important;font-size:13px!important;font-weight:500!important;line-height:1!important;box-shadow:none!important;-webkit-appearance:none;appearance:none}.app-search input::-webkit-search-cancel-button{display:none}.app-search input::placeholder{color:#8a929f;opacity:1}.app-search-icon{position:absolute;left:16px;top:50%;display:grid;width:18px;height:18px;place-items:center;transform:translateY(-50%);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.app-search-icon svg{position:absolute;width:18px;height:18px;color:#202630;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),color .3s}.app-search-icon .search-back{opacity:0;visibility:hidden;transform:rotate(-80deg)}.app-search input:focus~.app-search-icon,.app-search input:not(:placeholder-shown)~.app-search-icon{transform:translateY(-50%) rotate(80deg) scale(1.12)}.app-search input:focus~.app-search-icon .search-on,.app-search input:not(:placeholder-shown)~.app-search-icon .search-on{opacity:0;visibility:hidden}.app-search input:focus~.app-search-icon .search-back,.app-search input:not(:placeholder-shown)~.app-search-icon .search-back{color:#15a986;opacity:1;visibility:visible;transform:rotate(-80deg)}.app-search-clear{position:absolute!important;right:11px!important;top:50%!important;display:grid!important;width:24px!important;height:24px!important;margin:0!important;padding:0!important;place-items:center;border:0!important;border-radius:50%!important;background:transparent!important;color:#596273!important;box-shadow:none!important;opacity:0;visibility:hidden;transform:translateY(-50%) scale(0);cursor:pointer;transition:background .18s ease,opacity .18s ease,transform .18s ease!important}.app-search-clear svg{position:static!important;width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}.app-search input:not(:placeholder-shown)~.app-search-clear{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}.app-search-clear:hover{background:#eef1f5!important;color:#222b39;transform:translateY(-50%) scale(1.05)!important}.app-search:focus-within{box-shadow:0 9px 22px rgba(26,35,52,.11)}.database-search{height:42px!important;margin:17px 0 15px!important}.field-search{width:180px!important;height:38px!important}.preview-search.app-search{flex:0 1 260px!important;width:260px!important;height:40px!important;margin:0!important}.preview-search.app-search>input{padding-left:43px!important}

/* Animated analysis name without the previous inset container. */
.analysis-name,.analysis-name.is-named{position:relative;display:block;box-sizing:border-box;width:min(330px,42vw);min-height:56px!important;margin:0;padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.analysis-name::before,.analysis-name::after,.analysis-name>svg{display:none!important}.analysis-name input,.analysis-name.is-named input{position:relative;z-index:1;box-sizing:border-box;width:100%!important;height:56px;margin:0!important;padding:20px 2px 7px!important;border:0!important;border-bottom:2px solid #343b47!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#202735;font-family:inherit;font-size:18px;font-weight:650;line-height:1.1}.analysis-name input:focus,.analysis-name input:valid{border-bottom-color:#6f8bdc!important}.analysis-floating-label{position:absolute;left:2px;top:21px;z-index:0;display:flex;pointer-events:none}.analysis-floating-label i{display:inline-block;min-width:5px;color:#8b94a2;font-size:18px;font-style:normal;font-weight:600;line-height:1;transition:.3s cubic-bezier(.68,-.55,.265,1.55);transition-delay:var(--delay)}.analysis-name input:focus+.analysis-floating-label i,.analysis-name input:valid+.analysis-floating-label i{color:#5d78c9;transform:translateY(-18px) scale(.72)}.analysis-name .demo-tag{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);white-space:nowrap}

/* Quick analysis capsule reference. */
.quick-analysis-button{height:46px!important;padding:0 27px!important;border:0!important;border-radius:45px!important;background:#fff!important;color:#171b22!important;font-family:inherit;font-size:12px!important;font-weight:650!important;letter-spacing:2px;box-shadow:0 8px 15px rgba(0,0,0,.1)!important;transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease!important}.quick-analysis-button>span{display:none}.quick-analysis-button:hover:not(:disabled){background:#23c483!important;color:#fff!important;box-shadow:0 13px 20px rgba(46,229,157,.36)!important;transform:translateY(-5px)}.quick-analysis-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 13px rgba(46,229,157,.25)!important}.quick-analysis-button:focus,.quick-analysis-button:focus-visible{outline:0!important}.quick-analysis-button:disabled{opacity:.52;box-shadow:0 5px 11px rgba(0,0,0,.07)!important}
@media(max-width:1080px){.field-search{width:150px!important}}@media(max-width:760px){.field-search,.preview-search.app-search{width:100%!important}.analysis-name,.analysis-name.is-named{width:min(310px,70vw)}}

/* Analysis-name state correction: hint is either present in place or fully absent. */
.analysis-name input,.analysis-name.is-named input,.analysis-name input:focus,.analysis-name input:valid{border-bottom-color:#111!important}.analysis-floating-label{align-items:center;color:#8d95a2;opacity:1;visibility:visible;transition:opacity .16s ease,visibility .16s ease}.analysis-floating-label::before{content:"";flex:none;width:18px;height:18px;margin-right:5px;background:#8d95a2;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 16v4h4L19.5 8.5l-4-4L4 16Zm16.7-10.7a1 1 0 0 0 0-1.4l-.6-.6a1 1 0 0 0-1.4 0l-1.6 1.6 4 4 1.6-1.6Z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 16v4h4L19.5 8.5l-4-4L4 16Zm16.7-10.7a1 1 0 0 0 0-1.4l-.6-.6a1 1 0 0 0-1.4 0l-1.6 1.6 4 4 1.6-1.6Z'/%3E%3C/svg%3E") center/contain no-repeat}.analysis-floating-label i{color:#8d95a2!important;transform:none!important}.analysis-name.is-named .analysis-floating-label{opacity:0;visibility:hidden}.analysis-name.is-named .analysis-floating-label i{transform:none!important}

/* Quick-analysis readability, selective saving and centered mode entry. */
.axis-builder.manual-hidden{display:none}.analysis-entry{min-height:470px}.analysis-choice{display:grid!important;place-items:center;gap:15px}.analysis-choice-icon{display:block!important;width:44px!important;height:44px!important;margin:0!important;background:#7c8798;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V11h4v9M10 20V5h4v15M16 20v-7h4v7M3 21h18' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V11h4v9M10 20V5h4v15M16 20v-7h4v7M3 21h18' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.analysis-choice h3{margin:0!important;color:#354052!important;font-size:19px!important}.analysis-entry-actions{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:4px}.new-analysis-button{height:46px;padding:0 27px;border:1px solid #d9dee7;border-radius:45px;background:#fff;color:#283244;font-family:inherit;font-size:12px;font-weight:650;letter-spacing:2px;box-shadow:0 8px 15px rgba(0,0,0,.08);cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}.new-analysis-button:hover{background:#315eea;color:#fff;box-shadow:0 13px 20px rgba(49,94,234,.25);transform:translateY(-5px)}.new-analysis-button:active{transform:translateY(-1px)}.new-analysis-button:focus{outline:0}
.quick-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:11px 14px;border:1px solid #e1e6ed;border-radius:12px;background:#fafbfc}.quick-selection-bar>div{display:flex;align-items:baseline;gap:10px}.quick-selection-bar strong{color:#364155;font-size:12px}.quick-selection-bar>div span{color:#8a94a4;font-size:10px}.quick-select-all{display:flex;align-items:center;gap:7px;color:#5e6879;font-size:10px;font-weight:700;cursor:pointer}.quick-check,.quick-select-all{position:relative;user-select:none}.quick-check input,.quick-select-all input{position:absolute;width:0;height:0;opacity:0}.quick-checkmark{position:relative;display:block;width:27px;height:27px;overflow:hidden;border:3px solid #beddd0;border-radius:9px;background:#2dc38c;box-shadow:0 0 1px #cef1e4,inset 0 -2.5px 3px #62eab8,inset 0 3px 3px rgba(0,0,0,.28);transition:background .22s ease,box-shadow .22s ease}.quick-check input:not(:checked)~.quick-checkmark,.quick-select-all input:not(:checked)~.quick-checkmark{background:#fff;box-shadow:inset 0 1px 3px rgba(50,70,62,.1)}.quick-checkmark:before{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;opacity:0;transform:translateY(-20px) rotate(45deg);transition:opacity .2s ease,transform .3s ease}.quick-check input:checked~.quick-checkmark:before,.quick-select-all input:checked~.quick-checkmark:before{opacity:1;transform:translateY(0) rotate(45deg)}.quick-select-all input:indeterminate~.quick-checkmark:before{left:5px;top:9px;width:11px;height:0;border-width:0 0 2px;opacity:1;transform:none}.quick-chart-card{position:relative;transition:border-color .2s ease,box-shadow .2s ease}.quick-chart-card.selected{border-color:#a9d9c7;box-shadow:0 8px 23px rgba(45,195,140,.1)}.quick-card-tools{display:flex;align-items:center;gap:10px}.quick-card-tools>span{padding:4px 7px;border-radius:6px;background:#eef2ff;color:#4565c8;font-size:9px;font-weight:700}.quick-card-stats{display:flex;gap:10px;margin-top:7px}.quick-card-stats span{color:#737f91;font-size:9px}.quick-line-layout{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;min-width:0}.quick-y-axis{position:relative;display:flex;height:184px;flex-direction:column;justify-content:space-between;padding:0 0 20px;text-align:right;color:#7d889a;font-size:9px}.quick-y-axis b{position:absolute;left:-2px;top:50%;width:max-content;color:#9aa3b2;font-size:8px;font-weight:600;transform:translate(-38%,-50%) rotate(-90deg)}.quick-line{height:190px}.quick-line svg{height:158px}.quick-grid-line{fill:none;stroke:#edf0f4;stroke-width:1;vector-effect:non-scaling-stroke}.quick-line-point{fill:#fff;stroke:#5274e4;stroke-width:1.5;vector-effect:non-scaling-stroke}.quick-line-point:hover{fill:#5274e4}.quick-axis-labels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.quick-axis-labels span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-axis-labels span:nth-child(2),.quick-axis-labels span:nth-child(3){text-align:center}.quick-axis-labels span:last-child{text-align:right}.quick-x-title{margin-top:8px;color:#9aa3b2;font-size:8px;text-align:center}.quick-bar-axis-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;color:#8b95a5;font-size:8px}.quick-detail-card{margin-top:16px}.workbench-operation .workbench-save:disabled{background-image:none!important}.workbench-operation .workbench-save:not(:disabled){min-width:10.5em;padding:0 17px!important}

/* Explorer-style local database tree. */
.database-catalog{box-sizing:border-box;padding:10px 8px!important;border:1px solid #e4e4e7;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035)}.database-tree-root,.database-tree-children{margin:0;padding:0;list-style:none}.database-tree-item{position:relative;margin-top:3px}.database-tree-toggle{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.database-tree-label{display:flex!important;align-items:center!important;gap:7px!important;min-height:34px!important;padding:4px 6px!important;border-radius:6px!important;cursor:pointer;user-select:none;transition:background .18s ease}.database-tree-label:hover{background:#f4f4f5}.database-source-summary:before{display:none!important}.database-tree-icon{flex:none;width:18px;height:18px;color:#596274;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.database-tree-icon.folder-open{display:none}.database-tree-toggle:checked~.database-tree-label .database-tree-icon.folder-open{display:block;color:#151a22}.database-tree-toggle:checked~.database-tree-label .folder-closed{display:none}.database-tree-children-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.database-tree-children{overflow:hidden;margin-left:13px!important;padding-left:13px!important;border-left:1px solid #e1e4e9}.database-tree-toggle:checked~.database-tree-children-wrapper{grid-template-rows:1fr}.database-tree-children>li{position:relative;margin-top:2px}.database-tree-children>li:before{content:"";position:absolute;left:-13px;top:17px;width:12px;height:1px;background:#e1e4e9}.workbench-card .database-sheet-list{padding-top:2px!important;padding-bottom:3px!important}.workbench-card .database-sheet{display:flex;align-items:center;gap:7px;width:100%;min-height:36px;padding:5px 6px!important;border:0;border-radius:6px!important;background:transparent;color:#303948;text-align:left;cursor:pointer}.workbench-card .database-sheet:hover{background:#f4f4f5}.workbench-card .database-sheet.active{background:#eef1f5;color:#171d27;font-weight:600}.workbench-card .database-sheet.active .database-tree-icon{color:#315eea}.database-tree-label strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px!important}.database-tree-label small,.workbench-card .database-sheet small{display:block;margin-top:2px;color:#939ba8;font-size:8px!important;font-weight:500}.workbench-card .database-sheet b{font-size:10px!important}.database-tree-label>div,.workbench-card .database-sheet>span{min-width:0}.database-source[hidden],.database-tree-children>li[hidden]{display:none}
@media(max-width:760px){.analysis-entry-actions{flex-direction:column;gap:12px}.quick-selection-bar{align-items:flex-start}.quick-selection-bar>div{display:grid;gap:3px}.quick-line-layout{grid-template-columns:50px minmax(0,1fr)}.quick-card-head{gap:8px}}

/* Requested workbench refinements: original edit icon, centered name card and two-row fields. */
.analysis-name,.analysis-name.is-named{width:min(360px,44vw)!important;min-height:74px!important;padding:0 15px!important;border:1px solid #e2e6ec!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 20px rgba(33,43,61,.09)!important}.analysis-name input,.analysis-name.is-named input{width:100%!important;height:64px!important;margin:0!important;padding:25px 6px 5px!important;border-bottom:2px solid #111!important;text-align:center}.analysis-floating-label{left:50%!important;top:34px!important;align-items:center;transform:translateX(-50%);white-space:nowrap}.analysis-floating-label::before{display:none!important}.analysis-name-icon{flex:none;width:18px;height:18px;margin-right:5px;fill:#929baa}.analysis-floating-label i{color:#929baa!important;font-size:17px!important}.analysis-name .demo-tag{left:calc(100% + 9px)}
.workbench-card .workbench-fields{display:grid;grid-template-columns:170px minmax(0,1fr)!important;grid-template-rows:auto auto;align-items:center;column-gap:18px;min-height:126px!important;padding:14px 20px!important}.workbench-fields-title{grid-column:1;grid-row:1;margin:0 0 4px!important;align-self:end}.workbench-fields-title h3{margin:0}.workbench-fields-title small{margin-top:5px}.field-strip{display:contents!important}.field-search{grid-column:1;grid-row:2;align-self:start;width:170px!important;margin:0!important}.ordered-fields{grid-column:2;grid-row:1 / span 2;display:grid!important;grid-auto-flow:column;grid-template-rows:repeat(2,34px);grid-auto-columns:max-content;align-content:center;align-items:center;gap:7px 7px!important;min-height:83px;padding:4px 5px 10px!important;overflow-x:auto}.ordered-fields .field{height:34px!important}.field-search-empty{grid-column:2;grid-row:1 / span 2;align-self:center}.new-analysis-button,.quick-analysis-button{height:46px!important;padding:0 27px!important;border:0!important;border-radius:45px!important;background:#fff!important;color:#171b22!important;font-family:inherit;font-size:12px!important;font-weight:650!important;letter-spacing:2px!important;box-shadow:0 8px 15px rgba(0,0,0,.1)!important;transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease!important}.new-analysis-button:hover,.quick-analysis-button:hover:not(:disabled){background:#23c483!important;color:#fff!important;box-shadow:0 13px 20px rgba(46,229,157,.36)!important;transform:translateY(-5px)}.new-analysis-button:active,.quick-analysis-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 13px rgba(46,229,157,.25)!important}.new-analysis-button:focus{outline:0!important}

/* Green selection plate wipes into and out of its clipped frame. */
@media(max-width:900px){.workbench-card .workbench-fields{grid-template-columns:145px minmax(0,1fr)!important}.field-search{width:145px!important}}@media(max-width:760px){.analysis-name,.analysis-name.is-named{width:min(330px,72vw)!important}.workbench-card .workbench-fields{grid-template-columns:1fr!important;grid-template-rows:auto auto auto}.workbench-fields-title{grid-column:1;grid-row:1}.field-search{grid-column:1;grid-row:2;width:100%!important}.ordered-fields{grid-column:1;grid-row:3}}

/* Keep the complete naming control vertically centered; its copy remains left-aligned. */
.analysis-name,.analysis-name.is-named{display:flex!important;align-items:center!important;justify-content:flex-start!important;height:74px!important;min-height:74px!important;padding:0 15px!important}
.analysis-name input,.analysis-name.is-named input{height:48px!important;padding:10px 6px 6px!important;text-align:left!important}
.analysis-floating-label{left:21px!important;top:50%!important;transform:translateY(-50%)!important}

/* Canonical project-wide search interaction from the supplied reference. */
.app-search,.database-search,.field-search,.preview-search.app-search{padding:0 42px 0 0!important;border:0!important;border-bottom:0!important;outline:0!important;background:#fff!important;overflow:hidden!important}
.app-search:before,.app-search:after{content:none!important;display:none!important}
.app-search input,.app-search input:hover,.app-search input:focus,.app-search input:active{border:0!important;border-bottom:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important}
.app-search-icon{transform:translateY(-50%) rotate(0) scale(1);transition:transform .3s cubic-bezier(.4,0,.2,1)!important}
.app-search-icon svg{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)!important}
.app-search-icon .search-on{opacity:1;visibility:visible;transform:rotate(0)}
.app-search-icon .search-back{opacity:0;visibility:hidden;transform:rotate(-80deg)}
.app-search input:focus~.app-search-icon,.app-search input:not(:placeholder-shown)~.app-search-icon{transform:translateY(-50%) rotate(80deg) scale(1.3)!important}
.app-search input:focus~.app-search-icon .search-on,.app-search input:not(:placeholder-shown)~.app-search-icon .search-on{opacity:0;visibility:hidden}
.app-search input:focus~.app-search-icon .search-back,.app-search input:not(:placeholder-shown)~.app-search-icon .search-back{color:#15a986;opacity:1;visibility:visible;transform:rotate(-80deg)}
.app-search-clear{opacity:0!important;visibility:hidden!important;transform:translateY(-50%) scale(0)!important;transition:opacity .3s,visibility .3s,transform .3s!important}
.app-search input:not(:placeholder-shown)~.app-search-clear{opacity:1!important;visibility:visible!important;transform:translateY(-50%) scale(1)!important}

/* Supplied wipe checkbox: the green tile travels inside a clipped frame. */
.quick-check-frame{position:relative;display:block;width:30px;height:30px;border:3px solid #beddd0;border-radius:10px;overflow:hidden;background:#fff}
.quick-check,.quick-select-all{overflow:visible;border:0;background:transparent}
.quick-check .quick-checkmark,.quick-select-all .quick-checkmark{position:absolute;left:0;top:0;width:24px;height:24px;border:0;border-bottom:1.5px solid #2dc38c;border-radius:7px;background:#2dc38c;box-shadow:0 0 1px #cef1e4,inset 0 -2.5px 3px #62eab8,inset 0 3px 3px rgba(0,0,0,.34);transform:translateY(-30px)}
.quick-check .quick-checkmark:before,.quick-select-all .quick-checkmark:before{content:"";position:absolute;left:8px;top:4px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;opacity:1;transform:rotate(45deg);box-shadow:0 4px 2px rgba(0,0,0,.34)}
.quick-check input:checked~.quick-check-frame .quick-checkmark,.quick-select-all input:checked~.quick-check-frame .quick-checkmark{animation:selectionWipeDown .6s ease-in-out forwards}
.quick-check input:not(:checked)~.quick-check-frame .quick-checkmark,.quick-select-all input:not(:checked)~.quick-check-frame .quick-checkmark{animation:selectionWipeUp .6s ease-in-out forwards}
.quick-select-all input:indeterminate~.quick-check-frame .quick-checkmark{animation:selectionWipeDown .6s ease-in-out forwards}
.quick-select-all input:indeterminate~.quick-check-frame .quick-checkmark{border-bottom-color:#8fd4bc;background:#e9f8f2;box-shadow:inset 0 1px 3px rgba(39,129,97,.14)}
.quick-select-all input:indeterminate~.quick-check-frame .quick-checkmark:before{left:6px;top:11px;width:12px;height:0;border:0;border-top:2px solid #219b70;opacity:1;transform:none;box-shadow:none}
@keyframes selectionWipeDown{0%{transform:translateY(-30px)}100%{transform:translateY(0)}}
@keyframes selectionWipeUp{0%{transform:translateY(0)}100%{transform:translateY(-30px)}}

/* New analysis uses blue while preserving the shared lift and press motion. */
.new-analysis-button{background:#315eea!important;color:#fff!important;box-shadow:0 8px 15px rgba(49,94,234,.22)!important}
.new-analysis-button:hover{background:#244ed7!important;color:#fff!important;box-shadow:0 13px 20px rgba(49,94,234,.32)!important;transform:translateY(-5px)}
.new-analysis-button:active{transform:translateY(-1px);box-shadow:0 8px 13px rgba(49,94,234,.24)!important}

/* Progressive workbench flow: choose data, choose a path, then configure. */
.workbench-card .wb-top{box-sizing:border-box;margin:0;padding:14px 18px!important;border-bottom:1px solid #e2e6ec;background:#fff}.workbench-card .wb-actions{display:flex;align-items:center;gap:12px}.workbench-card .wb-actions .workbench-save{position:static;top:auto;z-index:auto;min-width:11em;margin:0}.workbench-card[data-analysis-stage="data"] .wb-top,.workbench-card[data-analysis-stage="data"] .workbench-fields,.workbench-card[data-analysis-stage="data"] .axis-builder,.workbench-card[data-analysis-stage="data"] .config,.workbench-card[data-analysis-stage="choice"] .axis-builder,.workbench-card[data-analysis-stage="choice"] .config,.workbench-card[data-analysis-stage="quick"] .axis-builder,.workbench-card[data-analysis-stage="quick"] .config{display:none!important}.workbench-card[data-analysis-stage="data"] .workbench-main,.workbench-card[data-analysis-stage="choice"] .workbench-main,.workbench-card[data-analysis-stage="quick"] .workbench-main{grid-template-columns:minmax(0,1fr)}.workbench-card[data-analysis-stage="data"] .canvas,.workbench-card[data-analysis-stage="choice"] .canvas,.workbench-card[data-analysis-stage="quick"] .canvas{grid-column:1}.analysis-data-entry{min-height:560px}.analysis-data-choice{display:grid;place-items:center;gap:12px;text-align:center}.analysis-data-choice-icon{width:52px;height:52px;background:#7c8798;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat}.analysis-data-choice h3{margin:0;color:#354052;font-size:20px}.analysis-data-choice p{max-width:420px;margin:0;color:#8c96a6;font-size:11px;line-height:1.7}@media(max-width:760px){.workbench-card .wb-top{align-items:stretch}.workbench-card .wb-actions{justify-content:flex-end;flex-wrap:wrap}}
.workbench-card .wb-actions .workbench-reset,.workbench-card .wb-actions .workbench-save{box-sizing:border-box;height:46px!important;min-height:46px!important}

/* Compact analysis naming control, sized to the marked reference area. */
.analysis-name,.analysis-name.is-named{width:min(286px,42vw)!important;height:44px!important;min-height:44px!important;padding:0 10px!important;border-radius:10px!important}.analysis-name input,.analysis-name.is-named input{height:40px!important;padding:7px 4px 4px!important;font-size:18px!important}.analysis-floating-label{left:10px!important;top:50%!important;transform:translateY(-50%)!important}.analysis-name-icon{width:16px;height:16px;margin-right:4px}.analysis-floating-label i{font-size:18px!important}.workbench-card .wb-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;min-height:64px!important;padding-top:9px!important;padding-bottom:9px!important}.workbench-card .wb-actions{flex:none;margin-left:auto}@media(max-width:760px){.analysis-name,.analysis-name.is-named{width:min(286px,70vw)!important}.workbench-card .wb-top{flex-wrap:wrap!important}}

/* The two analysis paths share one component; hover color is the only difference. */
.quick-analysis-button,.new-analysis-button{box-sizing:border-box!important;width:auto!important;min-width:12.8em!important;height:46px!important;padding:0 27px!important;border:0!important;border-radius:45px!important;background:#fff!important;color:#171b22!important;font-family:inherit!important;font-size:12px!important;font-weight:650!important;letter-spacing:2px!important;box-shadow:0 8px 15px rgba(0,0,0,.1)!important;transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease!important}.quick-analysis-button:hover:not(:disabled){background:#23c483!important;color:#fff!important;box-shadow:0 13px 20px rgba(46,229,157,.36)!important;transform:translateY(-5px)!important}.new-analysis-button:hover:not(:disabled){background:#315eea!important;color:#fff!important;box-shadow:0 13px 20px rgba(49,94,234,.32)!important;transform:translateY(-5px)!important}.quick-analysis-button:active:not(:disabled),.new-analysis-button:active:not(:disabled){transform:translateY(-1px)!important}.quick-analysis-button:active:not(:disabled){box-shadow:0 8px 13px rgba(46,229,157,.25)!important}.new-analysis-button:active:not(:disabled){box-shadow:0 8px 13px rgba(49,94,234,.24)!important}

/* Layered data card and adjustable workbench panes. */
.workbench-card{padding-top:18px}.workbench-operation>.wb-grid{border-top:1px solid #e1e5eb!important}.database-search{z-index:2;margin:14px 0 0!important;border:1px solid #e0e5ec!important;border-bottom:0!important;border-radius:12px 12px 0 0!important;box-shadow:0 10px 24px rgba(35,46,65,.09)!important}.database-catalog{z-index:1;margin-top:0!important;border:1px solid #e0e5ec!important;border-top:0!important;border-radius:0 0 12px 12px!important;box-shadow:0 16px 30px rgba(35,46,65,.13)!important}.workbench-card .wb-grid{grid-template-columns:max-content minmax(0,1fr)!important}.workbench-card .fields{box-sizing:border-box;width:280px;min-width:230px;max-width:420px;resize:horizontal;overflow:auto}.workbench-card .workbench-fields{min-height:116px;max-height:260px;resize:vertical;overflow:auto}.workbench-card .config{min-width:240px;max-width:420px;resize:horizontal;overflow:auto}.workbench-card[data-analysis-stage="choice"] .workbench-fields,.workbench-card[data-analysis-stage="quick"] .workbench-fields{display:none!important}.workbench-card[data-analysis-stage="choice"] .canvas,.workbench-card[data-analysis-stage="quick"] .canvas{padding-top:24px!important}.analysis-name,.analysis-name.is-named{width:320px!important;padding-inline:10px!important}.analysis-name input,.analysis-name.is-named input{width:100%!important;padding-left:0!important;padding-right:0!important}.analysis-name-icon{display:none!important}.analysis-floating-label:before{content:"";flex:none;width:17px;height:17px;margin-right:5px;background:#788396;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h4.2L19 9.2l-4.2-4.2L4 15.8V20Zm10.8-13.9L18 9.2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h4.2L19 9.2l-4.2-4.2L4 15.8V20Zm10.8-13.9L18 9.2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.analysis-floating-label{left:10px!important}.analysis-name input:focus+.analysis-floating-label:before,.analysis-name input:valid+.analysis-floating-label:before{background:#5d78c9}

/* Quick-analysis cards are independent resizable windows with local overflow. */
.quick-chart-grid{grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr))!important;align-items:start}.quick-chart-card{box-sizing:border-box;min-width:360px;min-height:310px;max-width:100%;max-height:760px;resize:both;overflow:auto;container-type:inline-size}.quick-card-head{position:sticky;top:0;z-index:3;padding-bottom:8px;background:#fff}.quick-card-tools select{height:30px;padding:0 25px 0 9px;border:1px solid #dce2eb;border-radius:7px;background:#f5f7ff;color:#4565c8;font:inherit;font-size:9px;font-weight:700}.quick-card-density{display:flex;align-items:center;gap:16px;margin:3px 0 10px;padding:7px 9px;border-radius:8px;background:#f7f9fc}.quick-card-density label{display:flex;align-items:center;gap:7px;color:#788397;font-size:8px;white-space:nowrap}.quick-card-density input{width:72px;accent-color:#5274e4}.quick-card-content{min-width:320px;min-height:calc(150px + var(--quick-y-density,3)*18px);overflow:auto}.quick-card-content .quick-line-layout{min-width:360px}.quick-card-content .quick-bars{min-width:320px;max-height:calc(150px + var(--quick-y-density,3)*28px);overflow:auto}.quick-detail-card{max-width:100%;resize:both;overflow:auto}@container(max-width:470px){.quick-card-density{align-items:flex-start;flex-direction:column;gap:6px}.quick-line-layout{grid-template-columns:48px minmax(300px,1fr)}}

/* Manual analysis is a multi-chart canvas; each chart owns its fields and processing. */
.workbench-card.manual-multi .axis-builder,.workbench-card.manual-multi .config{display:none!important}.workbench-card.manual-multi .workbench-main{grid-template-columns:minmax(0,1fr)!important}.workbench-card.manual-multi .canvas{grid-column:1!important}.manual-workspace{display:block!important;min-height:560px!important}.manual-palette{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:10px 12px;border:1px solid #dfe4ec;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(33,45,68,.08)}.manual-palette strong{margin-right:auto;color:#4e5a6e;font-size:11px}.manual-palette button{height:34px;padding:0 13px;border:1px solid #dce2eb;border-radius:9px;background:#f7f9fc;color:#34425a;font-size:10px;font-weight:700;cursor:grab}.manual-palette button:hover{border-color:#9fb2eb;background:#eef3ff;color:#315eea}.manual-canvas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));align-items:start;gap:16px;min-height:480px;padding:12px;border:1px dashed #cdd5e2;border-radius:14px;background:#f8fafc}.manual-canvas-empty{grid-column:1/-1;display:grid;min-height:430px;place-items:center;color:#8b96a7;font-size:12px}.manual-chart-card{box-sizing:border-box;min-width:420px;min-height:430px;max-width:100%;max-height:820px;padding:14px;border:1px solid #dde3eb;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(35,48,71,.07);resize:both;overflow:auto}.manual-chart-card.active{border-color:#8fa8ef;box-shadow:0 0 0 3px rgba(49,94,234,.08),0 12px 26px rgba(35,48,71,.09)}.manual-chart-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.manual-chart-card>header>div{display:flex;align-items:center;gap:8px}.manual-chart-card>header span{color:#8792a3;font-size:9px}.manual-chart-card>header input{min-width:170px;border:0;border-bottom:1px solid #d7dde7;background:transparent;color:#28354a;font-weight:750}.manual-chart-card>header button,.manual-series-list button{border:0;background:transparent;color:#9aa4b3;font-size:18px;cursor:pointer}.manual-field-wells{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin:12px 0}.manual-drop-zone{display:grid;gap:3px;min-height:54px;padding:9px 11px;border:1px dashed #cbd3df;border-radius:9px;background:#fafbfe}.manual-drop-zone b{color:#526078;font-size:9px}.manual-drop-zone span{overflow:hidden;color:#8b96a7;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.manual-drop-zone.drag-over{border-color:#315eea;background:#f1f5ff}.manual-series-list{display:grid;gap:7px;margin-bottom:12px}.manual-series-list>div{display:grid;grid-template-columns:minmax(100px,1fr) 90px 100px 24px;align-items:center;gap:7px;padding:7px 9px;border-radius:8px;background:#f6f8fb}.manual-series-list strong{overflow:hidden;color:#425069;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.manual-series-list select{height:28px;border:1px solid #dce2eb;border-radius:7px;background:#fff;color:#536078;font-size:9px}.manual-card-preview{min-width:360px;overflow:auto}.manual-composite-preview{display:grid;gap:12px}.manual-composite-preview>section{min-width:340px;padding:9px;border:1px solid #e6eaf0;border-radius:10px}.manual-composite-preview>section>b{display:block;margin-bottom:7px;color:#68748a;font-size:8px}@media(max-width:760px){.manual-field-wells{grid-template-columns:1fr}.manual-chart-card{min-width:320px}.manual-palette{align-items:stretch;flex-wrap:wrap}.manual-palette strong{width:100%}}
.manual-density{display:flex;justify-content:flex-end;gap:18px;margin:-2px 0 10px}.manual-density label{display:flex;align-items:center;gap:6px;color:#7c8798;font-size:8px}.manual-density input{width:74px;accent-color:#315eea}.manual-chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px}.manual-chart-legend span{display:flex;align-items:center;gap:5px;color:#657188;font-size:8px}.manual-chart-legend i{width:9px;height:9px;border-radius:3px}.manual-svg-scroll{max-width:100%;overflow:auto}.manual-svg-scroll svg{display:block;width:max(100%,520px);height:250px}.manual-axis-labels{display:grid;width:max(100%,520px);gap:4px;padding:4px 5% 0;color:#8792a3;font-size:8px}.manual-axis-labels span{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.manual-composite-chart{min-width:360px;padding:10px;border:1px solid #e6eaf0;border-radius:10px;background:#fff}.manual-composite-chart .quick-grid-line{opacity:calc(.25 + var(--manual-y-density) * .14)}.manual-table-scroll{max-width:100%;max-height:390px;overflow:auto;border:1px solid #e5e9ef;border-radius:9px}.manual-table-scroll .result-table{min-width:max-content}.manual-table-scroll th,.manual-table-scroll td{white-space:nowrap}.manual-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.manual-kpi-grid section{position:relative;display:grid;gap:5px;min-height:106px;padding:14px;border:1px solid #e4e8ef;border-radius:12px;background:#fafbfe}.manual-kpi-grid i{position:absolute;top:14px;right:14px;width:9px;height:9px;border-radius:50%}.manual-kpi-grid span{color:#68748a;font-size:9px}.manual-kpi-grid strong{color:#27344a;font-size:24px}.manual-kpi-grid small{color:#98a1af;font-size:8px}@media(max-width:760px){.manual-density{justify-content:flex-start;flex-wrap:wrap}.manual-svg-scroll svg,.manual-axis-labels{width:520px}}
.quick-chart-card,.quick-detail-card,.manual-chart-card{content-visibility:auto;contain-intrinsic-size:520px 430px}.quick-card-content,.manual-card-preview{contain:layout paint style}

/* 看板：12 列密集网格通过卡片缩放跨度形成自由镶嵌布局。 */
#dashboard{padding-top:24px}.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:24px;gap:14px;align-items:stretch}.dashboard-grid .empty-dashboard{grid-column:1/-1;grid-row:span 16;display:grid;align-content:center;justify-items:center;min-height:380px}.saved-card{container-type:size;position:relative;display:flex;width:100%;height:100%;min-width:0;min-height:240px;max-width:calc(100vw - 72px);max-height:860px;flex-direction:column;padding:16px;border:1px solid #e0e5ed;border-radius:15px;background:#fff;box-shadow:0 10px 26px rgba(31,44,68,.07);resize:both;overflow:auto;transition:border-color .18s ease,box-shadow .18s ease}.saved-card:hover{border-color:#cdd6e4;box-shadow:0 14px 32px rgba(31,44,68,.1)}.saved-card>header{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.saved-card>header>div{min-width:0}.saved-card>header h3{overflow:hidden;margin:9px 0 4px;color:#263248;font-size:clamp(12px,2.4cqw,17px);text-overflow:ellipsis;white-space:nowrap}.saved-card>header p{overflow:hidden;margin:0;color:#8792a3;font-size:clamp(8px,1.6cqw,10px);text-overflow:ellipsis;white-space:nowrap}.dashboard-resize-hint{flex:none;padding-top:3px;color:#a0a9b7;font-size:8px}.saved-card-body{flex:1;min-width:0;min-height:0;overflow:auto}.saved-card-body>.bars{box-sizing:border-box;height:100%;min-height:150px;padding:22px 12px 20px}.saved-card-body .bar-value,.saved-card-body .bar-label{font-size:clamp(7px,1.4cqw,10px)}.saved-card-body .result-table{min-width:max-content}.saved-manual-card .manual-card-preview{min-width:0;height:100%;overflow:auto}.saved-manual-card .manual-composite-chart{box-sizing:border-box;min-width:0;height:100%}.saved-manual-card .manual-svg-scroll svg{width:100%;min-width:360px;height:clamp(170px,58cqh,430px)}.saved-manual-card .manual-axis-labels{width:100%;min-width:360px}.saved-manual-card .manual-table-scroll{max-height:100%}.saved-manual-card .manual-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr))}.dashboard-missing{display:grid;height:100%;place-items:center;color:#8a95a5;font-size:10px;text-align:center}@container (max-width:390px){.saved-card{padding:12px}.dashboard-resize-hint{display:none}.saved-card>header{margin-bottom:7px}.saved-card>header h3{margin-top:6px}.saved-card-body>.bars{gap:8px;padding-inline:6px}.saved-card-body .bar-value{display:none}.saved-manual-card .manual-chart-legend span{font-size:7px}}@container (max-height:300px){.saved-card{padding:10px}.saved-card>header{margin-bottom:5px}.saved-card>header .demo-tag,.dashboard-resize-hint{display:none}.saved-card>header h3{margin:0 0 3px}.saved-card-body>.bars{min-height:110px;padding-block:10px}.saved-manual-card .manual-chart-legend{margin-bottom:4px}}
.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:14px 16px;border:1px solid #e3e7ee;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,44,68,.06)}.dashboard-toolbar>div{display:grid;gap:3px}.dashboard-toolbar strong{color:#253249;font-size:13px}.dashboard-toolbar span{color:#8792a3;font-size:9px}.dashboard-export-button{display:flex;height:42px;align-items:center;gap:8px;padding:0 16px;border:1px solid #cbd6ed;border-radius:10px;background:#315eea;color:#fff;font:inherit;font-size:10px;font-weight:750;cursor:pointer;box-shadow:0 8px 18px rgba(49,94,234,.18);transition:transform .18s ease,box-shadow .18s ease}.dashboard-export-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-export-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px rgba(49,94,234,.24)}.dashboard-export-button:disabled{border-color:#e2e5ea;background:#eceef2;color:#a0a8b4;cursor:not-allowed;box-shadow:none}.dashboard-export-overlay{position:fixed;inset:0;z-index:300;display:grid;padding:18px;place-items:center;background:rgba(247,248,250,.86);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}.dashboard-export-overlay.open{opacity:1;visibility:visible}.dashboard-export-panel{width:min(520px,100%);min-height:610px;padding:34px 38px;border:1px solid #e4e7ec;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(29,39,57,.15)}.export-panel-heading small{color:#9aa3b1;font:700 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:2px}.export-panel-heading h2{margin:8px 0 7px;color:#1f2937;font-size:20px}.export-panel-heading p{margin:0;color:#8b95a5;font-size:10px}.export-process{display:grid;gap:0;margin-top:34px}.export-step{display:grid;grid-template-columns:42px 1fr;column-gap:18px;min-height:118px;opacity:0;transform:translateY(-5px);transition:opacity .28s ease,transform .28s ease}.export-step.visible{opacity:1;transform:none}.export-step-icon{position:relative;width:36px;height:36px}.export-pixels{display:grid;width:36px;height:36px;grid-template-columns:repeat(3,10px);grid-template-rows:repeat(3,10px);gap:3px;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--export-color) 42%,transparent));transition:opacity .3s ease,transform .3s ease}.export-pixels i{border-radius:2px;background:var(--export-color);animation:exportPixelPulse 1.05s ease-in-out infinite;animation-delay:var(--pixel-delay)}.export-done{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(.7);transition:opacity .3s ease,transform .3s ease}.export-done svg{width:29px;height:29px;fill:none;stroke:#22c55e;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.export-step-label{padding-top:3px;color:#2e3440;font:500 25px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;opacity:0;transform:translateY(4px);transition:opacity .32s ease,transform .32s ease,color .65s ease}.export-step-label.visible{opacity:1;transform:none}.export-step-label.success{color:#11aa66}.export-connector{position:absolute;top:43px;left:15px;display:grid;gap:7px}.export-connector i{width:5px;height:5px;border-radius:50%;background:#9ca3af;opacity:0;transform:translateY(-4px)}.export-step[data-status="active"] .export-connector i{animation:exportDotDrop .24s ease forwards}.export-step[data-status="active"] .export-connector i:nth-child(2){animation-delay:.1s}.export-step[data-status="active"] .export-connector i:nth-child(3){animation-delay:.2s}.export-step[data-status="active"] .export-connector i:nth-child(4){animation-delay:.3s}.export-step[data-status="active"] .export-connector i:nth-child(5){animation-delay:.4s}.export-step[data-status="complete"] .export-pixels{opacity:0;transform:scale(.55)}.export-step[data-status="complete"] .export-done{opacity:1;transform:scale(1)}.export-step[data-status="complete"] .export-connector i{opacity:1;transform:none;animation:none}.export-step:last-child{min-height:70px}.export-step:last-child .export-connector{display:none}.export-close{display:block;width:100%;height:42px;margin-top:12px;border:0;border-radius:10px;background:#172033;color:#fff;font:700 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer}.export-close[hidden]{display:none}@keyframes exportPixelPulse{0%,100%{opacity:.32;transform:scale(.78)}45%{opacity:1;transform:scale(1)}}@keyframes exportDotDrop{to{opacity:1;transform:none}}@media(max-width:620px){.dashboard-toolbar{align-items:stretch;flex-direction:column}.dashboard-export-button{justify-content:center}.dashboard-export-panel{min-height:570px;padding:28px 24px}.export-step{grid-template-columns:38px 1fr;column-gap:14px}.export-step-label{font-size:21px}}@media(prefers-reduced-motion:reduce){.export-pixels i{animation-duration:1.8s}.dashboard-export-overlay,.export-step,.export-pixels,.export-done,.export-step-label{transition-duration:.01ms}}
.dashboard-export-document{box-sizing:border-box;width:100%;min-height:100%;padding:0;background:#fff;color:#263248;font-family:Inter,"Segoe UI",sans-serif}.dashboard-export-image-head{display:flex;height:74px;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e9ef}.dashboard-export-image-head small{color:#8792a3;font-size:9px;letter-spacing:2px}.dashboard-export-image-head h1{margin:4px 0 0;font-size:24px}.dashboard-export-image-head>span{color:#8792a3;font-size:10px}.dashboard-export-document .dashboard-grid{padding-top:22px}.dashboard-export-document .saved-card{resize:none}.dashboard-export-document .saved-card:after{display:none}
.saved-card:after{position:absolute;right:4px;bottom:4px;width:11px;height:11px;border-right:2px solid #aeb8c7;border-bottom:2px solid #aeb8c7;border-radius:0 0 3px;content:"";pointer-events:none}
.saved-card>header{cursor:grab;touch-action:none;user-select:none}.saved-card.dashboard-drag-ready>header{cursor:grabbing}.saved-card.dashboard-dragging{z-index:20;border-color:#aebde1;box-shadow:0 22px 52px rgba(31,44,68,.2);cursor:grabbing;will-change:transform;transition:none!important}.saved-card.dashboard-dragging>header{cursor:grabbing}.dashboard-grid:has(.dashboard-dragging) .saved-card:not(.dashboard-dragging){transition:opacity .12s ease,box-shadow .12s ease;opacity:.78}.dashboard-grid:has(.dashboard-dragging){cursor:grabbing}

/* Full-width naming underline, matching the component edges. */
.analysis-name,.analysis-name.is-named{box-shadow:0 8px 20px rgba(33,43,61,.09),inset 0 -2px #111!important}.analysis-name input,.analysis-name.is-named input{border-bottom:0!important}

/* 快速分析与新建分析是两条独立业务路径；快速结果页不展示人工配置栏。 */
.config.quick-disabled{display:none!important}.config.quick-disabled::after{content:none!important}

/* 快速分析直接复用新版模板渲染器，不再绘制旧式基础折线与柱状卡片。 */
.quick-template-results .quick-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.quick-template-card{min-height:430px;padding:19px}.quick-template-card .quick-card-head h4{display:flex;align-items:center;gap:7px}.quick-template-card .quick-card-head h4 em{padding:2px 6px;border-radius:999px;background:#e9f8f2;color:#19835d;font-size:8px;font-style:normal}.quick-template-card .quick-card-stats span{display:block;overflow:hidden;max-width:620px;color:#748197;text-overflow:ellipsis;white-space:nowrap}.advanced-template-content{display:grid;min-height:320px;align-items:center;overflow:auto;border:1px solid #edf0f5;border-radius:13px;background:linear-gradient(180deg,#fff,#fbfcff);padding:14px}.advanced-template-content .manual-composite-chart,.advanced-template-content .template-donut-chart,.advanced-template-content .template-scatter-chart,.advanced-template-content .template-heatmap-chart,.advanced-template-content .template-treemap-chart,.advanced-template-content .template-race-chart,.advanced-template-content .manual-table-scroll,.advanced-template-content .manual-kpi-grid{min-height:270px}@media(max-width:1080px){.quick-template-results .quick-chart-grid{grid-template-columns:1fr}}

/* Adaptive numeric axes and continuously playing race charts. */
.manual-plot-layout,.scatter-plot-layout{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;min-width:0}.manual-y-ticks,.scatter-y-ticks{position:relative;height:250px;color:#7b8799;font-size:8px;font-variant-numeric:tabular-nums}.manual-y-ticks span,.scatter-y-ticks span{position:absolute;right:0;transform:translateY(-50%);white-space:nowrap}.scatter-plot{min-width:0;overflow:hidden}.adaptive-scatter svg{display:block;width:100%;min-width:330px;height:250px}.scatter-x-ticks{display:flex;justify-content:space-between;min-width:330px;padding:4px 4% 0;color:#7b8799;font-size:8px;font-variant-numeric:tabular-nums}.scatter-x-ticks span{min-width:0;text-align:center}.scatter-axis-titles{display:flex;justify-content:space-between;gap:12px;margin:9px 2px 0 60px;color:#7f8a9c;font-size:8px}.advanced-template-content .template-race-chart,.manual-card-preview .template-race-chart,.saved-card-body .template-race-chart{display:flex;width:100%;min-width:0;align-items:stretch;flex-direction:column;justify-content:center;overflow:hidden}.race-stage,.race-frame,.race-controls{width:100%;min-width:0}.race-stage{min-height:235px}.race-frame{display:grid;gap:8px}.race-frame>strong{color:#1e2b40;font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:-1px}.race-scale{display:grid;grid-template-columns:minmax(80px,150px) 1fr auto;gap:8px;color:#9aa4b3;font-size:8px}.race-scale span:nth-child(2){text-align:left}.race-row{display:grid;grid-template-columns:22px minmax(72px,140px) minmax(110px,1fr) 54px;align-items:center;gap:8px;min-width:0;transition:transform .42s cubic-bezier(.2,.75,.25,1),opacity .25s ease}.race-row>span{display:grid;width:20px;height:20px;place-items:center;border-radius:6px;background:#f0f3f8;color:#66738a;font-size:8px;font-weight:750}.race-row>b{overflow:hidden;color:#43516a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.race-row>i{height:18px;overflow:hidden;border-radius:5px;background:#eef1f5}.race-row>i>em{display:block;height:100%;min-width:2px;border-radius:5px;transition:width .7s cubic-bezier(.2,.75,.25,1)}.race-row>small{text-align:right;color:#536078;font-size:9px;font-variant-numeric:tabular-nums;font-weight:750}.race-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #edf0f4}.race-controls button{height:30px;padding:0 12px;border:1px solid #dce3ed;border-radius:8px;background:#fff;color:#34445d;font-size:9px;font-weight:700;cursor:pointer}.race-controls button:hover{border-color:#9eb1e9;color:#315eea}.race-controls span{color:#8994a5;font-size:8px}@media(max-width:620px){.manual-plot-layout,.scatter-plot-layout{grid-template-columns:44px minmax(0,1fr)}.race-row{grid-template-columns:20px 82px minmax(100px,1fr) 46px}.scatter-axis-titles{margin-left:52px}}
@media(prefers-reduced-motion:reduce){.race-row,.race-row>i>em{transition:none!important}}

/* Reference-faithful full-white export progress. */
.dashboard-export-overlay{background:#fff;backdrop-filter:none}.dashboard-export-panel{width:min(390px,100%);min-height:590px;padding:30px 20px;border:0;border-radius:0;box-shadow:none}.export-process{margin-top:12px}.export-done{inset:-3px;width:40px;height:40px;border:2px solid #158265;border-radius:50%}.export-done svg{width:27px;height:27px;stroke:#158265;stroke-width:2.2}.export-step-label{color:#14171c}.export-step-label.success{color:#138267}.export-connector{top:46px;left:16px}.export-connector i{width:4px;height:4px}.export-step:last-child[data-status="complete"] .export-done{border-color:#159b70;background:#19a97a}.export-step:last-child[data-status="complete"] .export-done svg{stroke:#fff}.export-close{width:90px;margin:10px 0 0;border:1px solid #edf0f3;border-radius:4px;background:#fff;color:#15171b;font-weight:500;box-shadow:0 4px 15px rgba(27,36,52,.05)}@media(max-width:620px){.dashboard-export-panel{min-height:560px;padding:24px 10px}}
/* Fixed customer quick analysis */
.analysis-global-entry p{max-width:520px;margin:8px auto 22px;color:#68758d}.analysis-global-entry .new-analysis-button:disabled{opacity:.46;cursor:not-allowed;transform:none}.customer-quick-analysis{display:grid;gap:18px;padding:2px}.customer-analysis-toolbar{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.customer-analysis-toolbar label{min-width:250px;display:grid;gap:7px;padding:14px 16px;border:1px solid #dce4f2;border-radius:16px;background:#fff;color:#657188;font-size:12px}.customer-analysis-toolbar select{border:0;background:#f5f7fb;border-radius:10px;padding:10px 12px;color:#17233d;font-weight:700;outline:none}.customer-analysis-toolbar>div{min-width:112px;padding:13px 16px;border:1px solid #dce4f2;border-radius:16px;background:linear-gradient(145deg,#fff,#f7f9fd);display:grid;align-content:center}.customer-analysis-toolbar strong{font-size:22px;color:#17233d}.customer-analysis-toolbar span{font-size:12px;color:#7b879b}.customer-combo-wrap,.customer-drilldown{border:1px solid #dce4f2;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(31,55,98,.07)}.customer-combo-wrap{padding:18px 20px 14px}.customer-combo-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;color:#59667c;font-size:12px}.customer-combo-legend span{display:flex;align-items:center;gap:7px}.customer-combo-legend i{width:11px;height:11px;border-radius:3px}.customer-combo-legend .sales{background:#315eea}.customer-combo-legend .cost{background:#8aa5f6}.customer-combo-legend .profit{background:#2bbd87}.customer-combo-legend .margin{height:3px;background:#ff625f}.customer-combo-chart{height:330px;position:relative;border-left:1px solid #cbd5e4;border-bottom:1px solid #cbd5e4;background:repeating-linear-gradient(to bottom,transparent 0,transparent 24%,#edf1f7 25%)}.customer-bars{position:absolute;inset:12px 18px 0 18px;display:flex;align-items:stretch;justify-content:space-around;gap:8px;z-index:2}.customer-month{flex:1;min-width:58px;display:grid;grid-template-rows:1fr 28px;align-items:end}.customer-bar-set{height:100%;display:flex;align-items:end;justify-content:center;gap:3px}.customer-bar{position:relative;width:min(16px,25%);min-height:2px;border:0;border-radius:5px 5px 0 0}.customer-bar span{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);font-size:10px;color:#526078;opacity:0;transition:.18s;white-space:nowrap}.customer-bar:hover span,.customer-bar:focus span{opacity:1}.customer-bar.sales{background:#315eea;cursor:pointer;box-shadow:0 4px 12px rgba(49,94,234,.2)}.customer-bar.sales:hover,.customer-bar.sales:focus{background:#214ad3;outline:3px solid rgba(49,94,234,.14)}.customer-bar.cost{background:#8aa5f6}.customer-bar.profit{background:#2bbd87}.customer-month>b{text-align:center;color:#69758a;font-size:11px}.customer-combo-chart>svg{position:absolute;inset:10px 18px 28px;width:calc(100% - 36px);height:calc(100% - 38px);z-index:3;pointer-events:none;overflow:visible}.customer-combo-chart polyline{fill:none;stroke:#ff625f;stroke-width:2;vector-effect:non-scaling-stroke}.customer-combo-chart circle{fill:#fff;stroke:#ff625f;stroke-width:1;vector-effect:non-scaling-stroke}.customer-hover-hint{margin:12px 0 0;text-align:center;color:#7b879b;font-size:12px}.customer-drilldown{padding:18px 20px}.customer-drill-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.customer-drill-head div{display:grid;gap:3px}.customer-drill-head small,.customer-drill-head span{color:#7b879b;font-size:12px}.customer-drill-head strong{font-size:17px;color:#17233d}.customer-drill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.customer-donut-card{border:1px solid #e4e9f2;border-radius:16px;padding:14px;background:#fafbfe}.customer-donut-card h5{margin:0 0 12px;color:#334159}.customer-donut-body{display:grid;grid-template-columns:140px 1fr;gap:15px;align-items:center}.customer-donut{width:132px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative}.customer-donut:after{content:"";position:absolute;inset:29px;border-radius:50%;background:#fff}.customer-donut>span{position:relative;z-index:1;font-weight:800;color:#23314a;font-size:13px}.customer-donut-legend{display:grid;gap:5px;max-height:170px;overflow:auto}.customer-donut-legend button{border:0;background:transparent;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px;text-align:left;border-radius:8px;color:#536078}.customer-donut-legend button[data-brand-drill]:hover,.customer-donut-legend button[data-brand-drill]:focus{background:#edf2ff;color:#244ccc}.customer-donut-legend i{width:8px;height:8px;border-radius:50%}.customer-donut-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-donut-legend b{font-size:11px}.customer-model-drill{margin-top:18px;padding-top:18px;border-top:1px dashed #dce4f2}.model-head{margin-bottom:10px}@media(max-width:900px){.customer-drill-grid{grid-template-columns:1fr}.customer-donut-body{grid-template-columns:115px 1fr}.customer-donut{width:108px}.customer-combo-chart{height:280px}}

/* Integrated analysis canvas: the drilldown belongs to the chart, not a second dashboard. */
.customer-analysis-heading{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 8px}.customer-analysis-heading>div{display:grid;gap:3px}.customer-analysis-heading strong{font-size:16px;color:#1b2942}.customer-analysis-heading span{font-size:12px;color:#7a879b}.customer-analysis-heading label{display:flex;align-items:center;gap:10px;font-size:12px;color:#657188}.customer-analysis-heading select{min-width:180px;border:1px solid #dce4f2;border-radius:10px;background:#fff;padding:9px 12px;color:#1d2a43;font-weight:700}.customer-analysis-canvas{position:relative;min-height:565px;border:1px solid #dce4f2;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(31,55,98,.07);overflow:hidden}.customer-analysis-canvas .customer-combo-wrap{border:0;border-radius:0;box-shadow:none;height:100%;padding:20px 22px 14px;transition:width .28s ease;width:100%}.customer-combo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}.customer-combo-head>div:first-child{display:grid;gap:4px}.customer-combo-head strong{color:#1b2942}.customer-combo-head span{color:#7b879b;font-size:12px}.customer-combo-head .customer-combo-legend{margin:0}.customer-plot-layout{display:grid;grid-template-columns:62px minmax(0,1fr) 58px;gap:8px;align-items:stretch}.customer-axis{height:390px;display:flex;flex-direction:column;justify-content:space-between;padding:4px 0 29px;color:#7b879b;font-size:10px}.customer-axis.left{text-align:right}.customer-axis.right{text-align:left;color:#e25b5b}.customer-analysis-canvas .customer-combo-chart{height:390px}.customer-analysis-canvas .customer-month{min-width:42px}.customer-analysis-canvas .customer-bar{max-width:13px}.customer-bar:disabled{cursor:default;box-shadow:none;outline:none}.customer-bar.profit.negative{background:#ef7a7a}.customer-drill-overlay{position:absolute;top:0;right:0;width:48%;height:100%;padding:18px;background:rgba(250,252,255,.98);border-left:1px solid #dce4f2;box-shadow:-20px 0 40px rgba(28,52,94,.11);transform:translateX(102%);opacity:0;transition:transform .28s ease,opacity .2s ease;overflow:auto;z-index:8}.customer-analysis-canvas.drill-active .customer-drill-overlay{transform:translateX(0);opacity:1}.customer-analysis-canvas.drill-active .customer-combo-wrap{width:54%}.customer-analysis-canvas.drill-active .customer-combo-head{display:grid}.customer-analysis-canvas.drill-active .customer-plot-layout{grid-template-columns:48px minmax(0,1fr) 48px}.customer-analysis-canvas.drill-active .customer-month{min-width:25px}.customer-analysis-canvas.drill-active .customer-bar{max-width:9px}.customer-drill-overlay .customer-drill-grid{grid-template-columns:1fr 1fr}.customer-drill-overlay .customer-donut-card{padding:11px}.customer-drill-overlay .customer-donut-body{grid-template-columns:96px 1fr;gap:9px}.customer-drill-overlay .customer-donut{width:92px}.customer-drill-overlay .customer-donut:after{inset:21px}.customer-drill-overlay .customer-donut-legend{max-height:120px}.drill-empty,.drill-placeholder{height:100%;min-height:120px;display:grid;place-content:center;text-align:center;gap:5px;color:#8190a6}.drill-empty strong{color:#334159}.drill-placeholder{height:auto;border:1px dashed #d7dfec;border-radius:14px}.customer-drill-overlay .customer-model-drill{margin-top:14px;padding-top:14px}@media(max-width:1200px){.customer-analysis-canvas.drill-active .customer-combo-wrap{width:48%}.customer-drill-overlay{width:54%}.customer-drill-overlay .customer-drill-grid{grid-template-columns:1fr}.customer-analysis-canvas .customer-month{min-width:30px}}@media(max-width:850px){.customer-analysis-canvas{overflow:auto}.customer-analysis-canvas.drill-active .customer-combo-wrap{width:100%}.customer-drill-overlay{position:relative;width:100%;height:auto;transform:none;opacity:1;display:none;border-left:0;border-top:1px solid #dce4f2}.customer-analysis-canvas.drill-active .customer-drill-overlay{display:block}.customer-combo-head{display:grid}.customer-plot-layout{min-width:720px}}

/* Floating customer drilldown: positioned near the hovered sales amount bar. */
.customer-analysis-canvas.drill-active .customer-combo-wrap{width:100%}.customer-analysis-canvas.drill-active .customer-combo-head{display:flex}.customer-analysis-canvas.drill-active .customer-plot-layout{grid-template-columns:62px minmax(0,1fr) 58px}.customer-analysis-canvas.drill-active .customer-month{min-width:42px}.customer-analysis-canvas.drill-active .customer-bar{max-width:13px}.customer-drill-overlay{position:fixed;right:auto;bottom:auto;height:auto;max-height:calc(100vh - 32px);padding:18px;border:1px solid #d5ddeb;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 24px 65px rgba(24,42,78,.24),0 0 0 1px rgba(255,255,255,.8) inset;transform:translateY(10px) scale(.985);transform-origin:center bottom;opacity:0;visibility:hidden;pointer-events:none;overflow:auto;z-index:1000;transition:opacity .16s ease,transform .2s cubic-bezier(.2,.8,.2,1),visibility .16s}.customer-analysis-canvas.drill-active .customer-drill-overlay{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto}.customer-drill-overlay:after{content:"";position:absolute;left:50%;bottom:-7px;width:13px;height:13px;border-right:1px solid #d5ddeb;border-bottom:1px solid #d5ddeb;background:#fff;transform:translateX(-50%) rotate(45deg)}.customer-drill-overlay .customer-drill-grid{grid-template-columns:1fr 1fr}.customer-drill-overlay .customer-donut-body{grid-template-columns:112px 1fr}.customer-drill-overlay .customer-donut{width:108px}.customer-drill-overlay .customer-donut:after{inset:25px}@media(max-width:850px){.customer-analysis-canvas.drill-active .customer-combo-wrap{width:100%}.customer-drill-overlay{position:fixed;display:block;width:calc(100vw - 24px)!important;max-height:72vh}.customer-combo-head{display:grid}.customer-plot-layout{min-width:720px}}

/* Refined chart system and two compact hover popovers. */
.customer-analysis-canvas{background:#fff}.customer-combo-wrap{padding:24px 26px 16px!important}.customer-combo-head{padding-bottom:16px;border-bottom:1px solid #edf1f6}.customer-combo-head strong{font-size:17px;letter-spacing:-.02em}.customer-combo-legend{gap:16px}.customer-combo-legend span{font-weight:600}.customer-combo-chart{border-left:0;border-bottom:1px solid #ccd6e5;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#e9eef5 25%)}.customer-bar{width:11px!important;border-radius:4px 4px 1px 1px;transition:opacity .16s ease,transform .16s ease,filter .16s ease}.customer-bar.sales{background:linear-gradient(180deg,#4169f6,#3156dc);box-shadow:0 5px 12px rgba(49,86,220,.18)}.customer-bar.cost{background:#9bb1f5}.customer-bar.profit{background:#52bb91}.customer-bar-set{gap:4px}.customer-month:has(.sales:hover) .customer-bar{transform:translateY(-2px);filter:saturate(1.08)}.customer-bars:has(.sales:hover) .customer-month:not(:has(.sales:hover)){opacity:.48}.customer-combo-chart polyline{stroke:#f26d65;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.customer-combo-chart circle{stroke:#f26d65;stroke-width:1.2;fill:#fff}.customer-axis{font-variant-numeric:tabular-nums;color:#8490a4}.customer-axis.right{color:#d96561}.customer-month>b{padding-top:8px;font-weight:650;color:#56637a}.customer-hover-hint{margin-top:14px;color:#8a96a8}.customer-drill-overlay,.customer-model-popover{position:fixed;right:auto;bottom:auto;height:auto;max-height:340px;padding:16px;border:1px solid #dce3ee;border-radius:16px;background:rgba(255,255,255,.985);box-shadow:0 18px 50px rgba(24,42,78,.2);opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;z-index:1000;transform:translateY(7px) scale(.99);transition:opacity .14s ease,transform .18s cubic-bezier(.2,.8,.2,1),visibility .14s}.customer-analysis-canvas.drill-active .customer-drill-overlay,.customer-analysis-canvas.model-active .customer-model-popover{opacity:1;visibility:visible;pointer-events:auto;transform:none}.customer-model-popover{z-index:1001;max-height:330px}.customer-drill-overlay:after{display:none}.customer-drill-head{margin-bottom:10px}.customer-drill-head strong{font-size:15px}.customer-drill-head span{font-size:10px}.customer-drill-overlay .customer-drill-grid,.customer-model-popover .customer-drill-grid{grid-template-columns:1fr 1fr;gap:10px}.customer-drill-overlay .customer-donut-card,.customer-model-popover .customer-donut-card{padding:11px;border-color:#e5eaf2;background:#fbfcfe}.customer-drill-overlay .customer-donut-card h5,.customer-model-popover .customer-donut-card h5{margin-bottom:8px;font-size:11px}.customer-drill-overlay .customer-donut-body,.customer-model-popover .customer-donut-body{grid-template-columns:82px minmax(0,1fr);gap:8px}.customer-drill-overlay .customer-donut,.customer-model-popover .customer-donut{width:78px}.customer-drill-overlay .customer-donut:after,.customer-model-popover .customer-donut:after{inset:19px}.customer-drill-overlay .customer-donut>span,.customer-model-popover .customer-donut>span{font-size:10px}.customer-drill-overlay .customer-donut-legend,.customer-model-popover .customer-donut-legend{max-height:116px;gap:2px}.customer-drill-overlay .customer-donut-legend button,.customer-model-popover .customer-donut-legend button{padding:3px;font-size:10px}.customer-model-popover .model-head{margin-bottom:9px}@media(max-width:1100px){.customer-drill-overlay,.customer-model-popover{max-width:calc(100vw - 24px)}.customer-drill-overlay .customer-drill-grid,.customer-model-popover .customer-drill-grid{grid-template-columns:1fr}}

/* Mature BI-style solid pies with outside branch labels. */
.customer-pie-card{min-width:0;background:#fff!important}.customer-pie-card h5{margin:0 0 4px!important;color:#344158;font-size:12px!important;font-weight:700}.customer-pie{display:block;width:100%;height:224px;overflow:visible}.customer-pie-slice path,.customer-pie-slice circle{cursor:default;stroke:#fff;stroke-width:1.2;transform-origin:70px 60px;animation:pieSliceIn .46s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--slice-delay);transition:opacity .22s ease,transform .28s cubic-bezier(.16,1,.3,1),filter .24s ease}.customer-pie-slice [data-brand-drill]{cursor:pointer}.customer-pie:has(path:hover,circle:hover) path:not(:hover),.customer-pie:has(path:hover,circle:hover) circle:not(:hover){opacity:.3}.customer-pie-slice path:hover,.customer-pie-slice path:focus,.customer-pie-slice circle:hover,.customer-pie-slice circle:focus{transform:scale(1.045);filter:saturate(1.08) drop-shadow(0 4px 4px rgba(35,50,80,.16));outline:none}.customer-pie-slice polyline{fill:none;stroke:#aeb8c8;stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none;transition:stroke .2s ease}.customer-pie-slice text{fill:#47546a;font-size:6.4px;font-weight:650;pointer-events:none}.customer-pie-slice .pie-percent{fill:#8490a2;font-size:5.7px;font-weight:500}.pie-total-label{fill:#8a95a6;font-size:5.7px}.customer-drill-overlay,.customer-model-popover{max-height:430px;transition:opacity .2s ease,transform .32s cubic-bezier(.16,1,.3,1),visibility .2s}.customer-drill-overlay .customer-donut-card,.customer-model-popover .customer-donut-card{padding:14px 13px}.customer-drill-overlay .customer-drill-grid,.customer-model-popover .customer-drill-grid{align-items:stretch}.customer-drill-overlay .customer-donut-card,.customer-model-popover .customer-donut-card{display:grid;grid-template-rows:auto 1fr}@keyframes pieSliceIn{from{opacity:0;transform:scale(.82) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0)}}

/* One large pie per popover with a quantity/amount segmented switch. */
.customer-drill-overlay{width:min(680px,calc(100vw - 32px))}.customer-model-popover{width:min(610px,calc(100vw - 32px))}.customer-drill-overlay,.customer-model-popover{max-height:min(520px,calc(100vh - 32px));padding:18px 20px 20px}.customer-drill-head{margin-bottom:12px}.customer-pie-switch{display:inline-grid;grid-template-columns:repeat(2,minmax(76px,1fr));gap:3px;padding:3px;margin-bottom:12px;border:1px solid #e0e6f0;border-radius:11px;background:#f2f5fa}.customer-pie-switch button{height:31px;padding:0 16px;border:0;border-radius:8px;background:transparent;color:#6e7a8e;font-size:12px;font-weight:700;cursor:pointer;transition:color .18s ease,background .22s ease,box-shadow .22s ease,transform .18s ease}.customer-pie-switch button:hover{color:#3156dc}.customer-pie-switch button:active{transform:scale(.97)}.customer-pie-switch button.active{color:#244dcf;background:#fff;box-shadow:0 2px 8px rgba(35,57,96,.12)}.customer-single-pie{animation:piePanelIn .3s cubic-bezier(.16,1,.3,1)}.customer-single-pie .customer-pie-card{padding:16px 18px 12px!important;border-radius:18px;border-color:#e1e7f0;background:linear-gradient(180deg,#fff,#fbfcfe)!important;box-shadow:0 8px 24px rgba(32,52,88,.055)}.customer-single-pie .customer-pie-card h5{font-size:13px!important}.customer-single-pie .customer-pie{height:282px}.customer-pie-slice .pie-line-anchor{fill:#fff;stroke:#9eaabd;stroke-width:.85;vector-effect:non-scaling-stroke;pointer-events:none;animation:none;transform:none}.customer-pie-slice:hover polyline{stroke:#74839a}.customer-pie-slice polyline{stroke-linejoin:round;stroke-linecap:round}@keyframes piePanelIn{from{opacity:.55;transform:translateY(3px) scale(.995)}to{opacity:1;transform:none}}@media(max-width:720px){.customer-drill-overlay,.customer-model-popover{width:calc(100vw - 24px)!important;padding:15px}.customer-single-pie .customer-pie{height:244px}.customer-pie-switch{width:100%}}

/* Larger pie with labels arranged around the actual slice angles. */
.customer-single-pie .customer-pie{height:326px}.customer-pie-slice path,.customer-pie-slice>circle:not(.pie-line-anchor){transform-origin:80px 64px}.customer-pie-slice polyline{stroke:#98a6ba;stroke-width:.9}.customer-pie-slice .pie-line-anchor{fill:#fff;stroke:#687891;stroke-width:1}.customer-pie-slice text{font-size:6.1px}.customer-pie-slice .pie-percent{font-size:5.5px}@media(max-width:720px){.customer-single-pie .customer-pie{height:276px}}

.customer-pie-slice path,.customer-pie-slice>circle:not(.pie-line-anchor){transform-origin:80px 74px}.customer-pie-slice polyline{stroke-width:.75;stroke:#8f9db1}.customer-pie-slice .pie-line-anchor{r:.9}

/* Focused customer-analysis interactions and hybrid pie labels. */
.customer-bar>span{opacity:.9;font-size:9px;font-weight:700;color:#4f5d73;text-shadow:0 1px 0 #fff}.customer-month{position:relative;transition:opacity .2s ease,filter .2s ease}.customer-month:after{content:"";position:absolute;inset:0 0 28px;z-index:6;border-radius:7px;background:rgba(235,239,245,.68);opacity:0;pointer-events:none;transition:opacity .2s ease}.customer-analysis-canvas.month-focus .customer-month:not(.focused):after{opacity:1}.customer-analysis-canvas.month-focus .customer-month:not(.focused){filter:grayscale(.75)}.customer-analysis-canvas.month-focus .customer-month.focused{z-index:7}.customer-combo-chart>svg circle[data-line-point]{pointer-events:all;cursor:crosshair;transition:opacity .2s ease,filter .2s ease,r .2s ease}.customer-analysis-canvas.month-focus .customer-combo-chart>svg .customer-margin-line{opacity:.28}.customer-analysis-canvas.month-focus .customer-combo-chart>svg circle[data-line-point]:not(.focused){opacity:.16}.customer-analysis-canvas.month-focus .customer-combo-chart>svg circle[data-line-point].focused{opacity:1;filter:drop-shadow(0 2px 3px rgba(242,109,101,.35));r:2}.customer-chart-tooltip{position:fixed;left:0;top:0;z-index:3000;display:grid;gap:4px;min-width:118px;max-width:220px;padding:10px 12px;border:1px solid #e0e5ee;border-radius:9px;background:rgba(255,255,255,.98);box-shadow:0 10px 28px rgba(25,43,75,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .16s ease,visibility .14s}.customer-chart-tooltip.show{opacity:1;visibility:visible;transform:none}.customer-chart-tooltip strong{color:#315bd8;font-size:12px}.customer-chart-tooltip span{color:#344158;font-size:12px;font-weight:650}.customer-pie-slice{transition:opacity .22s ease}.customer-pie:has([data-chart-tip]:hover) .customer-pie-slice:not(:has([data-chart-tip]:hover)){opacity:.18}.customer-pie:has([data-chart-tip]:focus) .customer-pie-slice:not(:has([data-chart-tip]:focus)){opacity:.18}.customer-pie-slice .pie-inside-label,.customer-pie-slice .pie-inside-percent{fill:#fff;font-weight:800;paint-order:stroke;stroke:rgba(31,48,78,.25);stroke-width:.7px}.customer-pie-slice .pie-inside-label{font-size:6.1px}.customer-pie-slice .pie-inside-percent{font-size:5.6px}.customer-pie-slice:has([data-chart-tip]:hover) path,.customer-pie-slice:has([data-chart-tip]:hover)>circle:not(.pie-line-anchor){transform:scale(1.035);filter:saturate(1.08) drop-shadow(0 5px 5px rgba(35,50,80,.18))}

/* Quick-analysis read-only catalog, global focus layer, and enlarged chart system. */
.workbench-card[data-analysis-stage="quick"] .database-sheet{pointer-events:none;cursor:default;color:#6f7887}.workbench-card[data-analysis-stage="quick"] .database-sheet:hover{background:transparent}.workbench-card[data-analysis-stage="quick"] .database-context:after{content:"快速分析自动联合读取所需数据；此处仅展示本地数据结构";display:block;margin-top:8px;color:#7f8a9c;font-size:10px;line-height:1.55}.customer-quick-card{position:relative;padding:18px;border:1px solid #e1e6ef;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(30,50,86,.075);transition:border-color .2s ease,box-shadow .2s ease}.customer-quick-card.selected{border-color:#7795ef;box-shadow:0 0 0 3px rgba(68,103,225,.1),0 20px 52px rgba(30,50,86,.1)}.customer-analysis-actions{display:flex;align-items:center;gap:14px}.customer-quick-select{display:flex!important;align-items:center!important;gap:8px!important;min-width:auto!important;padding:0!important;border:0!important;background:transparent!important;color:#4f5d73!important;font-size:12px!important;font-weight:750}.customer-quick-select input{width:17px;height:17px;accent-color:#315bd8}.customer-analysis-heading strong{font-size:20px}.customer-analysis-heading span{font-size:13px}.customer-analysis-heading select{min-width:210px;padding:11px 14px;font-size:13px}.customer-analysis-canvas{min-height:650px}.customer-analysis-canvas .customer-combo-chart{height:440px}.customer-axis{height:440px;font-size:12px}.customer-combo-head strong{font-size:20px}.customer-combo-head span,.customer-combo-legend,.customer-hover-hint{font-size:13px}.customer-month>b{font-size:12px}.customer-bar{width:16px!important;max-width:16px!important;border-radius:2px 2px 0 0;box-shadow:none!important}.customer-bar.sales{background:#3f67df}.customer-bar.cost{background:#91a7ed}.customer-bar.profit{background:#59b88d}.customer-bar>span{font-size:10px;font-weight:750;bottom:calc(100% + 7px)}.customer-combo-chart .customer-margin-line{fill:none;stroke:#ef746d;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.customer-combo-chart>svg circle[data-line-point]{fill:#fff;stroke:#ef746d;stroke-width:1.7;vector-effect:non-scaling-stroke}.customer-focus-backdrop{position:fixed;inset:0;z-index:900;background:rgba(239,242,247,.78);backdrop-filter:blur(1.2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s}.customer-analysis-canvas.month-focus .customer-focus-backdrop,.customer-analysis-canvas.drill-active .customer-focus-backdrop,.customer-analysis-canvas.model-active .customer-focus-backdrop{opacity:1;visibility:visible}.customer-analysis-canvas.month-focus .customer-bars{z-index:901}.customer-analysis-canvas.month-focus .customer-month:after{display:none}.customer-analysis-canvas.month-focus .customer-month:not(.focused){opacity:.14;filter:grayscale(1)}.customer-analysis-canvas.month-focus .customer-month.focused{opacity:1;filter:none}.customer-drill-overlay,.customer-model-popover{z-index:1000;max-height:min(600px,calc(100vh - 36px));padding:22px 24px;border-radius:22px;box-shadow:0 28px 80px rgba(24,42,78,.28)}.customer-model-popover{z-index:1001}.customer-chart-tooltip{z-index:1100}.customer-drill-head strong{font-size:19px}.customer-drill-head small{font-size:13px}.customer-single-pie .customer-pie{height:380px}.customer-pie-card h5{font-size:15px!important}.customer-pie-slice text{font-size:7.2px}.customer-pie-slice .pie-percent{font-size:6.5px}.customer-pie-slice .pie-inside-label{font-size:7.3px}.customer-pie-slice .pie-inside-percent{font-size:6.7px}.pie-total-label{font-size:6.6px}.customer-pie-switch{display:inline-flex;gap:0;padding:0;margin:2px 0 14px;overflow:hidden;border:1px solid #d9dfe9;border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(31,47,75,.08)}.customer-pie-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:118px;height:48px;padding:0 22px;border-radius:0;background:#fff;color:#5f6979;font-size:13px}.customer-pie-switch button+button{border-left:1px solid #d9dfe9}.customer-pie-switch button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.customer-pie-switch button.active{color:#315bd8;background:#f3f6ff;box-shadow:inset 0 -3px 0 #315bd8}.customer-pie-switch button:hover{background:#f6f8fb}@media(max-width:900px){.customer-analysis-actions{align-items:flex-end;flex-direction:column}.customer-single-pie .customer-pie{height:330px}}

/* Motion stabilization: hover never changes chart geometry. */
.customer-bar,.customer-month,.customer-focus-backdrop,.customer-drill-overlay,.customer-model-popover,.customer-pie-slice,.customer-pie-switch button{transition-timing-function:cubic-bezier(.22,1,.36,1)!important}.customer-bar{transform:none!important;transition:opacity .22s cubic-bezier(.22,1,.36,1),filter .22s cubic-bezier(.22,1,.36,1),background-color .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1)!important}.customer-month:has(.sales:hover) .customer-bar,.customer-bar:hover,.customer-bar:focus{transform:none!important}.customer-bars:has(.sales:hover) .customer-month:not(:has(.sales:hover)){opacity:1}.customer-bar.sales:hover,.customer-bar.sales:focus{filter:brightness(1.05) saturate(1.08);box-shadow:0 0 0 3px rgba(63,103,223,.13),0 8px 18px rgba(63,103,223,.2)!important}.customer-drill-overlay,.customer-model-popover{transform:translateY(8px);transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1),visibility .22s!important}.customer-analysis-canvas.drill-active .customer-drill-overlay,.customer-analysis-canvas.model-active .customer-model-popover{transform:translateY(0)}.customer-pie-switch button:active{transform:none}.customer-pie-slice path,.customer-pie-slice>circle:not(.pie-line-anchor){transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),filter .28s cubic-bezier(.22,1,.36,1)}

/* Card-level analysis naming and unified history actions. */
.wb-history-actions{display:flex;align-items:center;gap:10px;min-width:0}.workbench-nav-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0!important;border:1px solid #e0e4eb!important;border-radius:12px!important;background:#f2f3f6!important;color:#343c4a!important;box-shadow:5px 5px 11px #d9dce1,-5px -5px 11px #fff!important;cursor:pointer;transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease!important}.workbench-nav-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.workbench-nav-button:hover:not(:disabled){color:#315eea;transform:translateY(-1px);box-shadow:7px 7px 15px #d7dae0,-7px -7px 15px #fff!important}.workbench-nav-button:active:not(:disabled){transform:none;box-shadow:inset 3px 3px 7px #d5d8de,inset -3px -3px 7px #fff!important}.workbench-nav-button:focus-visible{outline:2px solid rgba(49,94,234,.28);outline-offset:3px}.workbench-nav-button:disabled{opacity:.38;cursor:default;box-shadow:none!important}
.chart-analysis-name{width:min(360px,100%);min-height:52px!important;padding:7px 13px 6px!important;border-radius:14px!important;flex:none}.chart-analysis-name input,.chart-analysis-name.is-named input{box-sizing:border-box;width:100%!important;min-width:0;padding:3px 0 8px!important;font-size:18px!important}.chart-analysis-name::after{left:13px!important;right:13px!important;bottom:7px!important}.customer-analysis-title-group,.manual-card-title-group{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}.customer-analysis-title-group>span,.manual-card-title-group>span{color:#7d8797;font-size:11px;font-weight:650}.customer-analysis-heading{align-items:flex-start}.manual-chart-card>header{align-items:flex-start}.manual-card-title-group{width:min(380px,calc(100% - 48px))}.manual-card-title-group .chart-analysis-name{width:100%}.manual-chart-card>header>[data-remove-manual]{flex:none;margin-top:4px}
@media(max-width:760px){.workbench-card .wb-top{flex-wrap:wrap}.wb-actions{margin-left:auto}.chart-analysis-name{width:min(100%,320px)}.customer-analysis-heading{gap:16px}.customer-analysis-title-group{width:100%}}

/* Keep the quick-analysis page title in the top action bar, clear of the chart cards. */
.workbench-card .wb-top{position:relative}.workbench-stage-title{display:none;position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%);color:#17233a;font-size:20px;font-weight:800;letter-spacing:2px;line-height:1;text-indent:2px}.workbench-card[data-analysis-stage="quick"] .workbench-stage-title,.workbench-card[data-analysis-stage="risk"] .workbench-stage-title{display:block}.workbench-card[data-analysis-stage="quick"] #chartTitle,.workbench-card[data-analysis-stage="quick"] #chartSubtitle,.workbench-card[data-analysis-stage="quick"] .customer-hover-hint,.workbench-card[data-analysis-stage="risk"] #chartTitle,.workbench-card[data-analysis-stage="risk"] #chartSubtitle,.workbench-card[data-analysis-stage="risk"] .customer-hover-hint{display:none!important}
.current-data-date{display:none;margin:0;text-align:right;line-height:1.2}.workbench-card[data-analysis-stage="quick"] .current-data-date:not([hidden]),.workbench-card[data-analysis-stage="risk"] .current-data-date:not([hidden]){display:flex;flex-direction:column;align-items:flex-end;justify-content:center}.current-data-date span{color:#8a94a5;font-size:10px}.current-data-date strong{margin-top:4px;color:#273248;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums}

/* Compact drilldown card while preserving the established pie size. */
.customer-drill-overlay{width:min(540px,calc(100vw - 24px))!important;padding:13px 15px 14px}
.customer-model-popover{width:min(510px,calc(100vw - 24px))!important;padding:13px 15px 14px}
.customer-drill-head{margin-bottom:5px}
.customer-drill-head small{font-size:11px}
.customer-pie-switch{margin-bottom:6px}
.customer-single-pie .customer-pie-card{padding:6px 10px 3px!important}
.customer-pie-slice .pie-guide-line{fill:none;stroke:#98a6ba;stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linecap:round;transition:stroke .2s ease}
.customer-pie-slice .pie-line-anchor{stroke:none;vector-effect:non-scaling-stroke;pointer-events:none;animation:none;transform:none}
.customer-pie-slice:hover .pie-guide-line{stroke:#74839a}

/* Customer margin line: straight segments with true circular HTML points. */
.customer-signed-chart .customer-bars{top:10px;bottom:0}
.customer-signed-chart .customer-bar-set{position:relative;align-items:stretch}
.customer-signed-chart .customer-bar{position:absolute;min-height:0;bottom:auto}
.customer-signed-chart .customer-bar.sales{left:calc(50% - 41px)}
.customer-signed-chart .customer-bar.cost{left:calc(50% - 13px)}
.customer-signed-chart .customer-bar.profit{left:calc(50% + 15px)}
.customer-signed-chart .customer-bar.negative{border-radius:0 0 4px 4px}
.customer-signed-chart .customer-bar.negative span{top:calc(100% + 5px);bottom:auto}
.customer-amount-zero{stroke:#8797ad;stroke-width:1;vector-effect:non-scaling-stroke}
.customer-month-unavailable{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);color:#7b879b}
.customer-line-points{position:absolute;inset:10px 18px 28px;z-index:4;pointer-events:none}
.customer-line-point{position:absolute;left:calc(var(--point-x)*1%);top:calc(var(--point-y)*1%);width:9px;height:9px;margin:0;padding:0;border:0;border-radius:50%;background:#ef746d;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(210,79,72,.28);transform:translate(-50%,-50%);pointer-events:auto;cursor:default;appearance:none}
.customer-line-point:hover,.customer-line-point:focus-visible{outline:0;background:#e85f58;box-shadow:0 0 0 3px rgba(239,116,109,.2),0 2px 7px rgba(210,79,72,.3)}
.customer-analysis-canvas.month-focus .customer-line-point{opacity:.18}
.customer-analysis-canvas.month-focus .customer-line-point.focused{opacity:1}
.customer-pie-slice [data-chart-tip][data-tip-title="其他"]{cursor:pointer}

/* Pie labels: no white separators; strong black two-segment leaders. */
.customer-pie-slice path,.customer-pie-slice>circle:not(.pie-line-anchor){stroke:none!important}
.customer-pie-slice .pie-guide-line{fill:none;stroke:#15191f;stroke-width:1.35;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linecap:square;stroke-linejoin:miter;transition:stroke .2s ease}
.customer-pie-slice:hover .pie-guide-line{stroke:#000}
.customer-analysis-canvas.month-focus .customer-bars .customer-month:not(.focused){opacity:.14}

/* Keep parent and child drilldown panels adjacent and visually hierarchical. */
.customer-drill-overlay{border-top:3px solid #315eea!important}.customer-model-popover{border-top-width:0!important;box-shadow:0 24px 70px rgba(42,36,91,.27)!important}.customer-drill-overlay .customer-drill-head small{color:#315eea;font-weight:750}.customer-model-popover .customer-drill-head small{color:#7659d6;font-weight:750}.customer-model-popover::before{content:"";position:absolute;top:34px;width:12px;height:12px;border:1px solid #dce3ee;background:#fff;transform:rotate(45deg);z-index:-1}.customer-model-popover[data-side="right"]::before{left:-7px;border-top:0;border-right:0}.customer-model-popover[data-side="left"]::before{right:-7px;border-bottom:0;border-left:0}
.workbench-card[data-analysis-stage="quick"] .database-context:after{content:attr(data-quick-source)!important}

/* Reference-faithful white segmented control for quantity and amount. */
.customer-pie-switch{display:inline-flex!important;gap:0!important;padding:0!important;overflow:hidden;border:1px solid #d9dee7!important;border-radius:12px!important;background:#fff!important;box-shadow:0 5px 14px rgba(31,41,55,.07)!important}.customer-pie-switch button{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-width:116px;height:46px;padding:0 20px!important;border:0!important;border-radius:0!important;background:#fff!important;color:#596273!important;font-size:13px;font-weight:650;box-shadow:none!important;transition:background-color .2s ease,color .2s ease!important}.customer-pie-switch button+button{border-left:1px solid #d9dee7!important}.customer-pie-switch button svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.5!important;stroke-linecap:round!important;stroke-linejoin:round!important}.customer-pie-switch button:hover{background:#f6f7f9!important;color:#253044!important}.customer-pie-switch button.active{background:#f1f4f8!important;color:#315eea!important;box-shadow:inset 0 -2px 0 #315eea!important}.customer-pie-switch button:active{transform:none!important;background:#e9edf3!important}.customer-pie-switch button:focus-visible{z-index:1;outline:2px solid rgba(49,94,234,.35);outline-offset:-3px}

/* Exact material-style icon segments plus resilient popover and pie bounds. */
.customer-pie-switch{width:216px!important;height:60px!important;margin:2px 0 12px!important;border:1px solid #d9dde5!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important}.customer-pie-switch button{min-width:108px!important;width:108px!important;height:60px!important;padding:0!important;background:#fff!important;color:#566171!important;box-shadow:none!important}.customer-pie-switch button span{display:none!important}.customer-pie-switch button svg{width:26px!important;height:26px!important;stroke-width:1.5!important}.customer-pie-switch button.active{background:#f7f8fa!important;color:#566171!important;box-shadow:none!important}.customer-pie-switch button:hover{background:#f4f5f7!important;color:#313a48!important}.customer-pie-switch button+button{border-left:1px solid #d9dde5!important}.customer-drill-overlay{width:min(540px,calc((100vw - 46px)/2))!important}.customer-model-popover{width:min(510px,calc((100vw - 46px)/2))!important}.customer-model-popover[data-side="stack"]::before{display:none}.customer-pie{overflow:hidden!important}.customer-pie-slice.tiny-slice .pie-line-anchor{stroke:#fff!important;stroke-width:.7!important;filter:drop-shadow(0 0 1px rgba(20,27,39,.55))}.customer-pie-slice .pie-guide-line{stroke-linecap:round!important;stroke-linejoin:round!important}@media(max-width:760px){.customer-drill-overlay,.customer-model-popover{width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important}.customer-pie-switch{width:216px!important}}

/* Rounded reaction-style selector requested for quantity and amount. */
.customer-pie-switch{display:inline-flex!important;width:auto!important;height:auto!important;gap:8px!important;margin:2px 0 14px!important;padding:8px!important;overflow:visible!important;border:0!important;border-radius:999px!important;background:#e8e4df!important;box-shadow:0 12px 24px rgba(42,38,34,.18)!important;transform-origin:left center;transition:transform .3s ease!important}.customer-pie-switch:hover{transform:scaleX(1.05)}.customer-pie-switch button{position:relative!important;flex:0 0 50px!important;min-width:50px!important;width:50px!important;height:50px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;color:#5d6675!important;box-shadow:0 3px 9px rgba(56,51,46,.08)!important;transform:translateY(0) scale(1);transition:transform .3s ease,color .2s ease,box-shadow .2s ease!important}.customer-pie-switch button+button{border-left:0!important}.customer-pie-switch button svg{width:24px!important;height:24px!important}.customer-pie-switch button::before{content:attr(data-label);position:absolute;left:50%;top:-25px;display:flex;align-items:center;justify-content:center;height:18px;padding:0 7px;border-radius:6px;background:rgba(20,20,20,.78);color:#fff;font-size:10px;font-weight:650;white-space:nowrap;opacity:0;visibility:hidden;transform:translate(-50%,5px) scale(.9);transition:opacity .2s ease,transform .25s ease,visibility .2s}.customer-pie-switch button:hover{z-index:2;background:#fff!important;color:#263142!important;box-shadow:0 10px 20px rgba(49,46,42,.18)!important;transform:translateY(-10px) scale(1.14)}.customer-pie-switch button:hover::before,.customer-pie-switch button:focus-visible::before{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}.customer-pie-switch button.active{background:#fff!important;color:#315eea!important;box-shadow:inset 0 0 0 2px rgba(49,94,234,.16),0 4px 10px rgba(49,94,234,.12)!important}.customer-pie-switch button:active{transform:translateY(-7px) scale(1.07)!important}@media(max-width:760px){.customer-pie-switch{width:auto!important}}
.customer-pie-switch .pie-mode-emoji{display:block;font-size:25px;line-height:1;font-style:normal;filter:saturate(.92);transform:translateY(-1px)}.customer-pie-switch button.active .pie-mode-emoji{filter:saturate(1.08)}

/* Screenshot refinement: softer selector, clean header, labels seated on leaders. */
.customer-pie-switch{background:#f5f2ee!important;box-shadow:0 9px 20px rgba(49,45,41,.12)!important}.customer-drill-overlay{border-top-width:0!important}.customer-single-pie .customer-pie-card h5{display:none!important}.customer-pie-slice .pie-guide-line{stroke-width:1.2!important}.customer-pie-slice text:not(.pie-inside-label):not(.pie-inside-percent){paint-order:stroke;stroke:#fff;stroke-width:.45px;stroke-linejoin:round}

/* Hover intent: brief reveal delay is handled in JS; motion stays calm and continuous. */
.customer-drill-overlay,.customer-model-popover{transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1),visibility .3s!important}.customer-model-popover .customer-single-pie,.customer-drill-overlay .customer-single-pie{animation:piePanelIn .42s cubic-bezier(.22,1,.36,1)}.customer-chart-tooltip{transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1),visibility .22s!important}

/* Explicit chart axes with units seated inside the plotting area. */
.customer-axis{position:relative}.customer-axis-unit{position:absolute;top:-20px;color:#6f7d92;font-size:11px;font-style:normal;font-weight:650;white-space:nowrap}.customer-axis.left .customer-axis-unit{right:-1px}.customer-axis.right .customer-axis-unit{left:-1px;color:#c95754}.customer-analysis-canvas .customer-combo-chart{border-left:1px solid #aebbd0!important;border-right:1px solid #aebbd0!important;border-bottom:1px solid #aebbd0!important}

/* Back button keeps the current surface while adopting the supplied arrow motion. */
.workbench-back-button{width:94px!important;gap:6px;padding:0 12px!important;letter-spacing:.04em}.workbench-back-button span{font-size:14px;font-weight:650;white-space:nowrap;transition:font-weight .2s ease,color .2s ease}.workbench-back-button svg{flex:none;margin:0;transition:transform .4s ease!important}.workbench-back-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:9px 9px 24px #d1d4da,-9px -9px 24px #fff!important}.workbench-back-button:hover:not(:disabled) svg{transform:translateX(-5px)}.workbench-back-button:hover:not(:disabled) span{font-weight:550}.workbench-back-button:active:not(:disabled){transform:translateY(0)}

/* Keep axis units inside the plot instead of above the card edge. */
.customer-axis-unit{top:8px!important;z-index:5;padding:2px 5px;border-radius:4px;background:rgba(255,255,255,.88);line-height:1.25;pointer-events:none}.customer-axis.left .customer-axis-unit{right:-92px!important}.customer-axis.right .customer-axis-unit{left:-92px!important}

/* Lighter, more compact analysis-name surface matched to the page palette. */
.chart-analysis-name,.chart-analysis-name.is-named{width:min(330px,100%)!important;height:50px!important;min-height:50px!important;padding:4px 7px!important;background:#f3f4f6!important;box-shadow:5px 5px 13px rgba(190,196,206,.62),-5px -5px 13px rgba(255,255,255,.9)!important}.chart-analysis-name input,.chart-analysis-name.is-named input{height:42px!important;padding:0 9px!important;background:#f3f4f6!important;font-size:17px!important}.chart-analysis-name:hover input,.chart-analysis-name:focus-within input{box-shadow:inset 4px 4px 4px #d9dce1,inset -4px -4px 4px #fff!important}

/* Confirm target first, then enter a cancellable card-selection state. */
.dashboard-add-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#7d8797;font-size:25px;cursor:pointer}
.dashboard-add-modal{z-index:3200}.dashboard-add-card{width:min(620px,92vw);padding:34px;border:1px solid #e0e5ed;border-radius:24px;box-shadow:0 30px 90px rgba(26,38,61,.2)}.dashboard-add-card>small{color:#6d84d5;font-size:10px;font-weight:800;letter-spacing:.12em}.dashboard-add-card h2{margin:8px 0 7px}.dashboard-add-card>p{max-width:500px;line-height:1.7}.dashboard-add-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0 18px}.dashboard-add-options button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;gap:4px 12px;min-height:112px;padding:18px;border:1px solid #dfe5ee;border-radius:16px;background:#f9fafc;color:#263248;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dashboard-add-options button:hover{transform:translateY(-2px);border-color:#aebeed;box-shadow:0 12px 28px rgba(39,61,105,.11)}.dashboard-add-options button>span{grid-row:1/3;display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:#e9eefc;color:#315eea;font-size:20px;font-weight:800}.dashboard-add-options strong{align-self:end;font-size:15px}.dashboard-add-options small{align-self:start;color:#7b8799;font-size:10px;line-height:1.5}.dashboard-add-card>#cancelDashboardAdd{width:100%}.dashboard-selection-cancel{height:46px!important}.dashboard-selection-mode .customer-quick-card,.dashboard-selection-mode .manual-chart-card{position:relative;transition:opacity .22s ease,box-shadow .22s ease}.dashboard-selection-mode .customer-quick-card.selected,.dashboard-selection-mode .manual-chart-card.dashboard-selected{box-shadow:0 0 0 3px rgba(45,195,140,.16),0 16px 36px rgba(36,87,68,.1)}.dashboard-selection-mode .fields,.dashboard-selection-mode .config,.dashboard-selection-mode .wb-history-actions,.dashboard-selection-mode .customer-analysis-actions,.dashboard-selection-mode .template-library,.dashboard-selection-mode .manual-inspector,.dashboard-selection-mode .manual-field-wells{opacity:.18;filter:grayscale(.7);pointer-events:none;transition:opacity .22s ease,filter .22s ease}.dashboard-selection-mode .wb-actions{position:relative;z-index:25}@media(max-width:680px){.dashboard-add-options{grid-template-columns:1fr}.dashboard-add-card{padding:26px 20px}}

/* Integrate the name editor as a quiet card title instead of a floating grey block. */
.chart-analysis-name,.chart-analysis-name.is-named{width:min(300px,100%)!important;height:44px!important;min-height:44px!important;padding:3px 5px!important;border:1px solid #e5e9f0!important;border-radius:12px!important;background:#fbfcfe!important;box-shadow:0 3px 9px rgba(35,50,75,.055)!important}.chart-analysis-name input,.chart-analysis-name.is-named input{height:36px!important;padding:0 9px!important;background:transparent!important;color:#1f2d46!important;font-size:16px!important;font-weight:700!important}.chart-analysis-name:hover,.chart-analysis-name:focus-within{border-color:#d9e0eb!important;box-shadow:0 5px 13px rgba(35,50,75,.075)!important}.chart-analysis-name:hover input,.chart-analysis-name:focus-within input{box-shadow:inset 2px 2px 3px rgba(194,201,212,.38),inset -2px -2px 3px rgba(255,255,255,.96)!important}.chart-analysis-name:focus-within{transform:none}

/* Final title surface: pure white, matching the analysis card. */
.chart-analysis-name,.chart-analysis-name.is-named,.chart-analysis-name input,.chart-analysis-name.is-named input{background:#fff!important}

/* Final analysis-name control: a compact white title field, without the grey block. */
.chart-analysis-name,.chart-analysis-name.is-named{display:flex!important;align-items:center!important;width:min(300px,100%)!important;height:44px!important;min-height:44px!important;padding:3px 5px!important;border:1px solid #e7ebf1!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;transition:border-color .2s ease,box-shadow .2s ease!important}.chart-analysis-name::before,.chart-analysis-name::after{display:none!important}.chart-analysis-name input,.chart-analysis-name.is-named input{width:100%!important;height:36px!important;padding:0 9px!important;border:0!important;border-radius:10px!important;outline:0!important;background:#fff!important;color:#1f2d46!important;font-size:16px!important;font-weight:700!important;text-align:left!important;box-shadow:none!important;transition:color .2s ease!important}.chart-analysis-name:hover,.chart-analysis-name:focus-within{border-color:#d8dee8!important;box-shadow:0 2px 7px rgba(35,50,75,.06)!important}.chart-analysis-name:hover input,.chart-analysis-name:focus-within input{background:#fff!important;box-shadow:none!important;color:#202735!important}.chart-analysis-name:focus-within{transform:none!important}.chart-analysis-name .analysis-floating-label{left:14px!important;top:50%!important;transform:translateY(-50%)!important}

/* Keep the selection cancel action in the same soft pill family as the primary action. */
.workbench-card .wb-actions .dashboard-selection-cancel{box-sizing:border-box!important;min-width:9.4em!important;height:46px!important;min-height:46px!important;padding:0 20px!important;border:0!important;border-radius:30em!important;background:#f7f8fa!important;color:#394354!important;font-family:inherit!important;font-size:13px!important;font-weight:700!important;box-shadow:4px 4px 10px rgba(197,201,208,.72),-4px -4px 10px #fff!important;cursor:pointer!important;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease!important}.workbench-card .wb-actions .dashboard-selection-cancel:hover{background:#fff!important;color:#202631!important;transform:translateY(-1px)!important;box-shadow:6px 6px 14px rgba(197,201,208,.68),-6px -6px 14px #fff!important}.workbench-card .wb-actions .dashboard-selection-cancel:active{transform:none!important;box-shadow:inset 3px 3px 8px rgba(197,201,208,.5),inset -3px -3px 8px #fff!important}

/* Strong directional axes with units clear of the top tick labels. */
.customer-analysis-canvas .customer-combo-chart{position:relative!important;border-left:2px solid #8797ad!important;border-right:2px solid #8797ad!important;border-bottom:2px solid #8797ad!important}.customer-axis-unit{top:27px!important;padding:2px 6px!important;background:rgba(255,255,255,.94)!important}.customer-axis.left .customer-axis-unit{right:-102px!important}.customer-axis.right .customer-axis-unit{left:-102px!important}.customer-axis.left::after,.customer-axis.right::after{content:"";position:absolute;top:-4px;z-index:6;width:0;height:0;border-right:5px solid transparent;border-bottom:9px solid #8797ad;border-left:5px solid transparent;pointer-events:none}.customer-axis.left::after{right:-13px}.customer-axis.right::after{left:-13px}.customer-analysis-canvas .customer-combo-chart::after{content:"";position:absolute;right:-7px;bottom:-6px;z-index:6;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:9px solid #8797ad;pointer-events:none}

/* Uiverse checkbox by DaniloMGutavo, adapted only for placement and accessibility. */
.checkbox-container{display:inline-block;position:relative;padding-left:35px;margin-bottom:12px;cursor:pointer;font-size:16px;user-select:none}.custom-checkbox{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:25px;width:25px;background-color:#eee;border-radius:4px;transition:background-color .3s;box-shadow:0 2px 5px rgba(0,0,0,.2)}.checkmark:after{content:"";position:absolute;display:none;left:9px;top:5px;width:5px;height:10px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg)}.custom-checkbox:checked~.checkmark{background-color:#2196f3;box-shadow:0 3px 7px rgba(33,150,243,.3)}.custom-checkbox:checked~.checkmark:after{display:block;animation:checkAnim .2s forwards}@keyframes checkAnim{0%{height:0}100%{height:10px}}.custom-checkbox:focus-visible~.checkmark{outline:2px solid rgba(33,150,243,.38);outline-offset:3px}

/* The white chart surface owns a real footer; the source checkbox itself stays structurally unchanged. */
.dashboard-card-selection-control{display:none}.dashboard-selection-mode .dashboard-card-selection-control{display:flex;position:static!important;inset:auto!important;align-items:center;justify-content:flex-end;flex:none;gap:10px;color:#43516a;font-size:12px;font-weight:750}.dashboard-selection-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;min-height:64px;margin-top:20px;padding:15px 0 0;border-top:1px solid #edf1f6}.customer-analysis-canvas>.dashboard-selection-footer{flex:none;margin:0 26px;padding:15px 0 18px}.dashboard-selection-mode .customer-analysis-canvas{display:flex;min-height:714px;flex-direction:column}.dashboard-selection-mode .customer-analysis-canvas>.customer-combo-wrap{flex:1;height:auto!important}.dashboard-card-check.checkbox-container{display:inline-block!important;position:relative!important;inset:auto!important;flex:none!important;box-sizing:content-box;width:25px!important;height:25px!important;padding-left:35px!important;margin:0!important;font-size:16px}.dashboard-card-check.checkbox-container .checkmark{position:absolute!important;inset:0 auto auto 0!important}.dashboard-card-selection-copy{white-space:nowrap}.customer-quick-card>.dashboard-card-check{display:none!important}.dashboard-selection-mode .customer-quick-card,.dashboard-selection-mode .manual-chart-card{padding-bottom:18px!important}@media(max-width:760px){.dashboard-selection-footer{min-height:58px;margin-top:16px}.customer-analysis-canvas>.dashboard-selection-footer{margin-inline:20px}}

/* Remove the redundant customer-brand-model breadcrumb below the card title. */
.customer-analysis-title-group>span{display:none!important}

/* Saved customer analyses remain interactive inside each dashboard card. */
.dashboard-customer-analysis{min-width:0}.dashboard-customer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:10px 12px;border:1px solid #e4e9f1;border-radius:12px;background:#f8faff;color:#748096;font-size:11px}.dashboard-customer-toolbar label{display:flex;align-items:center;gap:9px;color:#43516a;font-weight:750}.dashboard-customer-toolbar select{min-width:170px;padding:8px 30px 8px 10px;border:1px solid #d7dfeb;border-radius:9px;background:#fff;color:#273650}.saved-card-body .dashboard-customer-analysis .customer-analysis-canvas{min-height:560px}.saved-card-body .dashboard-customer-analysis .customer-combo-chart,.saved-card-body .dashboard-customer-analysis .customer-axis{height:380px}@media(max-width:900px){.dashboard-customer-toolbar{align-items:flex-start;flex-direction:column}.dashboard-customer-toolbar select{min-width:150px}}

/* Customer quick-analysis motion polish: clockwise pie reveal, deeper surfaces, softer entrances. */
.customer-quick-card{border-color:rgba(205,215,230,.92)!important;background:linear-gradient(155deg,#fff 0%,#fdfefe 62%,#f7f9fd 100%)!important;box-shadow:0 2px 5px rgba(24,39,68,.04),0 18px 42px rgba(31,52,91,.10),0 42px 90px rgba(43,60,91,.07)!important}.customer-combo-wrap{position:relative;border:1px solid rgba(219,226,237,.92);border-radius:20px;background:linear-gradient(165deg,#fff 0%,#fbfcff 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 24px rgba(38,56,90,.065),0 26px 60px rgba(48,63,91,.055)}.customer-combo-wrap::before{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,.58),transparent 34%,rgba(89,119,206,.035));content:"";pointer-events:none}.customer-drill-overlay,.customer-model-popover{border-color:rgba(210,218,232,.94)!important;background:linear-gradient(155deg,rgba(255,255,255,.995),rgba(247,249,253,.99))!important;box-shadow:0 3px 8px rgba(32,43,65,.08),0 24px 64px rgba(35,49,79,.20),0 52px 110px rgba(44,38,94,.12)!important;transform:translateY(16px) scale(.965)!important;transition:opacity .44s cubic-bezier(.22,1,.36,1),transform .62s cubic-bezier(.16,1,.3,1),visibility .44s!important}.customer-analysis-canvas.drill-active .customer-drill-overlay,.customer-analysis-canvas.model-active .customer-model-popover{transform:translateY(0) scale(1)!important}.customer-single-pie{animation:customerPiePanelReveal .70s cubic-bezier(.16,1,.3,1) both!important}.customer-single-pie .customer-pie-card{background:linear-gradient(160deg,#fff,#f8faff)!important;box-shadow:inset 0 1px 0 #fff,0 9px 22px rgba(39,54,84,.08),0 22px 54px rgba(45,56,88,.07)!important}.customer-pie-slice{opacity:0;transform-box:view-box;transform-origin:70px 60px;animation:customerSliceSweep .78s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--slice-delay) * 1.85)}.customer-pie-slice path,.customer-pie-slice>circle:not(.pie-line-anchor){animation:none!important}.customer-pie-slice .pie-guide-line,.customer-pie-slice text,.customer-pie-slice .pie-line-anchor{opacity:0;animation:customerPieLabelReveal .42s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--slice-delay) * 1.85 + .38s)}.saved-card{border-color:rgba(210,219,233,.94)!important;background:linear-gradient(155deg,#fff 0%,#fbfcff 100%)!important;box-shadow:0 2px 5px rgba(26,40,64,.04),0 16px 38px rgba(36,51,80,.10),0 38px 84px rgba(40,53,82,.07)!important}.saved-card:hover{box-shadow:0 4px 10px rgba(27,42,69,.06),0 22px 50px rgba(37,52,82,.14),0 48px 96px rgba(43,55,84,.09)!important}.dashboard-customer-toolbar{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 7px 18px rgba(42,58,88,.07)}@keyframes customerPiePanelReveal{0%{opacity:0;transform:translateY(12px) scale(.975);filter:blur(3px)}100%{opacity:1;transform:none;filter:none}}@keyframes customerSliceSweep{0%{opacity:0;transform:rotate(-18deg) scale(.70)}45%{opacity:1}100%{opacity:1;transform:rotate(0) scale(1)}}@keyframes customerPieLabelReveal{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.customer-single-pie,.customer-pie-slice,.customer-pie-slice .pie-guide-line,.customer-pie-slice text,.customer-pie-slice .pie-line-anchor{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.customer-drill-overlay,.customer-model-popover{transition-duration:.01ms!important}}

/* Align both top action edges to the outer quick-analysis card below. */
.workbench-card[data-analysis-stage="quick"],.workbench-card[data-analysis-stage="risk"]{--quick-secondary-card-edge:calc(24px + 1px + 24px + 2px)}
.workbench-card[data-analysis-stage="quick"]>.workbench-operation>.wb-top,.workbench-card[data-analysis-stage="risk"]>.workbench-operation>.wb-top{padding-inline:var(--quick-secondary-card-edge)!important}
