body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#0f0f0f;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;transition:all .3s ease}body.liquid-glass-theme{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);background-attachment:fixed;min-height:100vh}body.liquid-glass-theme:before{background:radial-gradient(circle at 20% 50%,#3b82f61a 0,#0000 50%),radial-gradient(circle at 80% 20%,#10b9811a 0,#0000 50%),radial-gradient(circle at 40% 80%,#8b5cf61a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:-1}.App{margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem;transition:all .3s ease}body.liquid-glass-theme .App{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none;padding:2rem}.header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:2rem;position:relative;transition:all .3s ease}body.liquid-glass-theme .header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;border-radius:0;box-shadow:none;margin-bottom:2rem;padding:0}.header-main h1{color:#fff;font-size:2rem;font-weight:700;margin:0}.header-main p{color:#888;font-size:.875rem;margin:0}.user-info{flex-wrap:wrap;max-width:300px;padding:.5rem;position:absolute;right:0;top:0}.user-details,.user-info{align-items:center;display:flex;gap:.75rem}.user-id{color:#fff;font-size:.875rem;font-weight:600}.user-actions{align-items:center;display:flex;gap:.5rem}.change-password-btn,.login-btn,.logout-btn,.user-name-btn{border:none;border-radius:.25rem}.change-password-btn,.login-btn,.logout-btn,.theme-toggle-btn,.user-name-btn{align-items:center;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:40px;padding:.375rem .75rem;transition:all .2s}.theme-toggle-btn{background-color:#2a2a2a;border:1px solid #444;border-radius:.25rem;color:#fff;gap:.5rem;justify-content:center;margin-right:.5rem}.theme-toggle-btn:hover{background-color:#333;border-color:#666}body.liquid-glass-theme .change-password-btn,body.liquid-glass-theme .login-btn,body.liquid-glass-theme .logout-btn,body.liquid-glass-theme .theme-toggle-btn,body.liquid-glass-theme .user-name-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #0000001a,inset 0 1px 0 #ffffff26;color:#fff;text-shadow:0 1px 2px #0003}body.liquid-glass-theme .theme-toggle-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;box-shadow:0 2px 8px #0000001a,inset 0 1px 0 #ffffff26;color:#fff;text-shadow:0 1px 2px #0003}body.liquid-glass-theme .theme-toggle-btn:hover{background:#fff3;border-color:#ffffff4d}.change-password-btn{background-color:#1e40af;color:#fff}.change-password-btn:hover{background-color:#1d4ed8}.logout-btn{background-color:#dc2626;color:#fff}.logout-btn:hover{background-color:#b91c1c}.login-btn{background-color:#059669;color:#fff}.login-btn:hover{background-color:#047857}.user-name-btn{background-color:#2a2a2a;border:1px solid #444;color:#fff}.user-name-btn:hover{background-color:#333;border-color:#555}.user-modal-actions{display:flex;gap:1rem;margin-bottom:1rem}.user-modal-actions .change-password-btn,.user-modal-actions .logout-btn{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;height:48px;justify-content:center;padding:.75rem;transition:all .2s}.user-modal-actions .change-password-btn{background-color:#1e40af;color:#fff}.user-modal-actions .change-password-btn:hover{background-color:#1d4ed8}.user-modal-actions .logout-btn{background-color:#dc2626;color:#fff}.user-modal-actions .logout-btn:hover{background-color:#b91c1c}.user-modal-cancel{width:100%}.user-modal-cancel .cancel-btn{align-items:center;background-color:#2a2a2a;border:1px solid #444;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;height:48px;justify-content:center;padding:.75rem;transition:all .2s;width:100%}.user-modal-cancel .cancel-btn:hover{background-color:#333}.refresh-button{align-items:center;background-color:#1e40af;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.375rem;height:40px;justify-content:center;min-width:90px;padding:.5rem .75rem;transition:all .2s}.refresh-button:hover:not(:disabled){background-color:#1d4ed8;transform:translateY(-1px)}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.refresh-button.refreshing{background-color:#1e40af;opacity:.8}.refresh-button .refresh-icon{height:14px;width:14px}.refresh-button.refreshing .refresh-icon{animation:spin 1s linear infinite}.refresh-button.finished .refresh-icon{animation:finishSuccess .6s ease-out;color:#22c55e}.mobile-refresh-btn.finished,.refresh-button.finished{background-color:#22c55e;border-color:#16a34a}.mobile-refresh-btn.finished .refresh-icon{color:#22c55e}@keyframes spin{0%{transform:rotate(1turn)}to{transform:rotate(0deg)}}@keyframes finishSuccess{0%{opacity:1;transform:rotate(0deg) scale(1)}50%{opacity:.8;transform:rotate(0deg) scale(1.2)}to{opacity:1;transform:rotate(0deg) scale(1)}}.controls{align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.controls,.list-selector{display:flex;gap:.75rem}.list-btn,.list-tab{align-items:center;background-color:#2a2a2a;border:1px solid #444;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.375rem;height:40px;padding:.5rem .75rem;transition:all .2s}.list-btn:hover,.list-tab:hover{background-color:#333}.list-btn.active,.list-tab.active{background-color:#1e40af;border-color:#1e40af}.list-count,.list-name{font-weight:600}.list-count{background-color:#fff3;border-radius:.125rem;font-size:.625rem;min-width:16px;padding:.125rem .25rem;text-align:center}.right-controls{gap:.75rem;margin-left:auto}.edit-toggle,.right-controls{align-items:center;display:flex}.edit-toggle{background-color:#2a2a2a;border:1px solid #444;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}.edit-toggle:hover{background-color:#333}.edit-toggle.active{background-color:#1e40af;border-color:#1e40af}.edit-toggle.active:hover{background-color:#1d4ed8}.search-add-container{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}body.liquid-glass-theme .search-add-container{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;border:1px solid #ffffff26!important;border-radius:12px!important;box-shadow:0 4px 16px #0000001a,inset 0 1px 0 #ffffff26!important;margin-bottom:1.5rem!important;padding:1rem!important}body.liquid-glass-theme .mobile-search-input,body.liquid-glass-theme .search-add-container,body.liquid-glass-theme .search-input,body.liquid-glass-theme .search-input-inline{background:#ffffff14!important;background-color:#ffffff14!important}body.liquid-glass-theme .mobile-search-input::placeholder,body.liquid-glass-theme .search-input-inline::placeholder,body.liquid-glass-theme .search-input::placeholder{color:#fff!important;opacity:.8}body.liquid-glass-theme .add-button,body.liquid-glass-theme .edit-toggle,body.liquid-glass-theme .refresh-button{background:#ffffff26!important;background-color:#ffffff26!important}body.liquid-glass-theme .stocks-container{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;background:#ffffff14!important;background-color:#ffffff14!important;border:1px solid #ffffff26!important;box-shadow:0 4px 16px #0000001a,inset 0 1px 0 #ffffff26!important}body.liquid-glass-theme .stocks-table th{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffff1f!important;background-color:#ffffff1f!important}.add-button{align-items:center;background-color:#1e40af;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}body.liquid-glass-theme .add-button,body.liquid-glass-theme .edit-toggle,body.liquid-glass-theme .list-tab,body.liquid-glass-theme .mobile-action-btn,body.liquid-glass-theme .refresh-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #0000001a,inset 0 1px 0 #ffffff26;color:#fff;text-shadow:0 1px 2px #0003}body.liquid-glass-theme .list-tab.active{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#3b82f64d;border:1px solid #3b82f666;box-shadow:0 4px 12px #3b82f633,inset 0 1px 0 #fff3;color:#fff;transform:translateY(-1px)}.add-button:hover:not(:disabled){background-color:#22c55e;transform:translateY(-1px)}.add-button:disabled{cursor:not-allowed;opacity:.6}.add-button svg{height:24px;width:24px}.search-container{flex:1 1;min-width:200px;position:relative}.search-input{background-color:#1a1a1a;border:1px solid #333;border-radius:.375rem;box-sizing:border-box;color:#fff;font-size:1rem;height:40px;padding:.75rem 1rem;transition:all .3s ease;width:100%}.search-input:focus{border-color:#1e40af;outline:none}body.liquid-glass-theme .mobile-search-input,body.liquid-glass-theme .search-input,body.liquid-glass-theme .search-input-inline{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;color:#fff;text-shadow:0 1px 2px #0003}body.liquid-glass-theme .mobile-search-input:focus,body.liquid-glass-theme .search-input-inline:focus,body.liquid-glass-theme .search-input:focus{border-color:#ffffff4d;box-shadow:0 0 0 3px #ffffff1a,inset 0 1px 0 #ffffff26}.add-container{display:flex;gap:.5rem}.search-input-wrapper-inline{align-items:center;display:flex;min-width:200px;position:relative}.search-input-inline{background-color:#1a1a1a;border:1px solid #333;border-radius:.25rem;box-sizing:border-box;color:#fff;font-size:.75rem;height:40px;padding:.5rem .75rem .5rem 2rem;transition:border-color .2s;width:100%}.search-input-inline:focus{border-color:#1e40af;outline:none}.search-input-wrapper-inline svg:first-child{color:#666;height:14px;left:.5rem;pointer-events:none;position:absolute;width:14px}.clear-search-inline{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:.5rem;transition:all .2s}.clear-search-inline:hover{background-color:#333;color:#fff}.clear-search-inline svg{height:14px;width:14px}.ticker-input{background-color:#1a1a1a;border:1px solid #333;border-radius:.25rem;color:#fff;font-size:.75rem;height:32px;padding:.375rem .625rem;width:120px}.ticker-input:focus{border-color:#1e40af;outline:none}.add-btn{align-items:center;background-color:#059669;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:32px;padding:.375rem .75rem;transition:all .2s}.add-btn:hover{background-color:#047857}.add-btn:disabled{cursor:not-allowed;opacity:.5}.stocks-container{background-color:#1a1a1a;border:1px solid #333;border-radius:.5rem;overflow:hidden;transition:all .3s ease}body.liquid-glass-theme .stocks-container{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;box-shadow:0 4px 16px #0000001a,inset 0 1px 0 #ffffff1a;overflow:hidden}.stocks-table{border-collapse:collapse;table-layout:fixed;width:100%}.stocks-table th{background-color:#2a2a2a;border-bottom:2px solid #333;color:#fff;cursor:pointer;font-weight:600;padding:1rem .75rem;text-align:left;transition:background-color .2s;-webkit-user-select:none;user-select:none}body.liquid-glass-theme .stocks-table th{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border-bottom:1px solid #ffffff26;color:#fff;text-shadow:0 1px 2px #0003}.stocks-table th:first-child{padding-left:1.25rem}.stocks-table td:nth-child(2),.stocks-table td:nth-child(3),.stocks-table td:nth-child(4),.stocks-table td:nth-child(5),.stocks-table td:nth-child(6),.stocks-table th:nth-child(2),.stocks-table th:nth-child(3),.stocks-table th:nth-child(4),.stocks-table th:nth-child(5),.stocks-table th:nth-child(6){text-align:center}.price-container{align-items:center;display:flex;flex-direction:column;gap:.25rem}.current-price{color:#fff;font-size:1.1rem;font-weight:600;line-height:1.2}.price-change-info{display:none}.stocks-table th:hover{background-color:#333}.stocks-table td{border-bottom:1px solid #2a2a2a;padding:.75rem;vertical-align:middle}.stock-row{cursor:pointer;transition:background-color .2s}.stock-row.expanded td,.stock-row:hover,.stock-row:hover td{background-color:#222}body.liquid-glass-theme .stock-row{transition:all .3s ease}body.liquid-glass-theme .stock-row:hover{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff14}body.liquid-glass-theme .stock-row:hover td{background:#ffffff14}body.liquid-glass-theme .stock-row.expanded td{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f}body.liquid-glass-theme .company-name,body.liquid-glass-theme .stock-row.expanded td{color:#fff!important;text-shadow:0 1px 2px #0000004d}body.liquid-glass-theme .stock-row.expanded .company-name{color:#fff!important;font-weight:500;text-shadow:0 1px 2px #0000004d}.symbol-container{align-items:center;display:flex;gap:.75rem}.logo-container{flex-shrink:0;height:32px;width:32px}.stock-logo{object-fit:cover}.logo-fallback,.stock-logo{border-radius:4px;height:32px;width:32px}.logo-fallback{align-items:center;background-color:#333;color:#fff;display:flex;font-size:.8rem;font-weight:600;justify-content:center}.symbol-info{display:flex;flex-direction:column;min-width:0}.ticker{color:#fff;font-size:1rem;font-weight:600;line-height:1.2}.company-name{color:#fff;font-size:.75rem;font-weight:400;line-height:1.1;margin-top:2px}.change-cell,.change-percent-cell,.price-cell{font-size:1rem;font-weight:600;text-align:center}.after-hours-cell,.volume-cell{font-size:.9rem;text-align:center}.positive{color:#22c55e}.negative{color:#ef4444}body.liquid-glass-theme .positive{color:#10b981;font-weight:600;text-shadow:0 0 8px #10b9814d}body.liquid-glass-theme .negative{color:#f87171;font-weight:600;text-shadow:0 0 8px #f871714d}.after-hours-price{font-weight:600;margin-bottom:.25rem}.after-hours-change{font-size:.8rem;opacity:.8}.edit-actions{align-items:center;display:flex;gap:.5rem}.move-select-inline{background-color:#2a2a2a;border:1px solid #444;border-radius:.25rem;color:#fff;font-size:.75rem;padding:.25rem .5rem}.remove-stock-btn{align-items:center;background-color:#dc2626;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;padding:.25rem;width:24px}.remove-stock-btn:hover{background-color:#b91c1c}.expanded-row{background-color:#0f0f0f}body.liquid-glass-theme .expanded-row{background:#0000!important}.expanded-cell{padding:0!important}.expanded-panel{background-color:#0f0f0f;min-height:400px;padding:1rem}body.liquid-glass-theme .expanded-panel{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#0000!important;border:none!important;box-shadow:none!important;min-height:400px!important}.chart-and-details{align-items:stretch!important;display:flex!important;gap:1rem;height:600px!important}.chart-section{flex:2 1!important;flex-direction:column!important}.chart-section,.details-section{display:flex!important;height:100%!important}.details-section{flex:1 1!important;flex-direction:column!important}.chart-container,.chart-content{display:flex!important;flex:1 1!important;flex-direction:column!important}.details-section h4{color:#fff;font-size:1.125rem;margin-bottom:1rem}body.liquid-glass-theme .details-section h4{color:#fff;text-shadow:0 1px 2px #0000004d}.detail-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}.detail-item{align-items:center;border-bottom:1px solid #2a2a2a;display:flex;justify-content:space-between;padding:.5rem 0}body.liquid-glass-theme .detail-item{border-bottom:1px solid #ffffff1a;color:#fff}body.liquid-glass-theme .detail-label,body.liquid-glass-theme .detail-value{color:#fff;text-shadow:0 1px 2px #0000004d}.detail-label{color:#888;font-size:.875rem}.detail-value{color:#fff;font-size:.875rem;font-weight:600}.desktop-only{display:table-cell}.error-message{background-color:#dc2626;border-radius:.375rem;color:#fff;margin-bottom:1rem;padding:1rem;text-align:center}.empty-state{color:#888;padding:4rem 2rem;text-align:center}.empty-state h2{color:#fff;margin-bottom:.5rem}.demo-notice{background:linear-gradient(135deg,#1e40af,#3b82f6);border:1px solid #3b82f6;border-radius:.5rem;margin:1rem 0;padding:1rem}.demo-notice-content{align-items:center;color:#fff;display:flex;gap:1rem}.demo-icon{flex-shrink:0;font-size:1.5rem}.demo-text{flex:1 1}.demo-text strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.demo-text p{font-size:.9rem;margin:0;opacity:.9}.demo-login-link{background:none;border:none;color:#fbbf24;cursor:pointer;font-weight:600;margin:0;padding:0;text-decoration:underline}.demo-login-link:hover{color:#f59e0b}body.liquid-glass-theme .demo-notice{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#3b82f633;border:1px solid #3b82f64d;box-shadow:0 4px 16px #3b82f61a,inset 0 1px 0 #ffffff1a}.compact-controls,.desktop-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.mobile-layout{display:none}@media (min-width:769px){.compact-controls,.desktop-controls{display:flex!important}.mobile-layout{display:none!important}.App{padding-bottom:2rem}}@media (max-width:768px){.App{padding:.75rem .75rem 5rem}body.liquid-glass-theme .App{padding:.75rem .75rem 5rem!important}body.liquid-glass-theme .search-add-container{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;background:#ffffff14!important;border:1px solid #ffffff26!important;border-radius:12px!important;box-shadow:0 4px 16px #0000001a,inset 0 1px 0 #ffffff26!important;margin-bottom:1.5rem!important;padding:1rem!important}.compact-controls,.desktop-controls{display:none!important}.mobile-layout{display:block!important}.mobile-top-bar{align-items:center;background-color:#1a1a1a;border:1px solid #333;border-radius:.5rem;display:flex;gap:.5rem;margin-bottom:.75rem;padding:.5rem;transition:all .3s ease}body.liquid-glass-theme .mobile-top-bar{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;background:#ffffff14!important;background-color:#ffffff14!important;border:1px solid #ffffff26!important;border-radius:8px!important;box-shadow:0 2px 8px #0000001a,inset 0 1px 0 #ffffff26!important;margin-bottom:.5rem!important;padding:.375rem!important}.mobile-search-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.mobile-search-input{background-color:#0f0f0f;border:1px solid #333;border-radius:.375rem;color:#fff;font-size:.875rem;height:40px;padding:.375rem .5rem .375rem 2rem;transition:border-color .2s;width:100%}.mobile-search-input:focus{border-color:#1e40af;outline:none}.mobile-search-wrapper svg:first-child{color:#666;height:16px;left:.75rem;pointer-events:none;position:absolute;width:16px}.mobile-clear-search{align-items:center;background:none;border:none;border-radius:.25rem;color:#666;cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:.75rem;transition:all .2s}.mobile-clear-search:hover{background-color:#333;color:#fff}.mobile-clear-search svg{height:16px;width:16px}.mobile-action-buttons{display:flex;gap:.5rem}.mobile-action-btn{align-items:center;background-color:#2a2a2a;border:1px solid #444;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;padding:.25rem;transition:all .2s;width:40px}.mobile-action-btn:hover{background-color:#333}.mobile-action-btn.active{background-color:#1e40af;border-color:#1e40af}.mobile-action-btn svg{height:18px;width:18px}.mobile-refresh-btn.refreshing svg{animation:spin 1s linear infinite}.mobile-add-btn{background-color:#1e40af!important;border-color:#1e40af!important}.mobile-add-btn:hover{background-color:#1d4ed8!important}.mobile-add-bar{background-color:#1a1a1a;border:1px solid #333;border-radius:.5rem;margin-bottom:.5rem;padding:.375rem}.mobile-add-container{align-items:center;display:flex;gap:.75rem}.mobile-add-btn{align-items:center;background-color:#1e40af;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;height:40px;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.mobile-add-btn:hover:not(:disabled){background-color:#1d4ed8;transform:translateY(-1px)}.mobile-add-btn:disabled{cursor:not-allowed;opacity:.6}.mobile-add-btn svg{height:28px!important;width:28px!important}.mobile-add-text{display:none}.mobile-bottom-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#1a1a1a;border-top:1px solid #333;bottom:0;display:flex;gap:.25rem;left:0;padding:.5rem;position:fixed;right:0;transition:all .3s ease;z-index:1000}body.liquid-glass-theme .mobile-bottom-tabs{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border-top:1px solid #ffffff26;box-shadow:0 -4px 16px #0000001a,inset 0 1px 0 #ffffff26}.mobile-tab-btn{align-items:center;background:none;border:none;border-radius:.375rem;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-height:60px;padding:.5rem .25rem;position:relative;transition:all .2s}body.liquid-glass-theme .mobile-tab-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;color:#ffffffe6;text-shadow:0 1px 2px #0003}.mobile-tab-btn:hover{background-color:#2a2a2a;color:#fff}.mobile-tab-btn.active{background-color:#1e40af;border:2px solid #3b82f6;box-shadow:0 4px 12px #1e40af4d;color:#fff;transform:translateY(-2px)}body.liquid-glass-theme .mobile-tab-btn.active{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fff3;border:2px solid #ffffff4d;box-shadow:0 4px 12px #0003,inset 0 1px 0 #fff3;color:#fff;transform:translateY(-2px)}.mobile-tab-icon{align-items:center;display:flex;justify-content:center}.mobile-tab-icon svg{height:20px;width:20px}.mobile-tab-label{font-size:.75rem;font-weight:500;text-align:center}.mobile-icon{height:20px;width:20px}.header{align-items:center;flex-direction:row;gap:.5rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.header-main{flex:1 1;text-align:left}.header-main h1{font-size:1.25rem;margin:0}.header-main p{font-size:.75rem;margin:0;opacity:.8}.user-info{gap:.5rem;justify-content:flex-end}.user-info button{align-items:center;display:flex;height:32px;justify-content:center;padding:0;width:32px}.user-info .login-btn{font-size:.8rem;min-width:60px;padding:.25rem .5rem;width:auto}.user-name-btn{font-size:0!important;min-width:32px}.user-name-btn:before{content:"👤";font-size:16px}.compact-controls,.controls{display:none;gap:1rem}.list-selector,.right-controls{flex-wrap:wrap;justify-content:center}.right-controls{margin-left:0}.search-add-container{flex-direction:column}.add-container{justify-content:center}.search-input-wrapper-inline{min-width:auto;width:100%}.desktop-only{display:none!important}.stocks-table th:first-child{width:35%}.stocks-table th:nth-child(2){text-align:center;width:40%}.stocks-table th:nth-child(3){text-align:center;width:25%}.stocks-table td:first-child{width:35%}.stocks-table td:nth-child(2){text-align:center;width:40%}.dynamic-cell,.stocks-table td:nth-child(3){text-align:center;width:25%}.dynamic-cell{padding:.5rem .25rem;vertical-align:middle}.symbol-container{gap:.5rem}.price-container{align-items:center;display:flex;flex-direction:column;gap:.25rem}.current-price{font-size:1rem;font-weight:600;line-height:1.2}.price-change-info{display:flex}.after-hours-mobile{align-items:center;display:flex;flex-direction:column;gap:.125rem;height:100%;justify-content:center;width:100%}.after-hours-mobile .after-hours-dollar{font-size:.8rem;font-weight:500;line-height:1.1;text-align:center}.after-hours-mobile .after-hours-percent{font-size:.7rem;font-weight:500;line-height:1.1;text-align:center}.volume-mobile{color:#fff;font-size:.8rem;font-weight:500;text-align:center}.price-change-info{align-items:center;display:flex!important;font-size:.75rem;gap:.125rem;justify-content:center;line-height:1.1}.change-amount{font-weight:500}.change-separator{color:#fff;font-weight:400;opacity:.7}.change-percent{font-weight:500}.logo-container,.stock-logo{height:24px;width:24px}.stock-logo{border-radius:3px}.logo-fallback{font-size:.7rem;height:24px;width:24px}.ticker{font-size:.9rem}.company-name{display:none}.change-percent-cell,.price-cell{font-size:.9rem;font-weight:600}.stock-row{min-height:56px}.stocks-table td,.stocks-table th{padding:.75rem .5rem}.chart-and-details{display:flex!important;flex-direction:column!important;gap:1rem!important;height:auto!important}.chart-section{flex:none!important;height:auto!important;max-height:250px!important;min-height:200px!important}.chart-section canvas{max-height:200px!important;min-height:150px!important}.details-section{flex:none!important;height:auto!important}.detail-grid{grid-template-columns:1fr 1fr}.expanded-panel{padding:1rem}}.chart-container{background-color:#1a1a1a;border:1px solid #333;border-radius:.5rem;display:flex;flex-direction:column;height:500px!important;min-height:500px!important;padding:.5rem;transition:all .3s ease}body.liquid-glass-theme .chart-section,body.liquid-glass-theme .details-section{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;background:#ffffff14!important;background-color:#ffffff14!important;border:1px solid #ffffff26!important;border-radius:12px!important;box-shadow:0 4px 16px #0000001a,inset 0 1px 0 #ffffff26!important;overflow:hidden!important;padding:1rem!important}body.liquid-glass-theme .chart-container{background:#0000!important;background-color:initial!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important}body.liquid-glass-theme .chart-container canvas{background:#0000!important;background-color:initial!important;display:block!important;height:auto!important;max-height:none!important;width:100%!important}body.liquid-glass-theme .chart-title{color:#fff;text-shadow:0 1px 2px #0000004d}.chart-loading{align-items:center;color:#888;display:flex;flex-direction:column;font-size:.9rem;height:200px;justify-content:center}.chart-loading p{margin:.25rem 0}.chart-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.25rem}.chart-section{background-color:initial;flex:1 1;min-height:0;position:relative}.chart-section canvas{display:block!important;flex:1 1!important;height:auto!important;max-height:none!important;min-height:400px!important;width:100%!important}.chart-title{color:#fff;font-size:1.125rem;font-weight:600}.period-selector{display:flex;gap:.25rem}.period-btn{background-color:#2a2a2a;border:1px solid #444;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s}body.liquid-glass-theme .period-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:6px;color:#fff;text-shadow:0 1px 2px #0003}body.liquid-glass-theme .period-btn.active{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#3b82f64d;border:1px solid #3b82f666;box-shadow:0 4px 12px #3b82f633,inset 0 1px 0 #fff3;color:#fff;transform:translateY(-1px)}.period-btn:hover{background-color:#333}.period-btn.active{background-color:#1e40af;border-color:#1e40af;color:#fff}.modal-overlay{align-items:center;background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}body.liquid-glass-theme .modal-overlay{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0006}.modal{background-color:#1a1a1a;border:1px solid #333;border-radius:.5rem;margin:1rem;max-width:400px;padding:2rem;transition:all .3s ease;width:100%}body.liquid-glass-theme .modal,body.liquid-glass-theme .modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1f;border:1px solid #ffffff26;border-radius:16px;box-shadow:0 8px 32px #0000001a,inset 0 1px 0 #ffffff26}.modal h2{color:#fff;margin-bottom:1.5rem;text-align:center}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal input{background-color:#2a2a2a;border:1px solid #444;border-radius:.375rem;color:#fff;font-size:1rem;padding:.75rem;transition:all .3s ease}.modal input:focus{border-color:#1e40af;outline:none}body.liquid-glass-theme .form-input,body.liquid-glass-theme .modal input,body.liquid-glass-theme .password-input,body.liquid-glass-theme .username-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;color:#fff;text-shadow:0 1px 2px #0003}body.liquid-glass-theme .form-input:focus,body.liquid-glass-theme .modal input:focus,body.liquid-glass-theme .password-input:focus,body.liquid-glass-theme .username-input:focus{border-color:#ffffff4d;box-shadow:0 0 0 3px #ffffff1a,inset 0 1px 0 #ffffff26}.modal-actions{display:flex;gap:1rem;margin-top:1rem}.modal-btn{border:none;border-radius:.375rem;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem;transition:all .2s}body.liquid-glass-theme .cancel-btn,body.liquid-glass-theme .create-alert-submit-btn,body.liquid-glass-theme .modal-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #0000001a,inset 0 1px 0 #ffffff26;color:#fff;text-shadow:0 1px 2px #0003}.modal-btn.primary{background-color:#1e40af;color:#fff}.modal-btn.primary:hover{background-color:#1d4ed8}.modal-btn.secondary{background-color:#2a2a2a;color:#fff}.modal-btn.secondary:hover{background-color:#333}.modal-content{background-color:#1a1a1a;border:1px solid #333;border-radius:.5rem;box-shadow:0 10px 25px #00000080;margin:1rem;max-width:400px;padding:2rem;width:100%}.modal-content h2{color:#fff;font-size:1.5rem;font-weight:600}.modal-content h2,.modal-content p{margin-bottom:1.5rem;text-align:center}.modal-content p{color:#ccc;font-size:.875rem}.modal-content input,.password-input,.username-input{background-color:#2a2a2a;border:1px solid #444;border-radius:.375rem;box-sizing:border-box;color:#fff;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.modal-content input:focus,.password-input:focus,.username-input:focus{border-color:#1e40af;outline:none}.modal-buttons{display:flex;gap:1rem;margin-top:1rem}.cancel-btn{align-items:center;background-color:#2a2a2a;border:1px solid #444;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;height:48px;justify-content:center;padding:.75rem;transition:all .2s}.cancel-btn:hover{background-color:#333}.modal-content .login-btn{align-items:center;background-color:#1e40af;border:1px solid #1e40af;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;height:48px;justify-content:center;padding:.75rem;transition:all .2s}.modal-content .login-btn:hover{background-color:#1d4ed8;border-color:#1d4ed8}.sentiment-section{margin-top:2rem}.sentiment-button{background-color:#7c3aed;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s}.sentiment-button:hover{background-color:#6d28d9}.sentiment-button:disabled{cursor:not-allowed;opacity:.6}.sentiment-result{background-color:#1a1a1a;border:1px solid #333;border-radius:.375rem;margin-top:1rem;padding:1rem}.sentiment-score{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.sentiment-mentions{margin-top:1rem}.sentiment-mentions h5{color:#fff;margin-bottom:.5rem}.mention-item{background-color:#2a2a2a;border-radius:.25rem;font-size:.875rem;margin-bottom:.5rem;padding:.5rem}.version-footer{border-top:1px solid #333;margin-top:4rem;padding:2rem 0;text-align:center}.version-info{color:#666;font-size:.875rem}.news-section{margin-top:2rem}.news-section h4{color:#fff;margin-bottom:1rem}.news-list{display:flex;flex-direction:column;gap:1rem}.news-item{background-color:#1a1a1a;border:1px solid #333;border-radius:.375rem;padding:1rem}.news-title{color:#fff;font-weight:600;line-height:1.4;margin-bottom:.5rem}.news-summary{color:#888;font-size:.875rem;line-height:1.5}.news-source{color:#666;font-size:.75rem;margin-top:.5rem}.alerts-btn{align-items:center;background-color:#2a2a2a;border:1px solid #444;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:40px;margin-right:.5rem;padding:.375rem .75rem;transition:all .2s ease}body.liquid-glass-theme .alerts-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ff6b6b40;border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #0000001a,inset 0 1px 0 #ffffff26;color:#fff;text-shadow:0 1px 2px #0003}.alerts-btn:hover{background-color:#333;border-color:#555}@media (max-width:768px){.alerts-btn{align-items:center;background-color:initial;border:1px solid #444;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:0;font-weight:600;height:1.75rem;justify-content:center;margin-right:.5rem;opacity:.7;padding:0;transition:all .2s;width:1.75rem}.alerts-btn:hover{background-color:#1a1a1a;border-color:#666;opacity:1;transform:scale(1.1)}.alerts-btn:before{content:"🚨";font-size:.9rem}}.alerts-modal{max-height:80vh;max-width:600px;overflow-y:auto}.alerts-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.create-alert-btn{background:linear-gradient(135deg,#4ade80,#22c55e);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.create-alert-btn:hover{background:linear-gradient(135deg,#22c55e,#16a34a);transform:translateY(-1px)}.alerts-list{margin-bottom:1rem;max-height:400px;overflow-y:auto}.no-alerts{color:#888;padding:2rem;text-align:center}.no-alerts p{margin:.5rem 0}.alert-item{align-items:center;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;display:flex;justify-content:space-between;margin-bottom:.5rem;padding:1rem;transition:all .2s ease}.alert-item.active{background:#4ade800d;border-color:#4ade80}.alert-item.inactive{background:#111;border-color:#666;opacity:.7}.alert-info{flex:1 1}.alert-symbol{color:#4ade80;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.alert-details{display:flex;flex-direction:column;gap:.25rem}.alert-type{color:#ccc;font-size:.9rem}.alert-target{color:#fff;font-size:1rem;font-weight:500}.alert-notes{color:#888;font-size:.8rem;font-style:italic}.alert-actions{gap:.5rem}.alert-actions,.toggle-btn{align-items:center;display:flex}.toggle-btn{background:none;border:2px solid #4ade80;border-radius:50%;color:#4ade80;cursor:pointer;font-size:1rem;height:2rem;justify-content:center;transition:all .2s ease;width:2rem}.toggle-btn.active{background:#4ade80;color:#000}.toggle-btn.inactive{border-color:#666;color:#666}.toggle-btn:hover{transform:scale(1.1)}.delete-btn{background:none;border:none;border-radius:.25rem;color:#ff6b6b;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s ease}.delete-btn:hover{background:#ff6b6b1a;transform:scale(1.1)}.create-alert-modal{max-height:90vh;max-width:500px;overflow-y:auto}.modal-header{border-bottom:1px solid #333;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.modal-header h2{color:#fff;font-size:1.5rem;margin:0 0 .5rem}.modal-header p{color:#ccc;font-size:.9rem;margin:0}.alert-form{gap:1.25rem}.alert-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#fff;font-size:.9rem;font-weight:500}.form-input,.form-select{background:#1a1a1a;border:1px solid #333;border-radius:.5rem;color:#fff;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease}.form-input:focus,.form-select:focus{border-color:#4ade80;box-shadow:0 0 0 3px #4ade801a;outline:none}.form-input::placeholder{color:#666}.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:1rem;cursor:pointer;padding-right:3rem}.form-select option{background:#1a1a1a;color:#fff;padding:.5rem}.form-select:focus{border-color:#4ade80;box-shadow:0 0 0 3px #4ade801a;outline:none}.form-help{color:#888;font-size:.8rem;margin-top:.25rem}.create-alert-submit-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border:none;border-radius:.5rem;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.create-alert-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff5252,#e53935);transform:translateY(-1px)}.create-alert-submit-btn:disabled{background:#666;cursor:not-allowed;transform:none}.stock-info-loading{margin-top:.5rem;text-align:center}.loading-spinner-small{color:#4ade80;font-size:.8rem;padding:.5rem}.stock-info-display{background:#1a1a1a;border:1px solid #333;border-left:3px solid #4ade80;border-radius:.5rem;margin-top:.75rem;padding:1rem}.stock-info-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.stock-symbol{color:#4ade80;font-size:1.1rem;font-weight:600}.stock-name{color:#ccc;font-size:.9rem;max-width:60%;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.stock-info-details{display:flex;flex-direction:column;gap:.5rem}.stock-change,.stock-price,.stock-volume{align-items:center;display:flex;justify-content:space-between}.change-label,.price-label,.volume-label{color:#ccc;font-size:.9rem;font-weight:500}.price-value{color:#fff;font-size:1rem;font-weight:600}.change-value.positive{color:#4ade80;font-weight:500}.change-value.negative{color:#ff6b6b;font-weight:500}.volume-value{color:#fff;font-size:.9rem;font-weight:500}
/*# sourceMappingURL=main.ea05394c.css.map*/