:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-family:var(--font-sans);font-size:16px;line-height:1.5;font-weight:400;color:#1a1a2e;background-color:#f5f5f7;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-table: .8rem}*{box-sizing:border-box}body{margin:0;min-height:100vh}.segmentation-table-section{font-size:calc(.9rem - 2px)}.segmentation-table thead th,.segmentation-table tbody td{font-size:.8rem!important;font-weight:400}.segmentation-table thead th{font-weight:600}.segmentation-table thead th.loyalty-th-dark{font-size:.8rem!important}.segmentation-table-section h3{font-size:1rem;font-weight:600}.segmentation-table .healthiness-combined-col{background:#d4e8dc}.segmentation-summary-table .seg-col-1,.segmentation-summary-table .seg-col-3,.segmentation-summary-table .seg-col-5{background:#f0f4f0}.segmentation-summary-table .seg-col-2,.segmentation-summary-table .seg-col-4{background:#fafcfb}.segmentation-assignment-cols col.seg-acol-1,.segmentation-assignment-cols col.seg-acol-3{background:#f8faf8}.segmentation-assignment-cols col.seg-acol-2,.segmentation-assignment-cols col.seg-acol-come{background:#fff}.segmentation-assignment-cols col.seg-acol-rec{background:#f8faf8}.segmentation-assignment-cols thead th{background:#2c5f3e!important;color:#fff!important}.segmentation-assignment-cols tbody td:nth-child(1),.segmentation-assignment-cols tbody td:nth-child(3),.segmentation-assignment-cols tbody td:nth-child(7),.segmentation-assignment-cols tbody td:nth-child(8),.segmentation-assignment-cols tbody td:nth-child(9){background:#f8faf8}.segmentation-assignment-cols tbody td:nth-child(2),.segmentation-assignment-cols tbody td:nth-child(4),.segmentation-assignment-cols tbody td:nth-child(5),.segmentation-assignment-cols tbody td:nth-child(6){background:#fff}.cfe-print-only{display:none}.churn-feature-eda-page-root{max-width:100%;min-width:0;box-sizing:border-box}.churn-feature-eda-split{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:stretch;min-width:0;width:100%}@media(min-width:1024px){.churn-feature-eda-split{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}}.churn-feature-eda-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;border-radius:10px;background:#fff;min-width:0;max-width:100%}.churn-feature-eda-split-table{width:100%;border-collapse:collapse;font-size:.68rem;table-layout:fixed}@media(min-width:1024px){.churn-feature-eda-split-table{min-width:360px}}.churn-feature-eda-rate-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;width:100%}@media(max-width:900px){.churn-feature-eda-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.churn-feature-eda-rate-grid{grid-template-columns:1fr}}@media print{body.print-churn-feature-eda{background:#fff!important}body.print-churn-feature-eda .app>.header,body.print-churn-feature-eda .content-layout>.filters,body.print-churn-feature-eda .path-to-loyalty-tab-bar,body.print-churn-feature-eda .cfe-no-print{display:none!important}body.print-churn-feature-eda .cfe-print-only{display:block!important}body.print-churn-feature-eda .main{padding:0!important;max-width:none!important}body.print-churn-feature-eda .content-layout{max-width:none!important}body.print-churn-feature-eda .churn-feature-eda-page-root{box-shadow:none!important;border:1px solid #e5e7eb!important;border-radius:0!important;padding:.75rem 0!important;page:churn-feature-eda;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-churn-feature-eda .churn-feature-eda-split{grid-template-columns:1fr!important;gap:1rem!important}body.print-churn-feature-eda .churn-feature-eda-table-scroll{overflow:visible!important;max-width:none!important}body.print-churn-feature-eda .churn-feature-eda-split-table{min-width:0!important;width:100%!important;font-size:.62rem!important}body.print-churn-feature-eda .churn-feature-eda-rate-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.35rem!important}body.print-churn-feature-eda .churn-feature-eda-rate-row>div:first-child{font-size:.58rem!important;line-height:1.25!important}body.print-churn-feature-eda .cfe-print-feature-eda-tab>div:first-child{break-after:avoid;page-break-after:avoid}body.print-churn-feature-eda .cfe-print-feature-eda-tab:not(:first-child){margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0}body.print-churn-feature-eda .churn-feature-eda-split,body.print-churn-feature-eda .churn-feature-eda-feature-card{min-height:0;overflow:visible!important}}@page churn-feature-eda{margin:8mm;size:landscape}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:2rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;padding:2.5rem;width:100%;max-width:380px;text-align:center}.login-logo{height:48px;width:auto;margin-bottom:1rem}.login-title{font-size:1.25rem;font-weight:600;color:#333;margin:0 0 .25rem}.login-subtitle{font-size:.9rem;color:#666;margin:0 0 1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field{text-align:left}.login-field label{display:block;font-size:.875rem;font-weight:500;color:#333;margin-bottom:.35rem}.login-field input{width:100%;padding:.6rem .75rem;font-size:1rem;font-family:inherit;border:1px solid #ccc;border-radius:8px;box-sizing:border-box}.login-field input:focus{outline:none;border-color:#1a5f4a;box-shadow:0 0 0 2px #1a5f4a33}.login-error{font-size:.875rem;color:#b91c1c;background:#fef2f2;padding:.5rem .75rem;border-radius:6px}.login-btn{padding:.65rem 1.25rem;font-size:1rem;font-weight:600;font-family:inherit;color:#fff;background:#1a5f4a;border:none;border-radius:8px;cursor:pointer;margin-top:.5rem}.login-btn:hover{background:#2d7a5e}.login-btn:focus{outline:none;box-shadow:0 0 0 2px #1a5f4a66}.landing-page{padding:2rem;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.landing-cards{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;align-items:stretch;max-width:960px;width:100%;margin:0 auto}.landing-card{display:flex;flex-direction:column;flex:1;min-width:320px;max-width:440px;background:#fff;border:none;border-radius:12px;padding:0;text-decoration:none;color:inherit;box-shadow:0 8px 32px #0003;transition:box-shadow .2s,transform .2s;overflow:hidden}.landing-card:hover{box-shadow:0 8px 32px #0003,0 0 0 2px #1a5f4a66;transform:translateY(-2px)}.landing-card-image{flex:0 0 auto;height:0;padding-bottom:48%;position:relative;background:#0a0a0a;overflow:hidden}.landing-card-image .landing-card-illustration{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:contain;object-position:center;transform:translate(-50%,-50%);box-sizing:border-box}.landing-card-title{margin:0;padding:1.25rem 1.5rem .25rem;font-size:1.25rem;font-weight:600;color:#333}.landing-card-desc{margin:0;padding:0 1.5rem 1.5rem;font-size:calc(.9rem - 2px);color:#666;line-height:1.4}.product-insights-page{padding:0}.product-insights-placeholder{color:#666;font-size:1rem}.loyalty-summary-table th.loyalty-th-dark,.loyalty-analysis-table th.loyalty-th-dark{background:#1a5f4a;color:#fff}.loyalty-summary-table th.loyalty-th-customer-count,.loyalty-summary-table td:nth-child(2){min-width:132px;box-sizing:border-box}.loyalty-summary-table th.loyalty-th-light,.loyalty-analysis-table th.loyalty-th-light{background:#86efac8c;color:#14532d}.loyalty-analysis-table th .loyalty-th-bucket{display:block}.loyalty-analysis-table th .loyalty-th-finishing,.loyalty-analysis-table th .loyalty-th-reached{display:block;font-size:.7rem;font-weight:500;opacity:.9;margin-top:.15rem}.loyalty-analysis-table{table-layout:fixed;width:100%}.segmentation-customer-table thead th,.segmentation-customer-table tbody td{font-size:.9em}.segmentation-customer-table thead th{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.segmentation-customer-table th.seg-band-id,.segmentation-customer-table td.seg-band-id{background:#1a5f4a0f}.segmentation-customer-table th.seg-band-top5,.segmentation-customer-table td.seg-band-top5{background:#1a5f4a1f}.segmentation-customer-table th.seg-band-premium,.segmentation-customer-table td.seg-band-premium{background:#1a5f4a14}.segmentation-customer-table th.seg-band-health,.segmentation-customer-table td.seg-band-health{background:#228b2226}.segmentation-customer-table th.seg-band-segment,.segmentation-customer-table td.seg-band-segment{background:#1a5f4a0a}.segmentation-customer-table th.seg-band-id.loyalty-th-dark,.segmentation-customer-table th.seg-band-top5.loyalty-th-dark,.segmentation-customer-table th.seg-band-premium.loyalty-th-dark,.segmentation-customer-table th.seg-band-health.loyalty-th-dark,.segmentation-customer-table th.seg-band-segment.loyalty-th-dark{background:#1a5f4a}.segmentation-customer-table th.seg-band-id.loyalty-th-light,.segmentation-customer-table th.seg-band-top5.loyalty-th-light,.segmentation-customer-table th.seg-band-premium.loyalty-th-light,.segmentation-customer-table th.seg-band-health.loyalty-th-light,.segmentation-customer-table th.seg-band-segment.loyalty-th-light{background:#86efac8c}.loyalty-analysis-table th.loyalty-col-name,.loyalty-analysis-table td.loyalty-col-name{width:18%;min-width:130px;max-width:220px;text-align:left;word-break:break-word}.loyalty-analysis-table th:not(.loyalty-col-name):not(.loyalty-type-th),.loyalty-analysis-table td:not(.loyalty-col-name):not(.loyalty-type-cell){width:auto;min-width:80px}.loyalty-analysis-table th.loyalty-type-th,.loyalty-analysis-table td.loyalty-type-cell{width:14%;min-width:200px;text-align:left;white-space:nowrap}.repeat-analysis-table thead th.repeat-th-dark{background:#1a5f4a;color:#fff;border-color:#fff3}.repeat-analysis-table .repeat-analysis-super-header th.th-super{text-align:center;font-weight:600}.repeat-analysis-table .repeat-analysis-sub-header th{font-weight:500;font-size:.9em}.repeat-analysis-table th.repeat-band-ps,.repeat-analysis-table td.repeat-band-ps{background:#1a5f4a2e}.repeat-analysis-table th.repeat-band-ps.repeat-th-dark{background:#1a5f4a}.repeat-analysis-table th.repeat-band-7d,.repeat-analysis-table td.repeat-band-7d{background:#1a5f4a1f}.repeat-analysis-table th.repeat-band-7d.repeat-th-dark{background:#165a47}.repeat-analysis-table th.repeat-band-14d,.repeat-analysis-table td.repeat-band-14d{background:#1a5f4a14}.repeat-analysis-table th.repeat-band-14d.repeat-th-dark{background:#125540}.repeat-analysis-table th.repeat-band-30d,.repeat-analysis-table td.repeat-band-30d{background:#1a5f4a0a}.repeat-analysis-table th.repeat-band-30d.repeat-th-dark{background:#0e5039}.repeat-analysis-table th.repeat-col-instances,.repeat-analysis-table td.repeat-col-instances{min-width:110px;width:110px}.repeat-analysis-table td.repeat-name-green-dark{background:#00640059;font-weight:700}.repeat-analysis-table td.repeat-name-green{background:#228b2233;font-weight:600}.repeat-analysis-table td.repeat-name-yellow{background:#daa52040;font-weight:500}.repeat-analysis-table td.repeat-name-orange{background:#ff8c0040;font-weight:500}.repeat-analysis-table td.repeat-name-red{background:#dc354533;font-weight:500}.loyalty-analysis-table td.oc20-journey-oc-50hit{background:#1a5f4a38;font-weight:600}.loyalty-analysis-table th.oc20-journey-col-num,.loyalty-analysis-table th.oc20-journey-col-pct{min-width:6rem;width:6rem}.loyalty-analysis-table th.oc20-journey-oc-col,.loyalty-analysis-table td.oc20-journey-oc-cell{min-width:2.5rem;width:2.5rem;max-width:2.75rem}.journey-comp-table thead th.journey-comp-oc20-aov-header{background:#2d8a6e;color:#fff;border-color:#ffffff40}.journey-comp-table td.journey-comp-oc20-aov-cell{background:#2d8a6e1f}.journey-comp-table td.journey-comp-name-green{background:#228b2238;font-weight:600}.journey-comp-table td.journey-comp-name-red{background:#dc35452e;font-weight:600}.journey-comp-table td.journey-comp-name-yellow{background:#ffc10740;font-weight:500}.loyalty-analysis-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.25rem;flex-wrap:wrap}.loyalty-filter-oc50-label{font-size:.9rem;font-weight:500;color:#333;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.analysis-for-customers-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem}.analysis-for-customers{margin:0;font-size:.8rem;color:#555}.loyalty-type-cell.type-consistent-increase{background:#16a34a66;color:#14532d;font-weight:600}.loyalty-type-cell.type-consistent-decline{background:#e11d4859;color:#881337;font-weight:600}.loyalty-type-cell.type-minor-increase{background:#86efac8c;color:#166534}.loyalty-type-cell.type-minor-decline{background:#fbcfe899;color:#9d174d}.loyalty-type-cell.type-rise-higher{background:#bbf7d080;color:#15803d}.loyalty-type-cell.type-decline-higher{background:#fecdd38c;color:#b91c1c}.loyalty-type-cell.type-inconclusive{background:#e2e8f0;color:#475569}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:#1a1a2e;color:#fff;padding:1rem 2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000026}.header-nav{margin-left:auto}.header-nav a{color:#a5d6a7;text-decoration:none;font-size:.95rem}.header-nav a:hover{text-decoration:underline}.header-logo{height:40px;width:auto}.header-title{font-size:var(--font-xl);font-weight:600;margin:0;font-family:inherit}.header-title-block{display:flex;flex-direction:column;gap:.25rem;min-width:0}.header-subtitle{margin:0;font-size:.875rem;font-weight:400;color:#ffffffc7;line-height:1.35;max-width:36rem}.main{flex:1;padding:2rem}.filters{display:flex;gap:.6rem;margin-bottom:1.5rem;align-items:center;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.filter-group{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.filter-group label{font-size:var(--font-base);font-weight:500;color:#333;font-family:inherit;white-space:nowrap}.filter-group select{padding:.35rem 1.5rem .35rem .5rem;font-size:var(--font-base);font-family:inherit;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;min-width:110px;max-width:154px;box-sizing:border-box}.filter-group select.filter-select-club-house{min-width:195px!important;width:max(195px,12em)!important;max-width:none!important;box-sizing:border-box;padding-right:1.75rem}.filter-group select:hover{border-color:#1a5f4a}.filter-group select:focus{outline:none;border-color:#1a5f4a;box-shadow:0 0 0 2px #1a5f4a33}.filter-group-checkbox label{cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.acquisition-month-select{position:relative;min-width:110px;max-width:143px}.acquisition-month-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.35rem 1.25rem .35rem .5rem;font-size:var(--font-base);font-family:inherit;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;text-align:left}.acquisition-month-trigger:hover{border-color:#1a5f4a}.acquisition-month-trigger:focus{outline:none;border-color:#1a5f4a;box-shadow:0 0 0 2px #1a5f4a33}.acquisition-month-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acquisition-month-arrow{font-size:.65rem;color:#666;margin-left:.5rem;flex-shrink:0}.acquisition-month-dropdown{position:absolute;top:100%;left:0;margin-top:2px;min-width:100%;max-width:220px;max-height:280px;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:100}.acquisition-month-dropdown-fixed{position:fixed;top:auto;left:auto;margin-top:0;min-width:200px}.acquisition-month-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:var(--font-sm);cursor:pointer;white-space:nowrap}.acquisition-month-option:hover{background:#e8f4f0}.acquisition-month-option-all{border-bottom:1px solid #eee;font-weight:500}.acquisition-month-list{overflow-y:auto;max-height:240px}.acquisition-month-option input[type=checkbox]{cursor:pointer;flex-shrink:0}.filter-group input[type=date]{padding:.5rem .75rem;font-size:var(--font-base);font-family:inherit;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer}.filter-group input[type=date]:hover{border-color:#1a5f4a}.filter-group input[type=date]:focus{outline:none;border-color:#1a5f4a;box-shadow:0 0 0 2px #1a5f4a33}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 12px #00000014;overflow-x:auto;overflow-y:auto;width:100%;padding:.5rem 1rem 0}.table-container table{width:100%;border-collapse:collapse;table-layout:fixed}.table-container table.table-transposed{table-layout:fixed;width:max-content}.table-container table.table-transposed .col-metric{position:sticky;left:0;background:#fff;z-index:2;width:121px;min-width:121px;white-space:nowrap}.table-container table.table-transposed .col-sub-metric{position:sticky;left:121px;background:#fff;z-index:2;width:110px;min-width:110px;white-space:nowrap;box-shadow:2px 0 6px -2px #0000001f}.table-container table.table-transposed .col-date{width:160px;min-width:160px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-container table.table-transposed td:not(.col-metric):not(.col-sub-metric):not(.col-delivery-mins){width:160px;min-width:160px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-container table.table-transposed th,.table-container table.table-transposed td{padding:.28rem .75rem;box-sizing:border-box}.table-container th,.table-container td{padding:.35rem .5rem;text-align:left;vertical-align:middle;border-bottom:1px solid #eee}.table-container th{background:#1a5f4a;color:#fff;font-weight:600;font-size:var(--font-sm);font-family:inherit;white-space:nowrap;position:sticky;top:0;z-index:3}.table-container table.table-transposed th.col-metric,.table-container table.table-transposed th.col-sub-metric,.table-container table.table-transposed th.col-delivery-mins{z-index:4}.table-container th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table-container th.sortable:hover{background:#2d7a5e}.table-container tr:hover{background:#f8faf9}.table-container td{font-size:var(--font-sm);font-family:inherit}.table-container td.numeric,.table-container th.numeric{font-variant-numeric:tabular-nums}.table-container th:not(:first-child),.table-container td:not(:first-child){text-align:center}.table-container th.col-sub-metric,.table-container td.col-sub-metric{text-align:left}.tabs{display:flex;gap:.25rem;margin-bottom:1rem}.tab{padding:.5rem 1rem;font-size:var(--font-base);font-weight:500;font-family:inherit;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;color:#333}.tab:hover{border-color:#1a5f4a;color:#1a5f4a}.tab-active{background:#1a5f4a;border-color:#1a5f4a;color:#fff}.content-layout{display:flex;gap:1.5rem;align-items:stretch;flex:1;min-height:0}.content-layout-stacked{flex-direction:column}.table-section{flex:0 0 60%;min-width:0;display:flex;flex-direction:column;min-height:0}.table-section-top{flex:0 0 auto;width:100%}.table-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end;padding:0 0 .4rem}.show-only-plan-checkbox{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none}.show-only-plan-checkbox input{cursor:pointer}.download-csv-btn{background:#1a5f4a;color:#fff;border:none;border-radius:4px;padding:.3rem .75rem;font-size:.78rem;cursor:pointer;transition:background .15s}.download-csv-btn:hover{background:#15503e}.table-section-top .table-container{max-height:70vh;overflow-y:auto}.table-container table.table-transposed.table-oc-merged.table-society th.col-metric,.table-container table.table-transposed.table-oc-merged.table-society td.col-metric{width:200px!important;min-width:200px!important;max-width:200px!important;white-space:normal;word-wrap:break-word}.table-container table.table-transposed.table-oc-merged.table-society th,.table-container table.table-transposed.table-oc-merged.table-society td{font-size:.875rem}.table-container table.table-transposed.table-oc-merged.table-society .col-delivery-mins{position:sticky;left:200px;z-index:2;width:90px!important;min-width:90px!important;max-width:90px!important;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;background:#fff;font-size:.875rem;line-height:1.2}.table-container table.table-transposed.table-oc-merged.table-society thead th.col-delivery-mins{position:sticky;left:200px;z-index:5;background:#1a5f4a!important;box-shadow:2px 0 6px -2px #0000001f}.table-container table.table-transposed.table-oc-merged.table-society .col-sub-metric{left:290px;width:auto;min-width:84px;background:#fff;box-shadow:2px 0 6px -2px #0000001f;font-size:.875rem}.society-pagination-wrapper{flex-shrink:0;margin-top:0}.society-pagination-wrapper .pagination-bar{margin-top:.25rem}.charts-section{flex:1;min-width:280px;display:flex;flex-direction:column;gap:1rem;min-height:0}.charts-section-bottom{flex-direction:row;flex-wrap:wrap;flex:0 0 auto;gap:1rem}.charts-group{display:flex;flex-direction:column;gap:.75rem;width:100%}.charts-group-header{display:flex;align-items:center;gap:.5rem}.charts-group-label{font-size:var(--font-base);font-weight:600;font-family:inherit;color:#333}.charts-group-content{display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem}.charts-group-content.charts-overall-grid{display:grid;grid-template-columns:repeat(3,1fr)}.charts-group-content .chart-card,.charts-section-bottom .chart-card{flex:1 1 30%;min-width:260px}.charts-overall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%}.charts-overall-grid .chart-card{min-width:0}.chart-card{background:#fff;border-radius:8px;box-shadow:0 2px 12px #00000014;padding:1rem;min-height:220px;flex:1;min-width:280px}.chart-title{margin:0 0 .5rem;font-size:var(--font-base);font-weight:600;font-family:inherit;color:#333}.chart-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.chart-header-row .chart-title{margin:0}.chart-metric-select{padding:.25rem .5rem;font-size:var(--font-sm);font-family:inherit;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer}.chart-metric-select:hover{border-color:#1a5f4a}.searchable-select{position:relative;min-width:200px}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .6rem;font-size:var(--font-sm);font-family:inherit;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer}.searchable-select-trigger:hover{border-color:#1a5f4a}.searchable-select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-arrow{font-size:.65rem;color:#666}.searchable-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:2px;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:280px}.searchable-select-input{width:100%;padding:.5rem .75rem;font-size:var(--font-sm);font-family:inherit;border:none;border-bottom:1px solid #eee;border-radius:6px 6px 0 0;box-sizing:border-box}.searchable-select-input:focus{outline:none}.searchable-select-list{max-height:220px;overflow-y:auto;padding:.25rem 0}.searchable-select-option{padding:.4rem .75rem;font-size:var(--font-sm);font-family:inherit;cursor:pointer}.searchable-select-option:hover,.searchable-select-option.selected{background:#e8f4f0}.searchable-select-empty{padding:.75rem;font-size:var(--font-sm);color:#888;text-align:center}.table-oc-merged .oc-group-cell{vertical-align:middle;position:sticky;left:0;z-index:2;width:100px;min-width:100px}.table-oc-merged .col-sub-metric{position:sticky;left:100px;z-index:2;min-width:84px;white-space:nowrap;box-shadow:2px 0 6px -2px #0000001f}.table-oc-merged .col-metric{position:sticky;left:0;z-index:2;width:100px!important;min-width:100px!important}.table-container table.table-transposed.table-oc-merged .col-metric{width:100px;min-width:100px}.table-container table.table-transposed.table-oc-merged .col-sub-metric{left:100px;width:auto;min-width:84px}.table-oc-merged .oc-band-0 td,.table-oc-merged tr.oc-band-0 td{background:#f5f5f5}.table-oc-merged .oc-band-1 td,.table-oc-merged tr.oc-band-1 td{background:#ebebeb}.table-oc-merged tr.oc-band-0 td.oc-group-cell{background-color:#f5f5f5!important}.table-oc-merged tr.oc-band-1 td.oc-group-cell{background-color:#ebebeb!important}.table-oc-merged tr.oc-band-0 td.col-sub-metric{background-color:#f5f5f5!important}.table-oc-merged tr.oc-band-1 td.col-sub-metric{background-color:#ebebeb!important}.table-oc-merged tr.oc-band-0 td.col-delivery-mins{background-color:#f5f5f5!important}.table-oc-merged tr.oc-band-1 td.col-delivery-mins{background-color:#ebebeb!important}.table-oc-merged thead th.col-metric,.table-oc-merged thead th.col-sub-metric,.table-oc-merged thead th.col-delivery-mins{background-color:#1a5f4a!important}.table-banded th,.table-banded td{padding:.25rem .5rem;font-size:var(--font-sm);font-family:inherit}.table-banded .cluster-date{background:#e8f4f0}.table-banded .cluster-cust{background:#f0f4f8}.table-banded .cluster-repeat{background:#f8f0f4}.table-banded .cluster-rpc{background:#f4f4f0}.table-container .table-transposed:not(.table-oc-merged) th.col-metric{background-color:#1a5f4a!important;box-shadow:2px 0 6px -2px #0000001f}.table-container .table-transposed:not(.table-oc-merged) td.col-metric.cluster-cust{background-color:#f0f4f8!important;box-shadow:2px 0 6px -2px #0000001f}.table-container .table-transposed:not(.table-oc-merged) td.col-metric.cluster-repeat{background-color:#f8f0f4!important;box-shadow:2px 0 6px -2px #0000001f}.table-container .table-transposed:not(.table-oc-merged) td.col-metric.cluster-rpc{background-color:#f4f4f0!important;box-shadow:2px 0 6px -2px #0000001f}.table-banded .cluster-a{background:#e8f4f0}.table-banded .cluster-b{background:#f0f4f8}.table-banded thead th{background:#1a5f4a!important;color:#fff}.pagination-bar{display:flex;align-items:center;gap:1rem;padding:.25rem 0;margin-top:.25rem}.pagination-btn{padding:.4rem .8rem;font-size:var(--font-sm);font-family:inherit;border:1px solid #1a5f4a;border-radius:6px;background:#fff;color:#1a5f4a;cursor:pointer}.pagination-btn:hover:not(:disabled){background:#1a5f4a;color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:var(--font-sm);font-family:inherit;color:#555}.placeholder{padding:2rem;text-align:center;font-size:var(--font-base);font-family:inherit;color:#888;font-style:italic}.loading{padding:3rem;text-align:center;font-size:var(--font-base);font-family:inherit;color:#666}.error{padding:1.5rem;font-size:var(--font-base);font-family:inherit;background:#fef2f2;color:#b91c1c;border-radius:6px;margin-bottom:1rem}th.fc-col,td.fc-col{opacity:.7}.table-container table.table-transposed.table-oc-merged.table-society th.fc-col,.table-container table.table-transposed.table-oc-merged.table-society td.fc-col{opacity:.62}.methodology-page{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem 1.5rem}.methodology-page h2{margin:0;font-size:1.15rem;color:#111827}.methodology-subtitle{margin:.25rem 0 .75rem;color:#6b7280;font-size:.9rem}.methodology-page h3{margin:1rem 0 .5rem;font-size:.95rem;color:#111827}.methodology-page p,.methodology-page li{font-size:.92rem;line-height:1.55;color:#222}.methodology-page code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.86em;background:#f3f4f6;border-radius:4px;padding:.1rem .25rem}.methodology-kv{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:.5rem 0 .25rem}.methodology-kv span{color:#6b7280;margin-right:.4rem}.methodology-code{margin:.5rem 0 0;background:#0b1020;color:#e5e7eb;border-radius:10px;padding:.9rem 1rem;overflow:auto;font-size:.85rem;line-height:1.45}.methodology-note{color:#6b7280;font-size:.9rem;margin:.25rem 0}.methodology-ratio-table{margin:1rem 0;overflow-x:auto}.methodology-ratio-table table{border-collapse:collapse;font-size:.9rem}.methodology-ratio-table th,.methodology-ratio-table td{padding:.35rem .75rem;text-align:left;border:1px solid #374151}.methodology-ratio-table th{background:#1f2937;font-weight:600}.methodology-ratio-table td:last-child{font-variant-numeric:tabular-nums}
