:root{--bg-primary: #09090b;--bg-secondary: #18181b;--bg-tertiary: #27272a;--bg-hover: #3f3f46;--border-primary: #27272a;--border-secondary: #3f3f46;--border-hover: #52525b;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-disabled: #52525b;--accent-primary: #10b981;--accent-hover: #34d399;--accent-muted: rgba(16, 185, 129, .15);--success: #22c55e;--success-muted: rgba(34, 197, 94, .15);--error: #ef4444;--error-muted: rgba(239, 68, 68, .15);--warning: #f59e0b;--warning-muted: rgba(245, 158, 11, .15);--info: #6366f1;--info-muted: rgba(99, 102, 241, .15);--gradient-header: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-card: linear-gradient(145deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}#root{width:100%}input,select,textarea{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);padding:10px 14px;font-size:14px;font-family:inherit;transition:all .15s ease}input:hover,select:hover,textarea:hover{border-color:var(--border-secondary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}::placeholder{color:var(--text-muted)}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2371717a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer;opacity:.7;transition:opacity .15s}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}button{font-family:inherit;cursor:pointer;transition:all .15s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background:var(--accent-muted);color:var(--text-primary)}.app{min-height:100vh;background-color:var(--bg-primary)}.app-header{background:var(--gradient-header);color:#fff;padding:20px 40px;box-shadow:var(--shadow-md)}.app-header h1{margin:0 0 15px;font-size:28px;font-weight:700;letter-spacing:-.5px}.header-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.refresh-info{background-color:#ffffff26;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-main{max-width:1600px;margin:0 auto;padding:30px 40px}.error-banner{background:var(--error-muted);color:#fca5a5;padding:15px 20px;border-radius:10px;margin-bottom:20px;font-weight:500;border-left:4px solid var(--error)}.token-warning-banner{background:var(--warning-muted);border:1px solid rgba(245,158,11,.3);border-left:4px solid var(--warning);color:var(--warning);padding:12px 20px;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.token-warning-banner span{font-size:14px;font-weight:500}.token-warning-banner button{padding:8px 16px;border:1px solid var(--warning);border-radius:8px;background:var(--warning);color:var(--bg-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.token-warning-banner button:hover{background:#fbbf24;transform:translateY(-1px)}.loading{text-align:center;padding:60px 20px;font-size:18px;color:var(--text-muted)}.user-menu{display:flex;align-items:center;gap:12px}.user-email{font-size:14px;opacity:.9}.journal-btn,.analysis-btn,.settings-btn,.logout-btn{padding:8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.journal-btn{background:var(--accent-muted);border-color:#10b98166}.journal-btn:hover{background:#10b98140;border-color:#10b98199}.analysis-btn{background:var(--warning-muted);border-color:#f59e0b66}.analysis-btn:hover{background:#f59e0b40;border-color:#f59e0b99}.settings-btn:hover{background:#ffffff1a;border-color:#fff6}.logout-btn{background:var(--error-muted);border-color:#ef444466}.logout-btn:hover{background:#ef444440;border-color:#ef444499}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);color:var(--text-muted)}.loader{width:40px;height:40px;border:3px solid var(--border-secondary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.settings-wrapper{min-height:100vh;background:var(--bg-primary)}.back-btn{position:fixed;top:20px;left:20px;padding:10px 20px;border:1px solid var(--border-secondary);border-radius:10px;background:var(--bg-secondary);color:var(--accent-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;z-index:100}.back-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-state-icon{width:80px;height:80px;border-radius:50%;background:var(--accent-muted);border:2px dashed var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:36px;color:var(--accent-primary);margin-bottom:24px}.empty-state h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 12px}.empty-state p{color:var(--text-secondary);font-size:14px;margin:0;max-width:400px}@media(max-width:768px){.app-header{padding:15px 20px}.app-header h1{font-size:22px}.app-main{padding:20px 15px}.header-controls{flex-direction:column;align-items:flex-start}.user-menu{width:100%;justify-content:space-between;margin-top:10px}.user-email{display:none}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:20px}.login-card{background:var(--bg-secondary);border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);border:1px solid var(--border-primary)}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:var(--accent-primary);font-size:28px;font-weight:700;margin:0 0 8px;letter-spacing:-.5px}.login-header p{color:var(--text-secondary);font-size:14px;margin:0}.login-tabs{display:flex;gap:10px;margin-bottom:25px}.login-tabs .tab{flex:1;padding:12px;border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s ease}.login-tabs .tab:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.login-tabs .tab.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-group input{padding:14px 16px;border:1px solid var(--border-primary);border-radius:10px;background:var(--bg-tertiary);color:var(--text-primary);font-size:15px;transition:all .15s ease}.form-group input:hover{border-color:var(--border-secondary)}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.form-group input::placeholder{color:var(--text-muted)}.error-message{background:var(--error-muted);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 16px;border-radius:10px;font-size:14px}.submit-btn{padding:14px;border:none;border-radius:10px;background:var(--accent-primary);color:var(--bg-primary);font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease;margin-top:10px}.submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 15px #10b9814d}.login-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-primary)}.login-footer p{color:var(--text-muted);font-size:12px;margin:0}.dhan-credentials-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:20px}.dhan-credentials-card{background:var(--bg-secondary);border-radius:16px;padding:40px;width:100%;max-width:500px;box-shadow:var(--shadow-lg);border:1px solid var(--border-primary)}.dhan-header{text-align:center;margin-bottom:30px}.dhan-header h2{color:var(--text-primary);font-size:24px;margin:0 0 8px}.dhan-header p{color:var(--text-secondary);font-size:14px;margin:0}.status-badge{text-align:center;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:20px}.status-badge.success{background:var(--accent-muted);border:1px solid var(--accent-primary);color:var(--accent-primary)}.dhan-form{display:flex;flex-direction:column;gap:20px}.dhan-form .form-group{display:flex;flex-direction:column;gap:8px}.dhan-form .form-group label{color:var(--text-secondary);font-size:13px;font-weight:500}.dhan-form .form-group input,.dhan-form .form-group textarea{padding:14px 16px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:SF Mono,Fira Code,monospace;transition:border-color .15s ease;resize:vertical}.dhan-form .form-group input:hover,.dhan-form .form-group textarea:hover{border-color:var(--border-secondary)}.dhan-form .form-group input:focus,.dhan-form .form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.dhan-form .form-group input::placeholder,.dhan-form .form-group textarea::placeholder{color:var(--text-muted)}.error-message{background:var(--error-muted);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 16px;border-radius:8px;font-size:14px}.success-message{background:var(--accent-muted);border:1px solid rgba(16,185,129,.3);color:var(--accent-hover);padding:12px 16px;border-radius:8px;font-size:14px}.info-box{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;font-size:13px;color:var(--text-secondary)}.dhan-form .submit-btn{padding:14px;border:none;border-radius:8px;background:var(--accent-primary);color:var(--bg-primary);font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease;margin-top:10px}.dhan-form .submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.dhan-form .submit-btn:disabled{opacity:.5;cursor:not-allowed}.token-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.token-modal{background:var(--bg-secondary);border-radius:16px;padding:0;width:100%;max-width:500px;box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);overflow:hidden}.urgency-banner{text-align:center;padding:12px;font-size:24px;font-weight:700}.urgency-banner.expired{background:linear-gradient(135deg,var(--error) 0%,#dc2626 100%);color:#fff}.urgency-banner.critical{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.urgency-banner.warning{background:linear-gradient(135deg,var(--warning) 0%,#ffa000 100%);color:var(--bg-primary)}.token-modal-header{padding:24px 32px 16px;text-align:center}.token-modal-header h2{color:var(--text-primary);font-size:22px;margin:0 0 12px}.urgency-message{color:var(--text-secondary);font-size:14px;margin:0;line-height:1.5}.urgency-message.expired{color:var(--error)}.urgency-message.critical{color:#ff9800}.token-form{padding:0 32px 32px;display:flex;flex-direction:column;gap:16px}.token-form .form-group{display:flex;flex-direction:column;gap:8px}.token-form .form-group label{color:var(--text-secondary);font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.change-link{background:none;border:none;color:var(--accent-primary);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease}.change-link:hover{background:var(--accent-muted);text-decoration:underline}.readonly-input{background:var(--bg-primary)!important;color:var(--text-secondary)!important;cursor:not-allowed}.token-form .form-group input,.token-form .form-group textarea{padding:12px 14px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:SF Mono,Fira Code,monospace;transition:border-color .15s ease;resize:vertical}.token-form .form-group input:hover,.token-form .form-group textarea:hover{border-color:var(--border-secondary)}.token-form .form-group input:focus,.token-form .form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.token-form .form-group input::placeholder,.token-form .form-group textarea::placeholder{color:var(--text-muted)}.error-message{background:var(--error-muted);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 14px;border-radius:8px;font-size:14px}.success-message{background:var(--accent-muted);border:1px solid rgba(16,185,129,.3);color:var(--accent-hover);padding:12px 14px;border-radius:8px;font-size:14px}.warning-message{background:var(--warning-muted);border:1px solid rgba(245,158,11,.3);color:var(--warning);padding:12px 14px;border-radius:8px;font-size:14px;display:flex;flex-direction:column;gap:12px}.continue-btn{padding:8px 16px;border:1px solid var(--warning);border-radius:6px;background:transparent;color:var(--warning);font-size:13px;cursor:pointer;transition:all .15s ease;align-self:flex-start}.continue-btn:hover{background:#f59e0b33}.info-box{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;padding:14px;font-size:13px;color:var(--text-secondary)}.info-box strong{color:var(--text-primary);display:block;margin-bottom:10px}.info-box ol{margin:0;padding-left:20px}.info-box li{margin-bottom:6px}.info-box a{color:var(--accent-primary);text-decoration:none}.info-box a:hover{text-decoration:underline}.button-group{display:flex;gap:12px;margin-top:8px}.submit-btn{flex:1;padding:14px;border:none;border-radius:8px;background:var(--accent-primary);color:var(--bg-primary);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease}.submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.skip-btn{padding:14px 24px;border:1px solid var(--border-primary);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:15px;cursor:pointer;transition:all .15s ease}.skip-btn:hover{border-color:var(--border-secondary);color:var(--text-primary)}@media(max-width:500px){.token-modal{margin:10px}.token-modal-header{padding:20px 20px 12px}.token-form{padding:0 20px 24px}.button-group{flex-direction:column}.skip-btn{order:2}}.watchlist-bar{background:var(--bg-secondary);padding:12px 20px;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.add-instrument{display:flex;align-items:center;gap:8px}.instrument-select{padding:8px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;min-width:180px;cursor:pointer;transition:all .15s ease}.instrument-select:hover{border-color:var(--border-secondary)}.instrument-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.expiry-select{padding:8px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;min-width:120px;cursor:pointer;transition:all .15s ease}.expiry-select:hover{border-color:var(--border-secondary)}.expiry-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.expiry-select:disabled{opacity:.5;cursor:wait}.add-btn{padding:8px 16px;border:none;border-radius:8px;background:var(--accent-primary);color:var(--bg-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.add-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.add-btn:disabled{opacity:.5;cursor:not-allowed}.limit-message{color:var(--text-secondary);font-size:13px;padding:8px 12px;background:var(--warning-muted);border:1px solid rgba(245,158,11,.3);border-radius:8px}.tabs-container{display:flex;gap:8px;flex-wrap:wrap}.tab{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .15s ease}.tab:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.tab.active{background:var(--accent-muted);border-color:var(--accent-primary)}.tab-name{color:var(--text-primary);font-size:14px;font-weight:500}.tab.active .tab-name{color:var(--accent-primary)}.tab-expiry{font-size:12px;color:var(--text-secondary);padding:2px 6px;background:#ffffff0d;border-radius:4px}.tab.active .tab-expiry{color:var(--accent-primary);background:#10b9811a}.mode-badge{font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.mode-badge.paper{background:var(--success-muted);color:var(--success);border:1px solid rgba(34,197,94,.3)}.mode-badge.live{background:var(--error-muted);color:var(--error);border:1px solid rgba(239,68,68,.3);animation:pulse-live 2s infinite}@keyframes pulse-live{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444400}}.tab.live-mode{border-color:#ef44444d}.tab.live-mode.active{background:var(--error-muted);border-color:var(--error)}.tab.live-mode.active .tab-name{color:var(--error)}.close-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:#ffffff1a;color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;transition:all .15s ease}.close-btn:hover{background:var(--error-muted);color:var(--error)}.empty-hint{color:var(--text-muted);font-size:14px;font-style:italic}@media(max-width:768px){.watchlist-bar{flex-direction:column;align-items:flex-start}.add-instrument{width:100%}.instrument-select{flex:1}.tabs-container{width:100%}.tab{flex:1;justify-content:center;min-width:80px}}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-primary);padding:20px;border-radius:12px;text-align:center;transition:all .15s ease}.summary-card:hover{transform:translateY(-2px);border-color:var(--border-secondary);box-shadow:var(--shadow-md)}.card-label{font-size:12px;color:var(--text-muted);margin-bottom:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:24px;font-weight:700;color:var(--text-primary)}.summary-card.spot-price .card-value{color:var(--info)}.summary-card.atm-strike .card-value{color:var(--warning)}.summary-card.pcr .card-value{color:#9333ea}.summary-card.call-oi .card-value{color:var(--success)}.summary-card.put-oi .card-value{color:var(--error)}.settings-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:20px;margin-top:12px}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-primary)}.settings-header h4{margin:0;color:var(--text-primary);font-size:16px;font-weight:600}.close-btn{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-muted);font-size:18px;cursor:pointer;padding:6px 10px;border-radius:8px;line-height:1;transition:all .15s ease}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.settings-loading{text-align:center;color:var(--text-muted);padding:20px}.settings-error{background:var(--error-muted);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}.settings-success{background:var(--success-muted);border:1px solid rgba(34,197,94,.3);color:#86efac;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px}.settings-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.settings-section{background:#ffffff05;border:1px solid var(--border-primary);border-radius:10px;padding:16px}.settings-section h5{margin:0 0 14px;color:var(--accent-primary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.setting-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.setting-row:last-child{margin-bottom:0}.setting-row label{flex:0 0 120px;color:var(--text-secondary);font-size:13px}.setting-row input{flex:0 0 80px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:8px 12px;color:var(--text-primary);font-size:13px;text-align:right;transition:all .15s ease}.setting-row input:hover{border-color:var(--border-secondary)}.setting-row input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.setting-row input::-webkit-inner-spin-button,.setting-row input::-webkit-outer-spin-button{opacity:1}.setting-hint{flex:1;color:var(--text-muted);font-size:11px}.settings-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-primary)}.settings-status{display:flex;align-items:center}.custom-badge{background:var(--info-muted);color:#a5b4fc;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500}.default-badge{background:#71717a26;color:var(--text-muted);padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500}.settings-actions{display:flex;gap:10px}.reset-btn{background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s ease}.reset-btn:hover:not(:disabled){border-color:var(--error);color:var(--error);background:var(--error-muted)}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.save-btn{background:var(--gradient-header);border:none;color:#fff;padding:8px 20px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s ease}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #6366f14d}.save-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.settings-content{grid-template-columns:1fr}.setting-row{flex-wrap:wrap}.setting-row label{flex:1 1 100%;margin-bottom:4px}.setting-row input{flex:0 0 100px}.settings-footer{flex-direction:column;gap:12px}.settings-actions{width:100%}.settings-actions button{flex:1}}.signal-meter{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:16px;margin:16px 0;transition:all .15s ease}.signal-meter.signal-active{border-color:var(--success);box-shadow:0 0 20px #22c55e33}.signal-meter.near-threshold{animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #f59e0b4d}50%{box-shadow:0 0 20px #f59e0b99}}.signal-meter-inactive{opacity:.6}.meter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.meter-title{font-size:11px;font-weight:600;letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase}.meter-status{font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;background:#ffffff0d;color:var(--text-secondary)}.meter-status.active{background:var(--success-muted);color:var(--success);animation:status-pulse 1s ease-in-out infinite}.meter-status.bullish{color:var(--success)}.meter-status.bearish{color:var(--error)}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.7}}.score-gauge{margin-bottom:16px}.gauge-labels{display:flex;justify-content:space-between;margin-bottom:6px}.gauge-label{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.gauge-label.bearish{color:var(--error)}.gauge-label.bullish{color:var(--success)}.gauge-track{position:relative;height:24px;background:var(--bg-tertiary);border-radius:12px;overflow:visible}.gauge-zone{position:absolute;top:0;height:100%;border-radius:12px}.gauge-zone.bearish{left:0;background:linear-gradient(90deg,#ef444466,#ef44441a)}.gauge-zone.neutral{background:#ffffff0d}.gauge-zone.bullish{background:linear-gradient(90deg,#22c55e1a,#22c55e66)}.threshold-marker{position:absolute;top:-4px;transform:translate(-50%);height:calc(100% + 8px);width:2px;background:#ffffff4d}.threshold-marker .threshold-value{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:9px;color:var(--text-muted);white-space:nowrap}.threshold-marker.center{background:#ffffff26}.score-pointer{position:absolute;top:-8px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:10;transition:left .5s ease-out}.pointer-value{background:var(--bg-tertiary);border:2px solid var(--border-secondary);padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700;color:var(--text-primary);white-space:nowrap}.score-pointer.bullish .pointer-value{border-color:var(--success);color:var(--success)}.score-pointer.bearish .pointer-value{border-color:var(--error);color:var(--error)}.pointer-arrow{font-size:10px;color:var(--border-secondary);margin-top:-2px}.score-pointer.bullish .pointer-arrow{color:var(--success)}.score-pointer.bearish .pointer-arrow{color:var(--error)}.gauge-scale{display:flex;justify-content:space-between;margin-top:4px;font-size:9px;color:var(--text-disabled)}.factor-breakdown{border-top:1px solid var(--border-primary);padding-top:12px;margin-bottom:12px}.factor-header{font-size:10px;font-weight:600;letter-spacing:1px;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase}.factor-row{display:grid;grid-template-columns:120px 1fr 60px 24px 70px;align-items:center;gap:8px;margin-bottom:8px}.factor-label{font-size:12px;color:var(--text-secondary)}.factor-bar-container{position:relative}.factor-bar-track{height:8px;background:var(--bg-tertiary);border-radius:4px;position:relative;overflow:hidden}.factor-bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:4px;transition:width .5s ease-out}.factor-bar-fill.bullish{background:linear-gradient(90deg,#059669,var(--success))}.factor-bar-fill.bearish{background:linear-gradient(90deg,#dc2626,var(--error))}.factor-bar-fill.neutral{background:var(--border-secondary)}.factor-bar-potential{position:absolute;top:0;height:100%;background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.1) 2px,rgba(255,255,255,.1) 4px);border-radius:4px}.factor-value{font-size:12px;text-align:right;font-family:SF Mono,Fira Code,monospace}.factor-value .positive{color:var(--success)}.factor-value .negative{color:var(--error)}.factor-max{color:var(--text-disabled)}.factor-status{text-align:center;font-size:14px;color:var(--text-muted)}.factor-status.good{color:var(--success)}.factor-status.bad{color:var(--error)}.factor-remaining{font-size:10px;color:var(--text-disabled)}.meter-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border-primary);font-size:12px}.total-score{color:var(--text-secondary)}.total-score strong{color:var(--text-primary);font-size:14px}.potential-score{color:var(--text-disabled);font-size:11px}@media(max-width:768px){.factor-row{grid-template-columns:90px 1fr 50px 20px}.factor-remaining{display:none}.factor-label{font-size:11px}.meter-header{flex-direction:column;gap:8px;align-items:flex-start}}.strategy-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;margin-bottom:24px;overflow:hidden}.strategy-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--info-muted);border-bottom:1px solid var(--border-primary)}.strategy-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary)}.strategy-icon{font-size:20px}.strategy-status{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.strategy-status.waiting{background:#71717a33;color:var(--text-secondary)}.strategy-status.building{background:var(--warning-muted);color:var(--warning)}.strategy-status.recovering{background:#ff980033;color:#ff9800}.strategy-status.active{background:var(--success-muted);color:var(--success)}.strategy-controls{display:flex;align-items:center;gap:12px}.strategy-settings-btn{background:#ffffff0d;border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-secondary);font-size:18px;width:36px;height:36px;min-width:36px;padding:0;margin:0;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;line-height:1;font-family:inherit;-webkit-appearance:none;appearance:none}.strategy-settings-btn:hover{background:var(--info-muted);border-color:var(--info);color:var(--info)}.strategy-settings-btn.active{background:#6366f133;border-color:var(--info);color:var(--info)}.toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-switch input{display:none}.toggle-slider{position:relative;width:50px;height:26px;background:var(--border-secondary);border-radius:13px;transition:background .3s}.toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--text-primary);border-radius:50%;transition:transform .3s}.toggle-switch input:checked+.toggle-slider{background:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:after{transform:translate(24px)}.toggle-label{font-size:14px;font-weight:600;color:var(--text-secondary);min-width:30px}.toggle-switch input:checked~.toggle-label{color:var(--accent-primary)}.strategy-content{padding:20px}.strategy-disabled{padding:16px 20px;text-align:center;color:var(--text-muted);font-size:14px}.strategy-error{background:var(--error-muted);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:14px}.strategy-loading{text-align:center;padding:20px;color:var(--text-secondary)}.indicators-section{margin-bottom:20px}.indicators-section h4,.signal-section h4{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin:0 0 12px}.indicators-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.indicator-item{background:#ffffff08;padding:12px;border-radius:8px;text-align:center}.indicator-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase}.indicator-value{display:block;font-size:18px;font-weight:700}.indicator-value.positive{color:var(--success)}.indicator-value.negative{color:var(--error)}.indicator-value.neutral{color:var(--accent-primary)}.signal-card{background:#ffffff08;border-radius:10px;padding:16px;border-left:4px solid var(--text-muted)}.signal-card.bullish{border-left-color:var(--success);background:#22c55e14}.signal-card.bearish{border-left-color:var(--error);background:#ef444414}.signal-main{display:flex;align-items:center;gap:12px;margin-bottom:12px}.signal-badge{padding:6px 14px;border-radius:6px;font-size:14px;font-weight:700;text-transform:uppercase}.signal-badge.bullish{background:var(--success-muted);color:var(--success)}.signal-badge.bearish{background:var(--error-muted);color:var(--error)}.signal-confidence{color:var(--text-secondary);font-size:14px}.signal-recommendation{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:16px}.rec-action{font-weight:700;color:var(--text-primary)}.rec-option{color:var(--accent-primary);font-weight:600}.signal-execution{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;background:#0003;border-radius:8px;margin-bottom:12px}.execution-row{text-align:center}.exec-label{display:block;font-size:10px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.exec-value{display:block;font-size:16px;font-weight:700}.exec-value.entry{color:var(--text-primary)}.exec-value.sl{color:var(--error)}.exec-value.target{color:var(--success)}.exec-value.rr{color:var(--accent-primary)}.signal-trading-info{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--info-muted);border-radius:6px;margin-bottom:12px;font-size:13px}.trading-symbol{font-family:SF Mono,Fira Code,monospace;color:var(--info);font-weight:600}.lot-size{color:var(--text-secondary)}.signal-factors{display:flex;flex-wrap:wrap;gap:8px}.factor{padding:4px 10px;border-radius:4px;font-size:12px;background:#ffffff0d;color:var(--text-secondary)}.factor.positive{background:var(--success-muted);color:var(--success)}.factor.negative{background:var(--error-muted);color:var(--error)}.no-signal{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--text-muted);background:#ffffff05;border-radius:8px}.no-signal-icon{font-size:20px}@media(max-width:768px){.strategy-header{flex-direction:column;gap:12px;align-items:flex-start}.indicators-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.indicator-value{font-size:16px}.signal-main{flex-direction:column;align-items:flex-start;gap:8px}.signal-recommendation{flex-direction:column;align-items:flex-start;gap:4px}.signal-execution{grid-template-columns:repeat(2,1fr)}.signal-trading-info{flex-direction:column;gap:4px;text-align:center}}.trades-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:20px;margin-bottom:20px}.trades-panel.loading{color:var(--text-muted);text-align:center;padding:24px}.tp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tp-title{display:flex;align-items:center;gap:10px;color:var(--text-primary);font-weight:600}.tp-icon{font-size:18px}.tp-live-badge{font-size:10px;font-weight:700;padding:3px 8px;background:var(--error-muted);color:var(--error);border:1px solid rgba(239,68,68,.3);border-radius:6px;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.tp-controls{display:flex;align-items:center;gap:12px}.tp-mode-select{padding:8px 12px;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .15s ease}.tp-mode-select:hover{border-color:var(--border-secondary)}.tp-mode-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-secondary);transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--text-primary);transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--accent-primary)}input:checked+.toggle-slider:before{transform:translate(20px)}.tp-content{display:flex;flex-direction:column;gap:16px}.tp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px;background:#ffffff05;border:1px solid var(--border-primary);border-radius:10px}.tp-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:14px;font-weight:600;color:var(--text-primary)}.pnl-positive{color:var(--success)!important}.pnl-negative{color:var(--error)!important}.pnl-percent{font-size:12px;opacity:.8}.tp-error{padding:10px 14px;background:var(--error-muted);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:13px}.tp-section{display:flex;flex-direction:column;gap:10px}.tp-section h4{margin:0;font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.section-badge{font-size:9px;font-weight:700;padding:3px 6px;border-radius:4px;text-transform:uppercase}.section-badge.paper{background:var(--success-muted);color:var(--success)}.section-badge.live{background:var(--error-muted);color:var(--error)}.tp-section.live-section{padding:14px;background:#ef444408;border:1px solid rgba(239,68,68,.15);border-radius:10px}.tp-position{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:10px;padding:14px;transition:all .15s ease}.tp-position:hover{border-color:var(--border-secondary)}.tp-position.live{border-color:#ef44444d;background:linear-gradient(145deg,rgba(239,68,68,.03) 0%,var(--bg-tertiary) 100%)}.tp-position.paper{border-color:#22c55e33}.pos-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.broker-badge{font-size:9px;font-weight:700;padding:3px 6px;border-radius:4px;text-transform:uppercase}.broker-badge.paper{background:var(--success-muted);color:var(--success)}.broker-badge.live{background:var(--error-muted);color:var(--error)}.pos-type{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px}.pos-type.call{background:var(--success-muted);color:var(--success)}.pos-type.put{background:var(--error-muted);color:var(--error)}.pos-strike{font-size:14px;font-weight:600;color:var(--text-primary)}.pos-entry{font-size:12px;color:var(--text-secondary)}.pos-risk-mgmt{display:flex;gap:16px;font-size:11px;margin-bottom:10px}.pos-sl{color:var(--error)}.pos-target{color:var(--success)}.distance{opacity:.7}.pos-live-pnl{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#ffffff05;border-radius:6px;margin-bottom:10px}.ltp-label{font-size:12px;color:var(--text-secondary)}.pnl-value{font-size:14px;font-weight:600}.pnl-value.positive{color:var(--success)}.pnl-value.negative{color:var(--error)}.pnl-pct{font-size:11px;margin-left:4px;opacity:.8}.pos-details{display:flex;justify-content:space-between;align-items:center}.pos-time{font-size:11px;color:var(--text-muted)}.btn-close-pos{padding:6px 12px;border:1px solid var(--border-primary);border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;background:var(--bg-secondary);color:var(--text-secondary)}.btn-close-pos:hover{background:var(--error-muted);border-color:#ef44444d;color:var(--error)}.btn-close-pos.live{background:var(--error-muted);color:var(--error);border:1px solid rgba(239,68,68,.3)}.btn-close-pos.live:hover{background:#ef444433}.tp-pending-signal{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:10px;padding:14px}.sig-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.sig-type{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase}.sig-type.bullish{background:var(--success-muted);color:var(--success)}.sig-type.bearish{background:var(--error-muted);color:var(--error)}.sig-option{font-size:13px;color:var(--text-primary)}.sig-confidence{margin-left:auto;font-size:12px;font-weight:600;color:var(--accent-primary)}.sig-actions{display:flex;gap:8px}.btn-execute{flex:1;padding:10px;border:none;border-radius:8px;background:var(--accent-primary);color:var(--bg-primary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-execute:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-dismiss{padding:10px 14px;border:1px solid var(--border-primary);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.btn-dismiss:hover{background:var(--error-muted);color:var(--error);border-color:#ef44444d}.tp-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px;text-align:center}.empty-icon{font-size:32px;opacity:.3}.tp-empty span:nth-child(2){color:var(--text-secondary);font-size:14px}.empty-hint{font-size:12px;color:var(--text-muted)}.tp-disabled{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}@media(max-width:600px){.tp-stats{grid-template-columns:repeat(2,1fr)}}.option-chain-container{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:20px}.option-chain-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.option-chain-header h2{margin:0;color:var(--text-primary)}.strike-range-selector{display:flex;align-items:center;gap:10px}.strike-range-selector label{font-weight:600;color:var(--text-secondary)}.strike-range-selector select{padding:8px 12px;border:1px solid var(--border-primary);border-radius:8px;font-size:14px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.strike-range-selector select:hover{border-color:var(--border-secondary)}.strike-range-selector select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.table-wrapper{overflow-x:auto}.option-chain-table{width:100%;border-collapse:collapse;font-size:14px}.option-chain-table thead th{padding:12px 8px;font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.5px;border-bottom:1px solid var(--border-primary)}.call-header{background-color:var(--success-muted);color:var(--success)}.put-header{background-color:var(--error-muted);color:var(--error)}.strike-header{background-color:var(--warning-muted);color:var(--warning);font-weight:700}.option-chain-table tbody td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--border-primary)}.call-column{background-color:#22c55e0d}.put-column{background-color:#ef44440d}.strike-column{background-color:#f59e0b14;font-weight:700;color:var(--text-primary);position:relative}.imbalance-column{background-color:var(--bg-tertiary);font-weight:600;text-align:center;font-size:12px}.imbalance-column.call-strong{color:var(--success);background-color:#22c55e40;font-weight:700}.imbalance-column.put-strong{color:var(--error);background-color:#ef444440;font-weight:700}.imbalance-column.call-medium{color:var(--success);background-color:var(--success-muted);font-weight:600}.imbalance-column.put-medium{color:var(--error);background-color:var(--error-muted);font-weight:600}.imbalance-column.call{color:var(--success);background-color:var(--bg-tertiary)}.imbalance-column.put{color:var(--error);background-color:var(--bg-tertiary)}.imbalance-column.weak,.imbalance-column.balanced,.imbalance-column.neutral{color:var(--text-muted);background-color:var(--bg-tertiary)}.imbalance-header{background-color:var(--bg-hover)!important;color:var(--text-secondary)!important;font-weight:700!important}.atm-row{background-color:#f59e0b26!important}.atm-row .call-column,.atm-row .put-column,.atm-row .strike-column,.atm-row .imbalance-column{background-color:#f59e0b26!important;font-weight:600}.atm-badge{display:inline-block;margin-left:8px;padding:2px 8px;background-color:var(--warning);color:var(--bg-primary);font-size:10px;font-weight:700;border-radius:4px;text-transform:uppercase}.positive{color:var(--success)}.negative{color:var(--error)}.option-chain-table tbody tr:hover,.option-chain-table tbody tr:hover .call-column,.option-chain-table tbody tr:hover .put-column,.option-chain-table tbody tr:hover .strike-column,.option-chain-table tbody tr:hover .imbalance-column{background-color:var(--bg-hover)}.no-data{text-align:center;padding:40px;color:var(--text-muted);font-size:16px}.trading-mode-selector{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mode-label{font-size:13px;color:var(--text-secondary);font-weight:500}.mode-buttons{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid var(--border-primary)}.mode-btn{padding:6px 14px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;position:relative}.mode-btn:first-child{border-right:1px solid var(--border-primary)}.mode-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.mode-btn.paper.active{background:var(--success-muted);color:var(--success)}.mode-btn.live.active{background:var(--error-muted);color:var(--error)}.live-pulse{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:6px;height:6px;background:var(--error);border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 6px #ef444400}}.live-warning{font-size:11px;color:var(--error);font-weight:500;padding:3px 8px;background:var(--error-muted);border-radius:4px}.mode-error{font-size:11px;color:var(--error);background:var(--error-muted);padding:3px 8px;border-radius:4px}.confirm-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:24px;max-width:400px;width:90%;text-align:center}.confirm-icon{width:48px;height:48px;margin:0 auto 16px;background:var(--error-muted);color:var(--error);border:2px solid var(--error);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.confirm-dialog h3{margin:0 0 12px;color:var(--text-primary);font-size:18px}.confirm-dialog p{margin:0 0 20px;color:var(--text-secondary);font-size:14px;line-height:1.5}.confirm-dialog p strong{color:var(--error)}.confirm-actions{display:flex;gap:12px}.confirm-cancel{flex:1;padding:10px 16px;border:1px solid var(--border-primary);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.confirm-cancel:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.confirm-proceed{flex:1;padding:10px 16px;border:none;border-radius:8px;background:var(--error);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.confirm-proceed:hover:not(:disabled){background:#dc2626}.confirm-proceed:disabled,.confirm-cancel:disabled{opacity:.5;cursor:not-allowed}.instrument-dashboard{padding:20px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.dashboard-title-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.dashboard-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600}.dashboard-meta{display:flex;align-items:center;gap:16px}.dashboard-meta span{font-size:14px;color:var(--text-secondary)}.expiry{background:var(--accent-muted);padding:4px 10px;border-radius:6px;color:var(--accent-primary)!important}.exchange{background:var(--info-muted);padding:4px 10px;border-radius:6px;color:var(--info)!important}.refresh-countdown{background:var(--warning-muted);padding:4px 10px;border-radius:6px;color:var(--warning)!important;font-weight:500}.connection-status{padding:4px 10px;border-radius:6px;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.connection-status.status-live{background:var(--success-muted);color:var(--success)!important;animation:pulse 2s infinite}.connection-status.status-connecting,.connection-status.status-waiting{background:var(--warning-muted);color:var(--warning)!important}.connection-status.status-reconnecting{background:#ff980026;color:#ff9800!important}.connection-status.status-error,.connection-status.status-removed{background:var(--error-muted);color:var(--error)!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.dashboard-error{background:var(--error-muted);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 16px;border-radius:8px;margin-bottom:20px}.dashboard-loading{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px}@media(max-width:768px){.instrument-dashboard{padding:15px}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-header h2{font-size:20px}.dashboard-meta{flex-wrap:wrap}}.trade-journal{padding:24px 32px;max-width:1400px;margin:0 auto;min-height:100vh;background:var(--bg-primary)}.journal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.journal-title{display:flex;align-items:center;gap:20px}.journal-title h1{margin:0;font-size:1.75rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.btn-back{background:#ffffff08;border:1px solid var(--border-primary);color:var(--text-secondary);padding:10px 18px;border-radius:10px;cursor:pointer;transition:all .15s ease;font-weight:500;font-size:.9rem}.btn-back:hover{background:#ffffff14;border-color:var(--border-secondary);color:var(--text-primary);transform:translate(-2px)}.btn-export{background:var(--gradient-header);border:none;color:#fff;padding:10px 20px;border-radius:10px;cursor:pointer;transition:all .15s ease;font-weight:600;font-size:.9rem;box-shadow:0 4px 15px #6366f14d}.btn-export:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-export:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.journal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;transition:all .15s ease}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.stat-card:hover{transform:translateY(-2px);border-color:var(--border-secondary);box-shadow:var(--shadow-md)}.stat-card.highlight{border-color:#10b9814d;background:linear-gradient(145deg,var(--accent-muted) 0%,var(--bg-secondary) 100%)}.stat-card.highlight:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10b981,#34d399);border-radius:16px 16px 0 0}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:600}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.stat-value.positive{color:var(--success)}.stat-value.negative{color:var(--error)}.journal-filters{display:flex;gap:20px;margin-bottom:24px;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:14px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-size:.8rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.filter-group select,.filter-group input[type=date]{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;padding:8px 14px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .15s ease;min-width:120px}.filter-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer;opacity:.6;transition:opacity .2s}.filter-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.btn-clear-date{background:var(--error-muted);border:1px solid rgba(239,68,68,.2);color:var(--error);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;padding:0;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.btn-clear-date:hover{background:#ef444433;border-color:#ef444466}.journal-error{background:var(--error-muted);border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:16px 20px;color:#fca5a5;margin-bottom:20px;font-weight:500}.journal-loading{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:1rem}.journal-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;color:var(--text-muted)}.empty-icon{font-size:4rem;opacity:.3}.empty-hint{font-size:.9rem;color:var(--text-secondary);max-width:300px;text-align:center;line-height:1.5}.trade-list{display:flex;flex-direction:column;gap:16px}.trade-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:16px;padding:20px 24px;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden}.trade-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px}.trade-card:hover{border-color:var(--border-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.trade-card.closed:before{background:var(--success)}.trade-card.open:before{background:var(--info)}.trade-card.cancelled:before{background:var(--text-muted)}.trade-card.live:before{background:var(--error)!important}.trade-card.live{background:linear-gradient(145deg,var(--error-muted) 0%,var(--bg-secondary) 100%)}.trade-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.trade-id{font-size:.75rem;color:var(--text-muted);font-family:SF Mono,Fira Code,monospace}.broker-badge{font-size:.65rem;font-weight:700;padding:4px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.8px}.broker-badge.paper{background:var(--success-muted);color:var(--success);border:1px solid rgba(34,197,94,.25)}.broker-badge.live{background:var(--error-muted);color:var(--error);border:1px solid rgba(239,68,68,.25)}.trade-status{padding:4px 10px;border-radius:6px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.trade-status.closed{background:var(--success-muted);color:var(--success)}.trade-status.open{background:var(--info-muted);color:var(--info)}.trade-status.cancelled{background:#71717a26;color:var(--text-secondary)}.trade-type{padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.trade-type.call{background:var(--success-muted);color:var(--success);border:1px solid rgba(34,197,94,.3)}.trade-type.put{background:var(--error-muted);color:var(--error);border:1px solid rgba(239,68,68,.3)}.trade-instrument{font-weight:700;color:var(--text-primary);font-size:1rem;letter-spacing:-.3px}.trade-strike{color:var(--text-muted);font-size:.9rem}.trade-details{display:flex;gap:40px;margin-bottom:16px;padding:16px 0;border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary)}.trade-entry,.trade-exit{display:flex;align-items:center;gap:12px}.detail-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-value{font-weight:700;color:var(--text-primary);font-size:1.1rem;font-family:SF Mono,Fira Code,monospace}.detail-time{font-size:.8rem;color:var(--text-secondary);padding:4px 10px;background:var(--bg-tertiary);border-radius:6px}.trade-pnl{display:flex;align-items:center;gap:12px}.pnl-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.pnl-positive{color:var(--success);font-weight:700;font-size:1.15rem}.pnl-negative{color:var(--error);font-weight:700;font-size:1.15rem}.pnl-percent{font-size:.85rem;opacity:.8;font-weight:600}.exit-badge{margin-left:auto;font-size:.65rem;padding:5px 12px;border-radius:20px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.exit-sl{background:var(--error-muted);color:var(--error);border:1px solid rgba(239,68,68,.3)}.exit-target{background:var(--success-muted);color:var(--success);border:1px solid rgba(34,197,94,.3)}.exit-signal{background:var(--info-muted);color:var(--info);border:1px solid rgba(99,102,241,.3)}.exit-manual{background:#71717a26;color:var(--text-secondary);border:1px solid rgba(113,113,122,.3)}.exit-square_off{background:var(--warning-muted);color:var(--warning);border:1px solid rgba(245,158,11,.3)}.open-badge{color:var(--info);font-size:.85rem;font-weight:600}.cancelled-badge{color:var(--text-secondary);font-size:.85rem}.trade-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.trade-modal{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:20px;width:90%;max-width:640px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-primary);background:var(--bg-primary)}.modal-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.3px}.btn-close{background:#ffffff0d;border:1px solid var(--border-primary);color:var(--text-secondary);font-size:1.25rem;cursor:pointer;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-close:hover{background:var(--error-muted);border-color:#ef44444d;color:var(--error)}.modal-content{padding:24px}.detail-section{margin-bottom:28px}.detail-section h3{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border-primary);font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.detail-item{display:flex;flex-direction:column;gap:6px}.detail-item .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.detail-item .value{font-size:1.05rem;color:var(--text-primary);font-weight:600}.detail-item .value.status-closed{color:var(--success)}.detail-item .value.status-open{color:var(--info)}.detail-item .value.status-cancelled{color:var(--text-secondary)}.pnl-section{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:16px;padding:24px}.pnl-summary{display:flex;align-items:baseline;gap:16px;justify-content:center}.pnl-main{font-size:2.5rem;font-weight:800;letter-spacing:-1px}.pnl-main.positive{color:var(--success)}.pnl-main.negative{color:var(--error)}.pnl-summary .pnl-percent{font-size:1.4rem;font-weight:700}.broker-filter{min-width:130px}@media(max-width:1024px){.journal-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.trade-journal{padding:16px}.journal-stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-value{font-size:1.25rem}.journal-filters{flex-direction:column;gap:12px}.filter-group{width:100%}.filter-group select,.filter-group input[type=date]{flex:1}.trade-details{flex-direction:column;gap:12px}.trade-header{flex-wrap:wrap;gap:8px}.detail-grid{grid-template-columns:1fr}.trade-modal{width:95%;max-height:90vh;border-radius:16px}}.trade-modal::-webkit-scrollbar{width:8px}.trade-modal::-webkit-scrollbar-track{background:#0003;border-radius:4px}.trade-modal::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.trade-modal::-webkit-scrollbar-thumb:hover{background:#fff3}.analysis-dashboard{padding:20px;max-width:1000px;margin:0 auto}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.header-title{display:flex;align-items:center;gap:16px}.header-title h1{margin:0;font-size:1.5rem;color:var(--text-primary)}.btn-back{background:#ffffff0d;border:1px solid var(--border-primary);color:var(--text-secondary);padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .15s ease}.btn-back:hover{background:#ffffff1a;color:var(--text-primary)}.analysis-filters{display:flex;gap:16px;margin-bottom:20px;padding:12px 16px;background:#ffffff08;border:1px solid var(--border-primary);border-radius:10px;flex-wrap:wrap;align-items:center}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.85rem;color:var(--text-secondary)}.filter-group select,.filter-group input[type=date]{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;padding:6px 12px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .15s ease}.filter-group select:hover,.filter-group input[type=date]:hover{border-color:var(--border-secondary)}.filter-group select:focus,.filter-group input[type=date]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-muted)}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.btn-refresh{background:var(--gradient-header);border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .15s ease;margin-left:auto}.btn-refresh:hover{opacity:.9;transform:translateY(-1px)}.summary-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.stat-card.highlight{border-color:var(--accent-primary);background:linear-gradient(145deg,var(--accent-muted) 0%,var(--bg-secondary) 100%)}.stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.stat-sub{font-size:.75rem;color:var(--text-secondary)}.stat-sub .bullish{color:var(--success)}.stat-sub .bearish{color:var(--error)}.analysis-error{background:var(--error-muted);border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;color:#fca5a5;margin-bottom:16px}.analysis-loading{text-align:center;padding:40px;color:var(--text-secondary)}.analysis-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--text-muted)}.empty-icon{font-size:2rem;opacity:.5;letter-spacing:4px}.analysis-empty h3{margin:0;color:var(--text-secondary)}.analysis-empty p{margin:0;font-size:.85rem;text-align:center;max-width:400px}.timeline-container{display:flex;flex-direction:column;gap:16px}.timeline{display:flex;flex-direction:column;gap:2px}.timeline-entry{display:flex;gap:16px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;transition:all .15s ease}.timeline-entry:hover{border-color:var(--border-secondary)}.timeline-entry.has-signal{border-left:3px solid var(--warning);background:linear-gradient(135deg,rgba(245,158,11,.05) 0%,var(--bg-secondary) 100%)}.timeline-entry.skipped{opacity:.6}.timeline-time{min-width:80px;font-family:SF Mono,Fira Code,monospace;font-size:.85rem;color:var(--text-secondary);padding-top:2px}.timeline-content{flex:1;display:flex;flex-direction:column;gap:8px}.snapshot-info{display:flex;align-items:center;gap:16px;font-size:.85rem}.snapshot-badge{background:#71717a33;color:var(--text-muted);padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600}.spot-price{color:var(--text-primary);font-weight:500}.atm-strike,.pcr{color:var(--text-secondary)}.evaluation-skipped{display:flex;align-items:center;gap:12px}.skip-badge{background:#ff980033;color:#ff9800;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600}.skip-reason{font-size:.85rem;color:var(--text-secondary)}.evaluation-info{display:flex;flex-direction:column;gap:8px;padding:8px 12px;background:#ffffff05;border-radius:8px}.evaluation-header{display:flex;align-items:center;gap:12px}.evaluation-badge{background:var(--info-muted);color:var(--info);padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600}.total-score{font-size:1rem;font-weight:700;font-family:SF Mono,Fira Code,monospace}.total-score.score-bullish{color:var(--success)}.total-score.score-bearish{color:var(--error)}.total-score.score-mild-bullish{color:#a3e635}.total-score.score-mild-bearish{color:#fb923c}.total-score.score-neutral{color:var(--text-muted)}.score-bar-container{position:relative;height:8px;background:#ffffff1a;border-radius:4px;overflow:visible}.score-bar{height:100%;border-radius:4px;transition:width .3s ease}.score-bar.positive{background:linear-gradient(90deg,var(--success) 0%,#a3e635 100%)}.score-bar.negative{background:linear-gradient(90deg,var(--error) 0%,#fb923c 100%)}.score-threshold{position:absolute;top:-2px;width:2px;height:12px;background:var(--warning);border-radius:1px}.score-breakdown{display:flex;gap:16px;flex-wrap:wrap}.score-factor{display:flex;align-items:center;gap:6px;font-size:.8rem}.factor-label{color:var(--text-muted)}.factor-value{font-family:SF Mono,Fira Code,monospace;font-weight:600}.factor-value.positive{color:var(--success)}.factor-value.negative{color:var(--error)}.delta-indicators{display:flex;gap:16px;font-size:.75rem;color:var(--text-muted)}.delta-item{font-family:SF Mono,Fira Code,monospace}.signal-info{padding:10px 12px;border-radius:8px;margin-top:4px}.signal-info.bullish{background:var(--success-muted);border:1px solid rgba(34,197,94,.3)}.signal-info.bearish{background:var(--error-muted);border:1px solid rgba(239,68,68,.3)}.signal-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.signal-badge{padding:3px 10px;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase}.signal-info.bullish .signal-badge{background:#22c55e4d;color:var(--success)}.signal-info.bearish .signal-badge{background:#ef44444d;color:var(--error)}.signal-confidence{font-size:.85rem;color:var(--warning);font-weight:500}.signal-details{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem}.signal-action{color:var(--text-primary);font-weight:600}.signal-price,.signal-sl,.signal-target{color:var(--text-secondary)}.signal-sl{color:var(--error)}.signal-target{color:var(--success)}.trade-executed{margin-top:6px;font-size:.8rem;color:var(--accent-primary);display:flex;align-items:center;gap:4px}.trade-executed:before{content:"✓";font-weight:700}.btn-load-more{background:#ffffff0d;border:1px solid var(--border-primary);color:var(--text-secondary);padding:12px 24px;border-radius:8px;cursor:pointer;transition:all .15s ease;width:100%}.btn-load-more:hover:not(:disabled){background:#ffffff1a;color:var(--text-primary)}.btn-load-more:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.summary-stats{grid-template-columns:repeat(2,1fr)}.analysis-filters{flex-direction:column;align-items:stretch}.filter-group{justify-content:space-between}.btn-refresh{margin-left:0;margin-top:8px}.timeline-entry{flex-direction:column;gap:8px}.timeline-time{font-size:.8rem}.snapshot-info{flex-wrap:wrap;gap:8px}.score-breakdown{gap:8px}.signal-details{flex-direction:column;gap:4px}}
