:root{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--text-primary:#111827;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--border-color:#e5e7eb;--border-hover:#d1d5db;--accent-color:#3b82f6;--accent-hover:#2563eb;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a}@media (prefers-color-scheme:dark){:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--border-color:#334155;--border-hover:#475569;--accent-color:#60a5fa;--accent-hover:#3b82f6;--success:#34d399;--error:#f87171;--warning:#fbbf24;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #000000b3}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--bg-primary);color:#111827;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}#root{width:100%}#root,.App{min-height:100vh}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 30px;text-align:center}.header h1{font-size:2.5rem;margin-bottom:10px}.header p{font-size:1.1rem;opacity:.9}.loading{padding:60px 30px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}.error-message{background:#fee;border-left:4px solid #f44;border-radius:5px;justify-content:space-between;margin:20px 30px;padding:15px 20px}.error-message,.error-message button{align-items:center;color:#c33;display:flex}.error-message button{background:none;border:none;border-radius:50%;cursor:pointer;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background .2s;width:30px}.error-message button:hover{background:#cc33331a}.info-box{background:#f8f9fa;border:1px solid #e1e4e8;border-radius:10px;margin:20px 30px 30px;padding:20px}.info-box h3{color:#333;font-size:1.1rem;margin-bottom:15px}.info-box ul{list-style:none}.info-box li{color:#555;font-size:.95rem;line-height:1.5;padding:8px 0}.info-box li:before{color:#667eea;content:"•";display:inline-block;font-weight:700;margin-left:-1em;width:1em}button{font-family:inherit}@media (max-width:600px){.header h1{font-size:2rem}.header p{font-size:1rem}}.login-page{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:40px 20px;transition:background-color .3s ease}.login-container{max-width:420px;width:100%}.login-card{animation:fadeIn .6s ease-out;text-align:center}.login-header{border-bottom:1px solid var(--border-color);margin-bottom:30px;padding:0 0 40px}.logo{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:16px}.logo-icon{font-size:3rem}.logo h1{color:var(--text-primary);font-size:1.8rem;font-weight:600;letter-spacing:-.5px;margin:0}.tagline{color:var(--text-secondary);font-size:.95rem;font-weight:400;margin:0}.login-content{padding:0}.login-content h2{color:var(--text-primary);font-size:1.75rem;font-weight:600;letter-spacing:-.5px;margin:0 0 12px}.login-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 30px}.login-description strong{color:var(--accent-color);font-weight:600}.login-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;display:flex;font-size:.9rem;gap:10px;margin-bottom:20px;padding:12px 16px;text-align:left}.error-icon{background:#ef4444;border-radius:50%;flex-shrink:0;font-size:.7rem;font-weight:700;height:20px;width:20px}.error-icon,.zerodha-login-btn{align-items:center;color:#fff;display:flex;justify-content:center}.zerodha-login-btn{background:#387ed1;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;gap:12px;padding:14px 24px;transition:background .2s ease,transform .1s ease;width:100%}.zerodha-login-btn:hover{background:#2c6bb5;transform:translateY(-1px)}.zerodha-login-btn:active{transform:translateY(0)}.zerodha-login-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.zerodha-icon{background:#fff3;border-radius:6px;font-size:1.1rem;font-weight:800;height:28px;justify-content:center;width:28px}.login-divider,.zerodha-icon{align-items:center;display:flex}.login-divider{margin:24px 0}.login-divider:after,.login-divider:before{background:var(--border-color);content:"";flex:1 1;height:1px}.login-divider span{color:#888;color:var(--text-tertiary,#888);font-size:.8rem;letter-spacing:.5px;padding:0 16px;text-transform:uppercase}.email-login-form{display:flex;flex-direction:column;gap:12px}.form-group{width:100%}.form-input{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:.95rem;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input:focus{border-color:#387ed1;border-color:var(--accent-color,#387ed1);box-shadow:0 0 0 3px #387ed11a;outline:none}.form-input::placeholder{color:#aaa;color:var(--text-tertiary,#aaa)}.email-login-btn{background:#333;background:var(--text-primary,#333);border:none;border-radius:8px;color:#fff;color:var(--bg-primary,#fff);cursor:pointer;font-size:.95rem;font-weight:600;margin-top:4px;padding:12px 24px;transition:opacity .2s ease;width:100%}.email-login-btn:hover{opacity:.9}.email-login-btn:disabled{cursor:not-allowed;opacity:.5}.test-login-btn{background:#f0f0f0;background:var(--bg-secondary,#f0f0f0);border:1px solid var(--border-color);border-radius:8px;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:.9rem;padding:10px 24px;transition:background .2s ease;width:100%}.test-login-btn:hover{background:#e0e0e0;background:var(--border-color,#e0e0e0)}.features-list{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px;margin-top:40px;padding-top:30px}.feature-item{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:10px;justify-content:center}.feature-icon{font-size:1.2rem}.login-footer{border-top:1px solid var(--border-color);margin-top:40px;padding-top:30px}.login-footer p{color:var(--text-tertiary);font-size:.8rem;line-height:1.5;margin:0}.loading-screen{align-items:center;background:var(--bg-primary);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-screen .spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color);height:50px;margin-bottom:20px;width:50px}.loading-screen p{color:var(--text-primary);font-size:1rem}@media (max-width:500px){.login-page{padding:30px 20px}.logo h1{font-size:1.4rem}.logo-icon{font-size:2.5rem}.login-content h2{font-size:1.5rem}.login-description{font-size:.9rem}}.home-page{background:var(--bg-primary);min-height:100vh}.home-container{margin:0 auto;max-width:100%;padding:12px 16px}.section-content{animation:fadeIn .4s ease-in-out}.section-header{margin-bottom:40px}.section-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0 0 8px}.section-header p{color:var(--text-secondary);font-size:1rem;margin:0}.coming-soon{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:60px 20px;text-align:center}.coming-soon .icon{font-size:4rem;margin-bottom:20px;opacity:.8}.coming-soon h2{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin:0 0 10px}.coming-soon p{color:var(--text-secondary);font-size:1rem;margin:0}.strategies-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:24px}.empty-state{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;min-height:300px;padding:60px 20px;text-align:center}.empty-state .icon{font-size:3rem;margin-bottom:16px;opacity:.6}.empty-state p{color:var(--text-secondary);font-size:1rem;margin:0}.header-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.back-btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:all .2s}.back-btn:hover{background:var(--bg-secondary);border-color:var(--accent-color);color:var(--accent-color)}.backtest-btn{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:8px;padding:8px 20px;transition:all .2s}.backtest-btn:hover{box-shadow:0 6px 20px #f5576c66;transform:translateY(-2px)}.strategy-details{display:flex;flex-direction:column;gap:24px;margin-top:24px}.detail-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px}.detail-card h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 20px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.card-header h3{margin:0}.card-actions{display:flex;gap:8px}.cancel-btn,.edit-btn,.save-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.edit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.edit-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.save-btn{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.save-btn:hover{box-shadow:0 4px 12px #38ef7d4d;transform:translateY(-1px)}.cancel-btn{background:linear-gradient(135deg,#ee0979,#ff6a00);color:#fff}.cancel-btn:hover{box-shadow:0 4px 12px #ee09794d;transform:translateY(-1px)}.config-table-wrapper{border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.config-table{background:var(--bg-primary);border-collapse:collapse;width:100%}.config-table thead{background:var(--bg-secondary)}.config-table th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.config-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s ease}.config-table tbody tr:hover{background:var(--bg-secondary)}.config-table tbody tr:last-child{border-bottom:none}.config-table td{font-size:.875rem;padding:14px 16px}.param-name{font-weight:600;width:200px}.param-name,.param-value{color:var(--text-primary)}.param-value{font-weight:500;min-width:150px}.param-desc{color:var(--text-secondary);font-size:.8125rem}.config-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;font-weight:500;max-width:200px;padding:6px 12px;transition:all .2s ease;width:100%}.config-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.config-input:hover{border-color:var(--text-secondary)}select.config-input{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;cursor:pointer;padding-right:32px}.detail-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{display:flex;flex-direction:column;gap:8px}.detail-item .label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.detail-item .value{color:var(--text-primary);font-size:1.125rem;font-weight:600}.indicators-list{display:flex;flex-direction:column;gap:12px}.indicator-item{align-items:center;background:var(--bg-secondary);border-radius:6px;display:flex;justify-content:space-between;padding:12px}.indicator-name{color:var(--text-secondary);font-size:.875rem;font-weight:500}.indicator-value{color:var(--text-primary);font-size:.875rem;font-weight:600}.rules-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.rule-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px}.rule-card.long{border-top:3px solid #22c55e}.rule-card.short{border-top:3px solid #ef4444}.rule-card h3{font-size:1.125rem;font-weight:600;margin:0 0 16px}.rule-card.long h3{color:#22c55e}.rule-card.short h3{color:#ef4444}.rule-card ul{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.rule-card ul li{color:var(--text-primary);font-size:.875rem;line-height:1.5;padding-left:24px;position:relative}.rule-card ul li:before{content:"•";font-weight:700;left:8px;position:absolute}.rule-card.long ul li:before{color:#22c55e}.rule-card.short ul li:before{color:#ef4444}.exit-rules{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.exit-rules li{background:var(--bg-secondary);border-radius:6px;color:var(--text-primary);font-size:.875rem;padding:12px 12px 12px 32px;position:relative}.exit-rules li:before{color:var(--accent-color);content:"→";font-weight:700;left:12px;position:absolute}.content-grid{grid-gap:0;border-top:1px solid var(--border-color);display:grid;gap:0;grid-template-columns:repeat(2,1fr)}.grid-item{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);min-height:400px;padding:40px}.grid-item:nth-child(2n){border-right:none}.grid-item.full-width{border-right:none;grid-column:1/-1}.info-cards{grid-gap:0;border-top:1px solid var(--border-color);display:grid;gap:0;grid-template-columns:repeat(3,1fr)}.info-card{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px;padding:40px;transition:background-color .2s ease}.info-card:nth-child(3n){border-right:none}.info-card:hover{background:var(--bg-secondary)}.info-icon{font-size:2.5rem;line-height:1}.info-content h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;letter-spacing:-.3px;margin:0 0 8px}.info-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0}.loading-section{border-bottom:1px solid var(--border-color);padding:80px 40px;text-align:center}.loading-section .spinner{animation:spin 1s linear infinite;border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color);height:50px;margin:0 auto 20px;width:50px}.loading-section p{color:var(--text-secondary);font-size:1rem}@media (max-width:968px){.content-grid{grid-template-columns:1fr}.grid-item{border-right:none}.info-cards{grid-template-columns:1fr}.info-card{border-right:none}.welcome-section{padding:40px 30px}.welcome-content h1{font-size:2rem}.detail-grid,.rules-section,.strategies-grid{grid-template-columns:1fr}}.backtest-controls{background:var(--bg-secondary);border-radius:16px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.backtest-form{grid-gap:20px;align-items:end;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--text-secondary);font-weight:600}.form-control{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;padding:12px 16px;transition:all .2s ease}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;outline:none}.run-backtest-btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;min-height:48px;padding:12px 24px;transition:all .2s ease;white-space:nowrap;width:100%}.run-backtest-btn:hover:not(:disabled){box-shadow:0 4px 12px #6366f14d;transform:translateY(-2px)}.run-backtest-btn:disabled{cursor:not-allowed;opacity:.6}.request-status-indicator{align-items:center;animation:slideIn .3s ease-out;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:1px solid #6366f133;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin-top:24px;padding:16px 20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-message{color:var(--text-primary);flex:1 1;font-size:.95rem;font-weight:500}.request-counter,.status-message{align-items:center;display:flex;gap:8px}.request-counter{background:#6366f11a;border:1px solid #6366f14d;border-radius:20px;padding:8px 16px}.counter-badge{animation:pulse 1s ease-in-out infinite;color:var(--primary-color);font-size:1.1rem;font-weight:700;min-width:28px;text-align:center}.counter-label{color:var(--text-secondary);font-size:.85rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}@media (max-width:600px){.request-status-indicator{align-items:flex-start;flex-direction:column;gap:12px}.request-counter{align-self:stretch;justify-content:center}}.backtest-history-section,.backtest-results-inline{margin-top:40px}.backtest-history-section h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:20px}@media (max-width:600px){.welcome-section{flex-direction:column;padding:30px 20px;text-align:center}.welcome-content h1{font-size:1.8rem}.user-avatar{margin-top:20px}.backtest-form{grid-template-columns:1fr}}.navbar{background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.navbar-container{align-items:center;display:flex;gap:40px;height:64px;margin:0 auto;max-width:100%;padding:0 40px}.navbar-brand{align-items:center;cursor:pointer;display:flex;gap:10px;-webkit-user-select:none;user-select:none}.brand-icon{font-size:1.5rem}.brand-text{color:var(--text-primary);font-size:1.1rem;font-weight:600;letter-spacing:-.3px}.navbar-menu{align-items:center;display:flex;gap:8px}.menu-item-wrapper,.navbar-menu{position:relative}.menu-item{align-items:center;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:10px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.menu-item,.menu-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.menu-item:hover{border-color:var(--border-color);transform:translateY(-1px)}.menu-item.active{background:linear-gradient(135deg,var(--accent-color),#667eea);border-color:var(--accent-color);box-shadow:0 4px 12px #6366f133;color:#fff}.menu-item.expanded{background:var(--bg-secondary);border-color:var(--accent-color);color:var(--text-primary)}.menu-item.active.expanded{background:linear-gradient(135deg,var(--accent-color),#667eea);border-color:var(--accent-color);color:#fff}.menu-icon{font-size:1.1rem}.menu-label{font-weight:500}.menu-expand-icon{font-size:1rem;font-weight:600;margin-left:4px;opacity:.7;transition:transform .3s}.menu-item.expanded .menu-expand-icon{transform:rotate(180deg)}.submenu{animation:slideDown .3s cubic-bezier(.4,0,.2,1);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000001f;left:0;min-width:200px;padding:8px;position:absolute;top:calc(100% + 8px);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.submenu-item{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:block;font-size:.875rem;font-weight:500;padding:10px 16px;text-align:left;transition:all .2s;width:100%}.submenu-item:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateX(4px)}.submenu-item.active{background:var(--accent-color);color:#fff}.navbar-spacer{flex:1 1}.user-section{align-items:center;display:flex;gap:10px}.user-greeting{color:var(--text-secondary);font-size:.9rem;white-space:nowrap}.user-greeting strong{color:var(--text-primary);font-weight:600}.tier-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.tier-free_trial{background:#9ca3af26;color:#6b7280}.tier-basic{background:#3b82f61f;color:#3b82f6}.tier-pro{background:#10b9811f;color:#059669}.tier-pro_plus{background:#8b5cf61f;color:#7c3aed}.tier-admin{background:#ef44441f;color:#dc2626}.logout-btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.logout-btn:hover{background:var(--bg-secondary);border-color:var(--accent-color);color:var(--accent-color)}@media (max-width:968px){.navbar-container{gap:20px;padding:0 20px}.menu-label{display:none}.menu-item{padding:8px 12px}.user-greeting{display:none}.submenu{left:auto;right:0}}.zerodha-credentials-card{background:#0000}.card-header{border-bottom:1px solid var(--border-color);margin-bottom:30px;padding:0 0 20px}.header-content h2{color:var(--text-primary);font-size:1.4rem;font-weight:600;letter-spacing:-.3px;margin:0 0 6px}.header-content p{color:var(--text-secondary);font-size:.9rem;margin:0}.edit-btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s}.edit-btn:hover{background:var(--bg-secondary);border-color:var(--accent-color);color:var(--accent-color)}.card-body{padding:0}.message{align-items:center;border:1px solid;border-radius:6px;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.message.success{background:var(--bg-secondary);border-color:var(--success);color:var(--success)}.message.error{background:var(--bg-secondary);border-color:var(--error);color:var(--error)}.message button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;opacity:.7;transition:opacity .2s}.message button:hover{opacity:1}.credentials-form,.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.form-group input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.95rem;padding:10px 14px;transition:all .2s;width:100%}.form-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input:disabled{background:#f5f7fa;cursor:not-allowed}.form-group small{color:#666;display:block;font-size:.85rem;margin-top:6px}.form-actions{display:flex;gap:10px;margin-top:25px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;flex:1 1;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.credentials-display{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:20px}.credential-item{border-bottom:1px solid #e1e4e8;display:flex;justify-content:space-between;padding:12px 0}.credential-item:last-child{border-bottom:none}.credential-item .label{color:#555;font-weight:600}.credential-item .value{color:#333;font-family:Courier New,monospace}.status-badge{border-radius:20px;display:inline-block;font-size:.9rem;margin-top:15px;padding:8px 16px}.status-badge.success{background:#d4edda;color:#155724}.help-section{background:#f0f4ff;border-left:4px solid #667eea;border-radius:12px;padding:20px}.help-section h4{color:#333;font-size:1rem;margin:0 0 12px}.help-section ol{color:#555;line-height:1.8;margin:0;padding-left:20px}.help-section a{color:#667eea;font-weight:600;text-decoration:none}.help-section a:hover{text-decoration:underline}@media (max-width:600px){.card-header{align-items:flex-start;gap:15px}.card-header,.credential-item,.form-actions{flex-direction:column}.credential-item{gap:5px}}.token-refresh-card{background:#fff;border-radius:16px;box-shadow:0 2px 10px #0000000d;height:fit-content;overflow:hidden}.token-active{text-align:center}.success-icon{align-items:center;animation:scaleIn .5s ease-out;background:linear-gradient(135deg,#11998e,#38ef7d);border-radius:50%;color:#fff;display:flex;font-size:2rem;height:60px;justify-content:center;margin:0 auto 15px;width:60px}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.token-active h3{color:#333;font-size:1.3rem;margin:0 0 20px}.token-info{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:15px}.info-row{border-bottom:1px solid #e1e4e8;display:flex;justify-content:space-between;padding:10px 0}.info-row:last-child{border-bottom:none}.info-row .label{color:#555;font-size:.9rem;font-weight:600}.info-row .value{color:#333;font-size:.9rem}.status-active{color:#38ef7d;font-weight:700}.time-remaining{color:#667eea;font-weight:600}.btn-block{width:100%}.token-refresh-flow{padding:10px 0}.steps-indicator{display:flex;gap:20px;justify-content:center;margin-bottom:30px}.step{align-items:center;color:#999;display:flex;font-size:.9rem;font-weight:600;gap:8px;transition:color .3s}.step.active{color:#667eea}.step-number{align-items:center;background:#eee;border-radius:50%;display:flex;font-size:.85rem;font-weight:700;height:28px;justify-content:center;transition:all .3s;width:28px}.step.active .step-number{background:#667eea;color:#fff}.step-content{margin-top:20px}.instruction{color:#555;line-height:1.6;margin-bottom:20px;text-align:center}.token-input{border:2px solid #e1e4e8;border-radius:8px;font-family:Courier New,monospace;font-size:1rem;margin-bottom:15px;padding:12px 16px;transition:all .2s;width:100%}.token-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.token-input:disabled{background:#f5f7fa;cursor:not-allowed}.help-text{background:#f0f4ff;border-radius:8px;color:#555;font-size:.85rem;margin-top:15px;padding:12px}.help-text code{background:#fff;border:1px solid #e1e4e8;border-radius:4px;display:block;font-size:.8rem;margin-top:6px;overflow-x:auto;padding:6px;word-break:break-all}@media (max-width:600px){.info-row{flex-direction:column;gap:5px}.steps-indicator{font-size:.8rem;gap:10px}.step-number{font-size:.75rem;height:24px;width:24px}}.connection-status-card{background:#fff;border-radius:16px;box-shadow:0 2px 10px #0000000d;height:fit-content;overflow:hidden}.loading{color:#999;padding:20px;text-align:center}.status-badge{align-items:center;animation:fadeIn .5s ease-out;display:flex;font-size:1.1rem;gap:10px;justify-content:center;margin-bottom:20px;padding:15px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-badge.connected{background:linear-gradient(135deg,#e0f7ea,#c8e6c9);color:#2e7d32}.status-badge.disconnected{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:12px;width:12px}.status-badge.connected .status-dot{background:#4caf50}.status-badge.disconnected .status-dot{background:#f44336}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-details{background:#f8f9fa;border-radius:12px;margin-bottom:15px;padding:15px}.detail-item{grid-gap:10px;align-items:center;border-bottom:1px solid #e1e4e8;display:grid;gap:10px;grid-template-columns:30px 1fr auto;padding:12px 0}.detail-item:last-child{border-bottom:none}.detail-item .icon{font-size:1.1rem;text-align:center}.detail-item .label{color:#555;font-size:.9rem;font-weight:600}.detail-item .value{color:#333;font-size:.9rem;text-align:right}.detail-item .value.success{color:#4caf50;font-weight:600}.detail-item .value.error{color:#f44336;font-weight:600}.error-message{background:#ffebee;border-left:4px solid #f44336;border-radius:4px;color:#c62828;font-size:.85rem;line-height:1.5;padding:12px}.error-message,.refresh-btn{margin-top:15px}@media (max-width:600px){.detail-item{gap:8px;grid-template-columns:25px 1fr}.detail-item .value{font-size:.85rem;grid-column:2;text-align:left}}.strategy-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.strategy-card:hover{border-color:var(--accent-color);box-shadow:0 8px 24px #6366f126;transform:translateY(-4px)}.strategy-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.strategy-header h3{color:var(--text-primary);flex:1 1;font-size:1.25rem;font-weight:600;margin:0}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 12px;white-space:nowrap}.status-badge.active{background:#22c55e1a;border:1px solid #22c55e33;color:#22c55e}.status-badge.inactive{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.strategy-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 20px}.strategy-stats{grid-gap:16px;border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px;padding:16px 0}.stat{display:flex;flex-direction:column;gap:4px}.stat .label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.stat .value{color:var(--text-primary);font-size:1rem;font-weight:600}.view-details-btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--accent-color);cursor:pointer;font-size:.875rem;font-weight:500;padding:10px;transition:all .2s;width:100%}.view-details-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}@media (max-width:768px){.strategy-stats{gap:12px;grid-template-columns:1fr}}.backtest-results{animation:fadeIn .3s ease-in-out;margin:0 auto;max-width:100%;padding:0 16px;width:100%}.no-results{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:60px 20px;text-align:center}.no-results .icon{font-size:4rem;margin-bottom:20px;opacity:.6}.no-results h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 10px}.no-results p{color:var(--text-secondary);font-size:1rem;margin:0}.results-header{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;padding:24px}.run-info h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 16px}.run-metadata{display:flex;flex-wrap:wrap;font-size:.875rem;gap:20px}.run-metadata span{background:var(--bg-secondary);border-radius:6px;color:var(--text-secondary);padding:6px 12px}.run-id{font-family:monospace;font-weight:500}.metrics-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}.metric-category-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .2s ease}.metric-category-card:hover{border-color:var(--accent-color);box-shadow:0 4px 12px #0000001a}.category-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:12px;padding:20px 24px}.category-icon{font-size:1.5rem}.category-header h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.metrics-table-wrapper{overflow-x:auto}.metrics-table{border-collapse:collapse;width:100%}.metrics-table thead{background:var(--bg-secondary)}.metrics-table th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-align:left;text-transform:uppercase}.metrics-table th:last-child{text-align:right}.metrics-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s ease}.metrics-table tbody tr:hover{background:var(--bg-secondary)}.metrics-table tbody tr:last-child{border-bottom:none}.metrics-table td{padding:14px 24px}.metrics-table td,.time-cell{white-space:nowrap}.metric-label{color:var(--text-primary);font-weight:500}.metric-value{color:var(--text-primary);font-size:.9375rem;font-weight:600;text-align:right}.metric-value.positive{color:#10b981}.metric-value.negative{color:#ef4444}.results-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:8px;margin-bottom:24px}.results-tabs .tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s ease}.results-tabs .tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.results-tabs .tab.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.tab-content{animation:fadeIn .3s ease-in-out}.trades-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px}.trades-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.trade-stats-summary{display:flex;gap:24px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{color:var(--text-secondary);font-size:.875rem}.stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:600}.stat-item.long .stat-value{color:#10b981}.stat-item.short .stat-value{color:#ef4444}.trade-filter{display:flex;gap:8px}.trade-filter button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:all .2s ease}.trade-filter button:hover{background:var(--bg-primary);border-color:var(--primary-color)}.trade-filter button.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.trades-table-wrapper{overflow-x:auto}.trades-table{border-collapse:collapse;width:100%}.trades-table th{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;font-weight:600;padding:12px 16px;text-align:left}.trades-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;padding:14px 16px}.trades-table tr:hover{background:var(--bg-secondary)}.trade-type{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.trade-type.long{background:#10b9811a;color:#10b981}.trade-type.short{background:#ef44441a;color:#ef4444}.product-badge{border-radius:4px;display:inline-block;font-family:Monaco,Courier New,monospace;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.product-badge.options{background:#6366f11a;border:1px solid #6366f14d;color:#6366f1}.product-badge.futures{background:#f59e0b1a;border:1px solid #f59e0b4d;color:#f59e0b}.winning-trade{background:#10b98108}.losing-trade{background:#ef444408}.exit-reason{background:var(--bg-secondary);border-radius:4px;color:var(--text-secondary);font-size:.75rem;padding:2px 6px}.instrument-cell{color:var(--primary-color);font-family:Monaco,Courier New,monospace;font-size:.875rem;font-weight:600}.instrument-info{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.option-badge{border-radius:3px;display:inline-block;font-family:Monaco,Courier New,monospace;font-size:.7rem;font-weight:600;padding:2px 6px}.option-badge.ce{background:#22c55e1a;border:1px solid #22c55e4d;color:#22c55e}.option-badge.pe{background:#ef44441a;border:1px solid #ef44444d;color:#ef4444}.strike-cell{color:var(--text-primary);font-family:Monaco,Courier New,monospace;font-size:.875rem;font-weight:600;text-align:right}.strike-type-cell{text-align:center}.strike-type-badge{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);display:inline-block;font-size:.75rem;font-weight:600;padding:3px 8px}.expiry-cell{font-size:.8125rem;white-space:nowrap}.expiry-cell,.no-trades{color:var(--text-secondary)}.no-trades{padding:60px 20px;text-align:center}.no-trades-explanation{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin:0 auto;max-width:700px;padding:24px;text-align:left}.no-trades-explanation h4{align-items:center;color:#856404;display:flex;font-size:1.2rem;font-weight:600;gap:8px;margin:0 0 16px}.no-trades-explanation .reason-text{color:#856404;font-size:.95rem;line-height:1.6;margin:0}.factors-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px}.factors-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.factors-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px}.factors-card h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 16px}.factors-list{list-style:none;margin:0;padding:0}.factor-item{align-items:center;border-radius:6px;display:flex;font-size:.9375rem;gap:10px;margin-bottom:8px;padding:10px 12px}.factor-item.used{background:#10b9811a;border:1px solid #10b98133;color:#10b981}.factor-item.not-used{background:#ef44441a;border:1px solid #ef444433;color:#ef4444}.factor-icon{font-size:1rem;font-weight:700}.no-factors{color:var(--text-secondary);font-style:italic;padding:12px}.data-warning{align-items:center;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:8px;color:#d97706;display:flex;gap:12px;padding:16px}.warning-icon{font-size:1.5rem}@media (max-width:1200px){.factors-grid,.metrics-grid{grid-template-columns:1fr}}@media (max-width:768px){.run-metadata{flex-direction:column;gap:8px}.metrics-table td,.metrics-table th{padding:10px 16px}.category-header{padding:16px 20px}.trades-header{align-items:flex-start;flex-direction:column}.trade-stats-summary{justify-content:space-between;width:100%}.trade-filter{width:100%}.trade-filter button{flex:1 1}}.summary-section{width:100%}.summary-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-top:20px}.summary-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px;transition:all .2s ease}.summary-card:hover{border-color:var(--accent-color);box-shadow:0 4px 12px #0000001a}.summary-card.full-width{grid-column:1/-1}.summary-card h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 16px;padding-bottom:12px}.summary-table{border-collapse:collapse;width:100%}.summary-table tr{border-bottom:1px solid var(--border-color)}.summary-table tr:last-child{border-bottom:none}.summary-label{color:var(--text-secondary);font-weight:500;width:45%}.summary-label,.summary-value{padding:12px 0;white-space:nowrap}.summary-value{color:var(--text-primary);font-weight:600;text-align:right}.summary-value.warning{color:#f59e0b}.summary-value.monospace{font-family:Courier New,monospace;font-size:.875rem}.performance-highlights{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.highlight-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center}.highlight-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.highlight-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.notes-list{list-style:none;margin:0;padding:0}.note-item{align-items:flex-start;background:var(--bg-secondary);border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:12px}.note-item:last-child{margin-bottom:0}.note-item.warning{background:#f59e0b1a;border-left:3px solid #f59e0b}.note-item.success{background:#22c55e1a;border-left:3px solid #22c55e}.note-item.info{background:#3b82f61a;border-left:3px solid #3b82f6}.note-icon{flex-shrink:0;font-size:1.25rem}.note-item span:last-child{color:var(--text-primary);font-size:.9375rem;line-height:1.5}.trades-table td,.trades-table th{white-space:nowrap}.time-cell{color:var(--text-secondary);font-family:Courier New,monospace;font-size:.875rem}.backtest-history{animation:fadeIn .3s ease-in-out;width:100%}.no-history{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:60px 20px;text-align:center}.no-history .icon{font-size:4rem;margin-bottom:20px;opacity:.6}.no-history h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 10px}.no-history p{color:var(--text-secondary);font-size:1rem;margin:0}.error-section{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:60px 20px;text-align:center}.error-section .icon{font-size:4rem;margin-bottom:20px;opacity:.6}.error-section h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 10px}.error-section p{color:var(--text-secondary);font-size:1rem;margin:0 0 20px}.retry-btn{background:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 24px;transition:background .2s ease}.retry-btn:hover{background:var(--primary-dark)}.history-header{margin-bottom:24px}.history-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 8px}.history-header p{color:var(--text-secondary);font-size:1rem;margin:0}.history-table-wrapper{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.history-table{background:var(--bg-primary);border-collapse:collapse;width:100%}.history-table thead{background:var(--bg-secondary)}.history-table th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.history-table tbody tr{border-bottom:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.history-table tbody tr:hover{background:var(--bg-secondary)}.history-table tbody tr:last-child{border-bottom:none}.history-table td{color:var(--text-primary);font-size:.875rem;padding:16px}.run-id-cell code{background:var(--bg-secondary);border-radius:4px;color:var(--accent-color);font-family:Monaco,Courier New,monospace;font-size:.8125rem;padding:4px 8px}.date-range{color:var(--text-secondary);font-size:.8125rem}.currency{font-weight:500;text-align:right}.percentage{font-weight:600;text-align:right}.percentage.positive{color:#10b981}.percentage.negative{color:#ef4444}.ratio{font-family:monospace;font-weight:600}.number,.ratio{text-align:right}.number,.trades-split{font-weight:500}.trades-split{font-size:.875rem;text-align:center}.long-count{color:#10b981;font-weight:600}.short-count{color:#ef4444;font-weight:600}.actions{text-align:center}.view-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:500;padding:6px 16px;transition:all .2s ease}.view-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.clickable-row{cursor:pointer}@media (max-width:1200px){.history-table-wrapper{overflow-x:auto}.history-table{min-width:1000px}}@media (max-width:768px){.history-table td,.history-table th{font-size:.8125rem;padding:12px 10px}}.lpd{--lpd-red:var(--error);--lpd-red-soft:#ef44441a;--lpd-red-track:#ef44440f;--lpd-amber:var(--warning);--lpd-green:#22c55e;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin-bottom:24px;overflow:hidden;padding:0}.lpd-head{align-items:flex-end;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:22px 26px 18px}.lpd-head-titles{display:flex;flex-direction:column;gap:4px}.lpd-eyebrow{align-items:center;color:var(--accent-color);display:flex;font-size:.7rem;font-weight:700;gap:8px;letter-spacing:.12em;text-transform:uppercase}.lpd-eyebrow:before{background:var(--lpd-red);border-radius:50%;content:"";height:7px;width:7px}.lpd-title{color:var(--text-primary);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;line-height:1.1;margin:0}.lpd-subtitle{color:var(--text-secondary);font-size:.875rem}.lpd-kpis{display:flex;gap:26px}.lpd-kpi{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.lpd-kpi-val{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em;line-height:1}.lpd-kpi-val.red{color:var(--lpd-red)}.lpd-kpi-val.amber{color:var(--lpd-amber)}.lpd-kpi-val.neutral{color:var(--text-primary)}.lpd-kpi-label{color:var(--text-tertiary);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.lpd-body{padding:22px 26px 26px}.lpd-section{margin-bottom:30px}.lpd-section:last-child{margin-bottom:0}.lpd-section-head{align-items:baseline;display:flex;gap:12px;margin-bottom:16px}.lpd-section-num{font-feature-settings:"tnum";color:var(--accent-color);font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.05em}.lpd-section-title{color:var(--text-secondary);font-size:.95rem;font-weight:600;letter-spacing:.02em;margin:0;text-transform:uppercase}.lpd-section-head:after{align-self:center;background:var(--border-color);content:"";flex:1 1;height:1px}.lpd-bar-row{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:168px 1fr auto;padding:7px 0}.lpd-bar-row+.lpd-bar-row{border-top:1px solid var(--border-color)}.lpd-bar-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lpd-bar-track{background:var(--lpd-red-track);border:1px solid var(--border-color);border-radius:5px;height:24px;overflow:hidden;position:relative}.lpd-bar-fill{animation:lpd-grow .55s cubic-bezier(.16,1,.3,1) both;background:linear-gradient(90deg,#ef4444a6,var(--lpd-red));border-radius:4px 0 0 4px;inset:0 auto 0 0;position:absolute;transform-origin:left}@keyframes lpd-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lpd-bar-stats{font-feature-settings:"tnum";align-items:baseline;display:flex;font-variant-numeric:tabular-nums;gap:14px;justify-content:flex-end}.lpd-stat-count{color:var(--text-primary);min-width:22px}.lpd-stat-count,.lpd-stat-loss{font-size:.8125rem;font-weight:600;text-align:right}.lpd-stat-loss{color:var(--lpd-red);min-width:92px}.lpd-stat-pct{color:var(--text-tertiary);font-size:.75rem;font-weight:500;min-width:38px;text-align:right}.lpd-grid-2{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:768px){.lpd-grid-2{grid-template-columns:1fr}}.lpd-attr-block{min-width:0}.lpd-card-title{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.lpd-attr-wrap{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.lpd-attr-table{font-feature-settings:"tnum";background:var(--bg-primary);border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.lpd-attr-table thead th{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.lpd-attr-table td.lpd-num,.lpd-attr-table th.lpd-num{text-align:right}.lpd-attr-table tbody td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.8125rem;padding:11px 14px;white-space:nowrap}.lpd-attr-table tbody tr:last-child td{border-bottom:none}.lpd-attr-table tbody tr:hover td{background:var(--bg-secondary)}.lpd-attr-name{align-items:center;display:flex;gap:8px;min-width:0}.lpd-attr-label{color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lpd-attr-gross{align-items:baseline;display:inline-flex;gap:8px;justify-content:flex-end}.lpd-attr-count{color:var(--text-secondary);font-size:.75rem;font-weight:600}.lpd-attr-loss{color:var(--lpd-red);font-weight:600}.lpd-attr-net,.lpd-badge{font-weight:700}.lpd-badge{align-items:center;border:1px solid;border-radius:4px;display:inline-flex;flex-shrink:0;font-size:.65rem;letter-spacing:.04em;padding:2px 6px}.lpd-empty-line{color:var(--text-tertiary);font-size:.8125rem;padding:10px 14px}.lpd-table-wrap{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.lpd-table{font-feature-settings:"tnum";background:var(--bg-primary);border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.lpd-table thead th{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:11px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.lpd-table tbody td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.8125rem;padding:11px 16px;white-space:nowrap}.lpd-table tbody tr:last-child td{border-bottom:none}.lpd-table tbody tr:hover td{background:var(--bg-secondary)}.lpd-rank{background:var(--lpd-red-soft);border-radius:5px;color:var(--lpd-red);display:inline-grid;font-size:.7rem;font-weight:700;height:22px;place-items:center;width:22px}.lpd-td-loss,.lpd-td-trades{font-weight:600}.lpd-td-loss{color:var(--lpd-red)}.lpd-pips{display:inline-flex;gap:3px;margin-left:8px;vertical-align:middle}.lpd-pip{background:var(--lpd-red);border-radius:1px;height:12px;opacity:.85;width:5px}.lpd-footstrip{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px}.lpd-foot-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid var(--lpd-amber);border-radius:8px;display:flex;flex:1 1;gap:12px;min-width:180px;padding:14px 16px}.lpd-foot-card.red{border-left-color:var(--lpd-red)}.lpd-foot-icon{color:var(--lpd-amber);flex-shrink:0}.lpd-foot-card.red .lpd-foot-icon{color:var(--lpd-red)}.lpd-foot-body{display:flex;flex-direction:column;gap:2px}.lpd-foot-val{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:700}.lpd-foot-label{color:var(--text-tertiary);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.lpd-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.lpd-empty-icon{background:#22c55e1a;border:1px solid #22c55e4d;border-radius:50%;color:var(--lpd-green);display:grid;height:56px;margin-bottom:16px;place-items:center;width:56px}.lpd-empty-title{color:var(--text-primary);font-size:1rem;font-weight:600}.lpd-empty-sub{color:var(--text-secondary);font-size:.875rem;margin-top:6px}.lpd.lpd-win{--lpd-red:var(--success,#22c55e);--lpd-red-soft:#22c55e1a;--lpd-red-track:#22c55e0f}.lpd.lpd-win .lpd-bar-fill{background:linear-gradient(90deg,#22c55ea6,var(--lpd-green))}.lpd.lpd-win .lpd-kpi-val.green{color:var(--lpd-green)}.lpd.lpd-win .lpd-foot-card.green{border-left-color:var(--lpd-green)}.lpd.lpd-win .lpd-foot-card.green .lpd-foot-icon{color:var(--lpd-green)}.cpd .lpd-eyebrow:before{background:var(--text-secondary);opacity:.55}.cpd .lpd-kpi-val.green{color:var(--lpd-green)}.cpd .cpd-axis-legend{gap:12px;margin-left:auto}.cpd .cpd-axis-legend,.cpd .cpd-leg{align-items:center;display:inline-flex}.cpd .cpd-leg{font-size:.6875rem;font-weight:700;gap:5px;letter-spacing:.06em;text-transform:uppercase}.cpd .cpd-leg:before{border-radius:2px;content:"";height:9px;width:9px}.cpd .cpd-leg.loss{color:var(--lpd-red)}.cpd .cpd-leg.loss:before{background:var(--lpd-red)}.cpd .cpd-leg.win{color:var(--lpd-green)}.cpd .cpd-leg.win:before{background:var(--lpd-green)}.cpd .cpd-scorecard{margin-bottom:34px}.cpd .cpd-score-row{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:1fr minmax(150px,.85fr) 1fr;padding:11px 0}.cpd .cpd-score-row+.cpd-score-row{border-top:1px solid var(--border-color)}.cpd .cpd-score-val{font-feature-settings:"tnum";font-size:1.0625rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em;opacity:.5;transition:opacity .2s ease}.cpd .cpd-score-val.loss{color:var(--lpd-red);text-align:right}.cpd .cpd-score-val.win{color:var(--lpd-green);text-align:left}.cpd .cpd-score-val.is-winner{font-weight:700;opacity:1}.cpd .cpd-score-mid{align-items:center;display:flex;gap:8px;justify-content:center}.cpd .cpd-score-label{color:var(--text-secondary);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.cpd .cpd-score-arrow{flex-shrink:0;height:0;width:0}.cpd .cpd-score-arrow.win{border-left:7px solid var(--lpd-green)}.cpd .cpd-score-arrow.loss,.cpd .cpd-score-arrow.win{border-bottom:5px solid #0000;border-top:5px solid #0000}.cpd .cpd-score-arrow.loss{border-right:7px solid var(--lpd-red)}.cpd .cpd-payoff{align-items:baseline;border:1px solid var(--border-color);border-radius:9px;display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px 16px}.cpd .cpd-payoff.good{background:#22c55e12;border-color:#22c55e4d}.cpd .cpd-payoff.bad{background:var(--lpd-red-soft);border-color:#ef44444d}.cpd .cpd-payoff-main{font-feature-settings:"tnum";color:var(--text-primary);font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700}.cpd .cpd-payoff.good .cpd-payoff-main{color:var(--lpd-green)}.cpd .cpd-payoff.bad .cpd-payoff-main{color:var(--lpd-red)}.cpd .cpd-payoff-sub{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.78rem;font-variant-numeric:tabular-nums}.cpd .cpd-div-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr 168px 1fr;padding:9px 0}.cpd .cpd-div-row+.cpd-div-row{border-top:1px solid var(--border-color)}.cpd .cpd-div-row.is-low{opacity:.62}.cpd .cpd-div-side{grid-gap:9px;align-items:center;display:grid;gap:9px}.cpd .cpd-div-side.loss{grid-template-columns:auto 1fr 22px}.cpd .cpd-div-side.win{grid-template-columns:22px 1fr auto}.cpd .cpd-div-track{border:1px solid var(--border-color);border-radius:5px;display:flex;height:21px;overflow:hidden;position:relative}.cpd .cpd-div-side.loss .cpd-div-track{background:var(--lpd-red-track);justify-content:flex-end}.cpd .cpd-div-side.win .cpd-div-track{background:#22c55e0f;justify-content:flex-start}.cpd .cpd-div-fill{animation:lpd-grow .55s cubic-bezier(.16,1,.3,1) both;height:100%}.cpd .cpd-div-side.loss .cpd-div-fill{background:linear-gradient(270deg,#ef444499,var(--lpd-red));border-radius:4px 0 0 4px;transform-origin:right}.cpd .cpd-div-side.win .cpd-div-fill{background:linear-gradient(90deg,#22c55e99,var(--lpd-green));border-radius:0 4px 4px 0;transform-origin:left}.cpd .cpd-div-amt{font-feature-settings:"tnum";font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;min-width:64px}.cpd .cpd-div-amt.loss{color:var(--lpd-red);text-align:right}.cpd .cpd-div-amt.win{color:var(--lpd-green);text-align:left}.cpd .cpd-div-count{color:var(--text-secondary);font-size:.72rem;font-weight:600;opacity:.8;text-align:center}.cpd .cpd-div-label{align-items:center;color:var(--text-primary);display:flex;flex-direction:column;font-size:.8125rem;font-weight:600;gap:2px;line-height:1.25;text-align:center}.cpd .cpd-div-sub{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.68rem;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.cpd .cpd-pad{padding:12px 0}.cpd .cpd-strat-table .cpd-won{color:var(--lpd-green);font-weight:600}.cpd .cpd-strat-table .cpd-lost{color:var(--lpd-red);font-weight:600}.cpd .cpd-n{color:var(--text-secondary);font-size:.68rem;opacity:.7}.cpd .cpd-footnote{color:var(--text-secondary);font-size:.72rem;font-style:italic;margin-top:6px;opacity:.85;padding:10px 16px 18px}.cpd .lpd-section{animation:cpd-rise .5s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.cpd .lpd-section:first-of-type{animation-delay:.04s}.cpd .lpd-section:nth-of-type(2){animation-delay:.1s}.cpd .lpd-section:nth-of-type(3){animation-delay:.16s}.cpd .lpd-section:nth-of-type(4){animation-delay:.22s}.cpd .lpd-section:nth-of-type(5){animation-delay:.28s}@keyframes cpd-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cpd .lpd-section{animation:none;opacity:1}.cpd .cpd-div-fill{animation:none}}@media (max-width:760px){.cpd .cpd-div-row{gap:4px;grid-template-columns:1fr}.cpd .cpd-div-label{align-items:flex-start;margin:4px 0 2px;text-align:left}.cpd .cpd-div-side.loss{grid-template-columns:auto 1fr 22px}.cpd .cpd-div-side.loss .cpd-div-track{background:var(--lpd-red-track);justify-content:flex-start}.cpd .cpd-div-side.loss .cpd-div-fill{background:linear-gradient(90deg,#ef444499,var(--lpd-red));border-radius:0 4px 4px 0;transform-origin:left}.cpd .cpd-div-amt.loss{text-align:left}.cpd .cpd-score-row{grid-template-columns:1fr 1fr}.cpd .cpd-score-mid{grid-column:1/-1;justify-content:flex-start;order:-1}.cpd .cpd-score-val.loss{text-align:left}}.drp-root{display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:relative;z-index:40}.drp-trigger{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;gap:14px;min-width:240px;padding:10px 14px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .05s ease}.drp-trigger:hover{border-color:var(--border-hover)}.drp-trigger:focus-visible{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f626;outline:none}.drp-trigger:active{transform:translateY(1px)}.drp-trigger[aria-expanded=true]{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61f}.drp-trigger-icon{color:var(--accent-color);display:grid;flex-shrink:0;place-items:center}.drp-trigger-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.drp-trigger-kicker{color:var(--text-tertiary);font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.drp-trigger-label{color:var(--text-primary);font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drp-trigger-dates{color:var(--text-secondary);font-size:.75rem}.drp-trigger-caret{color:var(--text-tertiary);flex-shrink:0;transition:transform .18s ease}.drp-trigger[aria-expanded=true] .drp-trigger-caret{color:var(--accent-color);transform:rotate(180deg)}.drp-panel{animation:drp-pop .14s cubic-bezier(.16,1,.3,1);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);left:0;max-height:70vh;max-width:min(92vw,460px);overflow-y:auto;padding:16px;position:absolute;top:calc(100% + 8px);width:460px}@keyframes drp-pop{0%{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.drp-panel::-webkit-scrollbar{width:9px}.drp-panel::-webkit-scrollbar-thumb{background:var(--border-color);border:2px solid var(--bg-primary);border-radius:6px}.drp-group{margin-bottom:16px}.drp-group:last-child{margin-bottom:0}.drp-group-title{align-items:center;color:var(--text-secondary);display:flex;font-size:.7rem;font-weight:600;gap:8px;letter-spacing:.06em;margin:0 0 8px 2px;text-transform:uppercase}.drp-group-title:after{background:var(--border-color);content:"";flex:1 1;height:1px}.drp-chips{display:flex;flex-wrap:wrap;gap:8px}.drp-chip{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:500;padding:7px 12px;transition:all .12s ease;white-space:nowrap}.drp-chip:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.drp-chip:focus-visible{border-color:var(--accent-color);box-shadow:0 0 0 2px #3b82f633;color:var(--text-primary);outline:none}.drp-chip.is-active{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 2px 8px #3b82f64d;color:#fff}.drp-more{background:#0000;border:1px dashed var(--border-hover);border-radius:6px;color:var(--accent-color);cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:600;padding:7px 12px;transition:all .12s ease}.drp-more:hover{background:#3b82f60f;border-color:var(--accent-color)}.drp-more:focus-visible{box-shadow:0 0 0 2px #3b82f640;outline:none}.drp-custom{grid-gap:12px;align-items:end;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:grid;gap:12px;grid-template-columns:1fr 1fr;padding:14px}.drp-field{display:flex;flex-direction:column;gap:6px}.drp-field label{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.drp-date-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.875rem;padding:8px 10px}.drp-date-input:focus-visible{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61f;outline:none}.drp-apply{background:var(--accent-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:600;grid-column:1/-1;letter-spacing:.02em;padding:10px;transition:background .12s ease,transform .05s ease}.drp-apply:hover{background:var(--accent-hover)}.drp-apply:active{transform:translateY(1px)}.drp-apply:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.drp-custom-error{color:var(--error);font-size:.75rem;grid-column:1/-1}@media (max-width:520px){.drp-trigger{min-width:0;width:100%}.drp-root{display:block}}.dh{--dh-green:#22c55e;--dh-amber:var(--warning);--dh-red:var(--error);--dh-grey:var(--text-tertiary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin-bottom:24px;overflow:hidden}.dh-head{align-items:flex-end;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:22px 26px 20px}.dh-head-left{display:flex;flex-direction:column;gap:4px;min-width:0}.dh-eyebrow{align-items:center;color:var(--accent-color);display:flex;font-size:.7rem;font-weight:700;gap:8px;letter-spacing:.12em;text-transform:uppercase}.dh-eyebrow:before{background:var(--accent-color);border-radius:50%;content:"";height:7px;width:7px}.dh-title{color:var(--text-primary);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;line-height:1.1;margin:0}.dh-subtitle{color:var(--text-secondary);font-size:.875rem}.dh-head-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:26px}.dh-range-label{color:var(--accent-color);font-weight:700}.dh-head-stats{display:flex;gap:26px}.dh-overall,.dh-uptime{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.dh-overall-score{font-feature-settings:"tnum";font-size:2rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;line-height:1}.dh-overall-label,.dh-uptime-label{color:var(--text-tertiary);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.dh-uptime-val{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.dh-score-green{color:var(--dh-green)}.dh-score-amber{color:var(--dh-amber)}.dh-score-red{color:var(--dh-red)}.dh-score-grey{color:var(--dh-grey)}.dh-body{padding:18px 26px 26px}.dh-sessions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.dh-sessions-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.dh-session-chip{font-feature-settings:"tnum";align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);display:inline-flex;font-size:.75rem;font-variant-numeric:tabular-nums;gap:8px;padding:4px 9px}.dh-session-min{color:var(--accent-color);font-size:.7rem;font-weight:700}.dh-empty-banner{align-items:center;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);display:flex;font-size:.82rem;gap:10px;line-height:1.4;margin-bottom:16px;padding:11px 14px}.dh-empty-banner-icon{flex-shrink:0;font-size:1.1rem}.dh-tbl-wrap{border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.dh-tbl,.dh-tbl-wrap{background:var(--bg-primary)}.dh-tbl{font-feature-settings:"tnum";border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.dh-tbl thead th{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:11px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.dh-tbl td.dh-num,.dh-tbl th.dh-num{text-align:right}.dh-tbl-th-cat{width:32%}.dh-tbl-row{animation:dh-row-in .34s cubic-bezier(.16,1,.3,1) both;cursor:pointer;transition:background .13s ease}@keyframes dh-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.dh-tbl-row>td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.85rem;padding:12px 16px;vertical-align:middle}.dh-tbl-row-open>td,.dh-tbl-row:hover>td{background:var(--bg-secondary)}.dh-tbl-row-open>td:first-child{box-shadow:inset 3px 0 0 var(--accent-color)}.dh-tbl-cat{align-items:center;display:flex;gap:11px}.dh-tbl-expander{align-items:center;background:#0000;border:none;color:var(--text-tertiary);cursor:pointer;display:inline-flex;flex-shrink:0;height:22px;justify-content:center;padding:0;width:22px}.dh-tbl-expander:hover{color:var(--accent-color)}.dh-tbl-cat-body{display:flex;flex-direction:column;gap:2px;min-width:0}.dh-tbl-cat-label{color:var(--text-primary);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dh-tbl-cat-cadence{color:var(--text-tertiary);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.dh-tbl-actual,.dh-tbl-expected{color:var(--text-primary);font-weight:600}.dh-tbl-quality{font-size:1.05rem;font-weight:800;letter-spacing:-.01em}.dh-tbl-completeness{min-width:130px}.dh-tbl-drill-row>td{border-bottom:1px solid var(--border-color);padding:0}.dh-tbl-drill-cell{background:var(--bg-secondary)}.dh-tbl-drill-cell .dh-drill{border-top:none}.dh-bar{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:5px;height:20px;overflow:hidden;position:relative}.dh-bar-fill{animation:dh-grow .5s cubic-bezier(.16,1,.3,1) both;border-radius:4px 0 0 4px;inset:0 auto 0 0;position:absolute}@keyframes dh-grow{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1)}}.dh-fill-green{background:linear-gradient(90deg,#22c55eb3,var(--dh-green))}.dh-fill-amber{background:linear-gradient(90deg,#f59e0bb3,var(--dh-amber))}.dh-fill-red{background:linear-gradient(90deg,#ef4444b3,var(--dh-red))}.dh-fill-grey{background:var(--dh-grey)}.dh-bar-pct{font-feature-settings:"tnum";color:var(--text-primary);filter:invert(1) grayscale(1) contrast(9);font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:700;mix-blend-mode:difference;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.dh-bar-na{display:grid;place-items:center}.dh-bar-na-label{color:var(--text-tertiary);font-size:.7rem;font-weight:600}.dh-pill{border:1px solid;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:3px 9px;text-transform:uppercase;white-space:nowrap}.dh-pill-healthy{background:#22c55e14;color:var(--dh-green)}.dh-pill-degraded{background:#f59e0b14;color:var(--dh-amber)}.dh-pill-broken{background:#ef444414;color:var(--dh-red)}.dh-pill-no_session{background:var(--bg-secondary);color:var(--text-tertiary)}.dh-pill-conditional{background:#3b82f614;color:var(--accent-color)}.dh-chevron{color:var(--text-tertiary);transition:transform .2s ease}.dh-chevron-open{color:var(--accent-color);transform:rotate(180deg)}.dh-drill{animation:dh-expand .25s ease both;background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:18px 20px 20px}@keyframes dh-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dh-drill-strip{border-bottom:1px dashed var(--border-color);display:flex;flex-wrap:wrap;gap:26px;margin-bottom:16px;padding-bottom:16px}.dh-stat{display:flex;flex-direction:column;gap:3px}.dh-stat-label{color:var(--text-tertiary);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.dh-stat-val{font-feature-settings:"tnum";color:var(--text-primary);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:700}.dh-stat-ts{font-size:.8rem;font-weight:600}.dh-warn{color:var(--dh-amber)}.dh-ok{color:var(--dh-green)}.dh-drill-block{margin-bottom:18px}.dh-drill-block:last-child{margin-bottom:0}.dh-drill-title{color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.dh-drill-sub{color:var(--text-tertiary);font-weight:500;letter-spacing:0;text-transform:none}.dh-table-wrap{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.dh-table-scroll{overflow-x:auto}.dh-table{font-feature-settings:"tnum";background:var(--bg-primary);border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.dh-table thead th{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.68rem;font-weight:600;letter-spacing:.05em;padding:9px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.dh-table td.dh-num,.dh-table th.dh-num{text-align:right}.dh-table tbody td{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.8rem;padding:9px 14px;white-space:nowrap}.dh-table tbody tr:last-child td{border-bottom:none}.dh-table tbody tr:hover td{background:var(--bg-secondary)}.dh-field-q{font-weight:600}.dh-field-tag{background:#3b82f61a;border-radius:3px;color:var(--accent-color);display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.04em;margin-left:7px;padding:1px 4px;text-transform:uppercase}.dh-fill-low{color:var(--dh-red);font-weight:700}.dh-fill-track{width:120px}.dh-fill-mini{background:var(--dh-green);border-radius:3px;display:block;height:7px}.dh-fill-mini-low{background:var(--dh-red)}.dh-null{color:var(--text-tertiary);font-style:italic}.dh-notes{background:var(--bg-primary);border-left:3px solid var(--accent-color);border-radius:0 6px 6px 0;color:var(--text-secondary);font-size:.8rem;line-height:1.45;margin:0 0 18px;padding:9px 12px}.dh-empty-line{color:var(--text-tertiary);font-size:.8rem;padding:10px 14px}.dh-sample-table tbody td{font-size:.75rem}.dh-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:56px 24px;text-align:center}.dh-state-icon{font-size:2rem;margin-bottom:12px}.dh-state-title{color:var(--text-primary);font-size:1.05rem;font-weight:600;margin:0 0 6px}.dh-state-sub{color:var(--text-secondary);font-size:.875rem;margin:0;max-width:520px}.dh-state-error .dh-state-title{color:var(--dh-red)}.dh-spinner{animation:dh-spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-color);height:34px;margin-bottom:14px;width:34px}@keyframes dh-spin{to{transform:rotate(1turn)}}.dh-retry{background:var(--bg-primary);border:1px solid var(--accent-color);border-radius:7px;color:var(--accent-color);cursor:pointer;font-size:.8rem;font-weight:600;margin-top:16px;padding:8px 18px}.dh-retry:hover{background:var(--accent-color);color:#fff}@media (max-width:760px){.dh-head{align-items:stretch;flex-direction:column}.dh-head-controls{align-items:stretch;gap:16px}.dh-head-stats{justify-content:space-between}.dh-tbl-wrap{overflow-x:auto}.dh-tbl{min-width:640px}}.settings-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.settings-container{margin:0 auto;max-width:100%;padding:12px 16px}.settings-container h1{color:#fff;margin-bottom:20px}.settings-container p{color:#ffffffe6;margin-bottom:30px}