@import "https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.sidebar-brand{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.sidebar-logo-collapsed{object-fit:contain;width:40px;height:40px}.sidebar-brand-text{color:var(--brand-gold);letter-spacing:.12em;text-transform:lowercase;margin-top:var(--space-1);font-family:Baskerville Old Face,Libre Baskerville,Baskerville,Palatino Linotype,Book Antiqua,serif;font-size:1.35rem;font-weight:400}.app-sidebar.collapsed .sidebar-header{padding:var(--space-4)}.app-sidebar.collapsed .sidebar-brand{gap:0}.app-sidebar.collapsed .sidebar-logo{display:none}.app-sidebar.collapsed .sidebar-logo-collapsed{display:block}.app-sidebar:not(.collapsed) .sidebar-logo-collapsed{display:none}.rdrCalendarWrapper{box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#fff;flex-direction:column;display:inline-flex}.rdrDateDisplay{justify-content:space-between;display:flex}.rdrDateDisplayItem{text-align:center;width:0;color:inherit;flex:1}.rdrDateDisplayItem+.rdrDateDisplayItem{margin-left:.833em}.rdrDateDisplayItem input{text-align:inherit}.rdrDateDisplayItem input:disabled{cursor:default}.rdrMonthAndYearWrapper{box-sizing:inherit;justify-content:space-between;display:flex}.rdrMonthAndYearPickers{flex:auto;justify-content:center;align-items:center;display:flex}.rdrNextPrevButton{box-sizing:inherit;cursor:pointer;outline:none}.rdrMonths{display:flex}.rdrMonthsVertical{flex-direction:column}.rdrMonthsHorizontal>div>div>div{flex-direction:row;display:flex}.rdrMonth{width:27.667em}.rdrWeekDays{display:flex}.rdrWeekDay{box-sizing:inherit;text-align:center;flex-basis:14.2857%}.rdrDays{flex-wrap:wrap;display:flex}.rdrInfiniteMonths{overflow:auto}.rdrDateRangeWrapper{-webkit-user-select:none;user-select:none}.rdrDateInput{position:relative}.rdrDateInput input{outline:none}.rdrDateInput .rdrWarning{color:red;font-size:1.6em;line-height:1.6em;position:absolute;top:0;right:.25em}.rdrDay{box-sizing:inherit;width:14.2857%;font:inherit;cursor:pointer;position:relative}.rdrDayNumber{display:block;position:relative}.rdrDayNumber span{color:#1d2429}.rdrDayDisabled{cursor:not-allowed}@supports (-ms-ime-align:auto){.rdrDay{flex-basis:14.285%!important}}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge,.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{pointer-events:none}.rdrDateRangePickerWrapper{-webkit-user-select:none;user-select:none;display:inline-flex}.rdrStaticRanges{flex-direction:column;display:flex}.rdrStaticRange{font-size:inherit}.rdrInputRange{display:flex}.rdrCalendarWrapper{color:#000;font-size:12px}.rdrDateDisplayWrapper{background-color:#eff2f7}.rdrDateDisplay{margin:.833em}.rdrDateDisplayItem{background-color:#fff;border:1px solid #0000;border-radius:4px;box-shadow:0 1px 2px #23394236}.rdrDateDisplayItem input{cursor:pointer;color:#849095;background:0 0;border:0;width:100%;height:2.5em;line-height:2.5em}.rdrDateDisplayItemActive{border-color:currentColor}.rdrDateDisplayItemActive input{color:#7d888d}.rdrMonthAndYearWrapper{align-items:center;height:60px;padding-top:10px}.rdrMonthAndYearPickers{font-weight:600}.rdrMonthAndYearPickers select{appearance:none;color:#3e484f;cursor:pointer;text-align:center;background:url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") right 8px center no-repeat;border:0;border-radius:4px;outline:0;padding:10px 30px 10px 10px}.rdrMonthAndYearPickers select:hover{background-color:#00000012}.rdrMonthPicker,.rdrYearPicker{margin:0 5px}.rdrNextPrevButton{background:#eff2f7;border:0;border-radius:5px;width:24px;height:24px;margin:0 .833em;padding:0;display:block}.rdrNextPrevButton:hover{background:#e1e7f0}.rdrNextPrevButton i{text-align:center;border-style:solid;width:0;height:0;margin:auto;padding:0;display:block;transform:translate(-3px)}.rdrPprevButton i{border-width:4px 6px 4px 4px;border-color:#0000 #34495e #0000 #0000;transform:translate(-3px)}.rdrNextButton i{border-width:4px 4px 4px 6px;border-color:#0000 #0000 #0000 #34495e;margin:0 0 0 7px;transform:translate(3px)}.rdrWeekDays{padding:0 .833em}.rdrMonth{padding:0 .833em 1.666em}.rdrMonth .rdrWeekDays{padding:0}.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{display:none}.rdrWeekDay{color:#849095;font-weight:400;line-height:2.667em}.rdrDay{-webkit-user-select:none;user-select:none;text-align:center;color:#1d2429;background:0 0;border:0;height:3em;padding:0;line-height:3em}.rdrDay:focus{outline:0}.rdrDayNumber{outline:0;justify-content:center;align-items:center;font-weight:300;display:flex;position:absolute;inset:5px 0}.rdrDayToday .rdrDayNumber span{font-weight:500}.rdrDayToday .rdrDayNumber span:after{content:"";background:#3d91ff;border-radius:2px;width:18px;height:2px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.rdrDayToday:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span:after{background:#fff}.rdrDay:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span{color:#ffffffd9}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge{background:currentColor;position:absolute;inset:5px 0}.rdrSelected{left:2px;right:2px}.rdrStartEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrEndEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrSelected{border-radius:1.042em}.rdrDayStartOfMonth .rdrInRange,.rdrDayStartOfMonth .rdrEndEdge,.rdrDayStartOfWeek .rdrInRange,.rdrDayStartOfWeek .rdrEndEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrDayEndOfMonth .rdrInRange,.rdrDayEndOfMonth .rdrStartEdge,.rdrDayEndOfWeek .rdrInRange,.rdrDayEndOfWeek .rdrStartEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrDayStartOfMonth .rdrDayInPreview,.rdrDayStartOfMonth .rdrDayEndPreview,.rdrDayStartOfWeek .rdrDayInPreview,.rdrDayStartOfWeek .rdrDayEndPreview{border-left-width:1px;border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;left:0}.rdrDayEndOfMonth .rdrDayInPreview,.rdrDayEndOfMonth .rdrDayStartPreview,.rdrDayEndOfWeek .rdrDayInPreview,.rdrDayEndOfWeek .rdrDayStartPreview{border-right-width:1px;border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;right:0}.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{pointer-events:none;z-index:1;background:#ffffff17;border:0 solid;position:absolute;inset:3px 0}.rdrDayStartPreview{border-top-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;left:0}.rdrDayInPreview{border-top-width:1px;border-bottom-width:1px}.rdrDayEndPreview{border-top-width:1px;border-bottom-width:1px;border-right-width:1px;border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;right:0}.rdrDefinedRangesWrapper{background:#fff;border-right:1px solid #eff2f7;width:226px;font-size:12px}.rdrDefinedRangesWrapper .rdrStaticRangeSelected{color:currentColor;font-weight:600}.rdrStaticRange{cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eff2f7;outline:0;padding:0;display:block}.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{background:#eff2f7}.rdrStaticRangeLabel{text-align:left;outline:0;padding:10px 20px;line-height:18px;display:block}.rdrInputRanges{padding:10px 0}.rdrInputRange{align-items:center;padding:5px 20px}.rdrInputRangeInput{text-align:center;color:#6c767a;border:1px solid #dee7eb;border-radius:4px;width:30px;height:30px;margin-right:10px;line-height:30px}.rdrInputRangeInput:focus,.rdrInputRangeInput:hover{color:#333;border-color:#b4bfc4;outline:0}.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{content:"";background:0 0;border:1px solid;border-radius:1.333em;position:absolute;inset:-2px 0}.rdrDayPassive{pointer-events:none}.rdrDayPassive .rdrDayNumber span{color:#d5dce0}.rdrDayPassive .rdrInRange,.rdrDayPassive .rdrStartEdge,.rdrDayPassive .rdrEndEdge,.rdrDayPassive .rdrSelected,.rdrDayPassive .rdrDayStartPreview,.rdrDayPassive .rdrDayInPreview,.rdrDayPassive .rdrDayEndPreview{display:none}.rdrDayDisabled{background-color:#f8f8f8}.rdrDayDisabled .rdrDayNumber span{color:#aeb9bf}.rdrDayDisabled .rdrInRange,.rdrDayDisabled .rdrStartEdge,.rdrDayDisabled .rdrEndEdge,.rdrDayDisabled .rdrSelected,.rdrDayDisabled .rdrDayStartPreview,.rdrDayDisabled .rdrDayInPreview,.rdrDayDisabled .rdrDayEndPreview{filter:grayscale()opacity(60%)}.rdrMonthName{text-align:left;color:#849095;padding:.833em;font-weight:600}.metrics-row{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:1.5fr repeat(4,1fr);display:grid}.metric-card{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);flex-direction:column;min-height:105px;display:flex}.metric-card.metric-primary{background:var(--brand-green);border-color:var(--brand-green);color:#fff;position:relative;overflow:hidden}.metric-card.metric-primary .metric-label{color:#fffc}.metric-card.metric-primary .metric-value-large{color:#fff}.metric-card.metric-highlight{border-color:var(--brand-gold);border-width:2px}.metric-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2)}.metric-value{font-size:1.75rem;font-weight:var(--font-bold);color:var(--text-primary);font-family:var(--font-mono);letter-spacing:var(--tracking-tight)}.metric-value-large{font-size:2.4rem;font-weight:var(--font-bold);color:var(--text-primary);font-family:var(--font-mono);letter-spacing:var(--tracking-tight)}.metric-sub{font-size:var(--text-sm);color:var(--text-muted);margin-top:auto}.metric-pareto{color:var(--brand-gold-dark);font-weight:var(--font-medium)}.metric-sparkline{opacity:.7;width:80px;height:24px;position:absolute;bottom:8px;right:8px}.charts-row{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:1fr 1.2fr .8fr;display:grid}.chart-card{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4)}.chart-card-narrow{padding:var(--space-4)}.chart-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.chart-header h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.chart-footer{margin-top:var(--space-2)}.sparkline{width:100%;height:100%}.mini-bar-chart{align-items:flex-end;gap:5px;height:40px;display:flex}.mini-bar-wrapper{flex:1;align-items:flex-end;height:100%;display:flex}.mini-bar{border-radius:2px 2px 0 0;width:100%;min-height:2px;transition:height .2s}.mini-bar-labels{margin-top:var(--space-1);color:var(--text-muted);text-transform:uppercase;justify-content:space-between;font-size:9px;display:flex}.heatmap-row{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.heatmap-cell{aspect-ratio:1;border-radius:var(--radius-sm);padding:var(--space-1);cursor:default;flex-direction:column;justify-content:center;align-items:center;transition:transform .1s;display:flex}.heatmap-cell:hover{transform:scale(1.05)}.heatmap-label{font-size:11px;font-weight:var(--font-semibold);text-transform:uppercase}.heatmap-value{font-size:12px;font-family:var(--font-mono);font-weight:var(--font-medium)}.donut-container{align-items:center;gap:var(--space-4);display:flex}.donut-svg{flex-shrink:0;width:100px;height:100px}.donut-legend{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.donut-legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.donut-legend-color{border-radius:2px;flex-shrink:0;width:10px;height:10px}.donut-legend-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.donut-legend-value{font-family:var(--font-mono);font-weight:var(--font-medium);color:var(--text-primary)}.donut-empty{color:var(--text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-4)}.fnb-bars{gap:var(--space-2);flex-direction:column;display:flex}.fnb-bar-row{align-items:center;gap:var(--space-2);display:flex}.fnb-bar-label{font-size:var(--text-xs);color:var(--text-secondary);flex-shrink:0;width:60px}.fnb-bar-track{background:var(--neutral-100);border-radius:var(--radius-sm);flex:1;height:24px;overflow:hidden}.fnb-bar-fill{border-radius:var(--radius-sm);height:100%;transition:width .3s}.fnb-bar-value{font-size:var(--text-xs);font-family:var(--font-mono);font-weight:var(--font-medium);color:var(--text-primary);text-align:right;flex-shrink:0;width:50px}.lists-row{gap:var(--space-4);grid-template-columns:1.2fr 1fr;display:grid}.list-card{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4)}.list-header{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--border-width) solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.list-header h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.facility-list{gap:var(--space-2);flex-direction:column;display:flex}.facility-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;grid-template-columns:1fr 140px auto;display:grid}.facility-info{flex-direction:column;min-width:0;display:flex}.facility-name{font-size:var(--text-base);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.facility-txns{font-size:var(--text-sm);color:var(--text-muted)}.facility-bar-container{background:var(--neutral-100);border-radius:4px;height:8px;overflow:hidden}.facility-bar{background:var(--brand-green);border-radius:4px;height:100%;transition:width .3s}.facility-revenue{font-size:var(--text-base);font-family:var(--font-mono);font-weight:var(--font-medium);color:var(--text-primary);text-align:right;min-width:85px}.accounts-list{flex-direction:column;display:flex}.account-row{align-items:center;gap:var(--space-3);padding:var(--space-3);margin:0 calc(-1 * var(--space-3));border-radius:var(--radius-md);cursor:pointer;grid-template-columns:28px 1fr auto;transition:background .1s;display:grid}.account-row:hover{background:var(--hover-overlay)}.account-rank{background:var(--neutral-100);border-radius:var(--radius-full);width:24px;height:24px;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.account-info{flex-direction:column;min-width:0;display:flex}.account-name{font-size:var(--text-base);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-id{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--text-muted)}.account-spent{font-size:var(--text-base);font-family:var(--font-mono);font-weight:var(--font-semibold);color:var(--brand-green)}.skeleton-card{min-height:80px}@media (width<=1200px){.metrics-row{grid-template-columns:repeat(3,1fr)}.charts-row{grid-template-columns:1fr 1fr}.chart-card-narrow{grid-column:span 2}.lists-row{grid-template-columns:1fr}}@media (width<=900px){.metrics-row{grid-template-columns:repeat(2,1fr)}.metric-card.metric-primary{grid-column:span 2}.charts-row{grid-template-columns:1fr}.chart-card-narrow{grid-column:span 1}}@media (width<=600px){.metrics-row{grid-template-columns:1fr}.metric-card.metric-primary{grid-column:span 1}.facility-row{grid-template-columns:1fr auto}.facility-bar-container{display:none}}.advanced-report{gap:var(--space-6);margin-bottom:var(--space-8);flex-direction:column;display:flex}.report-builder-grid{gap:var(--space-6);grid-template-columns:320px 1fr;display:grid}@media (width<=900px){.report-builder-grid{grid-template-columns:1fr}}.field-palette{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;height:fit-content;max-height:calc(100vh - 200px);display:flex;overflow:hidden}.palette-header{padding:var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);background:var(--bg-surface-sunken)}.palette-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-3) 0}.palette-search-input{width:100%;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-surface)}.palette-search-input:focus{border-color:var(--brand-green);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.palette-sections{padding:var(--space-4);flex:1;overflow-y:auto}.palette-section{margin-bottom:var(--space-5)}.palette-section:last-child{margin-bottom:0}.palette-section-header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--border-subtle);display:flex}.section-icon{border-radius:var(--radius-sm);width:20px;height:20px;font-size:var(--text-xs);font-weight:var(--font-bold);justify-content:center;align-items:center;display:flex}.section-icon.dimension{background:var(--info-100);color:var(--info-600)}.section-icon.measure{background:var(--success-100);color:var(--success-600)}.section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);flex:1}.section-count{font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-surface-sunken);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.palette-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.metric-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;border:var(--border-width) solid transparent;transition:all var(--transition-fast);display:inline-flex}.metric-chip-dimension{background:var(--info-50);color:var(--info-700);border-color:var(--info-200)}.metric-chip-dimension:hover{background:var(--info-100);border-color:var(--info-300)}.metric-chip-measure{background:var(--success-50);color:var(--success-700);border-color:var(--success-200)}.metric-chip-measure:hover{background:var(--success-100);border-color:var(--success-300)}.metric-chip-icon{font-size:10px}.metric-chip-label{white-space:nowrap}.metric-chip-add{opacity:0;margin-left:var(--space-1);font-weight:var(--font-bold);transition:opacity var(--transition-fast)}.metric-chip:hover .metric-chip-add{opacity:1}.selected-fields{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.selected-header{padding:var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);background:var(--bg-surface-sunken);justify-content:space-between;align-items:center;display:flex}.selected-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.selected-summary{gap:var(--space-2);display:flex}.summary-badge{font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-surface);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);border:var(--border-width) solid var(--border-subtle)}.selected-list{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.selected-actions{gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--border-subtle);background:var(--bg-surface-sunken);display:flex}.selected-metric-card{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--transition-fast);overflow:hidden}.selected-metric-card:hover{border-color:var(--border-strong)}.selected-metric-card.dragging{opacity:.5;border-style:dashed}.selected-metric-card.drag-over{border-color:var(--brand-green);box-shadow:0 0 0 3px var(--focus-ring);border-width:2px}.selected-metric-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.selected-metric-drag-handle{color:var(--text-muted);cursor:grab;font-size:var(--text-sm);-webkit-user-select:none;user-select:none;letter-spacing:-2px}.selected-metric-drag-handle:active{cursor:grabbing}.selected-metric-type-badge{border-radius:var(--radius-sm);width:24px;height:24px;font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.selected-metric-type-badge.dimension{background:var(--info-100);color:var(--info-600)}.selected-metric-type-badge.measure{background:var(--success-100);color:var(--success-600)}.selected-metric-info{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.selected-metric-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.selected-metric-order{font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-surface-sunken);padding:2px var(--space-2);border-radius:var(--radius-full)}.selected-metric-toggles{gap:var(--space-1);display:flex}.toggle-btn{border:var(--border-width) solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);width:28px;height:28px;color:var(--text-muted);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.toggle-btn:hover{background:var(--bg-surface-sunken);border-color:var(--border-strong)}.toggle-btn.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.selected-metric-reorder{flex-direction:column;gap:2px;display:flex}.reorder-btn{border-radius:var(--radius-sm);width:20px;height:16px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:10px;display:flex}.reorder-btn:hover:not(:disabled){background:var(--bg-surface-sunken);color:var(--text-primary)}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.remove-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;font-size:var(--text-lg);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.remove-btn:hover{background:var(--danger-50);color:var(--danger-500)}.selected-metric-settings{padding:var(--space-4);border-top:var(--border-width) solid var(--border-subtle);background:var(--bg-surface-sunken)}.settings-row{gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.settings-row:last-child{margin-bottom:0}.settings-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;display:flex}.settings-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-green)}.settings-input{min-width:200px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);flex:1}.settings-input:focus{border-color:var(--brand-green);outline:none}.filter-section{padding-top:var(--space-4);border-top:var(--border-width) solid var(--border-subtle)}.filter-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.filter-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.filter-controls{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.filter-operator{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-surface);min-width:140px}.filter-operator:focus{border-color:var(--brand-green);outline:none}.filter-value{min-width:180px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-surface);flex:1}.filter-value:focus{border-color:var(--brand-green);outline:none}.filter-remove{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;font-size:var(--text-lg);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.filter-remove:hover{background:var(--danger-50);color:var(--danger-500)}.filter-multi-select{flex:1;min-width:180px;position:relative}.filter-multi-summary{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-surface);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.filter-multi-summary:hover{border-color:var(--border-hover)}.filter-multi-arrow{font-size:var(--text-xs);color:var(--text-secondary);margin-left:var(--space-2)}.filter-multi-dropdown{z-index:100;background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:var(--space-1);flex-direction:column;max-height:280px;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden}.filter-multi-actions{gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--border-subtle);background:var(--bg-surface-sunken);display:flex}.filter-multi-options{max-height:220px;padding:var(--space-2) 0;overflow-y:auto}.filter-multi-option{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-sm);display:flex}.filter-multi-option:hover{background:var(--bg-surface-hover)}.filter-multi-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-green)}.filter-multi-option span{flex:1}.filter-between{align-items:center;gap:var(--space-2);flex:1;display:flex}.filter-value-small{flex:1;min-width:80px}.filter-between-separator{font-size:var(--text-sm);color:var(--text-secondary)}.report-preview{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6)}.preview-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0}.preview-description{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-5)}.preview-table-container{overflow-x:auto}.preview-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.preview-table th{text-align:left;padding:var(--space-3);background:var(--bg-surface-sunken);border-bottom:2px solid var(--border-default);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap}.preview-table td{padding:var(--space-3);border-bottom:var(--border-width) solid var(--border-subtle);color:var(--text-primary)}.preview-row.muted td{color:var(--text-muted);text-align:center}.group-indicator{margin-left:var(--space-2);color:var(--brand-gold);font-size:var(--text-xs)}.empty-state{padding:var(--space-12) var(--space-6);text-align:center}.empty-state-description{font-size:var(--text-sm);color:var(--text-secondary);max-width:300px;margin:0 auto}.text-right{text-align:right}.btn-lg{padding:var(--space-3) var(--space-8);font-size:var(--text-md)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.granularity-bar{align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-6);background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);display:flex}.granularity-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap}.granularity-options{gap:var(--space-1);background:var(--bg-surface-sunken);padding:var(--space-1);border-radius:var(--radius-md);display:flex}.granularity-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none}.granularity-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.granularity-btn.active{background:var(--brand-green);color:#fff;box-shadow:var(--shadow-sm)}.granularity-hint{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.section-icon.calculated{background:var(--warning-100);color:var(--warning-600)}.palette-actions{gap:var(--space-2);display:flex}.calculated-card .selected-metric-header,.formula-card .selected-metric-header{background:var(--bg-surface-sunken)}.selected-metric-type-badge.ratio{background:var(--warning-100);color:var(--warning-600)}.selected-metric-type-badge.formula{background:var(--purple-100,#f3e8ff);color:var(--purple-600,#9333ea)}.calc-formula{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono,monospace);background:var(--bg-surface);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.formula-expr{font-style:italic}.modal-overlay{z-index:1000;background:#00000080;position:fixed;inset:0}.modal{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:1001;width:90%;max-width:500px;max-height:90vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:var(--border-width) solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.modal-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--bg-surface-sunken);color:var(--text-primary)}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:var(--border-width) solid var(--border-subtle);background:var(--bg-surface-sunken);display:flex}.ratio-builder{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.ratio-part{flex:1}.ratio-part label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2);display:block}.ratio-part select{width:100%;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-surface)}.ratio-part select:focus{border-color:var(--brand-green);outline:none}.ratio-divider{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-muted);margin-top:var(--space-6)}.ratio-preview{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface-sunken);border-radius:var(--radius-md);margin-top:var(--space-4);display:flex}.ratio-preview-label{font-size:var(--text-sm);color:var(--text-secondary)}.ratio-preview-value{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);font-family:var(--font-mono,monospace)}.form-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2);display:block}.form-group input[type=text],.form-group textarea{width:100%;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-surface)}.form-group input:focus,.form-group textarea:focus{border-color:var(--brand-green);outline:none}.format-options{gap:var(--space-2);display:flex}.format-option{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex:1;display:flex}.format-option:hover{border-color:var(--border-strong)}.format-option.selected{border-color:var(--brand-green);background:var(--brand-green-light,#e6f4f1)}.format-option input{display:none}.format-option span{font-size:var(--text-sm);font-family:var(--font-mono,monospace);color:var(--text-primary)}.formula-input{font-family:var(--font-mono,monospace);resize:vertical}.formula-metrics{margin-bottom:var(--space-4)}.formula-metrics label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2);display:block}.formula-metric-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.metric-chip.small{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);border:var(--border-width) solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer}.metric-chip.small:hover{background:var(--success-50);border-color:var(--success-300)}.formula-examples{background:var(--bg-surface-sunken);padding:var(--space-3);border-radius:var(--radius-md)}.formula-examples label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2);display:block}.formula-examples ul{padding-left:var(--space-5);margin:0}.formula-examples li{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.formula-examples code{font-family:var(--font-mono,monospace);color:var(--text-primary);background:var(--bg-surface);padding:1px var(--space-1);border-radius:var(--radius-sm)}.time-slice-header{background:var(--brand-green)!important;padding:0!important}.time-slice-labels{display:flex}.time-slice-label{padding:var(--space-2);text-align:center;font-size:var(--text-xs);font-weight:var(--font-semibold);color:#fff;border-right:1px solid #fff3}.time-slice-label:last-child{border-right:none}.slice-prefix{font-size:var(--text-xs);color:var(--text-muted);margin-right:var(--space-1)}.run-report-bar{padding:var(--space-6);margin-top:var(--space-6);background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);justify-content:center;display:flex}.report-results{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6)}.report-results .data-table-container{max-height:600px;overflow-y:auto}.report-results .data-table thead{z-index:1;position:sticky;top:0}.report-results .data-table tfoot{background:var(--bg-surface-sunken);position:sticky;bottom:0}.report-results .data-table tfoot td{border-top:2px solid var(--border-default)}.results-header{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.results-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.results-count{font-size:var(--text-sm);color:var(--text-secondary)}.group-actions-bar{gap:var(--space-2);margin-left:auto;display:flex}.group-action-btn{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.group-action-btn:hover{border-color:var(--brand-green);color:var(--brand-green);background:var(--bg-surface-hover)}.grouped-table .group-row{background:var(--brand-green);color:#fff;font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-fast)}.grouped-table .group-row:hover{background:var(--brand-green-dark)}.grouped-table .group-row td{padding:var(--space-3) var(--space-4);border-bottom:none}.grouped-table .group-row.level-1{background:var(--info-500)}.grouped-table .group-row.level-1:hover{background:var(--info-600)}.grouped-table .group-row.level-2{background:var(--info-400)}.grouped-table .group-row.level-2:hover{background:var(--info-500)}.group-label{align-items:center;gap:var(--space-2);display:flex}.group-expand-icon{width:16px;height:16px;transition:transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.group-expand-icon.expanded{transform:rotate(90deg)}.group-label-text{font-weight:var(--font-semibold)}.group-child-count{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-weight:var(--font-regular);text-align:center;background:#fff3;min-width:24px}.group-subtotal{font-family:var(--font-mono,monospace);font-weight:var(--font-semibold)}.grouped-table .data-row{background:var(--bg-surface);transition:background var(--transition-fast)}.grouped-table .data-row:hover{background:var(--bg-surface-hover)}.grouped-table .data-row.level-1 td:first-child{padding-left:calc(var(--space-4) + 24px)}.grouped-table .data-row.level-2 td:first-child{padding-left:calc(var(--space-4) + 48px)}.grouped-table .data-row.level-3 td:first-child{padding-left:calc(var(--space-4) + 72px)}:root{--brand-green:#004f39;--brand-green-light:#006b4d;--brand-green-dark:#003d2c;--brand-gold:#bfa533;--brand-gold-light:#d4bc4a;--brand-gold-dark:#9a8429;--neutral-0:#fff;--neutral-50:#f8fafb;--neutral-100:#f1f4f6;--neutral-200:#e4e8eb;--neutral-300:#ced4d9;--neutral-400:#9ba3ab;--neutral-500:#6b7280;--neutral-600:#4b5563;--neutral-700:#374151;--neutral-800:#1f2937;--neutral-900:#111827;--success-50:#ecfdf5;--success-100:#d1fae5;--success-500:#10b981;--success-600:#059669;--success-700:#047857;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--warning-600:#d97706;--warning-700:#b45309;--danger-50:#fef2f2;--danger-100:#fee2e2;--danger-500:#ef4444;--danger-600:#dc2626;--danger-700:#b91c1c;--info-50:#eff6ff;--info-100:#dbeafe;--info-500:#3b82f6;--info-600:#2563eb;--info-700:#1d4ed8;--bg-page:var(--neutral-50);--bg-surface:var(--neutral-0);--bg-surface-raised:var(--neutral-0);--bg-surface-sunken:var(--neutral-100);--bg-sidebar:var(--brand-green);--bg-sidebar-hover:var(--brand-green-light);--bg-sidebar-active:var(--brand-green-dark);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-600);--text-muted:var(--neutral-400);--text-inverse:var(--neutral-0);--text-brand:var(--brand-green);--border-default:var(--neutral-200);--border-strong:var(--neutral-300);--border-subtle:var(--neutral-100);--accent-primary:var(--brand-gold);--accent-primary-hover:var(--brand-gold-light);--accent-primary-active:var(--brand-gold-dark);--focus-ring:#bfa53380;--hover-overlay:#004f390a;--active-overlay:#004f3914;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.025em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--sidebar-width:240px;--sidebar-width-collapsed:64px;--topbar-height:56px;--content-max-width:none;--page-padding:var(--space-6);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--border-width:1px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--transition-fast:.1s ease;--transition-base:.15s ease;--transition-slow:.2s ease;--transition-sidebar:.2s ease;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-popover:500;--z-tooltip:600}@media (prefers-color-scheme:dark){:root.auto-theme{--bg-page:var(--neutral-900);--bg-surface:var(--neutral-800);--bg-surface-raised:var(--neutral-700);--bg-surface-sunken:var(--neutral-900);--text-primary:var(--neutral-50);--text-secondary:var(--neutral-300);--text-muted:var(--neutral-500);--border-default:var(--neutral-700);--border-strong:var(--neutral-600);--border-subtle:var(--neutral-800)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-regular);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-page)}#root{min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}p{line-height:var(--leading-relaxed);margin:0}small{font-size:var(--text-sm);color:var(--text-secondary)}code{font-family:var(--font-mono);padding:var(--space-1) var(--space-2);background:var(--bg-surface-sunken);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9em}a{color:var(--brand-green);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--brand-green-light)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}table{border-collapse:collapse;width:100%;font-size:var(--text-base)}th{text-align:left;font-weight:var(--font-medium);font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--border-default);background:var(--bg-surface)}td{padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);color:var(--text-primary)}tbody tr:hover{background:var(--hover-overlay)}tbody tr:last-child td{border-bottom:none}.text-right,.number{text-align:right}.text-mono{font-family:var(--font-mono)}input,select,textarea{font-family:inherit;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--text-muted)}label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-1);display:block}button{font-family:inherit;font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);transition:all var(--transition-fast);border:none}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-green);color:var(--text-inverse);border:var(--border-width) solid var(--brand-green)}.btn-primary:hover:not(:disabled){background:var(--brand-green-light);border-color:var(--brand-green-light)}.btn-primary:active:not(:disabled){background:var(--brand-green-dark);border-color:var(--brand-green-dark)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:var(--border-width) solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-sunken);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);padding:var(--space-2);background:0 0;border:none}.btn-ghost:hover:not(:disabled){background:var(--hover-overlay);color:var(--text-primary)}.btn-danger{background:var(--danger-500);color:var(--text-inverse);border:var(--border-width) solid var(--danger-500)}.btn-danger:hover:not(:disabled){background:var(--danger-600);border-color:var(--danger-600)}.btn-link{color:var(--brand-green);font-weight:var(--font-regular);background:0 0;border:none;padding:0}.btn-link:hover:not(:disabled){color:var(--brand-green-light);text-decoration:underline}.btn-sm{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.card{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:var(--border-width) solid var(--border-subtle)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:var(--border-width) solid var(--border-subtle);background:var(--bg-surface-sunken);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.badge{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-sm);align-items:center;display:inline-flex}.badge-success{background:var(--success-100);color:var(--success-700)}.badge-warning{background:var(--warning-100);color:var(--warning-700)}.badge-danger{background:var(--danger-100);color:var(--danger-700)}.badge-info{background:var(--info-100);color:var(--info-700)}.badge-neutral{background:var(--neutral-100);color:var(--neutral-600)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-surface-sunken)}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.skeleton{background:linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-200) 50%, var(--neutral-100) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{padding:var(--space-12);text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-4);opacity:.5;font-size:48px}.empty-state-title{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-sm);max-width:320px}.app-layout{width:100%;min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);z-index:var(--z-sticky);transition:width var(--transition-sidebar);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.app-sidebar.collapsed{width:var(--sidebar-width-collapsed)}.app-main{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-sidebar);flex-direction:column;flex:1;display:flex}.app-sidebar.collapsed+.app-main{margin-left:var(--sidebar-width-collapsed)}.app-content{padding:var(--page-padding);max-width:var(--content-max-width);flex:1;width:100%;margin:0 auto}.sidebar-header{padding:var(--space-4);border-bottom:1px solid #ffffff1a;justify-content:center;align-items:center;min-height:72px;display:flex}.sidebar-logo{object-fit:contain;width:125px;height:auto}.sidebar-logo-collapsed,.app-sidebar.collapsed .sidebar-logo{display:none}.app-sidebar.collapsed .sidebar-logo-collapsed{width:32px;height:32px;display:block}.sidebar-nav{padding:var(--space-3);flex:1;overflow-y:auto}.sidebar-section{margin-bottom:var(--space-6)}.sidebar-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:#ffffff80;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1)}.app-sidebar.collapsed .sidebar-section-title{display:none}.sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:#fffc;font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--transition-fast);margin-bottom:var(--space-1);text-decoration:none;display:flex}.sidebar-link:hover{background:var(--bg-sidebar-hover);color:var(--text-inverse)}.sidebar-link.active{background:var(--bg-sidebar-active);color:var(--text-inverse)}.sidebar-link.active:before{content:"";background:var(--accent-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-link{position:relative}.sidebar-link-icon{flex-shrink:0;width:20px;height:20px}.sidebar-link-text{white-space:nowrap;overflow:hidden}.app-sidebar.collapsed .sidebar-link-text{display:none}.app-sidebar.collapsed .sidebar-link{padding:var(--space-3);justify-content:center}.sidebar-footer{padding:var(--space-4);border-top:1px solid #ffffff1a}.sidebar-toggle{width:100%;padding:var(--space-2);border-radius:var(--radius-md);color:#ffffffb3;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #fff3;justify-content:center;align-items:center;display:flex}.sidebar-toggle:hover{color:var(--text-inverse);background:#ffffff1a}.topbar{height:var(--topbar-height);background:var(--bg-surface);border-bottom:var(--border-width) solid var(--border-default);padding:0 var(--page-padding);z-index:var(--z-sticky);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:var(--space-4);display:flex}.topbar-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.topbar-subtitle{font-size:var(--text-sm);color:var(--text-secondary)}.topbar-right{align-items:center;gap:var(--space-3);display:flex}.topbar-actions{align-items:center;gap:var(--space-2);display:flex}.user-menu{align-items:center;gap:var(--space-3);padding-left:var(--space-4);border-left:var(--border-width) solid var(--border-default);display:flex}.user-email{font-size:var(--text-sm);color:var(--text-secondary)}.btn-signout{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.page-header-content{flex:1}.page-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.page-subtitle{font-size:var(--text-base);color:var(--text-secondary)}.page-actions{align-items:center;gap:var(--space-3);display:flex}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-xs)}.stat-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-2)}.stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);font-family:var(--font-mono);letter-spacing:var(--tracking-tight)}.stat-delta{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-2);display:inline-flex}.stat-delta.positive{color:var(--success-600)}.stat-delta.negative{color:var(--danger-600)}.data-table-container{background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.data-table{width:100%}.data-table thead{z-index:1;position:sticky;top:0}.data-table th{background:var(--bg-surface)}.data-table .clickable-row{cursor:pointer}.data-table .clickable-row:hover{background:var(--hover-overlay)}.data-table tfoot td{font-weight:var(--font-semibold);border-top:2px solid var(--border-default);background:var(--bg-surface-sunken)}.filter-bar{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.filter-bar select,.filter-bar input{min-width:160px}.filter-bar .filter-count{font-size:var(--text-sm);color:var(--text-muted);margin-left:auto}.summary-bar{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-6);background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.summary-stat{gap:var(--space-1);flex-direction:column;display:flex}.summary-stat .stat-label{margin-bottom:0}.summary-stat .stat-value{font-size:var(--text-lg)}.summary-actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.alert-icon{flex-shrink:0;width:20px;height:20px}.alert-success{background:var(--success-50);border:var(--border-width) solid var(--success-500);color:var(--success-700)}.alert-warning{background:var(--warning-50);border:var(--border-width) solid var(--warning-500);color:var(--warning-700)}.alert-danger{background:var(--danger-50);border:var(--border-width) solid var(--danger-500);color:var(--danger-700)}.alert-info{background:var(--info-50);border:var(--border-width) solid var(--info-500);color:var(--info-700)}.error-message{background:var(--danger-50);border:var(--border-width) solid var(--danger-500);color:var(--danger-700);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.success-message{background:var(--success-50);border:var(--border-width) solid var(--success-500);color:var(--success-700);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-4)}.slide-panel-overlay{z-index:var(--z-overlay);animation:fadeIn var(--transition-base);background:#0006;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-panel{background:var(--bg-surface);border-left:var(--border-width) solid var(--border-default);width:420px;max-width:90vw;height:100vh;box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:slideIn var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;right:0}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-panel-header{padding:var(--space-4) var(--space-6);border-bottom:var(--border-width) solid var(--border-default);background:var(--bg-surface-sunken);justify-content:space-between;align-items:center;display:flex}.slide-panel-header h3{font-size:var(--text-md);font-weight:var(--font-semibold)}.slide-panel-close{padding:var(--space-2);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none}.slide-panel-close:hover{background:var(--hover-overlay);color:var(--text-primary)}.slide-panel-content{padding:var(--space-6);flex:1;overflow-y:auto}.slide-panel-footer{padding:var(--space-4) var(--space-6);border-top:var(--border-width) solid var(--border-default);background:var(--bg-surface-sunken);gap:var(--space-3);justify-content:flex-end;display:flex}.dropdown{position:relative}.dropdown-menu{margin-top:var(--space-2);background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);min-width:200px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-2);position:absolute;top:100%;right:0}.dropdown-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast);display:flex}.dropdown-item:hover{background:var(--hover-overlay)}.dropdown-divider{background:var(--border-default);height:1px;margin:var(--space-2) 0}.loading-container{padding:var(--space-12);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-spinner{border:3px solid var(--border-default);border-top-color:var(--brand-green);width:32px;height:32px;margin-bottom:var(--space-4);border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:var(--text-sm)}.skeleton-row{gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);display:flex}.skeleton-cell{border-radius:var(--radius-sm);height:20px}.skeleton-cell.w-20{width:20%}.skeleton-cell.w-30{width:30%}.skeleton-cell.w-40{width:40%}.skeleton-cell.w-50{width:50%}.form-group{margin-bottom:var(--space-4)}.form-group input,.form-group select,.form-group textarea{width:100%}.form-group small{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);display:block}.form-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.form-actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.account-filter-badge{align-items:center;gap:var(--space-2);background:var(--brand-green);color:var(--text-inverse);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);display:inline-flex}.account-filter-badge button{color:inherit;margin-left:var(--space-1);cursor:pointer;opacity:.7;font-size:var(--text-md);background:0 0;border:none;padding:0;line-height:1}.account-filter-badge button:hover{opacity:1}.login-page{background:var(--brand-green);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{background:var(--bg-surface);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-xl);overflow:hidden}.login-header{background:var(--brand-green);padding:var(--space-8) var(--space-6);justify-content:center;display:flex}.login-brand{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.login-logo{width:auto;height:120px}.login-body{padding:var(--space-8) var(--space-6)}.login-body h1{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1);text-align:center}.login-body>p{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin-bottom:var(--space-6)}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-submit{width:100%;padding:var(--space-3);font-size:var(--text-base);margin-top:var(--space-2)}.search-container{position:relative}.member-search-dropdown{margin-top:var(--space-2);background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg);width:320px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);position:absolute;top:100%;right:0}.member-search-input{width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:var(--border-width) solid var(--border-default);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-base)}.member-search-input:focus{outline:none}.member-search-loading,.member-search-empty{padding:var(--space-6);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.member-search-results{max-height:320px;overflow-y:auto}.member-search-row{padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.member-search-row:last-child{border-bottom:none}.member-search-row:hover,.member-search-row.selected{background:var(--hover-overlay)}.member-row-left{flex-direction:column;gap:2px;display:flex}.member-row-name{font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-base)}.member-row-via{font-size:var(--text-xs);color:var(--text-muted)}.member-row-account{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--brand-green);font-weight:var(--font-medium)}.date-range-picker{position:relative}.date-range-button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-surface);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all .15s;display:flex}.date-range-button:hover{background:var(--bg-muted);border-color:var(--border-strong)}.date-range-dropdown{z-index:9999;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:var(--border-width) solid var(--border-default);background:#fff;max-height:calc(100vh - 100px);position:fixed;overflow-y:auto}.date-range-actions{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-width) solid var(--border-default);background:var(--bg-muted);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex}.date-range-actions .btn-cancel{padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);background:#fff;transition:all .15s}.date-range-actions .btn-cancel:hover{background:var(--bg-muted);border-color:var(--border-strong)}.date-range-actions .btn-apply{padding:var(--space-2) var(--space-5);background:var(--brand-green);border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);border:none;transition:all .15s}.date-range-actions .btn-apply:hover{background:var(--brand-green-light)}
