body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#fff;font-size:28px;font-weight:600;margin-bottom:10px}.login-header p{color:#fff9;font-size:14px}.login-form .form-group{margin-bottom:20px}.login-form input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;box-sizing:border-box;color:#fff;font-size:16px;padding:14px 16px;transition:all .3s ease;width:100%}.login-form input:focus{background:#ffffff14;border-color:#4ade80;outline:none}.login-form input::placeholder{color:#fff6}.login-form button{background:linear-gradient(135deg,#4ade80,#22c55e);border:none;border-radius:8px;color:#000;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease;width:100%}.login-form button:hover:not(:disabled){box-shadow:0 10px 20px -10px #4ade8080;transform:translateY(-2px)}.login-form button:disabled{cursor:not-allowed;opacity:.5}.error-message{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#f87171;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}.dashboard,.dashboard-loading{background:linear-gradient(135deg,#0f0f1a,#1a1a2e);color:#fff;min-height:100vh}.dashboard-loading{align-items:center;display:flex;flex-direction:column;justify-content:center}.dashboard-header{align-items:center;background:#0000004d;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 30px}.header-left h1{font-size:24px;font-weight:600;margin:0}.header-left .subtitle{color:#ffffff80;font-size:14px}.header-right{display:flex;gap:10px}.logout-btn,.refresh-btn{border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.refresh-btn{background:#ffffff1a;border:1px solid #fff3;color:#fff}.refresh-btn:hover{background:#fff3}.logout-btn{background:#ef444433;border:1px solid #ef44444d;color:#f87171}.logout-btn:hover{background:#ef44444d}.dashboard-nav{background:#0003;border-bottom:1px solid #ffffff0d;display:flex;gap:5px;padding:15px 30px}.dashboard-nav button{background:#0000;border:none;border-radius:6px;color:#fff9;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.dashboard-nav button:hover{background:#ffffff1a;color:#fff}.dashboard-nav button.active{background:#4ade8033;color:#4ade80}.dashboard-content{padding:30px}.error-banner{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#f87171;margin-bottom:20px;padding:20px}.error-hint{color:#ffffff80;font-size:14px;margin-top:10px}.empty-state{color:#ffffff80;padding:40px;text-align:center}.overview-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.stat-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:20px}.stat-card h3{color:#fff9;font-size:14px;font-weight:500;margin:0 0 10px}.stat-value{font-size:36px;font-weight:700}.stat-value.green{color:#4ade80}.recent-signals-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;grid-column:span 2;padding:20px}.recent-signals-card h3{font-size:16px;margin:0 0 15px}.signals-list{display:flex;flex-direction:column;gap:10px}.signal-item{align-items:center;background:#0003;border-radius:6px;display:flex;gap:15px;padding:10px}.signal-symbol{font-weight:600;min-width:60px}.signal-type{font-size:12px;font-weight:600;text-transform:uppercase}.signal-time{color:#ffffff80;font-size:12px;margin-left:auto}.indicators-chart-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;grid-column:span 2;padding:20px}.indicators-chart-card h3{font-size:16px;margin:0 0 15px}.stocks-view h2{margin:0 0 20px}.stocks-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.stock-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;cursor:pointer;padding:20px;transition:all .2s}.stock-card:hover{background:#ffffff1a;transform:translateY(-2px)}.stock-symbol{color:#4ade80;font-size:20px;font-weight:700}.stock-name{color:#fff9;font-size:14px;margin-top:5px}.stock-price{font-size:18px;font-weight:600;margin-top:10px}.signals-view h2{margin:0 0 20px}.signals-table-container{overflow-x:auto}.signals-table{background:#ffffff0d;border-collapse:collapse;border-radius:12px;overflow:hidden;width:100%}.signals-table td,.signals-table th{border-bottom:1px solid #ffffff0d;padding:15px 20px;text-align:left}.signals-table th{background:#0000004d;color:#ffffffb3;font-size:12px;font-weight:600;text-transform:uppercase}.signals-table tbody tr:hover{background:#ffffff0d}.signal-badge,.symbol-cell{font-weight:600}.signal-badge{border-radius:4px;color:#000;display:inline-block;font-size:12px;padding:4px 10px}.chart-view h2{margin:0}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.current-price{color:#4ade80;font-size:28px;font-weight:700}.chart-container{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:20px;padding:20px}.chart-container h3{color:#fffc;font-size:16px;margin:0 0 15px}.indicators-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-top:20px}.indicator-chart{margin-bottom:0}.indicator-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.indicator-header h3{color:#ffffffe6;font-size:14px;font-weight:600;margin:0}.indicator-value{color:#4ade80;font-size:18px;font-weight:700}.indicator-info{border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-top:12px;padding-top:12px}.info-item{background:#0003;border-radius:4px;font-size:11px;padding:4px 8px}.info-item.oversold{color:#4ade80}.info-item.overbought{color:#f87171}.info-item.macd-bull{color:#4ade80}.info-item.bb-upper,.info-item.macd-bear{color:#f87171}.info-item.bb-lower,.info-item.vwap-above{color:#4ade80}.info-item.vwap-below{color:#f87171}.signal-status{align-items:center;border:1px solid;border-radius:8px;display:flex;gap:10px;margin-top:12px;padding:12px 16px}.signal-icon{font-size:16px;font-weight:700}.signal-label{font-size:13px;font-weight:700;letter-spacing:.5px}.signal-description{font-size:12px;margin-left:auto;opacity:.8}@media (max-width:900px){.indicators-grid{grid-template-columns:1fr}}@media (max-width:1200px){.overview-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:15px;text-align:center}.overview-grid{grid-template-columns:1fr}.indicators-chart-card,.recent-signals-card{grid-column:span 1}.dashboard-nav{flex-wrap:wrap;justify-content:center}}.candlestick-section{padding:0}.candlestick-chart-wrapper{padding:20px}.chart-controls{border-bottom:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding-bottom:15px}.control-group{display:flex;flex-direction:column;gap:8px}.control-label{color:#ffffff80;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.chart-type-buttons,.overlay-buttons,.timeframe-buttons{display:flex;gap:4px}.chart-type-buttons button,.overlay-buttons button,.timeframe-buttons button{background:#ffffff0d;border:1px solid #ffffff26;border-radius:4px;color:#ffffffb3;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s ease}.chart-type-buttons button:hover,.overlay-buttons button:hover,.timeframe-buttons button:hover{background:#ffffff1a;border-color:#ffffff40;color:#fff}.chart-type-buttons button.active,.fib-buttons button.active,.overlay-buttons button.active,.timeframe-buttons button.active{background:#4ade8033;border-color:#4ade8080;color:#4ade80}.fib-buttons{display:flex;gap:4px}.fib-buttons button{background:#ffffff0d;border:1px solid #ffffff26;border-radius:4px;color:#ffffffb3;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s ease}.fib-buttons button:hover{background:#ffffff1a;border-color:#ffffff40;color:#fff}.fib-buttons button.active.fib-up{background:#4caf5033;border-color:#4caf5080;color:#4caf50}.fib-buttons button.active.fib-down{background:#f4433633;border-color:#f4433680;color:#f44336}.fib-buttons button.active.fib-ext{background:#9c27b033;border-color:#9c27b080;color:#9c27b0}.candlestick-container{min-height:450px;width:100%}.chart-legend{border-top:1px solid #ffffff1a;display:flex;flex-wrap:wrap;gap:20px;margin-top:15px;padding-top:15px}.legend-item{align-items:center;color:#ffffffb3;display:flex;font-size:12px;gap:8px}.legend-color{border-radius:2px;height:12px;width:12px}.candlestick-empty{align-items:center;color:#ffffff80;display:flex;height:400px;justify-content:center}.fib-legend{background:#0003;border:1px solid #ffffff1a;border-radius:8px;margin-top:15px;padding:15px}.fib-legend-title{color:#ffffffe6;display:block;font-size:13px;font-weight:600;margin-bottom:12px}.fib-legend-section{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.fib-legend-section:last-child{margin-bottom:0}.fib-section-title{color:#ffffff80;font-size:11px;font-weight:600;min-width:80px;text-transform:uppercase}.fib-legend .legend-item{font-size:11px}.fib-legend .legend-color{border-radius:1px;height:3px;width:16px}@media (max-width:768px){.chart-controls{flex-direction:column}.chart-type-buttons,.fib-buttons,.overlay-buttons,.timeframe-buttons{flex-wrap:wrap}.chart-header{flex-direction:column;gap:10px;text-align:center}.fib-legend-section{align-items:flex-start;flex-direction:column;gap:8px}.fib-section-title{min-width:auto}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0}.App{min-height:100vh}.loading-container{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#4ade80;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.b5eb1140.css.map*/