.related-products-container{padding:32px;background:#f7f4ed;border-top:1px solid rgba(0,0,0,.05)}.related-products-title{margin:0 0 20px;text-transform:uppercase;letter-spacing:.35em;font-size:11px;color:#8d8d82}.related-products-table{width:100%;border-collapse:separate;border-spacing:0;background:#fffdf7;border-radius:24px;overflow:hidden;border:1px solid rgba(0,0,0,.05);box-shadow:0 15px 35px #1f1f1f0d}.related-products-table thead{background:#f0ece4;border-bottom:1px solid rgba(0,0,0,.05)}.related-products-table th{padding:14px 18px;text-align:left;font-weight:600;font-size:11px;color:#7b7b6f;text-transform:uppercase;letter-spacing:.18em}.related-product-row{border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .15s}.related-product-row:hover{background-color:#f4efe4}.related-product-row:last-child{border-bottom:none}.related-products-table td{padding:16px 18px;font-size:13px;color:#1f1f1f}.related-product-cell{max-width:300px}.related-product-info{display:flex;align-items:center;gap:10px}.related-product-image{width:44px;height:44px;object-fit:cover;border-radius:12px;border:1px solid rgba(0,0,0,.05)}.related-product-details{display:flex;flex-direction:column;gap:3px}.related-product-name{font-weight:600;color:#1f1f1f;line-height:1.3}.related-product-sku{font-size:11px;color:#8b8b7a;font-family:SF Mono,Roboto Mono,monospace}.affinity-metric{text-align:center;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums;padding:10px 16px!important;border-radius:999px}.affinity-high{color:#205537;background:#d4f1d7}.affinity-medium{color:#7c4d0d;background:#f8e0a2}.affinity-low{color:#5f5f5f;background:#ebe7dd}.affinity-none{color:#a5a5a5;background:transparent}.related-products-loading,.related-products-error,.related-products-empty{padding:40px 24px;text-align:center;color:#7b7b6f}.related-products-loading{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.08);border-top:4px solid #5f876e;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.related-products-error{color:#c93f3f}.product-table-container{width:100%}.product-table{width:100%;border-collapse:separate;border-spacing:0;background:#fffdf7;border-radius:28px;overflow:hidden;border:1px solid rgba(0,0,0,.05);box-shadow:0 18px 46px #1f1f1f0d}.product-table thead{background:#f6f3ed;border-bottom:1px solid rgba(0,0,0,.05)}.product-table th{padding:16px 20px;text-align:left;font-weight:600;font-size:12px;color:#7b7b6f;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap}.product-table th:first-child{width:40px;text-align:center}.product-row{border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .15s ease}.product-row:hover{background:#f7f4ed}.product-row:last-child{border-bottom:none}.product-table td{padding:18px 20px;font-size:14px;color:#1f1f1f;font-weight:500;vertical-align:middle}.expand-button{width:32px;height:32px;border-radius:12px;border:1px solid rgba(0,0,0,.05);background:#f2efea;color:#6b6b66;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;font-size:11px}.expand-button:hover{background:#dfe8dd;border-color:#b8c9b4;color:#1f1f1f}.expand-button.expanded{background:#506d5b;border-color:#506d5b;color:#fffdf7}.product-cell{max-width:350px}.product-info{display:flex;align-items:center;gap:12px}.product-image{width:52px;height:52px;border-radius:16px;object-fit:cover;border:1px solid rgba(0,0,0,.05)}.product-details{display:flex;flex-direction:column;gap:4px;min-width:0}.product-name{font-weight:600;color:#1f1f1f;line-height:1.4;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-sku{font-size:12px;color:#99907f;font-family:SF Mono,Roboto Mono,monospace}.metric-cell{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;color:#2f2f2f}.metric-cell-highlight{font-weight:600;color:#111827}.metric-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600}.metric-badge-high{background:#dcfce7;color:#166534}.metric-badge-medium{background:#fef3c7;color:#92400e}.metric-badge-low{background:#fee2e2;color:#991b1b}.expanded-row{background:#f8fafc}.expanded-row td{padding:0}.expanded-content{padding:24px 32px;border-top:1px solid #e5e7eb}.metric-cell:hover{color:#111827}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px}.status-dot-green{background:#10b981}.status-dot-yellow{background:#f59e0b}.status-dot-red{background:#ef4444}.product-table.compact td{padding:10px 16px}.product-table.compact .product-image{width:36px;height:36px}.product-table.compact .product-name{font-size:13px}.subscriber-growth-container{background:#fffdf7;border-radius:28px;border:1px solid rgba(0,0,0,.05);padding:28px;display:flex;flex-direction:column;gap:24px;min-height:100%}.growth-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px}.growth-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.35em;color:#9a9a8f;margin-bottom:8px}.growth-title{font-size:22px;font-weight:700;color:#1f1f1f}.growth-controls{display:flex;flex-direction:column;gap:6px;min-width:180px}.growth-controls label{font-size:11px;letter-spacing:.2em;color:#8b8b7a;text-transform:uppercase}.growth-select{border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:10px 14px;background:#f0ede6}.growth-run-button{padding:10px 16px;border-radius:16px;border:none;background:#2d4639;color:#fffdf7;font-weight:600;cursor:pointer;transition:opacity .2s ease}.growth-run-button:disabled{opacity:.5;cursor:not-allowed}.growth-loading,.growth-error,.growth-empty{padding:32px;border-radius:22px;border:1px dashed rgba(0,0,0,.1);text-align:center;color:#5c5c5c;background:#f8f5ee}.growth-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.growth-stat-card{border-radius:18px;padding:18px;border:1px solid rgba(0,0,0,.05);background:#f5f2ea;display:flex;flex-direction:column;gap:6px}.growth-stat-card.positive{background:#e2f5eb;border-color:#8ec7a6}.growth-stat-card.negative{background:#fdecef;border-color:#f7b4c3}.growth-stat-value{font-size:28px;font-weight:700;color:#1f1f1f;font-variant-numeric:tabular-nums}.growth-stat-card.positive .growth-stat-value{color:#17613f}.growth-stat-card.negative .growth-stat-value{color:#a1262e}.growth-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#6c6c6c}.growth-chart{border-radius:24px;border:1px solid rgba(0,0,0,.05);padding:24px;background:#f7f5ef}.chart-subtitle{font-size:14px;text-transform:uppercase;letter-spacing:.25em;color:#9a9a8f;margin-bottom:16px}.chart-container{overflow-x:auto}.chart-bars{display:flex;gap:12px;align-items:flex-end;min-height:200px;padding-bottom:16px}.chart-bar-group{min-width:60px;display:flex;flex-direction:column;align-items:center;gap:10px}.chart-bars-stack{display:flex;flex-direction:column;align-items:center;gap:6px}.chart-bar{width:22px;border-radius:12px;min-height:4px;transition:opacity .2s ease}.chart-bar:hover{opacity:.75}.chart-bar.added{background:#4f906b}.chart-bar.removed{background:#de6b68}.chart-bar.net{width:8px;background:#2d4639}.chart-bar.net.negative{background:#d38c4f}.chart-label{font-size:12px;color:#6c6c6c;font-variant-numeric:tabular-nums}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;justify-content:center}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#6c6c6c}.legend-color{width:14px;height:14px;border-radius:4px}.legend-color.added{background:#4f906b}.legend-color.removed{background:#de6b68}.legend-color.net{background:#2d4639}.growth-table{border-radius:20px;border:1px solid rgba(0,0,0,.05);overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.data-table thead{background:#f1efe8}.data-table th{padding:12px 16px;text-align:left;font-weight:600;color:#4f4f4f;text-transform:uppercase;letter-spacing:.08em}.data-table td{padding:12px 16px;border-top:1px solid rgba(0,0,0,.05);color:#1f1f1f}.data-table tbody tr:nth-child(odd){background:#f8f7f1}.data-table td.positive{color:#17613f;font-weight:600}.data-table td.negative{color:#a1262e;font-weight:600}@media(max-width:640px){.growth-controls{width:100%}.chart-bar{width:16px}}.ltv-card{background:#fff;border-radius:24px;border:1px solid #e2e8f0;padding:28px;box-shadow:0 18px 40px #0f172a0a;display:flex;flex-direction:column;gap:24px;min-height:100%}.ltv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.ltv-eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:11px;color:#b4b5c7;margin-bottom:6px}.ltv-title{font-size:22px;font-weight:700;color:#0f172a;margin-bottom:8px}.ltv-description{font-size:14px;color:#64748b;max-width:440px;line-height:1.5}.ltv-controls{display:flex;flex-direction:column;gap:8px;min-width:200px}.ltv-controls label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8}.ltv-select{border:1px solid #cbd5f5;border-radius:16px;padding:10px 14px;font-size:14px;background:#f8fafc;color:#0f172a}.ltv-run-button{padding:10px 14px;border-radius:14px;border:none;background:#0f172a;color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.ltv-run-button:hover:not(:disabled){transform:translateY(-1px)}.ltv-run-button:disabled{opacity:.5;cursor:not-allowed}.ltv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;align-items:center}.ltv-stat-main{background:linear-gradient(135deg,#4c1d95,#3730a3);border-radius:20px;padding:24px;color:#f8fafc;display:flex;flex-direction:column;gap:8px}.ltv-stat-value{font-size:44px;font-weight:700;line-height:1}.ltv-stat-label{font-size:14px;text-transform:uppercase;letter-spacing:.2em;color:#f8fafccc}.ltv-stat-secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.ltv-stat-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:6px}.ltv-stat-value-small{font-size:26px;font-weight:700;color:#0f172a}.ltv-stat-label-small{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.ltv-info{padding:18px;border-radius:18px;background:#eef2ff;color:#312e81;font-size:14px;line-height:1.6}.ltv-empty-state,.ltv-loading,.ltv-error{padding:32px;border-radius:20px;border:1px dashed #c7d2fe;background:#f8fafc;text-align:center;color:#475569}.ltv-loading .spinner{border:4px solid #e0e7ff;border-top:4px solid #4c1d95;border-radius:50%;width:42px;height:42px;margin:0 auto 16px;animation:spin 1s linear infinite}.ltv-error h3{color:#dc2626;margin-bottom:8px}@media(max-width:640px){.ltv-card{padding:24px}.ltv-stat-value{font-size:36px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:#f2f0ea;color:#1f1f1f}.app{min-height:100vh}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:80px;background:#f8f6f0;border-right:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;padding:24px 0;gap:32px}.sidebar-logo{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#d3dacb,#9ab09d);display:flex;align-items:center;justify-content:center;font-weight:700;color:#1f1f1f}.sidebar-nav{display:flex;flex-direction:column;gap:12px}.nav-icon{width:44px;height:44px;border:none;border-radius:16px;background:transparent;cursor:pointer;font-size:18px;transition:background .2s ease,transform .2s ease}.nav-icon.active,.nav-icon:hover{background:#4d6b5e26;transform:translateY(-1px)}.sidebar-avatar{width:40px;height:40px;border-radius:14px;background:#0000001a;display:flex;align-items:center;justify-content:center}.dashboard{flex:1;padding:32px 48px;display:flex;flex-direction:column;gap:24px}.dashboard-hero{background:#fffffb;border-radius:28px;padding:32px;display:flex;justify-content:space-between;gap:32px;border:1px solid rgba(0,0,0,.05)}.hero-text h1{font-size:32px;margin-bottom:8px}.hero-text p{color:#5c5c5c}.hero-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.4em;color:#8b8b7a;margin-bottom:12px}.hero-actions{display:flex;flex-direction:column;gap:16px;min-width:260px}.account-selector label{text-transform:uppercase;font-size:11px;letter-spacing:.2em;color:#8b8b7a;margin-bottom:6px;display:block}.account-selector select{width:100%;padding:12px 14px;border-radius:18px;border:1px solid rgba(0,0,0,.12);background:#f6f4ef;font-size:15px}.hero-search{display:flex;border-radius:24px;border:1px solid rgba(0,0,0,.08);background:#f2f0ea;overflow:hidden}.hero-search input{flex:1;border:none;background:transparent;padding:12px 16px;font-size:15px}.hero-search button{border:none;background:#222;color:#fff;padding:0 20px;cursor:pointer}.dashboard-main{display:flex;flex-direction:column;gap:24px}.account-pill{display:inline-flex;align-items:center;gap:12px;background:#f9f7f2;border-radius:999px;padding:14px 24px;font-size:14px;color:#4f4f4f}.account-pill span{font-size:12px;color:#8b8b7a}.pill-dot{width:12px;height:12px;border-radius:50%;background:#5f876e}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-card{background:#fffdf7;border-radius:24px;padding:20px;border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column;gap:8px}.summary-card.accent{background:linear-gradient(135deg,#94b49f,#bcd6b3);color:#1f1f1f}.summary-label{text-transform:uppercase;font-size:12px;letter-spacing:.25em;color:#00000080}.summary-card.accent .summary-label,.summary-card.accent .summary-trend{color:#000000a6}.summary-value{font-size:32px;font-weight:700}.summary-trend{font-size:13px;color:#00000073}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.loading-container,.error-container,.empty-container{background:#fffdf7;border-radius:24px;border:1px solid rgba(0,0,0,.05);padding:48px 24px;text-align:center}.spinner-large{width:60px;height:60px;border-radius:50%;border:5px solid rgba(0,0,0,.1);border-top-color:#5f876e;margin:0 auto 20px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-subtext{color:#0000008c;margin-top:8px}.retry-button,.refresh-button{padding:12px 20px;border-radius:18px;border:none;background:#202020;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s ease}.retry-button:hover,.refresh-button:hover{opacity:.85}.product-panel{background:#fffdf7;border-radius:32px;border:1px solid rgba(0,0,0,.05);padding:32px;display:flex;flex-direction:column;gap:24px}.product-panel-header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.35em;color:#9a9a8f;margin-bottom:10px}.section-description{color:#666;max-width:500px}.product-panel-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.timeframe-chips{display:flex;gap:8px;background:#f0ede6;padding:6px;border-radius:999px}.chip{border:none;background:transparent;padding:8px 16px;border-radius:999px;font-weight:600;cursor:pointer;color:#5c5c5c}.chip.active{background:#fff;box-shadow:0 2px 6px #0000001a;color:#1f1f1f}.app-footer{text-align:center;color:#00000080;font-size:14px;padding-bottom:24px}@media(max-width:960px){.dashboard{padding:24px}.dashboard-hero{flex-direction:column}}@media(max-width:720px){.app-shell{flex-direction:column}.app-sidebar{flex-direction:row;width:100%;justify-content:space-between}}
