.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:1rem}.login-container{width:100%;max-width:400px;background:var(--bg-secondary);border-radius:12px;padding:2.5rem;box-shadow:0 4px 24px #00000026}.login-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);text-align:center;margin:0 0 .25rem}.login-subtitle{font-size:.95rem;color:var(--text-secondary);text-align:center;margin:0 0 2rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.form-group input{padding:.75rem 1rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--accent-color, #3b82f6)}.form-group input::placeholder{color:var(--text-muted)}.login-error{color:#ef4444;font-size:.9rem;margin:0}.login-button{padding:.875rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:var(--accent-color, #3b82f6);border:none;border-radius:8px;cursor:pointer;transition:opacity .2s}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}.watchlist-container{padding:1rem 2rem 2rem;max-width:1600px;margin:0 auto;height:calc(100vh - 100px);display:flex;flex-direction:column}.watchlist-layout{display:flex;gap:2rem;flex:1;overflow:hidden}.watchlist-sidebar{width:280px;min-width:280px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 12px #0000004d}[data-theme=dark] .watchlist-sidebar{background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color)}.sidebar-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.create-watchlist-button{background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;border:none;border-radius:8px;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}.create-watchlist-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-glow, rgba(88, 166, 255, .5))}[data-theme=dark] .create-watchlist-button{background:var(--accent-gradient)}.watchlist-list{flex:1;overflow-y:auto;padding:.5rem}.empty-watchlist-sidebar{padding:2rem 1rem;text-align:center;color:var(--text-secondary)}.empty-watchlist-sidebar p{margin-bottom:1rem}.create-first-button{padding:.75rem 1.5rem;background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}.create-first-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--accent-glow, rgba(88, 166, 255, .5))}[data-theme=dark] .create-first-button{background:var(--accent-gradient)}.watchlist-item{padding:.5rem .75rem;margin-bottom:.35rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.watchlist-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--accent-gradient, linear-gradient(180deg, #58a6ff 0%, #bc8cff 100%));transform:scaleY(0);transition:transform .3s ease}.watchlist-item:hover{background-color:var(--bg-hover, #21262d);border-color:var(--accent, #58a6ff);transform:translate(4px);box-shadow:0 4px 12px #0000004d}.watchlist-item:hover:before{transform:scaleY(1)}.watchlist-item.active{background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));border-color:transparent;color:#fff;box-shadow:0 4px 16px var(--accent-glow, rgba(88, 166, 255, .4));transform:translate(4px)}.watchlist-item.active:before{display:none}.watchlist-item.active .watchlist-name,.watchlist-item.active .watchlist-count{color:#fff}.watchlist-item-content{flex:1}.watchlist-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.125rem}.watchlist-count{font-size:.75rem;color:var(--text-secondary)}.watchlist-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s}.watchlist-item:hover .watchlist-actions{opacity:1}.edit-button,.delete-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.watchlist-item.active .edit-button,.watchlist-item.active .delete-button{color:#fffc}.edit-button:hover{background-color:var(--accent-glow, rgba(88, 166, 255, .2));color:var(--accent, #58a6ff);transform:scale(1.1)}.delete-button:hover{background-color:var(--error-glow, rgba(248, 81, 73, .2));color:var(--error-hover, #ff6b6b);transform:scale(1.1);box-shadow:0 2px 8px var(--error-glow, rgba(248, 81, 73, .3))}.watchlist-edit-form{display:flex;gap:.5rem;width:100%;align-items:center}.edit-name-input{flex:1;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.edit-actions{display:flex;gap:.25rem}.save-button,.cancel-button{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.save-button{color:var(--success, #3fb950)}.save-button:hover{background-color:var(--success-glow, rgba(63, 185, 80, .2));color:var(--success-hover, #56d364);transform:scale(1.1)}.cancel-button{color:var(--text-secondary)}.watchlist-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.watchlist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.watchlist-header h1{margin:0;font-size:2rem;background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}[data-theme=dark] .watchlist-header h1{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.watchlist-actions-header{display:flex;gap:1rem}.refresh-button,.add-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.refresh-button{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.refresh-button:hover:not(:disabled){background-color:var(--bg-hover)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.add-button{background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;font-weight:600;box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}.add-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--accent-glow, rgba(88, 166, 255, .5))}[data-theme=dark] .add-button{background:var(--accent-gradient)}.kite-notice{padding:1rem;background-color:var(--bg-warning, #fff3cd);color:var(--text-warning, #856404);border-radius:8px;margin-bottom:1rem;text-align:center}.empty-watchlist{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-watchlist p{font-size:1.25rem;margin-bottom:1.5rem}.no-watchlist-selected{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.25rem}.watchlist-table-container{flex:1;overflow:auto;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 12px #0003;background:var(--bg-primary)}[data-theme=dark] .watchlist-table-container{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-tertiary) 100%)}.watchlist-table{width:100%;border-collapse:collapse;background-color:var(--bg-primary)}.watchlist-table thead{background-color:var(--bg-secondary);position:sticky;top:0;z-index:10}.watchlist-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color)}.watchlist-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.watchlist-table tbody tr{transition:background-color .2s}.watchlist-table tbody tr:hover{background-color:var(--bg-hover)}.stock-name-symbol,.stock-exchange,.stock-added,.stock-price,.stock-days,.stock-change{cursor:pointer}.stock-name-symbol:hover .stock-name,.stock-name-symbol:hover .stock-symbol,.stock-exchange:hover,.stock-added:hover .added-price,.stock-added:hover .added-date,.stock-price:hover .last-price,.stock-price:hover .last-updated,.stock-days:hover,.stock-change:hover{color:var(--accent, #58a6ff);text-shadow:0 0 8px var(--accent-glow, rgba(88, 166, 255, .5))}.stock-name-symbol .stock-name{font-weight:600;color:var(--text-primary)}.stock-name-symbol .stock-symbol{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.stock-added .added-price,.stock-added .added-date{font-size:.9rem}.stock-added .added-date{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.stock-price .last-price{font-weight:600}.stock-price .last-updated{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.watchlist-table .percent-diff{font-weight:700;padding:.3rem .6rem;border-radius:8px;display:inline-flex;align-items:center;font-size:.9rem}.watchlist-table .percent-diff.positive{background:var(--positive-gradient, linear-gradient(135deg, #3fb950 0%, #56d364 50%, #3fb950 100%));color:#fff;box-shadow:var(--positive-shadow, 0 0 15px rgba(63, 185, 80, .3), inset 0 1px 0 rgba(255, 255, 255, .2))}.watchlist-table .percent-diff.negative{background:var(--negative-gradient, linear-gradient(135deg, #f85149 0%, #ff6b6b 50%, #f85149 100%));color:#fff;box-shadow:var(--negative-shadow, 0 0 15px rgba(248, 81, 73, .3), inset 0 1px 0 rgba(255, 255, 255, .2))}.stock-actions{text-align:center}.remove-button{background:none;border:none;color:var(--error, #f85149);cursor:pointer;padding:.5rem;border-radius:6px;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.remove-button:hover{background-color:var(--error-glow, rgba(248, 81, 73, .2));color:var(--error-hover, #ff6b6b);transform:scale(1.1);box-shadow:0 2px 8px var(--error-glow, rgba(248, 81, 73, .3))}.loading-spinner{text-align:center;padding:4rem;color:var(--text-secondary);font-size:1.25rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:16px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;border:1px solid var(--border-color)}[data-theme=dark] .modal-content{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-tertiary) 100%);box-shadow:0 8px 32px #000c,0 0 0 1px #58a6ff1a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background-color:var(--bg-primary);color:var(--text-primary)}.form-input:focus{outline:none;border-color:var(--accent-color, #007bff)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.cancel-button,.create-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.cancel-button{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-button:hover{background-color:var(--bg-hover)}.create-button{background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;font-weight:600;box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}.create-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px var(--accent-glow, rgba(88, 166, 255, .5))}[data-theme=dark] .create-button{background:var(--accent-gradient)}.create-button:disabled{opacity:.5;cursor:not-allowed}.search-section{margin-bottom:1.5rem}.search-input-wrapper{position:relative;display:flex;align-items:center;margin-bottom:1rem;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.search-input-wrapper:focus-within{border-color:var(--accent-color, #007bff);outline:none}.search-icon{color:var(--text-secondary);margin-left:.5rem;padding-right:.75rem;flex-shrink:0;width:24px;height:24px}.search-input{flex:1;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;font-size:1rem;color:var(--text-primary);min-width:0}.search-input:focus{outline:none}.search-clear-button{flex-shrink:0;padding:.25rem .5rem;margin-right:.25rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .2s}.search-clear-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.exchange-filters{display:flex;gap:.5rem}.filter-button{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .2s;font-size:.9rem}.filter-button:hover{background-color:var(--bg-hover)}.filter-button.active{background-color:var(--accent-color, #007bff);color:#fff;border-color:var(--accent-color, #007bff)}.search-results{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);transition:background-color .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--bg-hover)}.result-info{flex:1}.result-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.result-symbol{font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.result-exchange{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.result-exchange.nse{background:linear-gradient(135deg,#58a6ff33,#bc8cff33);color:var(--accent, #58a6ff);border:1px solid rgba(88,166,255,.3)}.result-exchange.bse{background:linear-gradient(135deg,#3fb95033,#39c5cf33);color:var(--success, #3fb950);border:1px solid rgba(63,185,80,.3)}.add-to-watchlist-button{padding:.5rem 1rem;border:none;border-radius:8px;background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:600;box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}.add-to-watchlist-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px var(--accent-glow, rgba(88, 166, 255, .5))}[data-theme=dark] .add-to-watchlist-button{background:var(--accent-gradient)}.add-to-watchlist-button:disabled{opacity:.5;cursor:not-allowed}.no-results,.search-hint{text-align:center;padding:2rem;color:var(--text-secondary)}@media (max-width: 1024px){.watchlist-layout{flex-direction:column}.watchlist-sidebar{width:100%;min-width:unset;max-height:200px}.watchlist-list{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden}.watchlist-item{min-width:200px}}@media (max-width: 768px){.watchlist-container{padding:1rem}.watchlist-header{flex-direction:column;align-items:flex-start;gap:1rem}.watchlist-actions-header{width:100%;flex-direction:column}.refresh-button,.add-button{width:100%;justify-content:center}.watchlist-table{font-size:.9rem}.watchlist-table th,.watchlist-table td{padding:.75rem .5rem}.modal-content{width:95%;max-height:90vh}}.portfolio-container{padding:1rem 2rem 2rem;max-width:1800px;margin:0 auto;min-height:calc(100vh - 100px)}.portfolio-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem;color:var(--text-secondary)}.portfolio-loading-icon{color:#0d9488;animation:portfolio-pulse 1.5s ease-in-out infinite}@keyframes portfolio-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.portfolio-layout{display:flex;gap:2rem;flex:1;overflow:hidden;min-height:500px}.portfolio-sidebar{width:300px;min-width:300px;background:linear-gradient(180deg,#0f172a99,#1e293b80);border:1px solid rgba(13,148,136,.25);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0000004d,0 0 0 1px #0d94881a}[data-theme=light] .portfolio-sidebar{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-color:#0d94884d}.portfolio-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid rgba(13,148,136,.2);background:#0d94880d}.portfolio-sidebar-header h2{margin:0;font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,#0d9488,#14b8a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portfolio-create-btn{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border:none;border-radius:10px;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #0d948859}.portfolio-create-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #0d948880}.portfolio-list{flex:1;overflow-y:auto;padding:.75rem}.portfolio-empty-sidebar{padding:2.5rem 1rem;text-align:center;color:var(--text-secondary)}.portfolio-create-first{margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0d948859}.portfolio-create-first:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0d948880}.portfolio-item{padding:1rem 1.25rem;margin-bottom:.5rem;background:#1e293b80;border:1px solid rgba(13,148,136,.15);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}[data-theme=light] .portfolio-item{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000d}.portfolio-item:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(180deg,#0d9488,#14b8a6);transform:scaleY(0);transition:transform .3s ease;border-radius:4px 0 0 4px}.portfolio-item:hover{background:#0d94881a;border-color:#0d948866;transform:translate(4px);box-shadow:0 4px 16px #0d948826}.portfolio-item:hover:before{transform:scaleY(1)}.portfolio-item.active{background:linear-gradient(135deg,#0d948840,#14b8a633);border-color:#0d9488;box-shadow:0 4px 20px #0d94884d,inset 0 1px #ffffff1a}.portfolio-item.active:before{transform:scaleY(1)}.portfolio-item.kite.active{background:linear-gradient(135deg,#f59e0b33,#fbbf2426);border-color:#f59e0b}.portfolio-item-content{flex:1}.portfolio-item-name{font-size:.95rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.4rem}.kite-badge-icon{color:#f59e0b;flex-shrink:0}.portfolio-item-count{font-size:.8rem;color:var(--text-secondary);margin-top:.2rem}.portfolio-item-actions{display:flex;gap:.35rem;opacity:0;transition:opacity .2s}.portfolio-item:hover .portfolio-item-actions{opacity:1}.portfolio-btn-edit,.portfolio-btn-delete{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.35rem;border-radius:6px;transition:all .2s}.portfolio-btn-edit:hover{background:#0d948833;color:#0d9488}.portfolio-btn-delete:hover{background:#f8514933;color:#f85149}.portfolio-edit-form{display:flex;gap:.5rem;width:100%;align-items:center}.portfolio-edit-input{flex:1;padding:.5rem;border:1px solid rgba(13,148,136,.4);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.portfolio-edit-actions{display:flex;gap:.25rem}.portfolio-btn-save{color:#0d9488;background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px}.portfolio-btn-save:hover{background:#0d948833}.portfolio-btn-cancel{color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px}.portfolio-btn-cancel:hover{background:#64748b33}.portfolio-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.portfolio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.portfolio-header h1{margin:0;font-size:2rem;font-weight:800;background:linear-gradient(135deg,#0d9488,#14b8a6,#2dd4bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.portfolio-actions{display:flex;gap:.75rem;flex-wrap:wrap}.portfolio-btn-sync,.portfolio-btn-refresh,.portfolio-btn-add{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.25rem;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease}.portfolio-btn-sync{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff;box-shadow:0 4px 12px #f59e0b59}.portfolio-btn-sync:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b80}.portfolio-btn-refresh{background:#1e293bcc;color:var(--text-primary);border:1px solid rgba(13,148,136,.4)}.portfolio-btn-refresh:hover:not(:disabled){background:#0d948826;border-color:#0d9488}.portfolio-btn-add{background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;box-shadow:0 4px 12px #0d948859}.portfolio-btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0d948880}.portfolio-btn-sync:disabled,.portfolio-btn-refresh:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinning{animation:portfolio-spin 1s linear infinite}@keyframes portfolio-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portfolio-kite-notice{padding:1rem 1.25rem;background:linear-gradient(135deg,#f59e0b26,#fbbf241a);border:1px solid rgba(245,158,11,.4);border-radius:10px;margin-bottom:1.5rem;color:#f59e0b;font-weight:500}.portfolio-empty{text-align:center;padding:5rem 2rem;color:var(--text-secondary)}.portfolio-btn-sync-lg,.portfolio-btn-add-lg{display:inline-flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem 2rem;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #0d948866}.portfolio-btn-sync-lg:hover:not(:disabled),.portfolio-btn-add-lg:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0d948880}.portfolio-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.portfolio-summary-card{padding:1.25rem;background:linear-gradient(135deg,#0d94881f,#14b8a614);border:1px solid rgba(13,148,136,.25);border-radius:14px;display:flex;flex-direction:column;gap:.5rem;transition:all .3s ease}.portfolio-summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0d948833}.portfolio-summary-card.pnl.positive{background:linear-gradient(135deg,#22c55e26,#22c55e14);border-color:#22c55e66}.portfolio-summary-card.pnl.negative{background:linear-gradient(135deg,#ef444426,#ef444414);border-color:#ef444466}.portfolio-summary-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.portfolio-summary-value{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.portfolio-summary-card.pnl.positive .portfolio-summary-value{color:#22c55e}.portfolio-summary-card.pnl.negative .portfolio-summary-value{color:#ef4444}.portfolio-table-wrap{flex:1;overflow:auto;border-radius:14px;border:1px solid rgba(13,148,136,.2);box-shadow:0 4px 20px #00000026;background:#0f172a66}[data-theme=light] .portfolio-table-wrap{background:#fff;border-color:#e2e8f0}.portfolio-table{width:100%;border-collapse:collapse;font-size:.95rem}.portfolio-table thead{background:linear-gradient(135deg,#0d948833,#14b8a626);position:sticky;top:0;z-index:5}.portfolio-table th{padding:1rem 1.25rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid rgba(13,148,136,.3)}.portfolio-table td{padding:1rem 1.25rem;border-bottom:1px solid rgba(13,148,136,.1);color:var(--text-primary)}.portfolio-table tbody tr{transition:background .2s}.portfolio-table tbody tr:hover{background:#0d948814}.portfolio-stock-cell{cursor:pointer}.portfolio-stock-cell:hover .portfolio-stock-name,.portfolio-stock-cell:hover .portfolio-stock-symbol{color:#0d9488}.portfolio-stock-name{font-weight:600;color:var(--text-primary)}.portfolio-stock-symbol{font-size:.85rem;color:var(--text-secondary);margin-top:.2rem}.portfolio-last-updated{font-size:.75rem;color:var(--text-tertiary);margin-top:.15rem}.portfolio-pnl-badge{display:inline-block;padding:.35rem .75rem;border-radius:8px;font-weight:600;font-size:.9rem}.portfolio-pnl-badge.positive{background:#22c55e33;color:#22c55e}.portfolio-pnl-badge.negative{background:#ef444433;color:#ef4444}.portfolio-btn-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:6px;transition:all .2s}.portfolio-btn-remove:hover{background:#ef444433;color:#ef4444}.portfolio-no-selection{text-align:center;padding:5rem 2rem;color:var(--text-secondary);font-size:1.2rem}.portfolio-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.portfolio-modal{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:16px;width:90%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0006,0 0 0 1px #0d948833;border:1px solid rgba(13,148,136,.3)}.portfolio-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(13,148,136,.2)}.portfolio-modal-header h2{margin:0;font-size:1.4rem;color:var(--text-primary)}.portfolio-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s}.portfolio-modal-close:hover{background:#64748b33;color:var(--text-primary)}.portfolio-modal-body{padding:1.5rem;overflow-y:auto}.portfolio-form-group{margin-bottom:1.5rem}.portfolio-form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.portfolio-form-group input{width:100%;padding:.75rem 1rem;border:1px solid rgba(13,148,136,.3);border-radius:10px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary)}.portfolio-form-group input:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948833}.portfolio-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.portfolio-btn-secondary{padding:.75rem 1.5rem;background:#64748b33;border:1px solid rgba(100,116,139,.4);color:var(--text-primary);border-radius:10px;cursor:pointer;font-weight:500;transition:all .2s}.portfolio-btn-secondary:hover{background:#64748b4d}.portfolio-btn-primary{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #0d948859}.portfolio-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0d948880}.portfolio-btn-primary:disabled{opacity:.5;cursor:not-allowed}.portfolio-search-wrap{position:relative;margin-bottom:1rem}.portfolio-search-wrap input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:1px solid rgba(13,148,136,.3);border-radius:10px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary)}.portfolio-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.portfolio-exchange-filters{display:flex;gap:.5rem;margin-bottom:1rem}.portfolio-filter-btn{padding:.5rem 1rem;border:1px solid rgba(13,148,136,.3);border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:all .2s}.portfolio-filter-btn:hover{background:#0d94881a;color:#0d9488}.portfolio-filter-btn.active{background:#0d948833;border-color:#0d9488;color:#0d9488}.portfolio-add-form{margin-top:1rem}.portfolio-add-fields{display:flex;gap:.75rem;margin-bottom:1rem}.portfolio-add-fields input{flex:1;padding:.6rem .75rem;border:1px solid rgba(13,148,136,.3);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.95rem}.portfolio-search-results{max-height:320px;overflow-y:auto;border:1px solid rgba(13,148,136,.2);border-radius:10px}.portfolio-search-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(13,148,136,.1);transition:background .2s}.portfolio-search-item:hover{background:#0d948814}.portfolio-result-name{font-weight:600;color:var(--text-primary)}.portfolio-result-symbol{font-size:.85rem;color:var(--text-secondary);margin-top:.2rem}.portfolio-add-stock-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .25s}.portfolio-add-stock-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #0d948866}.portfolio-add-stock-btn:disabled{opacity:.5;cursor:not-allowed}.portfolio-no-results{text-align:center;padding:2rem;color:var(--text-secondary)}@media (max-width: 1200px){.portfolio-summary{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.portfolio-layout{flex-direction:column}.portfolio-sidebar{width:100%;min-width:unset;max-height:220px}.portfolio-list{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem}.portfolio-item{min-width:200px}}@media (max-width: 768px){.portfolio-container{padding:1rem}.portfolio-header{flex-direction:column;align-items:flex-start}.portfolio-actions{width:100%}.portfolio-btn-sync,.portfolio-btn-refresh,.portfolio-btn-add{flex:1;justify-content:center}.portfolio-table{font-size:.85rem}.portfolio-table th,.portfolio-table td{padding:.75rem .5rem}.portfolio-summary{grid-template-columns:1fr}}.markdown-content{color:var(--text-primary);line-height:1.6}.markdown-content .md-h1{font-size:1.75rem;font-weight:700;margin:1.5rem 0 .75rem;color:var(--text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.markdown-content .md-h1:first-child{margin-top:0}.markdown-content .md-h2{font-size:1.35rem;font-weight:600;margin:1.25rem 0 .5rem;color:var(--text-primary);padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.markdown-content .md-h3{font-size:1.1rem;font-weight:600;margin:1rem 0 .5rem;color:var(--text-primary)}.markdown-content .md-p{margin:.5rem 0;color:var(--text-secondary)}.markdown-content .md-ul,.markdown-content .md-ol{margin:.5rem 0;padding-left:1.5rem}.markdown-content .md-li{margin:.25rem 0;color:var(--text-secondary)}.markdown-content .md-strong{font-weight:600;color:var(--text-primary)}.markdown-content .md-a{color:var(--accent, #3b82f6);text-decoration:none}.markdown-content .md-a:hover{text-decoration:underline}.markdown-content .md-blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:4px solid var(--accent, #3b82f6);background:var(--bg-secondary);border-radius:0 4px 4px 0;color:var(--text-secondary)}.markdown-content .md-code{padding:.15rem .4rem;background:var(--bg-secondary);border-radius:4px;font-size:.9em}.markdown-content .md-pre{margin:1rem 0;padding:1rem;background:var(--bg-secondary);border-radius:8px;overflow-x:auto;font-size:.9rem}.analysis-report{display:flex;flex-direction:column;gap:0}.analysis-report-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.analysis-saved-badge{font-size:.85rem;color:var(--text-secondary)}.analysis-action-icons{display:flex;align-items:center;gap:.5rem;margin-left:auto}.analysis-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:8px;cursor:pointer}.analysis-icon-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--accent)}.analysis-icon-btn:disabled{opacity:.6;cursor:not-allowed}.analysis-icon-btn .spinning{animation:analysis-spin 1s linear infinite}@keyframes analysis-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analysis-section-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-bottom:1rem;flex-wrap:wrap}.analysis-section-tab{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}.analysis-section-tab:hover{color:var(--text-primary)}.analysis-section-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.analysis-section-content{min-height:150px}.analysis-empty{color:var(--text-secondary);font-style:italic;margin:0}.ai-analysis{padding:1.5rem 0 2rem;max-width:900px;margin:0 auto}.ai-analysis-header{margin-bottom:1.5rem}.ai-analysis-header h2{font-size:1.75rem;color:var(--text-primary);margin-bottom:.5rem}.ai-analysis-subtitle{color:var(--text-secondary);font-size:.95rem}.ai-analysis-search{margin-bottom:1.5rem}.ai-search-wrapper{position:relative;width:100%;max-width:480px}.ai-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.ai-search-input{width:100%;padding:.75rem 2.5rem .75rem 2.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary)}.ai-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633}.ai-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);padding:4px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:4px}.ai-search-clear:hover{color:var(--text-primary);background:var(--bg-secondary)}.ai-search-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow);max-height:280px;overflow-y:auto;z-index:50}.ai-suggestion-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;color:var(--text-primary);font-size:.95rem;text-align:left;cursor:pointer;transition:background .15s}.ai-suggestion-item:hover{background:var(--bg-secondary)}.ai-suggestion-name{flex:1;font-weight:500}.ai-suggestion-symbol{color:var(--text-secondary);font-size:.85rem}.ai-suggestion-exchange{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.ai-suggestion-exchange.nse{background:#3b82f626;color:var(--accent)}.ai-suggestion-exchange.bse{background:#10b98126;color:var(--success)}.ai-selected-stock{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.ai-selected-label{font-size:.85rem;color:var(--text-secondary)}.ai-selected-name{font-weight:600;color:var(--text-primary)}.ai-selected-symbol{color:var(--text-secondary);font-size:.9rem}.ai-clear-selection{margin-left:auto;padding:.35rem .75rem;font-size:.85rem;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);border-radius:6px;cursor:pointer}.ai-clear-selection:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.ai-go-to-stock{display:flex;align-items:center;gap:4px;padding:.35rem .75rem;font-size:.85rem;border:none;background:var(--accent);color:#fff;border-radius:6px;cursor:pointer}.ai-go-to-stock:hover{background:var(--accent-hover)}.ai-analysis-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.ai-action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:transform .15s,box-shadow .15s}.ai-action-btn:disabled{opacity:.7;cursor:not-allowed}.ai-action-btn:hover:not(:disabled){transform:translateY(-1px)}.ai-action-news{background:var(--accent);color:#fff}.ai-action-news:hover:not(:disabled){box-shadow:0 4px 12px #3b82f659}.ai-action-analysis{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.ai-action-analysis:hover:not(:disabled){box-shadow:0 4px 12px #8b5cf659}.spinning{animation:ai-spin 1s linear infinite}@keyframes ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-results{margin-top:1.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow)}.ai-results-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.ai-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:500;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s}.ai-tab:hover{color:var(--text-primary)}.ai-tab.active{color:var(--accent);background:var(--bg-primary);border-bottom-color:var(--accent)}.ai-results-content{padding:1.5rem 2rem;min-height:200px;max-height:600px;overflow-y:auto}.ai-placeholder{text-align:center;padding:3rem 2rem;background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:12px;color:var(--text-secondary)}.ai-placeholder-icon{color:var(--text-tertiary);margin-bottom:1rem}.ai-placeholder-hint{font-size:.9rem;margin-top:.5rem;color:var(--text-tertiary)}.ai-loading-saved{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;color:var(--text-secondary)}.ai-loading-saved p{margin:0;font-size:.95rem}.dashboard{padding:.5rem 0 2rem}.dashboard-icons-container{position:fixed;top:0;left:0;right:0;height:30px;z-index:100;background:transparent;transition:height .3s ease,background .3s ease;overflow:visible;cursor:pointer}.hover-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);padding:6px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:0 0 12px 12px;box-shadow:0 4px 12px #00000026;transition:opacity .3s ease,transform .3s ease;pointer-events:none;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 4px 12px #00000026}50%{box-shadow:0 4px 16px #3b82f64d}}.hover-indicator-text{font-size:.8rem;color:var(--text-primary);font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:6px}.dashboard-icons-container:hover .hover-indicator{opacity:0;transform:translate(-50%) translateY(-100%)}.dashboard-icons-container:hover{height:200px;background:var(--bg-primary);box-shadow:0 2px 8px #0000001a}.dashboard-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:1rem;max-width:800px;margin-left:auto;margin-right:auto;padding-top:1rem;transform:translateY(-100%);transition:transform .3s ease,opacity .3s ease;opacity:0}.dashboard-icons-container:hover .dashboard-icons{transform:translateY(0);opacity:1}.dashboard-icon{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border-radius:8px;box-shadow:none;border:3px solid transparent;cursor:pointer;transition:all .2s;color:var(--text-primary);overflow:hidden;aspect-ratio:1;max-width:150px;margin:0 auto}.dashboard-icon:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow)}.dashboard-icon.active{border-color:#10b981;box-shadow:0 0 0 2px #10b9814d}.dashboard-icon span{font-weight:500}.dashboard-icon-image{width:100%;height:100%;object-fit:cover;transition:transform .2s ease;display:block}.dashboard-icon:hover .dashboard-icon-image{transform:scale(1.1)}.dashboard-icon.active .dashboard-icon-image{filter:none}.overview-content{display:flex;flex-direction:column;gap:1rem}.search-section{background:transparent;padding:1rem;border-radius:8px;box-shadow:none;border:none}.search-header{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:space-between}.search-results{margin-top:1rem;max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary)}.search-result-item{padding:1rem;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:1rem;align-items:center;color:var(--text-primary)}.search-result-item:hover{background:var(--bg-secondary)}.stock-name{font-weight:500;flex:1}.stock-symbol{color:var(--text-secondary);min-width:120px}.stock-exchange{color:var(--text-tertiary);min-width:60px}.breadcrumbs-simple{display:flex;align-items:center;gap:.25rem;margin-top:.75rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.9rem;background:transparent}.breadcrumb-item-simple{display:flex;align-items:center;gap:.25rem}.breadcrumb-icon-simple{color:var(--text-secondary);vertical-align:middle}.breadcrumb-separator-simple{color:var(--text-tertiary);margin:0 .25rem;vertical-align:middle}.breadcrumb-link-simple{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:0;transition:color .2s;text-decoration:none}.breadcrumb-link-simple:hover:not(:disabled){color:var(--text-primary);text-decoration:underline}.breadcrumb-link-simple.active{color:var(--text-primary);font-weight:500;cursor:default}.breadcrumb-link-simple:disabled{cursor:default}.nifty-section{background:var(--bg-primary);padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color)}.nifty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.refresh-controls{display:flex;align-items:center;gap:1rem}.last-fetch-time{font-size:.875rem;color:var(--text-secondary);font-style:italic}gap: 1rem; } .nifty-section h2{margin:0;color:var(--text-primary)}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.refresh-button .spinning{animation:spin 1s linear infinite}.index-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.refresh-index-ohlcv-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.refresh-index-ohlcv-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.refresh-index-ohlcv-button:disabled{opacity:.6;cursor:not-allowed}.refresh-index-ohlcv-button .spinning{animation:spin 1s linear infinite}.kite-notice{padding:.75rem 1rem;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:4px;color:#f59e0b;font-size:.9rem;margin-bottom:1rem;text-align:center}.indices-section{margin-bottom:2rem}.indices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.indices-header h3{color:var(--text-primary)}.indices-header button{background:var(--accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:1.2rem}.indices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.index-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s;color:var(--text-primary)}.index-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.index-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.index-values{display:flex;flex-direction:column;gap:.25rem}.index-price{font-weight:600;color:var(--text-primary);font-size:1rem}.index-change{font-size:.85rem;font-weight:700;padding:.3rem .6rem;border-radius:8px;display:inline-flex;align-items:center;gap:.25rem;transition:all .3s ease}.index-change.positive{background:var(--positive-gradient, linear-gradient(135deg, #3fb950 0%, #56d364 50%, #3fb950 100%));color:#fff;box-shadow:var(--positive-shadow, 0 0 15px rgba(63, 185, 80, .3), inset 0 1px 0 rgba(255, 255, 255, .2));text-shadow:0 1px 2px rgba(0,0,0,.2)}.index-change.positive:hover{transform:scale(1.05);box-shadow:0 0 25px var(--positive-glow, rgba(63, 185, 80, .5))}.index-change.negative{background:var(--negative-gradient, linear-gradient(135deg, #f85149 0%, #ff6b6b 50%, #f85149 100%));color:#fff;box-shadow:var(--negative-shadow, 0 0 15px rgba(248, 81, 73, .3), inset 0 1px 0 rgba(255, 255, 255, .2));text-shadow:0 1px 2px rgba(0,0,0,.2)}.index-change.negative:hover{transform:scale(1.05);box-shadow:0 0 25px var(--negative-glow, rgba(248, 81, 73, .5))}.index-card:hover{background:var(--bg-tertiary);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.index-card:hover .index-name,.index-card:hover .index-price{color:var(--accent, #58a6ff);text-shadow:0 0 8px var(--accent-glow, rgba(88, 166, 255, .5));transition:all .3s ease}.indices-list{display:flex;flex-direction:column;gap:.5rem}.index-item{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s;color:var(--text-primary)}.index-item:hover{background:var(--bg-tertiary);border-color:var(--accent)}.index-details{margin-top:1rem}.back-button{background:var(--text-tertiary);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-bottom:1rem}.stocks-table{margin-top:1rem;overflow-x:auto}.stocks-table table{width:100%;border-collapse:collapse}.stocks-table th,.stocks-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e2e8f0}.stocks-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-primary)}.stocks-table tr{cursor:pointer;transition:background-color .2s}.stocks-table tr.selected{background:#3b82f61a}.stocks-table td:first-child,.stocks-table td:nth-child(2),.stocks-table td:nth-child(3),.stocks-table td:nth-child(5){cursor:pointer;transition:all .3s ease}.stocks-table tr:hover td:first-child,.stocks-table tr:hover td:nth-child(2),.stocks-table tr:hover td:nth-child(3),.stocks-table tr:hover td:nth-child(5){color:var(--accent, #58a6ff);text-shadow:0 0 8px var(--accent-glow, rgba(88, 166, 255, .5))}.stocks-table tr.selected:hover{background:#3b82f626}.prev-close-date,.last-updated-time{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.percent-diff{font-weight:700;padding:.4rem .75rem;border-radius:8px;display:inline-flex;align-items:center;gap:.25rem;font-size:.9rem;position:relative;overflow:hidden;transition:all .3s ease}.percent-diff:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.percent-diff:hover:before{left:100%}.percent-diff.positive{background:var(--positive-gradient, linear-gradient(135deg, #3fb950 0%, #56d364 50%, #3fb950 100%));color:#fff;box-shadow:var(--positive-shadow, 0 0 20px rgba(63, 185, 80, .3), inset 0 1px 0 rgba(255, 255, 255, .2));text-shadow:0 1px 2px rgba(0,0,0,.2)}.percent-diff.positive:hover{transform:scale(1.05);box-shadow:0 0 30px var(--positive-glow, rgba(63, 185, 80, .5)),inset 0 1px #ffffff4d}.percent-diff.negative{background:var(--negative-gradient, linear-gradient(135deg, #f85149 0%, #ff6b6b 50%, #f85149 100%));color:#fff;box-shadow:var(--negative-shadow, 0 0 20px rgba(248, 81, 73, .3), inset 0 1px 0 rgba(255, 255, 255, .2));text-shadow:0 1px 2px rgba(0,0,0,.2)}.percent-diff.negative:hover{transform:scale(1.05);box-shadow:0 0 30px var(--negative-glow, rgba(248, 81, 73, .5)),inset 0 1px #ffffff4d}.stock-details{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color)}.stock-details h3{margin-bottom:1.5rem;color:var(--text-primary);font-size:1.5rem}.stock-info{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-primary);border-radius:4px}.info-label{font-weight:600;color:var(--text-secondary);min-width:150px}.info-value{color:var(--text-primary);font-weight:500}.stock-placeholder{margin-top:1.5rem;padding:1rem;background:var(--bg-primary);border-radius:4px;color:var(--text-secondary);text-align:center;font-style:italic}.placeholder-content{background:var(--bg-primary);padding:3rem;border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color);text-align:center}.placeholder-content h2{margin-bottom:1rem;color:var(--text-primary)}.placeholder-content p{color:var(--text-secondary)}.placeholder-content.ai-analysis-container{text-align:left;padding:1rem 1.5rem}.watchlist-redirect{background:var(--bg-primary);padding:3rem;border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color);text-align:center}.watchlist-redirect h2{margin-bottom:1rem;color:var(--text-primary)}.watchlist-redirect p{color:var(--text-secondary);margin-bottom:2rem}.navigate-button{padding:.75rem 1.5rem;background-color:var(--accent-color, #007bff);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s}.navigate-button:hover{background-color:var(--accent-hover, #0056b3)}.stock-repository{padding:2rem 0}.repository-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.repository-header h1{color:var(--text-primary);margin:0 0 .5rem}.header-title-section{display:flex;flex-direction:column}.stock-count-text{margin:0;font-size:.9rem;color:var(--text-secondary);font-weight:400}.stock-count-text strong{color:var(--text-primary);font-weight:600}.header-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;width:100%}.search-container{position:relative;flex:1;min-width:300px;max-width:500px}.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:.5rem .75rem;transition:border-color .2s}.search-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f61a}.search-icon{color:var(--text-secondary);margin-left:.5rem;flex-shrink:0;width:24px;height:24px}.search-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.95rem;outline:none;padding:0}.search-input::placeholder{color:var(--text-tertiary)}.search-input:disabled{opacity:.5;cursor:not-allowed}.search-clear-button{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;margin-left:.5rem;border-radius:4px;transition:all .2s;flex-shrink:0}.search-clear-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.search-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px var(--shadow);max-height:400px;overflow-y:auto;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.suggestion-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .15s;display:flex;flex-direction:column;gap:.25rem}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--bg-secondary)}.suggestion-name{font-weight:500;color:var(--text-primary);font-size:.95rem}.suggestion-symbol{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.suggestion-exchange{padding:.125rem .5rem;border-radius:8px;font-size:.75rem;font-weight:500}.suggestion-exchange.nse{background:#dbeafe;color:#1e40af}.suggestion-exchange.bse{background:#dcfce7;color:#166534}.exchange-filters{display:flex;gap:.5rem;border:1px solid var(--border-color);border-radius:4px;padding:.25rem;background:var(--bg-secondary)}.filter-button{padding:.5rem 1rem;border:none;border-radius:3px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.filter-button:hover:not(:disabled){background:var(--bg-tertiary)}.filter-button.active{background:var(--accent);color:#fff}.filter-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;white-space:nowrap;font-weight:600;box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}.refresh-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px var(--accent-glow, rgba(88, 166, 255, .5))}[data-theme=dark] .refresh-button{background:var(--accent-gradient)}.refresh-button:disabled{background:var(--text-tertiary);cursor:not-allowed;opacity:.7}.refresh-button.price-button{background:var(--positive-gradient, linear-gradient(135deg, #3fb950 0%, #56d364 50%, #3fb950 100%));box-shadow:var(--positive-shadow, 0 0 15px rgba(63, 185, 80, .3), inset 0 1px 0 rgba(255, 255, 255, .2))}.refresh-button.price-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 25px var(--positive-glow, rgba(63, 185, 80, .5))}[data-theme=dark] .refresh-button.price-button{background:var(--positive-gradient)}.refresh-button.secondary-button{background:var(--text-tertiary)}.refresh-button.secondary-button:hover:not(:disabled){background:#475569}.repository-buttons{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.repository-buttons .refresh-button{padding:.5rem .85rem;font-size:.9rem}.refresh-button.add-stock-button{background:linear-gradient(135deg,#a371f7,#bc8cff);box-shadow:0 2px 8px #a371f759}.refresh-button.add-stock-button:hover:not(:disabled){box-shadow:0 4px 16px #a371f780}.add-stock-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.add-stock-modal{background:var(--bg-primary);border-radius:12px;box-shadow:0 8px 32px var(--shadow);border:1px solid var(--border-color);max-width:420px;width:100%;max-height:90vh;overflow-y:auto}.add-stock-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.add-stock-modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.add-stock-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:4px}.add-stock-modal-close:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.add-stock-modal-hint{padding:.75rem 1.25rem;margin:0;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.add-stock-form{padding:1.25rem}.add-stock-field{margin-bottom:1rem}.add-stock-field label{display:block;font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem}.add-stock-field select,.add-stock-field input{width:100%;padding:.5rem .75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary)}.add-stock-field select:focus,.add-stock-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #58a6ff26}.add-stock-message{padding:.5rem .75rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem}.add-stock-error{background:#f8514926;color:#f85149;border:1px solid rgba(248,81,73,.3)}.add-stock-success{background:#3fb95026;color:#3fb950;border:1px solid rgba(63,185,80,.3)}.add-stock-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.add-stock-actions .refresh-button{padding:.5rem 1rem;font-size:.9rem}.stocks-table-container{background:var(--bg-primary);border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color);overflow-x:auto}.stocks-table{width:100%;border-collapse:collapse}.stocks-table th{background:var(--bg-secondary);padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:10}.stocks-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.stocks-table tr:hover{background:var(--bg-secondary)}.stocks-table td:first-child,.stocks-table td:nth-child(2),.stocks-table td:nth-child(4){cursor:pointer;transition:all .3s ease}.stocks-table tr:hover td:first-child,.stocks-table tr:hover td:nth-child(2),.stocks-table tr:hover td:nth-child(4){color:var(--accent, #58a6ff);text-shadow:0 0 8px var(--accent-glow, rgba(88, 166, 255, .5))}.stocks-table tr:hover .exchange-badge{transform:scale(1.05);box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}.stocks-table tr.highlighted{background:#10b9811a;animation:highlight-fade 2s ease-out}@keyframes highlight-fade{0%{background:#10b9814d}to{background:transparent}}.exchange-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.status-badge.available{background:#dcfce7;color:#166534}.status-badge.unavailable{background:#fee2e2;color:#991b1b}.get-ohlcv-button{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s;white-space:nowrap}.get-ohlcv-button:hover:not(:disabled){background:var(--accent-hover)}.get-ohlcv-button:disabled{background:var(--text-tertiary);cursor:not-allowed;opacity:.7}.spinner-tiny,.spinner-small{animation:spin 1s linear infinite}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.no-data{text-align:center;padding:3rem;color:var(--text-secondary)}.char-filters-section{margin-bottom:1.5rem;padding:1rem;background:var(--bg-primary);border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color)}.char-filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.char-filter-button{min-width:2.5rem;height:2.5rem;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;align-items:center;justify-content:center}.char-filter-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent);transform:translateY(-1px)}.char-filter-button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.char-filter-button:disabled{opacity:.5;cursor:not-allowed}.stock-page{padding:1rem;max-width:1400px;margin:0 auto}.stock-breadcrumbs{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:4px;flex-wrap:wrap}.breadcrumb-item{display:flex;align-items:center;gap:.5rem}.breadcrumb-separator{color:var(--text-tertiary);margin:0 .25rem}.breadcrumb-icon{color:var(--text-secondary)}.breadcrumb-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:0;transition:color .2s;text-decoration:none;display:flex;align-items:center;gap:.25rem}.breadcrumb-link:hover{color:var(--text-primary);text-decoration:underline}.breadcrumb-current{color:var(--text-primary);font-weight:500;font-size:.9rem}.stock-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:var(--bg-primary);border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color);flex-wrap:wrap}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.back-button:hover{background:var(--bg-tertiary);border-color:var(--accent)}.stock-title-section{flex:1;min-width:200px}.stock-title-section h1{margin:0 0 .5rem;color:var(--text-primary);font-size:1.75rem}.stock-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.stock-symbol{font-size:1rem;color:var(--text-secondary);font-weight:500}.exchange-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.exchange-badge.nse{background:#dbeafe;color:#1e40af}.exchange-badge.bse{background:#dcfce7;color:#166534}.stock-watchlist-section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.75rem}.watchlist-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.watchlist-icon{color:var(--accent);flex-shrink:0}.watchlist-label{font-size:.85rem;color:var(--text-secondary)}.watchlist-badge{padding:.2rem .6rem;background:var(--bg-tertiary);border:1px solid var(--accent);color:var(--accent);border-radius:6px;font-size:.8rem;font-weight:500}.watchlist-badge-link{cursor:pointer;transition:all .2s}.watchlist-badge-link:hover{background:var(--accent);color:#fff}.add-to-watchlist-dropdown{position:relative}.add-to-watchlist-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.add-to-watchlist-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.add-to-watchlist-btn:disabled{opacity:.6;cursor:not-allowed}.add-to-watchlist-dropdown .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.add-to-watchlist-dropdown .dropdown-menu{position:absolute;top:100%;left:0;margin-top:.25rem;min-width:180px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px var(--shadow);z-index:11;overflow:hidden}.add-to-watchlist-dropdown .dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:none;border:none;color:var(--text-primary);font-size:.9rem;text-align:left;cursor:pointer;transition:background .2s}.add-to-watchlist-dropdown .dropdown-item:hover:not(:disabled){background:var(--bg-secondary)}.add-to-watchlist-dropdown .dropdown-item:disabled{cursor:default;opacity:.8}.add-to-watchlist-dropdown .dropdown-item-create{border-top:1px solid var(--border-color);color:var(--accent);font-weight:500}.add-to-watchlist-dropdown .dropdown-item-create:hover{background:var(--bg-secondary);color:var(--accent-hover, var(--accent))}.stock-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.stock-page .modal-content{background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:16px;width:90%;max-width:420px;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;border:1px solid var(--border-color)}.stock-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.stock-page .modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.stock-page .modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:4px;transition:all .2s}.stock-page .modal-close:hover{background-color:var(--bg-hover, var(--bg-tertiary));color:var(--text-primary)}.stock-page .modal-body{padding:1.5rem}.stock-page .modal-description{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem}.stock-page .form-group{margin-bottom:1.5rem}.stock-page .form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.stock-page .form-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background-color:var(--bg-primary);color:var(--text-primary)}.stock-page .form-input:focus{outline:none;border-color:var(--accent)}.stock-page .modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.stock-page .cancel-button{padding:.5rem 1.25rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s}.stock-page .cancel-button:hover{background:var(--bg-tertiary)}.stock-page .create-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.stock-page .create-button:hover:not(:disabled){background:var(--accent-hover, var(--accent))}.stock-page .create-button:disabled{opacity:.6;cursor:not-allowed}.stock-price-section{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.current-price{font-size:2rem;font-weight:700;color:var(--text-primary)}.price-change{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;border-radius:8px;font-weight:700;font-size:.9rem;position:relative;overflow:hidden;transition:all .3s ease}.price-change:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.price-change:hover:before{left:100%}.price-change.positive{background:var(--positive-gradient, linear-gradient(135deg, #3fb950 0%, #56d364 50%, #3fb950 100%));color:#fff;box-shadow:var(--positive-shadow, 0 0 20px rgba(63, 185, 80, .3), inset 0 1px 0 rgba(255, 255, 255, .2));text-shadow:0 1px 2px rgba(0,0,0,.2)}.price-change.positive:hover{transform:scale(1.05);box-shadow:0 0 30px var(--positive-glow, rgba(63, 185, 80, .5)),inset 0 1px #ffffff4d}.price-change.negative{background:var(--negative-gradient, linear-gradient(135deg, #f85149 0%, #ff6b6b 50%, #f85149 100%));color:#fff;box-shadow:var(--negative-shadow, 0 0 20px rgba(248, 81, 73, .3), inset 0 1px 0 rgba(255, 255, 255, .2));text-shadow:0 1px 2px rgba(0,0,0,.2)}.price-change.negative:hover{transform:scale(1.05);box-shadow:0 0 30px var(--negative-glow, rgba(248, 81, 73, .5)),inset 0 1px #ffffff4d}.stock-sections-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color);overflow-x:auto}.section-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;color:var(--text-secondary);border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;white-space:nowrap}.section-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.section-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.stock-content{min-height:400px}.overview-section{display:flex;flex-direction:column;gap:2rem}.stock-details-card,.chart-card{background:var(--bg-primary);padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color)}.stock-details-card h2,.chart-card h2{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.5rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-secondary);border-radius:4px}.detail-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.detail-value{font-size:1rem;color:var(--text-primary);font-weight:600}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.time-period-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.time-period-btn{padding:.5rem 1rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.time-period-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent)}.time-period-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.time-period-btn:disabled{opacity:.5;cursor:not-allowed}.section-tab:disabled:hover{background:transparent;color:var(--text-secondary)}.chart-container{width:100%;margin-top:1rem}.chart-loading,.no-chart-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary);text-align:center}.chart-loading p,.no-chart-data p{margin:.5rem 0}.no-chart-data .hint{font-size:.85rem;color:var(--text-tertiary);font-style:italic}.fetch-ohlcv-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;margin-top:1rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.fetch-ohlcv-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.fetch-ohlcv-btn:disabled{opacity:.6;cursor:not-allowed}.spinner-small{animation:spin 1s linear infinite}.section-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--bg-primary);border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color);text-align:center;color:var(--text-secondary)}.section-placeholder svg{color:var(--text-tertiary);margin-bottom:1rem}.section-placeholder h2{margin:0 0 .5rem;color:var(--text-primary)}.section-placeholder p{margin:.5rem 0}.section-placeholder .hint{font-size:.85rem;color:var(--text-tertiary);font-style:italic}.ai-summary-section{background:var(--bg-primary);border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color);overflow:hidden}.ai-summary-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.ai-fetch-btn{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:500;border:none;border-radius:8px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;cursor:pointer;transition:transform .15s,box-shadow .15s}.ai-fetch-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf659}.ai-fetch-btn:disabled{opacity:.8;cursor:not-allowed}.ai-summary-content{padding:1.5rem 2rem;max-height:600px;overflow-y:auto}.ai-summary-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--text-secondary);text-align:center}.ai-summary-placeholder-icon{color:var(--text-tertiary);margin-bottom:1rem}.ai-summary-placeholder p{margin:0;font-size:.95rem}.stock-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.stock-not-found h2{margin-bottom:1rem;color:var(--text-primary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;min-height:400px}.loading-container p{margin-top:1rem;color:var(--text-secondary)}.spinner{animation:spin 1s linear infinite}.ohlcv-section{width:100%}.ohlcv-table-card{background:var(--bg-primary);padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color)}.ohlcv-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.ohlcv-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.ohlcv-filters{display:flex;flex-direction:column;gap:1rem;align-items:flex-end}.sort-date-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap}.sort-date-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent)}.sort-date-btn:disabled{opacity:.6;cursor:not-allowed}.ohlcv-filters .time-period-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.custom-date-range{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color);flex-wrap:wrap}.date-input-group{display:flex;align-items:center;gap:.5rem}.date-input-group label{font-size:.9rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.date-input{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:border-color .2s}.date-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f61a}.apply-date-btn{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap}.apply-date-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.apply-date-btn:disabled{opacity:.6;cursor:not-allowed}.ohlcv-info{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem}.ohlcv-table-container{overflow-x:auto;max-height:600px;overflow-y:auto;border:1px solid var(--border-color);border-radius:4px}.ohlcv-table{width:100%;border-collapse:collapse;background:var(--bg-primary)}.ohlcv-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:10}.ohlcv-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);white-space:nowrap}.ohlcv-table th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.ohlcv-table th.sortable-header:hover{background:var(--bg-tertiary)}.sort-indicator{display:inline-flex;align-items:center;margin-left:.25rem;color:var(--accent)}.ohlcv-table td{padding:.75rem 1rem;text-align:left;color:var(--text-primary);border-bottom:1px solid var(--border-color);white-space:nowrap}.ohlcv-table tbody tr{transition:background-color .2s}.ohlcv-table tbody tr:hover{background:var(--bg-secondary)}.ohlcv-table .price-high{color:#10b981;font-weight:500}.ohlcv-table .price-low{color:#ef4444;font-weight:500}.ohlcv-table .price-positive{color:var(--success, #3fb950);font-weight:700;text-shadow:0 0 8px var(--success-glow, rgba(63, 185, 80, .4));position:relative}.ohlcv-table .price-positive:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:4px;background:var(--positive-gradient, linear-gradient(135deg, rgba(63, 185, 80, .2) 0%, rgba(86, 211, 100, .2) 100%));z-index:-1;opacity:0;transition:opacity .3s ease}.ohlcv-table tr:hover .price-positive:after{opacity:1}.ohlcv-table .price-negative{color:var(--error, #f85149);font-weight:700;text-shadow:0 0 8px var(--error-glow, rgba(248, 81, 73, .4));position:relative}.ohlcv-table .price-negative:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:4px;background:var(--negative-gradient, linear-gradient(135deg, rgba(248, 81, 73, .2) 0%, rgba(255, 107, 107, .2) 100%));z-index:-1;opacity:0;transition:opacity .3s ease}.ohlcv-table tr:hover .price-negative:after{opacity:1}@media (max-width: 768px){.stock-header{flex-direction:column}.stock-price-section{align-items:flex-start}.current-price{font-size:1.5rem}.stock-sections-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.details-grid{grid-template-columns:1fr}.ohlcv-table-container{max-height:400px}.ohlcv-table th,.ohlcv-table td{padding:.5rem .75rem;font-size:.85rem}}.technicals-section{padding:1.5rem}.technical-analysis-card{background:var(--bg-primary);border-radius:8px;padding:2rem;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color)}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.analysis-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.recommendation-badge{padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem;text-transform:uppercase}.recommendation-badge.strong-buy{background:#10b981;color:#fff}.recommendation-badge.buy{background:#3b82f6;color:#fff}.recommendation-badge.hold{background:#f59e0b;color:#fff}.recommendation-badge.sell{background:#ef4444;color:#fff}.recommendation-badge.strong-sell{background:#dc2626;color:#fff}.score-section{margin-bottom:2rem}.score-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.score-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.score-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.score-bar{width:100%;height:12px;background:var(--bg-secondary);border-radius:6px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);transition:width .3s ease;border-radius:6px}.risk-management{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background:var(--bg-secondary);border-radius:6px}.risk-item{display:flex;justify-content:space-between;align-items:center}.risk-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.risk-value{font-size:.95rem;color:var(--text-primary);font-weight:600}.signals-section{margin-bottom:2rem}.signals-section h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.2rem}.signals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.signal-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:6px;border-left:3px solid;transition:transform .2s}.signal-item:hover{transform:translateY(-2px)}.signal-item.bullish{border-left-color:#10b981}.signal-item.bearish{border-left-color:#ef4444}.signal-item.neutral{border-left-color:#f59e0b}.signal-icon{flex-shrink:0}.signal-item.bullish .signal-icon{color:#10b981}.signal-item.bearish .signal-icon{color:#ef4444}.signal-item.neutral .signal-icon{color:#f59e0b}.signal-content{flex:1}.signal-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.signal-value{font-size:.95rem;color:var(--text-primary);font-weight:500}.steps-section h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.2rem}.steps-list{display:flex;flex-direction:column;gap:1rem}.step-item{padding:1.25rem;background:var(--bg-secondary);border-radius:6px;border-left:4px solid;transition:all .2s}.step-item:hover{transform:translate(4px)}.step-item.pass{border-left-color:#10b981}.step-item.fail{border-left-color:#ef4444}.step-item.neutral{border-left-color:#f59e0b}.step-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.step-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:50%;font-weight:700;font-size:.9rem;color:var(--text-primary);flex-shrink:0}.step-name{flex:1;font-weight:600;color:var(--text-primary);font-size:1rem}.step-score{font-size:.9rem;color:var(--text-secondary);font-weight:500}.step-status-icon{flex-shrink:0}.step-item.pass .step-status-icon{color:#10b981}.step-item.fail .step-status-icon{color:#ef4444}.step-item.neutral .step-status-icon{color:#f59e0b}.step-details{font-size:.9rem;color:var(--text-secondary);line-height:1.5;padding-left:2.5rem}@media (max-width: 768px){.technical-analysis-card{padding:1rem}.analysis-header{flex-direction:column;align-items:flex-start;gap:1rem}.signals-grid,.risk-management{grid-template-columns:1fr}.step-header{flex-wrap:wrap}.step-details{padding-left:0}}.algorithm-selector{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.algo-btn{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.algo-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--text-primary)}.algo-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.score-summary{display:flex;gap:2rem;margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border-radius:6px;font-size:.95rem}.score-summary span{font-weight:600;color:var(--text-primary)}.rejection-notice{display:flex;align-items:center;gap:.5rem;padding:1rem;margin-bottom:1rem;background:#fee2e2;border-left:4px solid #ef4444;border-radius:4px;color:#991b1b;font-weight:500}.conditions-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:6px}.condition-item{display:flex;justify-content:space-between;align-items:center}.condition-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.condition-value{font-size:.95rem;color:var(--text-primary);font-weight:600}.charts-section{padding:1.5rem;background:var(--bg-primary);border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color)}.advanced-charts-container{display:flex;flex-direction:column;gap:1rem}.chart-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.time-period-selector{display:flex;gap:.5rem;flex-wrap:wrap}.time-period-btn{padding:.5rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.time-period-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--text-primary)}.time-period-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.advanced-chart-container{display:flex;flex-direction:column;gap:0;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color);padding:1rem}.advanced-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.ohlc-tooltip{background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.ohlc-tooltip-date{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.ohlc-values{display:flex;flex-wrap:wrap;gap:1rem}.ohlc-item{display:flex;align-items:center;gap:.5rem}.ohlc-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.ohlc-value{font-size:.9rem;color:var(--text-primary);font-weight:600;font-family:monospace}.ohlc-value.high{color:#26a69a}.ohlc-value.low{color:#ef5350}.advanced-chart-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.advanced-chart-loading-overlay{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.advanced-chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary);min-height:400px}.advanced-chart-empty p{margin-top:1rem;font-size:.9rem}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.chart-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.chart-info{font-size:.85rem;color:var(--text-secondary);font-family:monospace}.advanced-chart{width:100%;position:relative;display:block}.advanced-chart>div{width:100%!important;height:100%!important;position:relative}.advanced-chart canvas{display:block!important;width:100%!important;height:100%!important}.volume-chart{width:100%;margin-top:.5rem;position:relative}.volume-chart>div{width:100%!important;height:100%!important}@media (max-width: 768px){.algorithm-selector{flex-direction:column}.algo-btn{width:100%}.score-summary{flex-direction:column;gap:.5rem}.conditions-summary{grid-template-columns:1fr}.chart-controls{flex-direction:column;gap:1rem}.time-period-selector{width:100%;justify-content:center}.advanced-chart{min-height:300px}}.admin{padding:2rem 0}.admin-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.admin-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary);border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color);cursor:pointer;transition:all .2s;gap:.5rem;color:var(--text-primary)}.admin-icon:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow)}.admin-icon.active{background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;box-shadow:0 4px 16px var(--accent-glow, rgba(88, 166, 255, .4))}[data-theme=dark] .admin-icon.active{background:var(--accent-gradient)}.admin-icon span{font-weight:500}.statistics-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.stat-card{background:var(--bg-primary);padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color)}.stat-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.stat-header h2{color:var(--text-primary);font-size:1.25rem}.stat-details{display:flex;flex-direction:column;gap:1rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-secondary);border-radius:4px}.stat-label{color:var(--text-secondary);font-weight:500}.stat-value{color:var(--text-primary);font-weight:600;font-size:1.1rem}.stat-value.status.connected{color:var(--success)}.stat-value.status.disconnected{color:var(--error)}.stat-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.connect-button,.disconnect-button{width:100%;padding:.75rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.connect-button{background:var(--positive-gradient, linear-gradient(135deg, #3fb950 0%, #56d364 50%, #3fb950 100%));color:#fff;font-weight:600;box-shadow:var(--positive-shadow, 0 0 15px rgba(63, 185, 80, .3), inset 0 1px 0 rgba(255, 255, 255, .2));transition:all .3s ease}.connect-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 25px var(--positive-glow, rgba(63, 185, 80, .5))}[data-theme=dark] .connect-button{background:var(--positive-gradient)}.connect-button:disabled{background:var(--text-tertiary);cursor:not-allowed}.disconnect-button{background:var(--negative-gradient, linear-gradient(135deg, #f85149 0%, #ff6b6b 50%, #f85149 100%));color:#fff;font-weight:600;box-shadow:var(--negative-shadow, 0 0 15px rgba(248, 81, 73, .3), inset 0 1px 0 rgba(255, 255, 255, .2));transition:all .3s ease}.disconnect-button:hover{transform:translateY(-2px);box-shadow:0 0 25px var(--negative-glow, rgba(248, 81, 73, .5))}[data-theme=dark] .disconnect-button{background:var(--negative-gradient)}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-card{background:var(--bg-primary);padding:2rem;border-radius:8px;box-shadow:0 2px 4px var(--shadow);border:1px solid var(--border-color)}.settings-card h2{color:var(--text-primary);margin-bottom:1.5rem}.settings-info{display:flex;flex-direction:column;gap:1.5rem}.settings-info p{color:var(--text-secondary);line-height:1.6}.env-vars{background:var(--bg-secondary);padding:1rem;border-radius:4px;border:1px solid var(--border-color)}.env-var{padding:.5rem 0;color:var(--text-primary)}.env-var code{background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:3px;font-family:Courier New,monospace;color:var(--text-primary);font-weight:600}.credentials-status{padding:1rem;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color)}.credentials-status strong{color:var(--text-primary)}.status-ok{color:var(--success);font-weight:500}.status-error{color:var(--error);font-weight:500}.theme-selector{display:flex;gap:1rem;margin:1.5rem 0}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text-primary)}.theme-option:hover{border-color:var(--accent);background:var(--bg-tertiary)}.theme-option.active{border-color:var(--accent);background:var(--accent);color:#fff}.theme-option.active svg{color:#fff}.theme-description{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);color:var(--text-secondary)}.settings-info .connect-button{align-self:flex-start;padding:.75rem 1.5rem;background:var(--success);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.settings-info .connect-button:hover:not(:disabled){background:#059669}.settings-info .connect-button:disabled{background:var(--text-tertiary);cursor:not-allowed}.admin-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary)}.kite-callback{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-secondary)}.callback-container{background:var(--bg-primary);padding:3rem;border-radius:8px;box-shadow:0 4px 6px var(--shadow);border:1px solid var(--border-color);text-align:center;max-width:500px;width:90%}.callback-icon{margin-bottom:1.5rem}.callback-icon.success{color:var(--success)}.callback-icon.error{color:var(--error)}.callback-icon.spinner{color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.callback-container h2{color:var(--text-primary);margin-bottom:1rem}.callback-container p{color:var(--text-secondary);margin-bottom:.5rem}.redirect-message{font-size:.875rem;color:var(--text-tertiary);margin-top:1rem}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:var(--bg-tertiary);color:var(--text-primary);padding:1rem 2rem;box-shadow:0 2px 4px var(--shadow);border-bottom:1px solid var(--border-color)}.nav-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.5rem;font-weight:700}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--text-primary);text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.nav-links a:hover{background-color:var(--bg-tertiary)}.nav-links a.active{background:var(--accent-gradient, linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%));color:#fff;box-shadow:0 2px 8px var(--accent-glow, rgba(88, 166, 255, .3))}[data-theme=dark] .nav-links a.active{background:var(--accent-gradient);box-shadow:0 2px 8px var(--accent-glow)}.nav-user{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:var(--text-secondary)}.nav-logout{padding:.35rem .75rem;font-size:.85rem;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:background-color .2s}.nav-logout:hover{background:var(--bg-secondary)}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-color, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #f8fafc;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border-color: #e2e8f0;--shadow: rgba(0, 0, 0, .1);--accent: #3b82f6;--accent-hover: #2563eb;--success: #10b981;--error: #ef4444;--warning: #f59e0b}[data-theme=dark]{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #1c2128;--bg-hover: #21262d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #6e7681;--border-color: #30363d;--shadow: rgba(0, 0, 0, .5);--accent: #58a6ff;--accent-hover: #79c0ff;--accent-gradient: linear-gradient(135deg, #58a6ff 0%, #bc8cff 100%);--accent-glow: rgba(88, 166, 255, .3);--success: #3fb950;--success-hover: #56d364;--success-glow: rgba(63, 185, 80, .2);--error: #f85149;--error-hover: #ff6b6b;--error-glow: rgba(248, 81, 73, .2);--warning: #d29922;--warning-hover: #e3b341;--purple: #bc8cff;--purple-glow: rgba(188, 140, 255, .3);--cyan: #39c5cf;--cyan-glow: rgba(57, 197, 207, .3);--pink: #ff7b72;--pink-glow: rgba(255, 123, 114, .3);--positive-gradient: linear-gradient(135deg, #3fb950 0%, #56d364 50%, #3fb950 100%);--positive-glow: rgba(63, 185, 80, .4);--positive-shadow: 0 0 20px rgba(63, 185, 80, .3), inset 0 1px 0 rgba(255, 255, 255, .2);--negative-gradient: linear-gradient(135deg, #f85149 0%, #ff6b6b 50%, #f85149 100%);--negative-glow: rgba(248, 81, 73, .4);--negative-shadow: 0 0 20px rgba(248, 81, 73, .3), inset 0 1px 0 rgba(255, 255, 255, .2)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
