.auth-shell{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:32px;background:var(--bg-page)}.auth-card{width:420px;padding:32px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-2)}.auth-card h1{margin:12px 0;font-size:24px;color:var(--text-primary)}.auth-card p{color:var(--text-secondary);line-height:1.7}.auth-brand{color:var(--accent);font-size:13px;font-weight:600}.auth-login{margin-top:16px;width:100%;min-height:40px}.auth-error{padding:12px;color:var(--warn);background:var(--bg-subtle);font-size:13px}.auth-user{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.auth-pending{padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-4)}:root{--space-0: 0;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 32px;--space-9: 40px;--space-10: 48px;--space-11: 64px;--space-12: 80px;--fs-12: 12px;--lh-12: 16px;--fs-13: 13px;--lh-13: 20px;--fs-14: 14px;--lh-14: 22px;--fs-16: 16px;--lh-16: 24px;--fs-20: 20px;--lh-20: 28px;--fs-24: 24px;--lh-24: 32px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--n0: #ffffff;--n25: #fbfcfd;--n50: #f7f8fa;--n100: #f1f3f5;--n200: #e5e8ec;--n300: #d3d8df;--n400: #a9b1bc;--n500: #7c8794;--n600: #5b6672;--n700: #3f4854;--n800: #262d36;--n900: #141a21;--accent: #655d91;--accent-hover: #554d7c;--accent-soft: #f0edf7;--text-on-accent: #ffffff;--ok: #15803d;--ok-soft: #f0fdf4;--warn: #b45309;--warn-soft: #fffbeb;--bg-page: var(--n50);--bg-surface: var(--n0);--bg-subtle: var(--n25);--text-primary: var(--n800);--text-body: var(--n700);--text-secondary: var(--n600);--text-muted: var(--n600);--text-disabled: var(--n400);--border-subtle: var(--n200);--border-control: var(--n300);--focus-ring: var(--accent);--series-spend: var(--ok);--series-gmv: var(--accent);--series-roi: #d97706;--series-previous: var(--n500);--data-bar: #e3f3e8;--heat-high: #f0fdf4;--heat-mid: var(--n100);--heat-low: var(--warn-soft);--radius-control: 6px;--radius-chip: 4px;--radius-card: 8px;--radius-dialog: 12px;--radius-pill: 999px;--radius-0: 0;--radius-2: 2px;--radius-4: 4px;--radius-6: 6px;--radius-8: 8px;--radius-12: 12px;--radius-full: 999px;--shadow-1: 0 1px 2px rgba(15, 23, 42, .06);--shadow-2: 0 4px 12px rgba(15, 23, 42, .08);--shadow-3: 0 12px 32px rgba(15, 23, 42, .12);--overlay: rgba(20, 26, 33, .32);--control-height: 32px;--content-max: 1440px}:root{font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,Noto Sans SC,Segoe UI,Arial,sans-serif;color:var(--text-body);background:var(--bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: var(--text-primary);--muted: var(--text-secondary);--purple: var(--accent);--purple-dark: var(--accent-hover);--line: var(--border-subtle);--panel: var(--bg-surface)}*{box-sizing:border-box}body{margin:0;min-width:1120px;min-height:100vh;background:var(--bg-page);color:var(--ink);font-size:var(--fs-14);line-height:var(--lh-14);font-variant-numeric:tabular-nums}button,input,select{font:inherit}button{color:inherit}.dashboard-shell{width:100%;max-width:none;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-8)}.prototype-banner{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);color:var(--text-secondary);font-size:var(--fs-12)}.prototype-banner span:first-child{padding:var(--space-1) var(--space-3);border:1px solid var(--accent-soft);border-radius:var(--radius-4);background:var(--accent-soft);color:var(--accent);font-weight:600}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-7);margin-bottom:var(--space-5)}.eyebrow{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--fs-13);font-weight:600;letter-spacing:.02em}.page-header h1{margin:0;color:var(--text-primary);font-size:var(--fs-24);font-weight:600;letter-spacing:-.025em}.page-subtitle{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--fs-13)}.data-freshness-status,.data-freshness{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--fs-12)}.data-freshness{position:relative;width:fit-content}.data-freshness summary{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);min-height:24px;list-style:none;cursor:pointer}.data-freshness summary::-webkit-details-marker{display:none}.data-freshness summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-4)}.freshness-toggle{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent);white-space:nowrap}.freshness-toggle>span{display:inline-block}.data-freshness[open] .freshness-toggle>span{transform:rotate(180deg)}.freshness-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:35;width:min(440px,calc(100vw - 48px));padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);color:var(--text-body);box-shadow:var(--shadow-2)}.freshness-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.freshness-heading strong{color:var(--text-primary);font-size:var(--fs-13)}.freshness-heading>span{color:var(--text-secondary)}.freshness-times{display:grid;gap:var(--space-2);margin:0}.freshness-times>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:var(--space-3)}.freshness-times dt{color:var(--text-secondary)}.freshness-data-hour{display:block;margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--fs-12);line-height:1.5;overflow-wrap:anywhere}.freshness-times dd{margin:0;color:var(--text-primary);white-space:nowrap}.freshness-source-heading{margin:var(--space-4) 0 var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--fs-12);font-weight:600}.freshness-note{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-12);line-height:1.6}.header-actions,.filter-actions,.detail-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.division-selector{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-6);background:var(--bg-subtle);color:var(--accent);font-size:var(--fs-13);font-weight:600}.division-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent)}.division-selector select{max-width:190px;padding:0 20px 0 0;border:0;outline:0;background:transparent;color:inherit;font-weight:inherit;cursor:pointer}.division-selector select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-loading{padding:var(--space-6);color:var(--text-secondary)}.dashboard-load-error{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.dashboard-load-error p{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--h-btn-32);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-control);font-size:var(--fs-13);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.button-light{border-color:var(--border-control);background:var(--bg-surface);color:var(--text-body)}.button-light:hover{border-color:var(--accent);color:var(--accent-hover)}.button-primary{background:var(--accent);color:var(--text-on-accent)}.button-primary:hover{background:var(--accent-hover)}.button-quiet{background:transparent;color:var(--text-secondary)}.button-quiet:hover{background:var(--accent-soft);color:var(--accent-hover)}.filter-panel,.overview-section,.detail-section{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--panel);box-shadow:none}.filter-panel{padding:var(--space-5) var(--space-5) var(--space-4)}.filter-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.filter-heading{margin-bottom:var(--space-4)}.filter-title{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text-body);font-size:var(--fs-14);font-weight:600}.filter-title .anticon{color:var(--accent)}.filter-state{padding:var(--space-1) var(--space-3);border-radius:var(--radius-chip);font-size:var(--fs-12);font-weight:500}.filter-state.applied{background:var(--n100);color:var(--text-secondary)}.filter-state.pending{background:var(--warn-soft);color:var(--warn)}.filter-grid{display:grid;grid-template-columns:minmax(332px,1.1fr) minmax(350px,1.2fr) minmax(318px,1fr) minmax(318px,1fr) minmax(210px,.9fr);gap:var(--space-2)}.filter-group{display:flex;min-width:0;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-4);background:var(--bg-surface)}.filter-group .filter-field{padding:0}.filter-field{min-width:0;padding:var(--space-2) 0}.applied-filter-strip{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0}.applied-filter-title{color:var(--text-secondary);font-size:var(--fs-12);font-weight:500}.applied-filter-tag{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--h-btn-28);padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-chip);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--fs-12)}.applied-filter-tag strong{color:var(--text-body);font-weight:500}.filter-field>label,.anchor-select-wrap>label{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);color:var(--text-body);font-size:var(--fs-13);font-weight:600}.product-field,.date-field,.period-field{display:block;min-width:0}.product-field>label,.date-field>label,.period-field>label{margin-bottom:var(--space-3);white-space:nowrap}.field-hint{color:var(--text-secondary);font-size:var(--fs-12);font-weight:400}.product-options{display:grid;grid-template-columns:repeat(2,max-content);min-width:0;gap:var(--space-3)}.product-chip{display:inline-flex;align-items:center;gap:var(--space-2);flex:0 0 auto;max-width:100%;min-height:var(--h-btn-32);padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-4);background:var(--bg-surface);color:var(--text-body);font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer}.product-chip:hover{border-color:var(--accent);color:var(--accent)}.product-chip.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.product-chip-check{display:inline-flex;flex:0 0 var(--fs-12);width:var(--fs-12);align-items:center;justify-content:center;font-size:var(--fs-12)}.product-chip-check>span{width:var(--fs-12);height:var(--fs-12)}.product-chip-check .anticon{font-size:var(--fs-12)}.all-products{align-self:center;padding:var(--space-2) var(--space-2);color:var(--text-secondary);font-size:var(--fs-12)}.date-inputs{display:flex;align-items:center;gap:var(--space-3)}.date-field-controls{width:100%;min-width:0}.date-inputs input{width:45%;min-width:145px;height:var(--h-btn-32);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-4);background:var(--bg-surface);color:var(--text-body);font-size:var(--fs-13)}.date-separator{color:var(--text-secondary);font-size:var(--fs-12)}.linked-filter-field,.anchor-field{display:block;min-width:0}.linked-filter-field>label,.anchor-field>label{margin-bottom:var(--space-3);white-space:nowrap}.anchor-field .select-shell,.linked-filter-field .multi-select-wrap{width:100%}.date-specific-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.multi-select-wrap{position:relative;min-width:0}.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--h-btn-32);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text-body);font-size:var(--fs-13);text-align:left;cursor:pointer}.multi-select-trigger:hover{border-color:var(--text-secondary)}.multi-select-trigger .anticon{color:var(--text-secondary);font-size:var(--fs-12)}.multi-select-popover{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:24;width:min(280px,82vw);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-2)}.multi-select-popover>input{width:100%;height:var(--h-btn-32);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-control);color:var(--text-body);font-size:var(--fs-13)}.multi-select-options{max-height:210px;overflow:auto;margin:var(--space-3) calc(-1 * var(--space-1))}.multi-select-option{display:flex;align-items:center;gap:var(--space-3);min-height:var(--h-btn-32);padding:var(--space-2) var(--space-2);border-radius:var(--radius-chip);color:var(--text-body);font-size:var(--fs-13);cursor:pointer}.multi-select-option:hover{background:var(--accent-soft)}.anchor-option{width:100%;border:0;background:transparent;text-align:left}.multi-select-option input,.column-option input{accent-color:var(--accent)}.select-all-option{border-bottom:1px solid var(--border-subtle);border-radius:0}.multi-select-empty{padding:var(--space-4) var(--space-2);color:var(--text-secondary);font-size:var(--fs-12);text-align:center}.multi-select-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.multi-select-actions .button{min-height:var(--h-btn-28);padding:0 var(--space-3)}.quick-ranges,.segment-options{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.quick-ranges{display:grid;grid-template-columns:repeat(5,max-content);margin-top:0}.quick-ranges button{flex:0 0 auto;min-width:48px;justify-content:center;font-weight:var(--fw-medium);white-space:nowrap}.quick-ranges button,.segment-options button{min-height:var(--h-btn-28);padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-4);background:transparent;color:var(--text-secondary);font-size:var(--fs-12);cursor:pointer}.quick-ranges button:hover,.segment-options button:hover{background:var(--accent-soft);color:var(--accent-hover)}.quick-ranges button.active,.segment-options button.active{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent)}.quick-ranges .quick-more{color:var(--text-secondary)}.segment-options{display:grid;grid-template-columns:repeat(5,max-content);gap:var(--space-2);margin-top:0}.segment-options button{min-width:54px;padding:0 var(--space-2);border-color:var(--border-subtle);background:var(--bg-surface)}.anchor-select-wrap{display:grid;grid-template-columns:55px minmax(160px,1fr);align-items:center;gap:var(--space-4);margin-top:var(--space-5)}.anchor-select-wrap>label{margin:0}.select-shell{position:relative}.select-shell select{width:100%;height:var(--h-btn-32);padding:0 var(--space-7) 0 var(--space-3);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text-body);font-size:var(--fs-13);cursor:pointer}.select-shell>.anticon{position:absolute;top:var(--space-3);right:var(--space-3);pointer-events:none;color:var(--text-secondary);font-size:var(--fs-12)}.overview-section{margin-top:var(--space-5);padding:var(--space-5)}.section-heading h2{margin:0;color:var(--text-primary);font-size:var(--fs-20);font-weight:600}.section-heading p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--fs-12)}.period-switch{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1);border:1px solid var(--border-subtle);border-radius:var(--radius-6);background:var(--bg-subtle)}.period-switch button{min-width:64px;height:var(--h-btn-32);border:0;border-radius:var(--radius-chip);background:transparent;color:var(--text-secondary);font-size:var(--fs-12);cursor:pointer}.period-switch button.active{background:var(--bg-surface);color:var(--accent);box-shadow:var(--shadow-1);font-weight:600}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-5)}.kpi-card{min-height:96px;padding:var(--space-4) var(--space-5);border:1px solid var(--border-subtle);border-left:2px solid var(--accent);border-radius:var(--radius-card);background:var(--bg-surface)}.kpi-card.green{border-left-color:var(--series-spend)}.kpi-card.neutral{border-left-color:var(--n500)}.kpi-label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--text-secondary);font-size:var(--fs-13)}.kpi-value{margin-top:var(--space-3);color:var(--text-primary);font-size:var(--fs-24);font-weight:600;letter-spacing:-.01em;line-height:var(--lh-24)}.kpi-footnote{display:flex;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);color:var(--text-secondary);font-size:var(--fs-12)}.metric-info-button{display:inline-flex;align-items:center;justify-content:center;width:var(--h-btn-28);height:var(--h-btn-28);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);cursor:help}.trend-card{min-width:0;margin-top:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface)}.trend-card-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.trend-card-heading h3{margin:0;color:var(--text-body);font-size:var(--fs-14);font-weight:600}.trend-card-heading p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--fs-12)}.combined-trend-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-top:var(--space-3);color:var(--text-secondary);font-size:var(--fs-12)}.combined-trend-legend button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:0;border-radius:var(--radius-chip);background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer}.combined-trend-legend button:hover{background:var(--bg-subtle);color:var(--text-body)}.combined-trend-legend button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.combined-trend-legend button.is-hidden,.combined-trend-legend button.is-hidden .series-swatch{color:var(--text-disabled)}.combined-trend-legend button.is-hidden .legend-line{border-top-color:var(--text-disabled)}.combined-trend-legend button.is-hidden .legend-line.roi:after{background:var(--text-disabled)}.series-swatch{display:inline-flex;align-items:flex-end;width:8px;height:12px;color:var(--series-spend)}.series-swatch.gmv{color:var(--series-gmv)}.series-swatch i{display:block;width:4px;height:12px;border-radius:1px 1px 0 0;background:currentColor}.legend-line{position:relative;display:inline-block;width:var(--space-5);height:0;border-top:2px solid var(--text-secondary)}.legend-line.roi{border-top-color:var(--series-roi)}.legend-line.roi:after{position:absolute;top:-4px;left:7px;width:6px;height:6px;border-radius:50%;background:var(--series-roi);content:""}.chart-wrap{height:232px;margin-top:var(--space-2)}.chart-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:var(--fs-12)}.detail-section{margin-top:var(--space-5);padding:var(--space-5) 0 0;overflow:hidden}.detail-layout{display:flex;align-items:stretch;gap:var(--space-3);min-width:0}.dimension-sidebar{display:flex;flex:0 0 280px;min-width:0;min-height:680px;overflow:hidden;border-right:1px solid var(--border-subtle);background:transparent}.dimension-sidebar.collapsed{flex-basis:36px;align-self:flex-start;min-height:0;height:40px}.dimension-sidebar-rail{display:flex;flex:0 0 36px;flex-direction:column;align-items:center;padding-top:var(--space-2);background:transparent}.sidebar-collapse-button{display:inline-flex;width:var(--h-btn-28);height:var(--h-btn-28);align-items:center;justify-content:center;border:0;border-radius:var(--radius-chip);background:transparent;color:var(--accent);cursor:pointer}.sidebar-collapse-button:hover{background:var(--accent-soft)}.dimension-sidebar-content{display:flex;flex:1;min-width:0;flex-direction:column;gap:var(--space-2);padding:var(--space-2)}.column-search-box{display:flex;height:var(--h-btn-32);flex:0 0 var(--h-btn-32);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-bottom:1px solid var(--border-control);color:var(--text-secondary)}.column-search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-body);font:inherit}.column-search-box input::placeholder{color:var(--text-muted)}.column-panel-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border-subtle)}.column-panel-tabs button{min-height:var(--h-btn-32);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--fs-13);cursor:pointer}.column-panel-tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.dimension-panel-list{display:flex;flex:1;min-height:0;flex-direction:column}.column-select-all{display:flex;min-height:var(--h-btn-32);align-items:center;gap:var(--space-2);padding:0 var(--space-2);border-bottom:1px solid var(--border-subtle);color:var(--text-body);font-size:var(--fs-13)}.column-select-all input,.sidebar-column-check input{accent-color:var(--accent)}.column-panel-options{flex:1;min-height:0;overflow:auto}.sidebar-column-item{display:flex;min-height:var(--h-btn-32);align-items:center;gap:var(--space-2);padding:0 var(--space-1) 0 var(--space-2);border-radius:var(--radius-chip);color:var(--text-body);font-size:var(--fs-12)}.sidebar-column-item:hover,.sidebar-column-item.dragging{background:var(--accent-soft)}.sidebar-column-check{display:flex;flex:1;min-width:0;align-items:center;gap:var(--space-2);cursor:pointer}.sidebar-column-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-drag-handle{flex:0 0 auto;color:var(--text-muted);cursor:grab}.column-search-empty{padding:var(--space-4) var(--space-2);color:var(--text-secondary);font-size:var(--fs-12);text-align:center}.detail-table-main{flex:1;min-width:0}.detail-heading{padding:0 var(--space-5) var(--space-4)}.detail-title-wrap{display:inline-flex;align-items:center;gap:var(--space-2)}.detail-help-anchor{position:relative;display:inline-flex;align-items:center}.detail-info-button{width:var(--h-btn-28);height:var(--h-btn-28);padding:0;color:var(--text-muted)}.detail-info-button:hover,.detail-info-button:focus-visible{color:var(--accent)}.detail-help-tooltip{position:absolute;z-index:40;top:calc(100% + var(--space-2));left:0;display:grid;width:min(360px,calc(100vw - var(--space-8)));gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-2);color:var(--text-body);font-size:var(--fs-12);font-weight:var(--fw-regular);line-height:var(--lh-13);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .14s ease}.detail-help-tooltip strong{color:var(--text-primary);font-size:var(--fs-13);font-weight:var(--fw-semibold)}.detail-help-tooltip b{color:var(--text-primary);font-weight:var(--fw-semibold)}.detail-help-anchor:hover .detail-help-tooltip,.detail-help-anchor:focus-within .detail-help-tooltip{opacity:1;pointer-events:auto;visibility:visible}.detail-actions{gap:var(--space-4)}.table-more-button{min-height:var(--h-btn-32)}.table-container{max-height:580px;overflow:auto;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);scrollbar-color:var(--series-previous) var(--bg-subtle);scrollbar-width:thin}.data-table{width:max-content;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--fs-13);font-variant-numeric:tabular-nums}.data-table th,.data-table td{position:relative;height:40px;padding:0 var(--space-3);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.data-table th{position:sticky;top:0;z-index:6;height:48px;padding:0 var(--space-3);background:var(--accent);color:var(--text-on-accent);font-size:var(--fs-13);font-weight:500;text-align:center}.data-table td{overflow:hidden;background:var(--bg-surface);color:var(--text-body);text-align:right}.data-table tr.stripe-row td{background:var(--bg-surface)}.data-table .daily-row td{height:40px;background:var(--n100);color:var(--text-body);font-weight:600}.data-table .daily-row td:first-child,.data-table .daily-row .metric-paymentRoi,.data-table .daily-row .metric-netRoi{color:var(--accent)}.data-table .sticky-col{position:sticky;z-index:3;background:var(--bg-surface)}.data-table thead .sticky-col{z-index:8;background:var(--accent)}.data-table tbody .sticky-col{box-shadow:1px 0 0 var(--border-subtle)}.data-table tbody .stripe-row .sticky-col{background:var(--bg-surface)}.data-table tbody .daily-row .sticky-col{background:var(--n100)}.data-table .sticky-product,.data-table .sticky-date,.data-table .sticky-period,.data-table .sticky-anchor{text-align:left}.data-table .col-money,.data-table .col-number,.data-table .col-count,.data-table .col-percent{width:125px;min-width:125px}.data-table .col-percent{width:160px;min-width:160px}.data-table .th-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:40px;padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;text-align:center;white-space:nowrap;cursor:default}.data-table .th-button.sortable{cursor:pointer}.data-table .th-button.sortable:hover{color:var(--accent-soft)}.data-table .th-button:focus-visible{outline:2px solid var(--text-on-accent);outline-offset:-3px;border-radius:var(--radius-chip)}.data-table .th-label{display:inline-flex;align-items:center;gap:var(--space-1)}.data-table .th-button{min-width:0}.data-table .th-label{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .column-resize-handle{position:absolute;top:6px;right:-5px;z-index:11;width:10px;height:36px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;cursor:col-resize;touch-action:none}.data-table .column-resize-handle:after{position:absolute;top:10px;bottom:10px;left:4px;width:1px;border-radius:1px;background:#ffffff61;content:""}.data-table .column-resize-handle:hover,.data-table .column-resize-handle:focus-visible{background:#ffffff52;outline:2px solid var(--text-on-accent);outline-offset:-2px}.data-table .column-resize-handle:hover:after,.data-table .column-resize-handle:focus-visible:after{width:2px;background:#fff}.data-table .column-resize-handle:active{background:#ffffff7a}.data-table .cell-value{display:block;overflow:hidden;text-overflow:ellipsis}.derived-marker{color:var(--text-on-accent);font-size:var(--fs-12);font-weight:var(--fw-semibold);line-height:1}.column-help-tooltip{position:fixed;z-index:60;display:grid;width:min(300px,calc(100vw - 24px));gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-2);color:var(--text-body);font-size:var(--fs-12);font-weight:var(--fw-regular);line-height:var(--lh-13);text-align:left;white-space:normal;pointer-events:none}.column-help-tooltip b{color:var(--text-primary);font-weight:var(--fw-semibold)}.data-table .th-button .anticon{font-size:var(--fs-12);opacity:.8}.data-table .sort-muted{opacity:.48}.data-table .cell-value{position:relative;z-index:1}.data-table .cell-bar{position:absolute;top:var(--space-2);bottom:var(--space-2);left:0;min-width:var(--space-1);border-radius:0 var(--radius-chip) var(--radius-chip) 0;background:var(--data-bar)}.data-table .heat-good{background:var(--heat-high)}.data-table .heat-mid{background:var(--heat-mid)}.data-table .heat-low{background:var(--heat-low)}.data-table .heat-good .cell-value{color:var(--ok);font-weight:500}.data-table .heat-low .cell-value{color:var(--warn)}.data-table .metric-paymentRoi .cell-value,.data-table .metric-netRoi .cell-value{color:var(--accent);font-weight:600}.data-table .metric-refundRate .cell-value{color:var(--warn)}.data-table .empty-state{height:130px;text-align:center;color:var(--text-secondary)}.table-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.pagination{display:flex;align-items:center;gap:var(--space-3);color:var(--text-secondary);font-size:var(--fs-12)}.pagination button{display:inline-flex;align-items:center;justify-content:center;width:var(--h-btn-32);height:var(--h-btn-28);border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer}.pagination button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-hover)}.pagination button:disabled{opacity:.42;cursor:default}.pagination strong{color:var(--accent)}.page-size-control,.page-jump-control{display:inline-flex;align-items:center;gap:var(--space-2)}.pagination select{height:var(--h-btn-28);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--fs-12)}.pagination input{width:var(--space-10);height:var(--h-btn-28);padding:0 var(--space-2);border:1px solid var(--border-control);border-radius:var(--radius-control);color:var(--text-body);font-size:var(--fs-12)}.table-context-menu{position:fixed;z-index:45;min-width:190px;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-2)}.table-context-menu button{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--h-btn-32);padding:0 var(--space-3);border:0;border-radius:var(--radius-chip);background:transparent;color:var(--text-body);font-size:var(--fs-13);text-align:left;cursor:pointer}.table-context-menu button:hover{background:var(--accent-soft);color:var(--accent)}.table-context-menu .anticon{color:var(--accent)}.filter-conditions-modal{display:flex;width:min(620px,94vw);max-height:min(700px,88vh);flex-direction:column;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-dialog);background:var(--bg-surface);box-shadow:var(--shadow-3)}.filter-condition-list{display:grid;grid-template-columns:1fr;gap:var(--space-2);overflow:auto;margin:0;padding:var(--space-5) var(--space-6)}.filter-condition-list>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.filter-condition-list dt{color:var(--text-secondary)}.filter-condition-list dd{margin:0;color:var(--text-body);overflow-wrap:anywhere}.detail-section.is-zoomed{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow:auto;margin:0;padding:var(--space-3);border:0;border-radius:0;background:var(--bg-page)}.detail-section.is-zoomed .detail-layout{min-height:calc(100vh - var(--space-6))}.detail-section.is-zoomed .dimension-sidebar,.detail-section.is-zoomed .detail-table-main{min-height:0}.detail-section.is-zoomed .table-container{max-height:calc(100vh - 150px)}.column-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-7);background:var(--overlay)}.column-modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);padding:var(--space-6) var(--space-6) var(--space-5);border-bottom:1px solid var(--border-subtle)}.column-modal-heading h2{margin:0;color:var(--text-primary);font-size:var(--fs-20)}.column-modal-heading p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--fs-12)}.modal-close{width:var(--h-btn-32);height:var(--h-btn-32);border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);font-size:var(--fs-20);line-height:1;cursor:pointer}.modal-close:hover{background:var(--accent-soft)}.column-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle)}.toast-message{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:30;padding:var(--space-4) var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--accent-hover);box-shadow:var(--shadow-2);font-size:var(--fs-12)}@media(min-width:1461px)and (max-width:1660px){.filter-grid{grid-template-columns:minmax(330px,1.08fr) minmax(300px,1.05fr) minmax(260px,.95fr) minmax(260px,.95fr) minmax(160px,.65fr)}.date-inputs input{width:0;min-width:0;flex:1 1 0;padding-right:var(--space-2);padding-left:var(--space-2)}.quick-ranges{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-1)}.quick-ranges button{width:100%;min-width:0;padding-right:var(--space-1);padding-left:var(--space-1)}.segment-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-1)}.segment-options button{min-width:0;padding-right:var(--space-1);padding-left:var(--space-1)}}@media(max-width:1460px){.dashboard-shell{padding:var(--space-5) var(--space-5) var(--space-7)}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dimension-sidebar{flex-basis:252px}.dimension-sidebar.collapsed{flex-basis:36px}}@media(max-width:760px){html{overflow-x:auto;-webkit-overflow-scrolling:touch}body,#root,.dashboard-shell{width:1120px;min-width:1120px}.filter-heading{align-items:center;flex-direction:row;gap:var(--space-6)}.filter-actions{width:auto;justify-content:flex-end}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-2)}.filter-group{padding:var(--space-3)}.date-specific-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.date-inputs input{min-width:145px;width:45%}.table-container{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}}
