*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}::selection{background:#fff3}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #ffffff80;outline-offset:2px}*{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.stat-card:hover{border-color:#ffffff4d;border-color:var(--accent-color,#ffffff4d);box-shadow:0 8px 32px #0003;transform:translateY(-4px)}.stat-card-header{gap:12px;margin-bottom:16px}.stat-card-header,.stat-icon{align-items:center;display:flex}.stat-icon{background:#ffffff1a;border-radius:8px;justify-content:center;padding:8px}.stat-title{color:#ffffffe6;font-size:1rem;font-weight:600;margin:0}.stat-value{color:#fff;font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:8px;text-shadow:0 2px 4px #0000004d}.stat-subtitle{color:#ffffffb3;font-size:.85rem;font-weight:500}.stat-card-accent{bottom:0;height:3px;left:0;opacity:.8;position:absolute;right:0}.stat-value{transition:all .3s ease}.stat-card:hover .stat-value{transform:scale(1.05)}@media (max-width:768px){.stat-card{padding:20px}.stat-value{font-size:2rem}.stat-title{font-size:.9rem}.stat-subtitle{font-size:.8rem}}@media (max-width:480px){.stat-card{padding:16px}.stat-card-header{gap:8px;margin-bottom:12px}.stat-icon{padding:6px}.stat-value{font-size:1.8rem}}.industry-movers{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;margin-bottom:30px;padding:24px}.industry-movers-header{align-items:center;border-bottom:1px solid #fff3;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.header-title{align-items:center;display:flex;gap:12px}.header-title h3{font-size:1.3rem;font-weight:600;margin:0}.header-meta{align-items:center;display:flex;gap:12px}.total-count{background:#ffffff1a;border-radius:12px;font-size:.85rem;font-weight:500;opacity:.8;padding:4px 12px}.industry-movers-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.industry-column{display:flex;flex-direction:column;gap:12px}.column-header{align-items:center;border-radius:12px;display:flex;font-size:.95rem;font-weight:600;gap:10px;padding:12px 16px}.column-header.gainer{background:#4caf5026;border:1px solid #4caf504d;color:#4caf50}.column-header.loser{background:#f4433626;border:1px solid #f443364d;color:#f44336}.column-header h4{font-size:1rem;font-weight:600;margin:0}.industry-list{display:flex;flex-direction:column;gap:12px}.industry-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:16px;transition:all .3s ease}.industry-card:hover{background:#ffffff14;box-shadow:0 4px 16px #0003;transform:translateX(4px)}.industry-card.gainer{border-left:3px solid #4caf50}.industry-card.loser{border-left:3px solid #f44336}.industry-header{gap:12px;justify-content:space-between;margin-bottom:12px}.industry-header,.industry-title{align-items:flex-start;display:flex}.industry-title{flex:1 1;gap:10px;min-width:0}.industry-icon{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.industry-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.industry-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.95rem;font-weight:600;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis}.industry-sector{font-size:.75rem;font-weight:500;opacity:.7}.industry-change{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;gap:6px;padding:6px 12px;white-space:nowrap}.industry-change.gainer{background:#4caf5026;color:#4caf50}.industry-change.loser{background:#f4433626;color:#f44336}.industry-meta{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;gap:12px;margin-bottom:12px;padding-bottom:12px}.stock-count{font-size:.8rem;font-weight:500;opacity:.8}.top-stocks{margin-top:8px}.top-stocks-header{font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:8px;opacity:.7;text-transform:uppercase}.top-stocks-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.stock-item{align-items:center;background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;padding:6px 8px;transition:background .2s ease}.stock-item:hover{background:#ffffff14}.stock-symbol{flex:1 1;font-family:Courier New,monospace;font-weight:600;overflow:hidden;text-overflow:ellipsis}.stock-change,.stock-symbol{font-size:.8rem;white-space:nowrap}.stock-change{font-weight:700;margin-left:8px}.stock-change.positive{color:#4caf50}.stock-change.negative{color:#f44336}.empty-state{align-items:center;display:flex;justify-content:center;opacity:.6;padding:40px 20px;text-align:center}.empty-state p{font-size:.9rem;margin:0}.industry-movers-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;opacity:.7;padding:40px 20px;text-align:center}.loading-spinner-small{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:30px;margin-bottom:12px;width:30px}@media (max-width:1024px){.industry-movers-grid{grid-template-columns:1fr}}@media (max-width:768px){.industry-movers{padding:16px}.industry-movers-header{align-items:flex-start;flex-direction:column;gap:12px}.industry-movers-grid{gap:16px;grid-template-columns:1fr}.industry-card{padding:12px}.industry-header{align-items:flex-start;flex-direction:column}.industry-change{align-self:flex-start}}@media (max-width:480px){.header-title h3{font-size:1.1rem}.industry-name{font-size:.85rem}.column-header{padding:10px 12px}.column-header h4{font-size:.9rem}}.dashboard{margin:0 auto;max-width:1400px;padding:20px}.market-status-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;box-shadow:0 4px 16px #0000001a;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px 24px}.market-status-info{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.market-status-badge{align-items:center;background:#ffffff0d;border:2px solid;border-radius:24px;display:flex;font-size:1rem;font-weight:600;gap:10px;padding:8px 16px}.status-dot{animation:pulse 2s ease-in-out infinite;border-radius:50%;height:12px;width:12px}.status-label{font-size:.95rem;letter-spacing:.3px}.market-time-info{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.time-item{display:flex;flex-direction:column;gap:2px}.time-label{font-size:.75rem;font-weight:500;letter-spacing:.5px;opacity:.7;text-transform:uppercase}.time-value{color:#fff;font-size:.9rem;font-weight:600}.time-separator{font-size:1.2rem;opacity:.5}.stats-grid{grid-gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.movement-grid,.stats-grid{display:grid;gap:20px;margin-bottom:30px}.movement-grid{grid-gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.movement-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.movement-card:hover{box-shadow:0 8px 32px #0003;transform:translateY(-4px)}.movement-card.positive{border-left:4px solid #4caf50}.movement-card.negative{border-left:4px solid #f44336}.movement-card.neutral{border-left:4px solid #ff9800}.movement-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.movement-header h3{font-size:1.1rem;font-weight:600;margin:0}.movement-stats .main-stat{display:flex;flex-direction:column;gap:4px}.movement-stats .percentage{font-size:2.5rem;font-weight:700;line-height:1}.movement-stats .count{font-size:.9rem;opacity:.8}.top-movers{border-top:1px solid #fff3;margin-top:20px;padding-top:16px}.top-movers h4{font-size:.85rem;font-weight:600;letter-spacing:.5px;margin:0 0 12px;opacity:.9;text-transform:uppercase}.top-movers ul{list-style:none;margin:0;padding:0}.top-movers li{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:8px 0}.top-movers li:last-child{border-bottom:none}.top-movers .stock-name{flex:1 1;font-size:.85rem;font-weight:500;margin-right:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-movers .stock-change{font-size:.9rem;font-weight:700;white-space:nowrap}.top-movers .stock-change.positive{color:#4caf50}.top-movers .stock-change.negative{color:#f44336}.positive .percentage{color:#4caf50}.negative .percentage{color:#f44336}.neutral .percentage{color:#ff9800}.charts-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:30px}.chart-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;padding:24px}.chart-container h3{font-size:1.2rem;font-weight:600;margin:0 0 20px;text-align:center}.latest-submission{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;margin-bottom:30px;padding:24px}.submission-header{align-items:center;border-bottom:1px solid #fff3;display:flex;gap:12px;margin-bottom:20px;padding-bottom:12px}.submission-header h3{font-size:1.2rem;font-weight:600;margin:0}.submission-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.detail-item .label{font-weight:500;opacity:.8}.detail-item .value{color:#fff;font-weight:600}.dashboard-footer{border-top:1px solid #fff3;padding:20px 0;text-align:center}.update-info{align-items:center;display:flex;font-size:.9rem;gap:20px;justify-content:center;opacity:.8}.connection-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 12px}.connection-badge.connected{background:#4caf5033;border:1px solid #4caf5080}.connection-badge.disconnected,.connection-badge.error{background:#ffc10733;border:1px solid #ffc10780}.error-container{border-radius:16px;padding:40px}.error-container h3{font-size:1.5rem}.error-container p{line-height:1.5;margin-bottom:10px}@media (max-width:768px){.dashboard{padding:15px}.market-status-header{flex-direction:column;gap:16px;padding:16px}.market-status-info{flex-direction:column;gap:12px;width:100%}.market-time-info{flex-direction:column;gap:8px;width:100%}.time-separator{display:none}.movement-grid,.stats-grid{gap:15px;grid-template-columns:1fr}.charts-section{gap:20px;grid-template-columns:1fr}.submission-details{gap:12px;grid-template-columns:1fr}.update-info{flex-direction:column;gap:10px}.movement-stats .percentage{font-size:2rem}}@media (max-width:480px){.market-status-badge{justify-content:center;width:100%}.chart-container,.latest-submission,.movement-card{padding:16px}}.App{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;min-height:100vh}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000001a;border-bottom:1px solid #ffffff1a;padding:20px;text-align:center}.App-header h1{font-size:2.5rem;font-weight:700;margin:0 0 15px;text-shadow:2px 2px 4px #0000004d}.connection-status{align-items:center;border-radius:20px;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease}.connection-status.connected{background:#4caf5033;border:1px solid #4caf5080}.connection-status.connecting{background:#ffc10733;border:1px solid #ffc10780}.connection-status.disconnected,.connection-status.error{background:#f4433633;border:1px solid #f4433680}.status-indicator{animation:pulse 2s infinite;border-radius:50%;height:8px;width:8px}.connected .status-indicator{background:#4caf50}.connecting .status-indicator{background:#ffc107}.disconnected .status-indicator,.error .status-indicator{background:#f44336}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.App-main{margin:0 auto;max-width:1400px;padding:20px}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{background:#f443361a;border:1px solid #f443364d;border-radius:12px;margin:20px;padding:30px;text-align:center}.error-container h3{color:#f44336;margin-bottom:15px}.error-container p{margin-bottom:20px;opacity:.8}.retry-button{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background .3s ease}.retry-button:hover{background:#d32f2f}@media (max-width:768px){.App-header h1{font-size:2rem}.App-main{padding:15px}.connection-status{font-size:.8rem;padding:6px 12px}}