:root{--bg-primary: #f5f5f7;--bg-secondary: #ffffff;--bg-surface: #ffffff;--text-primary: #111827;--text-secondary: #6b7280;--accent-primary: #111827;--accent-glow: rgba(0, 0, 0, .1);--nav-height: 80px;--border-color: #e5e7eb;--card-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06)}body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}.app-layout{flex:1;display:flex;flex-direction:column}.content{flex:1;padding-bottom:calc(var(--nav-height) + 20px);overflow-y:auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-color);z-index:1000;display:flex;align-items:center;justify-content:center;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -1px 3px #00000005}.nav-container{display:flex;width:100%;max-width:600px;justify-content:space-around;align-items:center}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-secondary);text-decoration:none;font-size:.75rem;font-weight:500;padding:8px 16px;border-radius:12px;transition:all .2s ease}.nav-item:hover{color:var(--text-primary);background:#00000008}.nav-item.active{color:var(--accent-primary)}.nav-item svg{transition:transform .2s ease}.nav-item.active svg{transform:translateY(-2px)}.page-container{padding:24px 20px;max-width:600px;margin:0 auto}.page-header{margin-bottom:32px}.page-header h1{font-size:1.75rem;font-weight:700;margin:0 0 8px;color:var(--text-primary);letter-spacing:-.025em}.subtitle{color:var(--text-secondary);font-size:.95rem;margin:0;line-height:1.5}.content-placeholder{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:40px;text-align:center;color:var(--text-secondary);box-shadow:var(--card-shadow)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;width:100%;position:sticky;top:0;background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:100;box-sizing:border-box}.header-logo{display:flex;align-items:center}.logo-text{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.header-actions{display:flex;align-items:center}.profile-btn{width:32px;height:32px;padding:0;border:none;background:#65a30d;cursor:pointer;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.8rem;transition:all .2s ease}.profile-btn:hover{transform:scale(1.05);opacity:.9}.header-avatar{width:100%;height:100%;object-fit:cover}.header-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.app-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:50%;color:var(--text-primary);cursor:pointer;transition:background .2s ease}.header-icon-btn:hover{background:#0000000d}.app-layout{display:flex;flex-direction:column;min-height:100vh;padding-bottom:70px}.content{flex:1;overflow-y:auto}.upload-spinner{width:40px;height:40px;border:3px solid rgba(var(--accent-primary-rgb),.3);border-radius:50%;border-top-color:var(--accent-primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.data-input-form{display:flex;flex-direction:column;gap:24px}.input-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:20px}.input-section-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.input-section-desc{font-size:.8rem;color:var(--text-secondary);margin:0 0 16px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.input-field{display:flex;flex-direction:column;gap:6px}.input-field-full{grid-column:1 / -1}.input-field label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.input-with-unit{display:flex;align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:all .2s ease}.input-with-unit:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #1118271a}.input-with-unit input{flex:1;border:none;background:transparent;padding:12px 14px;font-size:1rem;font-weight:500;color:var(--text-primary);outline:none;min-width:0}.input-with-unit input::placeholder{color:#d1d5db}.input-unit{padding:12px 14px;background:var(--border-color);color:var(--text-secondary);font-size:.8rem;font-weight:500;white-space:nowrap}.file-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;border:2px dashed var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;background:var(--bg-primary)}.file-upload-area:hover{border-color:var(--text-secondary);background:#fafafa}.upload-icon{color:var(--text-secondary);margin-bottom:8px}.upload-text{font-size:.9rem;font-weight:500;color:var(--text-primary);margin:0}.upload-hint{font-size:.75rem;color:var(--text-secondary);margin:4px 0 0}.uploaded-file{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:12px}.file-info{display:flex;align-items:center;gap:10px;color:#16a34a}.file-name{font-size:.875rem;font-weight:500;color:var(--text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#0000001a;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.remove-file-btn:hover{background:#00000026;color:var(--text-primary)}.remove-file-btn:disabled{opacity:.5;cursor:not-allowed}.summary-card-empty .summary-card-icon{background:#f3f4f6;color:#9ca3af}.summary-card-empty .value-main{color:var(--text-secondary)}.summary-card-bloodwork .summary-card-icon{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#16a34a}.summary-card:nth-child(5) .summary-card-icon{background:linear-gradient(135deg,#fdf4ff,#fae8ff);color:#a855f7}.uploaded-file-container{display:flex;flex-direction:column;gap:10px}.extraction-status{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;font-size:.85rem;font-weight:500}.extraction-status.extracting{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#2563eb}.extraction-status.success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#16a34a}.extraction-status.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706}.spin{animation:spin 1s linear infinite}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-container svg{color:var(--text-secondary);margin-bottom:16px}.loading-text{color:var(--text-secondary);font-size:.9rem;margin:0}.ai-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#818cf8,#a78bfa);color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;font-style:normal}.ai-badge svg{animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.lever-reasoning{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin:6px 0 10px;padding-left:10px;border-left:2px solid var(--border-color)}.upload-section{margin-bottom:32px}.upload-section h2{font-size:1.1rem;font-weight:700;margin:0 0 8px;color:var(--text-primary)}.upload-subtitle{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0 0 16px}.upload-cards{display:flex;gap:12px}.upload-card{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;cursor:pointer;transition:all .2s ease;min-height:100px}.upload-card:hover{border-color:var(--text-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.upload-card-text{font-size:.9rem;font-weight:600;color:var(--text-primary);line-height:1.3}.upload-card-icon{width:28px;height:28px;border-radius:50%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease}.upload-card:hover .upload-card-icon{background:var(--text-primary);color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease}.modal-content{background:var(--bg-secondary);border-radius:20px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.modal-icon{color:var(--accent-primary)}.modal-body{padding:20px 24px}.modal-file-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;font-size:.9rem}.modal-file-info strong{color:var(--text-primary);word-break:break-word}.metrics-badge{display:inline-flex;align-items:center;padding:4px 10px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;border-radius:12px;font-size:.75rem;font-weight:600}.modal-warning{display:flex;gap:10px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:12px;margin-bottom:16px}.modal-warning svg{color:#d97706;flex-shrink:0;margin-top:2px}.modal-warning p{color:#92400e;font-size:.85rem;margin:0;line-height:1.4}.date-input-container{margin-top:8px}.date-input-container label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.03em}.date-input-container input[type=date]{width:100%;padding:12px 14px;font-size:1rem;font-family:inherit;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease;box-sizing:border-box}.date-input-container input[type=date]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #1118271a}.date-input-container input[type=date].has-error{border-color:#ef4444}.date-error{display:block;color:#ef4444;font-size:.8rem;margin-top:6px}.modal-actions{display:flex;gap:12px;padding:16px 24px 24px}.modal-btn-secondary{flex:1;padding:12px 16px;font-size:.9rem;font-weight:600;font-family:inherit;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.modal-btn-secondary:hover{background:var(--border-color);color:var(--text-primary)}.modal-btn-primary{flex:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;font-family:inherit;background:var(--accent-primary);border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .2s ease}.modal-btn-primary:hover:not(:disabled){background:#374151;transform:translateY(-1px)}.modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.profile-list{display:flex;flex-direction:column;gap:12px}.profile-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:all .2s ease}.profile-item-header{display:flex;align-items:center;padding:16px;cursor:pointer;gap:12px}.profile-item:hover{background:#fafafa}.profile-item.expanded{border-color:var(--text-secondary);box-shadow:0 4px 12px #0000000d}.profile-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-primary);border-radius:10px;color:var(--text-primary)}.profile-item-label{flex:1;font-size:.95rem;font-weight:500;color:var(--text-primary)}.profile-arrow{color:var(--text-secondary)}.profile-item-content{padding:0 16px 20px 64px;animation:slideDown .2s ease}.profile-item-content p{margin:0;font-size:.85rem;line-height:1.6;color:var(--text-secondary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.step-indicator{display:flex;justify-content:center;gap:8px;margin-top:32px;margin-bottom:24px}.step-dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);transition:all .3s ease}.step-dot.active{background:var(--text-secondary)}.step-dot.current{background:var(--accent-primary);transform:scale(1.25)}.goals-screen{animation:fadeIn .4s ease}.goals-header{margin-bottom:32px}.header-title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.header-title-row h1{margin-bottom:0}.back-button{display:flex;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;margin-left:-12px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;border-radius:50%;transition:all .2s ease}.back-button:hover{background:#0000000d}.goals-header h1{font-size:1.75rem;font-weight:700;margin:0 0 8px;color:var(--text-primary);letter-spacing:-.025em;line-height:1.2}.goals-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}.goals-disclaimer{color:var(--text-secondary);font-size:.85rem;margin:0;font-style:italic}.goal-reminder{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0369a1;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;margin-bottom:12px}.goals-section{margin-top:24px}.goal-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.goal-card{display:flex;align-items:center;gap:14px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:16px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.goal-card:hover{border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.goal-card.selected{border-color:var(--accent-primary);background:linear-gradient(135deg,#fafafa,#f5f5f5)}.goal-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;color:var(--text-primary);flex-shrink:0}.goal-card.selected .goal-card-icon{background:linear-gradient(135deg,#111827,#374151);color:#fff}.goal-card-content{flex:1}.goal-card-category{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.goal-card-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:4px 0 0}.goal-card-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.check-circle{width:24px;height:24px;background:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:scaleIn .2s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.custom-goal-link{display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:12px;cursor:pointer;transition:color .2s ease;width:100%}.custom-goal-link:hover{color:var(--text-primary)}.summary-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.summary-section-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;margin-top:8px}.section-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary)}.summary-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:16px;transition:all .2s ease;min-height:80px}.summary-card:hover{box-shadow:0 2px 8px #0000000f;border-color:var(--text-secondary)}.summary-card-content{flex:1}.summary-card-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.summary-card-value{display:flex;align-items:baseline;gap:6px;margin-top:4px}.value-main{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.value-sub{font-size:.8rem;color:var(--text-secondary)}.summary-card-arrow{color:var(--text-secondary);opacity:.4}.consent-content{display:flex;flex-direction:column;gap:20px}.consent-info-card{display:flex;gap:14px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:14px;padding:16px}.consent-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border-radius:12px;color:#2563eb;flex-shrink:0}.consent-info-text h3{font-size:.95rem;font-weight:600;color:#1e40af;margin-bottom:4px}.consent-info-text p{font-size:.85rem;color:#3b82f6;line-height:1.4}.consent-metrics-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:16px}.consent-section-title{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:14px}.consent-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.consent-metric-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--bg-primary);border-radius:10px}.consent-metric-label{font-size:.7rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.consent-metric-value{font-size:.95rem;font-weight:600;color:var(--text-primary)}.consent-no-data{text-align:center;padding:24px 16px;color:var(--text-secondary)}.consent-no-data p{font-size:.9rem;line-height:1.5}.consent-privacy-note{display:flex;align-items:center;gap:8px;justify-content:center;font-size:.8rem;color:var(--text-secondary);padding:8px 12px;background:var(--bg-secondary);border-radius:8px}.goals-cta-button svg{flex-shrink:0}.lever-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.lever-card{display:flex;gap:14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:16px;transition:all .2s ease}.lever-card:hover{box-shadow:0 2px 8px #0000000f}.lever-card.lever-top{background:var(--bg-secondary);border:2px solid var(--text-primary);box-shadow:0 4px 6px #0000000d}.lever-rank{flex-shrink:0}.rank-badge{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--border-color);border-radius:8px;font-size:.8rem;font-weight:700;color:var(--text-secondary)}.rank-badge-top{display:flex;align-items:center;gap:2px;background:var(--text-primary);color:#fff;padding:4px 10px;border-radius:8px;font-size:.8rem;font-weight:700}.lever-content{flex:1}.lever-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.lever-description{font-size:.8rem;color:var(--text-secondary);margin:0 0 10px;line-height:1.4}.lever-meta{display:flex;flex-wrap:wrap;gap:8px}.lever-impact,.lever-speed,.lever-confidence{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:500;padding:3px 8px;border-radius:6px;background:#f3f4f6;color:var(--text-secondary)}.lever-estimate{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:500;padding:3px 8px;border-radius:6px;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#2563eb}.lever-impact.impact-high{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d}.lever-impact.impact-medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#a16207}.lever-impact.impact-low{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.nav-avatar-wrapper{width:24px;height:24px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;border:2px solid transparent;transition:all .2s ease}.nav-item.active .nav-avatar-wrapper{border:2px solid var(--accent-color)}.nav-avatar{width:100%;height:100%;object-fit:cover}.goals-cta-container{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.goals-cta-button{width:100%;padding:16px 24px;background:var(--accent-primary);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.goals-cta-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #11182740}.goals-cta-button:disabled{background:#d1d5db;cursor:not-allowed}.goals-cta-primary{background:linear-gradient(135deg,#f59e0b,#d97706)}.goals-cta-primary:hover:not(:disabled){box-shadow:0 8px 20px #f59e0b59}.goals-footer{margin-top:32px;padding:24px 0;border-top:1px solid var(--border-color);text-align:center}.medical-disclosure{font-size:.75rem;color:var(--text-secondary);margin:0;line-height:1.5;opacity:.8}.studies-section{margin-top:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{font-size:1.1rem;font-weight:700;margin:0;color:var(--text-primary)}.section-badge{font-size:.75rem;font-weight:600;color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.1);padding:4px 10px;border-radius:20px}.studies-list{display:flex;flex-direction:column;gap:12px}.study-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:16px;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.study-card:hover{border-color:var(--text-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.study-card-content{display:flex;align-items:center;gap:16px}.study-icon{width:40px;height:40px;background:var(--bg-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);border:1px solid var(--border-color)}.study-info{display:flex;flex-direction:column;gap:2px}.study-category{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.study-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.create-study-btn{width:36px;height:36px;border-radius:50%;background:var(--text-primary);color:#fff;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s ease;flex-shrink:0}.create-study-btn:hover{transform:scale(1.1);background:#000}.create-study-btn:active{transform:scale(.95)}.goals-subtitle-row{display:flex;align-items:center;gap:12px;margin-top:4px;flex-wrap:wrap}.goal-chip{display:flex;align-items:center;gap:8px;background:#f0fdf4;color:#166534;padding:6px 12px;border-radius:100px;font-size:.85rem;font-weight:500;border:1px solid #dcfce7}.criteria-chip{display:flex;align-items:center;gap:8px;background:#f8fafc;color:#475569;padding:6px 12px;border-radius:100px;font-size:.85rem;font-weight:500;border:1px solid #e2e8f0}.ai-badge-compact{display:flex;align-items:center;gap:6px;background:#f5f3ff;color:#7c3aed;padding:4px 10px;border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;border:1px solid #ddd6fe}.metrics-filter-chips{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.filter-chip{padding:8px 16px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-chip:hover{border-color:var(--text-secondary);background:var(--bg-primary)}.filter-chip.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.filter-chip.active:hover{background:var(--accent-primary);opacity:.9}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:32px}.category-group{margin-bottom:48px;animation:fadeIn .5s ease forwards}.category-header{margin-bottom:20px;border-left:3px solid var(--accent-primary);padding-left:16px}.category-label{display:block;font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.category-explanation{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.metric-overview-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .2s ease}.metric-overview-card:hover{border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.metric-card-header{display:flex;align-items:center;gap:10px}.metric-icon-bg{width:32px;height:32px;background:var(--bg-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.metric-label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.metric-value-container{display:flex;align-items:baseline;gap:4px}.metric-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.metric-unit{font-size:.75rem;color:var(--text-secondary)}.metric-agg-type{font-size:.65rem;color:var(--text-secondary);opacity:.7;font-style:italic;font-weight:500}.metric-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.metric-date,.metric-source{font-size:.7rem;color:var(--text-secondary)}.metric-source{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;margin-bottom:32px}.metrics-table{width:100%;border-collapse:collapse;font-size:.9rem}.metrics-table thead{background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.metrics-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.metrics-table td{padding:12px 16px;border-bottom:1px solid var(--border-color)}.metrics-table tbody tr:last-child td{border-bottom:none}.metrics-table .section-header-row{background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary));cursor:pointer;-webkit-user-select:none;user-select:none}.metrics-table .section-header-row:hover{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-primary))}.metrics-table .section-header-row td{font-weight:700;font-size:.85rem;color:var(--text-primary);padding:14px 16px;border-left:3px solid var(--accent-primary)}.section-toggle{display:inline-flex;align-items:center;vertical-align:middle;margin-right:8px;color:var(--text-secondary)}.section-count{font-weight:400;font-size:.75rem;color:var(--text-secondary);margin-left:8px}.metrics-table .metric-name{font-weight:500;color:var(--text-primary)}.metrics-table .metric-value{font-weight:700;color:var(--text-primary);font-size:1rem}.metrics-table .metric-unit{color:var(--text-secondary);font-size:.8rem}.metrics-table tbody tr:hover:not(.section-header-row){background:var(--bg-primary)}.empty-metrics-state{grid-column:1 / -1;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:20px;padding:48px 24px;text-align:center;color:var(--text-secondary)}.empty-icon{color:var(--border-color);margin-bottom:16px}.empty-metrics-state h3{color:var(--text-primary);margin:0 0 8px}.empty-metrics-state p{margin:0 0 24px;font-size:.9rem}.primary-action-btn{background:var(--accent-primary);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:600;cursor:pointer;transition:all .2s ease}.primary-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.header-with-action{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.secondary-nav-btn{background:transparent;border:1px solid var(--border-color);border-radius:12px;padding:10px 20px;display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.secondary-nav-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.header-with-back{display:flex;align-items:center;gap:12px;margin-left:-8px}.back-btn{background:transparent;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease}.back-btn:hover{background:#0000000d}.upload-subtitle{color:var(--text-secondary);font-size:.85rem;margin-bottom:16px;line-height:1.4}.file-list{display:flex;flex-direction:column;gap:8px}.file-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-primary);border-radius:12px}.file-item-info{display:flex;align-items:center;gap:10px}.file-icon-small{color:var(--text-secondary)}.file-name-text{font-size:.85rem;font-weight:600;color:var(--text-primary)}.file-date-text{font-size:.75rem;color:var(--text-secondary)}.file-action-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.file-action-btn:hover{color:#ef4444;background:#ef44441a}.empty-state-text{font-size:.85rem;color:var(--text-secondary);text-align:center;padding:12px}.integration-picker{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:var(--bg-primary);border-radius:20px 20px 0 0;padding:24px 20px 32px;z-index:1002;box-shadow:0 -8px 40px #00000026;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.integration-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.integration-picker-header h3{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.integration-picker-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--bg-secondary);border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:background .15s}.integration-picker-close:hover{background:var(--border-color)}.integration-picker-list{display:flex;flex-direction:column;gap:12px}.integration-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;transition:all .2s ease}.integration-card.connected{border-color:#bbf7d0;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.integration-card.disabled{opacity:.55;cursor:not-allowed}.integration-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--border-color);flex-shrink:0}.integration-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.integration-card-name{font-size:.95rem;font-weight:700;color:var(--text-primary)}.integration-card-desc{font-size:.78rem;color:var(--text-secondary)}.integration-card-status{display:flex;align-items:center;gap:4px;font-size:.78rem;color:#16a34a;font-weight:600}.integration-card-action{flex-shrink:0}.integration-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;border:none;border-radius:10px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s ease;background:var(--bg-secondary);color:var(--text-secondary)}.integration-btn.connect.strava{background:#fc4c02;color:#fff}.integration-btn.connect.strava:hover{background:#e04402;transform:scale(1.03)}.integration-btn.disconnect{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.integration-btn.disconnect:hover{background:#fee2e2}.integration-btn:disabled{cursor:not-allowed;opacity:.5}.strava-status-card{display:flex;flex-direction:column;gap:8px;padding:12px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;border-radius:12px}.strava-status-row{display:flex;align-items:center;justify-content:space-between}.strava-status-left{display:flex;align-items:center;gap:10px}.strava-status-left>div{display:flex;flex-direction:column;gap:1px}.strava-status-name{font-size:.85rem;font-weight:700;color:var(--text-primary)}.strava-status-athlete{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#16a34a;font-weight:500}.strava-sync-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid #fed7aa;background:#fff;border-radius:8px;font-size:.75rem;font-weight:600;color:#ea580c;cursor:pointer;transition:all .15s}.strava-sync-btn:hover:not(:disabled){background:#fff7ed}.strava-sync-btn:disabled{opacity:.6;cursor:not-allowed}.strava-status-sync-time{font-size:.7rem;color:var(--text-secondary)}.strava-connect-inline{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:6px 14px;border:none;border-radius:8px;background:#fc4c02;color:#fff;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s}.strava-connect-inline:hover{background:#e04402}.lb-section{margin-bottom:24px}.lb-section-header{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.lb-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--accent-primary);color:#fff;border-radius:10px;font-size:.7rem;font-weight:700}.lb-cards{display:flex;flex-direction:column;gap:10px}.lb-card{display:flex;align-items:center;gap:14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:16px;transition:all .2s ease;cursor:pointer}.lb-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.lb-invite-card{border-left:3px solid #3b82f6}.lb-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;font-size:1.4rem;flex-shrink:0}.lb-card-content{flex:1;min-width:0}.lb-card-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-card-meta{display:flex;align-items:center;gap:10px}.lb-activity-tag{display:inline-flex;align-items:center;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:6px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0369a1}.lb-card-members{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary)}.lb-card-formula{font-size:.8rem;color:var(--text-secondary);margin:4px 0 0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-card-by{font-size:.75rem;color:var(--text-secondary);margin:4px 0 0}.lb-card-arrow{color:var(--text-secondary);opacity:.4;flex-shrink:0}.lb-invite-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.lb-accept-btn,.lb-decline-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:none;cursor:pointer;transition:all .2s ease}.lb-accept-btn{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d}.lb-accept-btn:hover{background:#bbf7d0;transform:scale(1.05)}.lb-decline-btn{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.lb-decline-btn:hover{background:#fecaca;transform:scale(1.05)}.lb-empty-state{text-align:center;padding:48px 24px}.lb-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:20px;color:var(--text-secondary);margin-bottom:16px}.lb-empty-state h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.lb-empty-state p{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin:0}.lb-create-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;font-size:.95rem;font-weight:600;font-family:inherit;background:var(--accent-primary);border:none;border-radius:14px;color:#fff;cursor:pointer;transition:all .2s ease;margin-top:8px}.lb-create-btn:hover{background:#374151;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.lb-form-group{margin-bottom:20px}.lb-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.lb-input{width:100%;padding:12px 14px;font-size:.95rem;font-family:inherit;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);outline:none;transition:border-color .2s ease;box-sizing:border-box}.lb-input:focus{border-color:var(--accent-primary)}.lb-input::placeholder{color:#9ca3af}.lb-textarea{width:100%;padding:12px 14px;font-size:.95rem;font-family:inherit;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);outline:none;resize:vertical;line-height:1.5;transition:border-color .2s ease;box-sizing:border-box}.lb-textarea:focus{border-color:var(--accent-primary)}.lb-textarea::placeholder{color:#9ca3af}.lb-activity-picker{display:flex;flex-wrap:wrap;gap:8px}.lb-activity-chip{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;font-size:.85rem;font-weight:500;font-family:inherit;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.lb-activity-chip:hover{border-color:#d1d5db;background:#f9fafb}.lb-activity-chip.selected{border-color:var(--accent-primary);background:linear-gradient(135deg,#fafafa,#f5f5f5);font-weight:600}.lb-formalize-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;font-family:inherit;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1d4ed8;border:1px solid #93c5fd;border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:16px}.lb-formalize-btn:hover:not(:disabled){background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:translateY(-1px)}.lb-formalize-btn:disabled{opacity:.5;cursor:not-allowed}.lb-formula-preview{background:var(--bg-secondary);border:1px solid #86efac;border-radius:14px;overflow:hidden;animation:fadeIn .3s ease}.lb-formula-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;font-size:.8rem;font-weight:600}.lb-formula-body{padding:12px 16px}.lb-formula-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color)}.lb-formula-row:last-child{border-bottom:none}.lb-formula-key{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.lb-formula-value{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:right}.lb-error{color:#ef4444;font-size:.85rem;margin:8px 0 12px}.lb-spinner{animation:lbSpin 1s linear infinite}@keyframes lbSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lb-invite-form{display:flex;gap:8px;margin-bottom:12px}.lb-invite-form .lb-input{flex:1}.lb-add-email-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--accent-primary);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.lb-add-email-btn:hover:not(:disabled){background:#374151;transform:scale(1.05)}.lb-add-email-btn:disabled{opacity:.4;cursor:not-allowed}.lb-email-list{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.lb-email-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.lb-email-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;border-radius:50%;font-size:.8rem;font-weight:700;flex-shrink:0}.lb-email-text{flex:1;font-size:.9rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-email-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.lb-email-remove:hover{background:#fee2e2;color:#b91c1c}.lb-empty-invites{text-align:center;padding:24px 16px;color:var(--text-secondary);font-size:.9rem}.lb-review-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.lb-review-card{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.lb-review-label{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.lb-review-value{font-size:.9rem;font-weight:600;color:var(--text-primary);text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-create-submit{background:linear-gradient(135deg,#111827,#1f2937)}.lb-create-submit:hover:not(:disabled){background:linear-gradient(135deg,#1f2937,#374151)}.lbd-info-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;margin-bottom:24px}.lbd-info-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;font-size:.85rem;font-weight:600;font-family:inherit;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:color .2s ease}.lbd-info-toggle:hover{color:var(--text-primary)}.lbd-info-chevron{transition:transform .25s ease}.lbd-info-chevron.open{transform:rotate(180deg)}.lbd-info-body{border-top:1px solid var(--border-color)}.lbd-info-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 16px;border-bottom:1px solid var(--border-color)}.lbd-info-row:last-child{border-bottom:none}.lbd-info-label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.lbd-info-value{display:flex;align-items:center;font-size:.85rem;font-weight:600;color:var(--text-primary)}.lbd-info-tags{display:flex;flex-wrap:wrap;gap:6px}.lbd-rankings{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.lbd-rank-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;transition:all .2s ease}.lbd-rank-pos{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}.lbd-rank-medal{font-size:1.2rem;line-height:1}.lbd-rank-number{font-size:.85rem;font-weight:700;color:var(--text-secondary)}.lbd-rank-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;border-radius:50%;font-size:.85rem;font-weight:700;flex-shrink:0}.lbd-rank-info{flex:1;min-width:0}.lbd-rank-name{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.lbd-you-badge{display:inline-flex;align-items:center;padding:1px 8px;font-size:.65rem;font-weight:700;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;border-radius:8px;text-transform:uppercase;letter-spacing:.04em}.lbd-rank-score{display:flex;align-items:baseline;gap:4px;flex-shrink:0}.lbd-score-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.lbd-score-unit{font-size:.7rem;font-weight:500;color:var(--text-secondary)}.lbd-pending{margin-top:16px}.lbd-pending-header{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.lbd-pending-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:6px}.lbd-pending-email{flex:1;font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lbd-pending-tag{font-size:.7rem;font-weight:600;padding:2px 8px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#a16207;border-radius:6px}.lbd-invite-form{display:flex;gap:8px;margin-top:8px}.lbd-invite-input{flex:1}.lbd-invite-error{font-size:.78rem;color:#ef4444;margin:6px 0 0}.lbd-creator-actions-row{display:flex;gap:8px;padding:12px 16px;border-bottom:none}.lbd-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:10px;color:var(--text-secondary);font-size:.78rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.lbd-action-btn:hover{background:var(--border-color);color:var(--text-primary)}.lbd-action-delete:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.lbd-confirm-inline{margin:0 16px 12px;border-radius:12px}.lbd-edit-name{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.lbd-edit-input{flex:1;font-size:1rem;font-weight:700;padding:6px 12px}.lbd-edit-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.lbd-edit-save{background:#dcfce7;color:#16a34a}.lbd-edit-save:hover{background:#bbf7d0}.lbd-edit-cancel{background:#f3f4f6;color:var(--text-secondary)}.lbd-edit-cancel:hover{background:#e5e7eb}.lbd-confirm-delete{padding:14px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;margin-bottom:16px}.lbd-confirm-delete p{font-size:.85rem;color:#991b1b;margin:0 0 12px}.lbd-confirm-actions{display:flex;gap:8px}.lbd-confirm-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 16px;border:none;border-radius:10px;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.lbd-confirm-yes{background:#dc2626;color:#fff}.lbd-confirm-yes:hover:not(:disabled){background:#b91c1c}.lbd-confirm-no{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.lbd-confirm-no:hover{background:var(--border-color)}.lbd-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.lbd-not-connected{display:flex;align-items:center;gap:4px;font-size:.68rem;color:#f59e0b;font-weight:500}.lbd-activity-count{font-size:.7rem;color:var(--text-secondary);font-weight:400}.lbd-rank-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lbd-rank-clickable{cursor:pointer}.lbd-rank-clickable:hover{transform:translate(2px);box-shadow:0 2px 8px #0000000f}.lbd-activities-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.lbd-activities-member{display:flex;flex-direction:column;gap:2px}.lbd-activities-name{font-size:1rem;font-weight:700;color:var(--text-primary)}.lbd-activities-total{font-size:.78rem;color:var(--text-secondary);font-weight:500}.lbd-activities-empty{text-align:center;color:var(--text-secondary);font-size:.85rem;padding:24px 0}.lbd-activities-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-secondary)}.lbd-activities-table{width:100%;border-collapse:collapse;font-size:.82rem}.lbd-activities-table th{text-align:left;padding:10px 12px;font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-primary);border-bottom:1px solid var(--border-color);white-space:nowrap}.lbd-activities-table td{padding:10px 12px;color:var(--text-primary);border-bottom:1px solid var(--border-color);white-space:nowrap}.lbd-activities-table tbody tr:last-child td{border-bottom:none}.lbd-activities-table tbody tr:hover{background:#00000005}.lbd-act-date{font-weight:600;color:var(--text-primary)}.lbd-act-type{font-weight:500;color:var(--text-secondary)}.lbd-act-score{font-weight:700;color:var(--accent-primary)}.lbd-remove-member{margin-bottom:16px}.lbd-remove-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:10px;color:var(--text-secondary);font-size:.78rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.lbd-remove-btn:hover{background:#fef2f2;color:#dc2626;border-color:#fecaca}.lbd-remove-confirm{display:flex;align-items:center;gap:12px;font-size:.82rem;color:var(--text-secondary)}.lbd-remove-actions{display:flex;gap:8px}.lbd-remove-yes{background:#dc2626;color:#fff;border-color:#dc2626}.lbd-remove-yes:hover{background:#b91c1c;color:#fff;border-color:#b91c1c}.lbd-remove-yes:disabled{opacity:.6;cursor:not-allowed}.lbd-remove-no{background:var(--bg-secondary);color:var(--text-secondary)}.lbd-remove-no:hover{background:var(--border-color);color:var(--text-primary)}.landing-page{min-height:100vh;background:var(--bg-surface);display:flex;flex-direction:column}.landing-content{flex:1;max-width:600px;margin:0 auto;padding:60px 24px;display:flex;flex-direction:column;gap:64px}.landing-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:20px}.logo-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg-primary);padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.landing-hero h1{font-size:2.5rem;font-weight:800;line-height:1.1;letter-spacing:-.04em;margin:0;color:var(--text-primary)}.text-gradient{background:linear-gradient(135deg,#111827,#4b5563);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.landing-subtitle{font-size:1.1rem;line-height:1.5;color:var(--text-secondary);max-width:400px;margin:0}.flowchart-container{display:flex;align-items:flex-start;justify-content:space-between;margin:16px 0;position:relative}.flow-step{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;flex:1;z-index:2}.flow-visual{height:80px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:4px}.flow-icon-group{display:flex;gap:-8px}.flow-icon{width:48px;height:48px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);position:relative;transition:all .3s ease}.flow-icon.highlight{width:64px;height:64px;background:var(--accent-primary);color:#fff;border:none;box-shadow:0 8px 20px #11182733}.flow-icon.result{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#f59e0b;border-color:#fcd34d}.flow-label{font-size:.85rem;font-weight:700;color:var(--text-primary)}.flow-sublabel{font-size:.65rem;color:var(--text-secondary);max-width:120px;line-height:1.3}.flow-arrow{color:var(--border-color);margin-top:28px}.pulsing-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:2px solid var(--accent-primary);opacity:0;animation:pulse 2s infinite;pointer-events:none}.central-step .pulsing-ring{top:50%;left:50%}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.5}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.value-props{display:grid;gap:24px}.prop-item h3{font-size:1.1rem;font-weight:700;margin:0 0 8px;color:var(--text-primary)}.prop-item p{font-size:.95rem;line-height:1.6;color:var(--text-secondary);margin:0}.landing-cta{margin-top:0;text-align:center;padding-top:0;padding-bottom:20px}.cta-button-main{width:100%;padding:20px;background:var(--accent-primary);color:#fff;border:none;border-radius:16px;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s ease;box-shadow:0 4px 12px #0000001a}.cta-button-main:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.cta-subtext{font-size:.75rem;color:var(--text-secondary);margin-top:12px;opacity:.8}.landing-footer{text-align:center;border-top:1px solid var(--border-color);padding-top:24px;margin-top:16px;opacity:1}.landing-footer p{font-size:.75rem;color:var(--text-primary);line-height:1.5}.landing-footer{margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:var(--text-secondary);font-size:.875rem}.footer-links{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem}.footer-link{color:var(--text-secondary);text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--primary);text-decoration:underline}.footer-separator{color:var(--text-tertiary)}.footer-disclaimer{max-width:600px;margin:0 auto;line-height:1.5;color:var(--text-tertiary)}.policy-page-container{padding:2rem;max-width:800px;margin:0 auto;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--text-primary)}.policy-back-button{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;background:transparent;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:var(--text-secondary);padding:.5rem 1rem .5rem 0;transition:color .2s ease,transform .2s ease}.policy-back-button:hover{color:var(--text-primary);transform:translate(-4px)}.policy-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);letter-spacing:-.025em}.policy-last-updated{margin-bottom:2rem;font-style:italic;color:var(--text-secondary)}.policy-section{margin-bottom:2.5rem}.policy-section h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.policy-section p{margin-bottom:1rem;color:var(--text-secondary)}.policy-section ul{padding-left:1.5rem;color:var(--text-secondary)}.policy-section li{margin-bottom:.5rem}.medical-disclaimer{margin-bottom:2rem;padding:1.5rem;border:1px solid #eab308;border-radius:.75rem;background-color:#eab3081a}.medical-disclaimer h2{color:#a16207}.medical-disclaimer p{color:#854d0e}.profile-page{width:100%;max-width:600px;margin:0 auto;padding:24px 20px 100px;box-sizing:border-box;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary)}.profile-header{margin-bottom:32px}.profile-title{font-size:1.75rem;font-weight:700;margin:0 0 8px;color:var(--text-primary);letter-spacing:-.025em}.user-info-card{display:flex;align-items:center;gap:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:32px;box-shadow:var(--card-shadow)}.user-avatar-large{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.user-avatar-placeholder{width:64px;height:64px;border-radius:50%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border:2px solid var(--border-color)}.user-details h2{font-size:1.1rem;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.user-email{font-size:.9rem;color:var(--text-secondary);margin:0}.section-title{font-size:1.1rem;font-weight:600;margin-bottom:16px;color:var(--text-primary);display:flex;align-items:center;justify-content:space-between}.connections-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:20px;margin-bottom:32px;box-shadow:var(--card-shadow)}.add-connection-form{display:flex;gap:12px;margin-bottom:24px}.connection-input{flex:1;padding:12px 16px;border:1px solid var(--border-color);border-radius:12px;font-size:.95rem;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease}.connection-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.add-btn{padding:0 20px;background:var(--accent-primary);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center}.add-btn:disabled{opacity:.5;cursor:not-allowed}.connections-list{display:flex;flex-direction:column;gap:12px}.connection-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-primary);border-radius:12px;transition:background .2s ease}.connection-info{display:flex;align-items:center;gap:12px}.connection-avatar{width:32px;height:32px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.connection-email{font-size:.9rem;color:var(--text-primary);font-weight:500}.remove-btn{padding:6px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background:#fee2e2;color:#ef4444}.empty-state{text-align:center;padding:24px;color:var(--text-secondary);font-size:.9rem;font-style:italic}.sign-out-btn{width:100%;padding:16px;background:#fff;color:#ef4444;border:1px solid #fee2e2;border-radius:16px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}.sign-out-btn:hover{background:#fef2f2;border-color:#fecaca}
