*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#0b0f19;color:#f3f4f6;min-height:100vh}.App{min-height:100vh;display:flex;flex-direction:column}.App-header{background:linear-gradient(180deg,#131b2e,#0b0f19);padding:1.75rem 2rem 1.5rem;text-align:center;border-bottom:1px solid #1f293d}.header-nav{display:flex;justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto 1.25rem}.logo-badge{display:inline-block;background:#3b82f626;border:1px solid rgba(59,130,246,.4);color:#60a5fa;font-size:.825rem;font-weight:600;padding:.35rem .85rem;border-radius:9999px;letter-spacing:.025em}.user-profile{display:flex;align-items:center;gap:.75rem}.user-tag{background:#1f293d;color:#93c5fd;font-size:.85rem;padding:.35rem .75rem;border-radius:8px;border:1px solid #28354f}.btn-primary{background:#2563eb;color:#fff;border:none;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#374151;color:#e5e7eb;border:none;font-weight:600;border-radius:8px;cursor:pointer;transition:background .15s ease}.btn-secondary:hover{background:#4b5563}.btn-sm{padding:.4rem .9rem;font-size:.85rem}.welcome-text{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;color:#fff;margin-bottom:.4rem}.subtitle{color:#9ca3af;font-size:.975rem}.App-main{flex:1;max-width:1000px;width:100%;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.status-card{background:#111827;border:1px solid #1f2937;border-radius:12px;padding:1.25rem;box-shadow:0 4px 6px -1px #0003}.status-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.status-header h3{font-size:.95rem;font-weight:600;color:#d1d5db}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot-green{background-color:#10b981;box-shadow:0 0 8px #10b981}.dot-red{background-color:#ef4444;box-shadow:0 0 8px #ef4444}.dot-amber{background-color:#f59e0b;box-shadow:0 0 8px #f59e0b}.status-value{font-size:1.1rem;font-weight:600;color:#f9fafb;margin-bottom:.4rem}.status-details{font-size:.8rem;color:#6b7280;display:flex;gap:.75rem}.watchlist-section{background:#111827;border:1px solid #1f2937;border-radius:12px;padding:1.5rem}.highlight-box{border-color:#2563eb44;background:linear-gradient(180deg,#111a2e,#111827)}.watchlist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.watchlist-header h2{font-size:1.2rem;font-weight:600;color:#f3f4f6}.section-desc{font-size:.8rem;color:#9ca3af;margin-top:.2rem}.badge-live{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3);font-size:.75rem;font-weight:700;padding:.25rem .65rem;border-radius:6px;letter-spacing:.05em}.badge-live-pulse{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3);font-size:.75rem;font-weight:700;padding:.25rem .65rem;border-radius:6px;letter-spacing:.05em;animation:pulseGlow 2s infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 4px #10b98166}50%{box-shadow:0 0 12px #10b981cc}}.stocks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stock-card{background:#1a2234;border:1px solid #28354f;border-radius:10px;padding:1rem;transition:transform .15s ease,border-color .15s ease}.stock-card:hover{transform:translateY(-2px);border-color:#3b82f6}.live-card.up{border-color:#059669}.live-card.down{border-color:#dc2626}.ticker-indicator{font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:4px}.ticker-indicator.up{background:#10b98133;color:#34d399}.ticker-indicator.down{background:#ef444433;color:#f87171}.ticker-indicator.neutral{background:#9ca3af33;color:#9ca3af}.stock-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.symbol-info{display:flex;flex-direction:column}.stock-symbol{font-weight:700;font-size:1.1rem;color:#fff}.stock-name{font-size:.75rem;color:#9ca3af}.stock-change{font-size:.85rem;font-weight:600;padding:.2rem .5rem;border-radius:4px}.stock-change.positive{color:#10b981;background:#10b9811a}.stock-change.negative{color:#ef4444;background:#ef44441a}.stock-bottom{display:flex;justify-content:space-between;align-items:baseline}.stock-price{font-size:1.25rem;font-weight:700;color:#f9fafb}.stock-vol{font-size:.75rem;color:#6b7280}.loading-state{grid-column:1 / -1;text-align:center;padding:2rem;color:#6b7280}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-content{background:#111827;border:1px solid #1f293d;border-radius:14px;width:100%;max-width:420px;padding:1.75rem;box-shadow:0 20px 25px -5px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{font-size:1.25rem;color:#fff}.btn-close{background:transparent;border:none;color:#9ca3af;font-size:1.5rem;cursor:pointer}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-alert{background:#ef444426;border:1px solid #ef4444;color:#fca5a5;padding:.6rem;border-radius:6px;font-size:.85rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.85rem;color:#d1d5db}.form-group input{background:#1f293d;border:1px solid #374151;border-radius:8px;padding:.65rem .85rem;color:#fff;font-size:.95rem;outline:none}.form-group input:focus{border-color:#3b82f6}.btn-submit{background:#2563eb;color:#fff;border:none;padding:.75rem;font-size:.95rem;font-weight:600;border-radius:8px;cursor:pointer;margin-top:.5rem}.btn-submit:hover:not(:disabled){background:#1d4ed8}.auth-divider{display:flex;align-items:center;text-align:center;color:#6b7280;font-size:.75rem;margin:.25rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid #374151}.auth-divider span{padding:0 .5rem}.oauth-buttons{display:flex;flex-direction:column;gap:.6rem}.btn-oauth{background:#1f2937;border:1px solid #374151;color:#e5e7eb;padding:.6rem;border-radius:8px;font-weight:500;cursor:pointer;transition:background .15s ease}.btn-oauth:hover{background:#374151}.auth-hint{font-size:.75rem;color:#9ca3af;margin-top:.5rem;text-align:center}.auth-hint code{color:#60a5fa;background:#1f2937;padding:.15rem .3rem;border-radius:4px}.App-footer{text-align:center;padding:1.5rem;border-top:1px solid #1f2937;color:#4b5563;font-size:.85rem}
