*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0b0d17;--surface:#131629;--surface-hover:#1c2042;--border:#2a2f5a;--text:#e8eaf6;--text-muted:#888db5;--accent:#7c5cfc;--accent-hover:#9b7eff;--open:#4ade80;--upcoming:#facc15;--priced:#60a5fa;--error:#f87171;--success:#4ade80}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{max-width:1200px;margin:0 auto;padding:0 24px}.header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:32px 0 24px;display:flex}.header-content{flex-direction:column;gap:4px;display:flex}.user-greeting{color:var(--text-muted);white-space:nowrap;border:1px solid var(--border);background:var(--card-bg,#fff);border-radius:8px;align-items:center;gap:10px;padding:6px 12px;font-size:14px;display:flex}.user-greeting-email{text-overflow:ellipsis;max-width:220px;overflow:hidden}.logout-btn{color:var(--accent,#2563eb);cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:13px}.logout-btn:hover{text-decoration:underline}.logo{background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.tagline{color:var(--text-muted);font-size:14px}.status-bar{padding:20px 0}.status-msg{color:var(--text-muted);font-size:14px}.status-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.status-actions{align-items:center;gap:12px;display:flex}.last-updated{color:var(--text-muted);white-space:nowrap;font-size:12px}.refresh-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 14px;font-size:13px;transition:all .2s}.refresh-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{color:var(--text-muted);align-items:center;gap:12px;font-size:14px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.spinner.large{border-width:3px;width:36px;height:36px}@keyframes spin{to{transform:rotate(360deg)}}.subscribe-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:24px}.subscribe-section h2{margin-bottom:12px;font-size:18px;font-weight:600}.subscribe-form{gap:12px;display:flex}.subscribe-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;outline:none;flex:1;padding:12px 16px;font-size:14px;transition:border-color .2s}.subscribe-form input:focus{border-color:var(--accent)}.subscribe-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:background .2s}.subscribe-form button:hover{background:var(--accent-hover)}.ipo-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;padding-bottom:40px;display:grid}.loading-placeholder{color:var(--text-muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:16px;padding:80px 0;display:flex}.ipo-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:20px;transition:border-color .2s,background .2s;display:flex}.ipo-card:hover{border-color:var(--accent);background:var(--surface-hover)}.card-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.company-name{font-size:18px;font-weight:600}.ticker{color:var(--text-muted);background:var(--bg);letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.badge{text-transform:capitalize;border-radius:20px;margin-left:auto;padding:2px 10px;font-size:11px;font-weight:600}.badge-upcoming{color:var(--upcoming);background:#facc1526}.badge-open{color:var(--open);background:#4ade8026}.badge-priced{color:var(--priced);background:#60a5fa26}.description{color:var(--text-muted);font-size:13px;line-height:1.5}.details-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.detail{flex-direction:column;gap:2px;display:flex}.detail.full-width{grid-column:1/-1}.label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.detail span:last-child{font-size:13px;font-weight:500}.alert-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;margin-top:auto;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s}.alert-btn:hover:not(:disabled){background:var(--accent);color:#fff}.alert-btn:disabled{opacity:.5;cursor:not-allowed}.email-status{padding:8px 0 0;font-size:13px}.email-status.loading{color:var(--text-muted)}.email-status.error{color:var(--error)}.email-status.success{color:var(--success)}.footer{border-top:1px solid var(--border);text-align:center;padding:24px 0 32px}.footer p{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:12px}.footer .credit{margin-top:8px;font-size:13px}.footer a{color:var(--accent);text-decoration:none}.footer a:hover{color:var(--accent-hover)}@media (width<=600px){.app{padding:0 16px}.ipo-grid{grid-template-columns:1fr}.subscribe-form{flex-direction:column}.logo{font-size:24px}.header{flex-direction:column}}
