:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{color:#e8ecf5;background:#0f1420;margin:0}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#171d2e;border:1px solid #2a3350;border-radius:12px;flex-direction:column;width:100%;max-width:380px;padding:32px;display:flex}.auth-card h1{margin:0 0 4px;font-size:1.4rem}.auth-card .subtitle{color:#9aa4bf;margin:0 0 20px;font-size:.9rem}.auth-card label{color:#b7c0da;margin:12px 0 4px;font-size:.85rem}.auth-card input,.auth-card select{color:#e8ecf5;background:#0f1420;border:1px solid #2a3350;border-radius:6px;padding:10px 12px;font-size:.95rem}.auth-card input[readonly]{color:#9aa4bf;cursor:not-allowed;background:#171d2e}.auth-card button{color:#fff;cursor:pointer;background:#4f7cff;border:none;border-radius:6px;margin-top:20px;padding:11px;font-size:.95rem;font-weight:600}.auth-card button:disabled{opacity:.6;cursor:default}.switch-link{text-align:center;color:#9aa4bf;margin-top:16px;font-size:.85rem}.switch-link a{color:#4f7cff}.error-box{color:#ff9fab;background:#3a1e24;border:1px solid #6b2c37;border-radius:6px;margin-bottom:8px;padding:8px 12px;font-size:.85rem}.navbar{background:#171d2e;border-bottom:1px solid #2a3350;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:12px 24px;display:flex}.navbar .brand{font-weight:700}.nav-links{flex-wrap:wrap;flex:1;gap:8px 16px;min-width:200px;display:flex}.nav-links a{color:#b7c0da;font-size:.9rem;text-decoration:none}.nav-links a:hover{color:#e8ecf5}.nav-user{color:#9aa4bf;flex-wrap:wrap;align-items:center;gap:12px;font-size:.9rem;display:flex}.nav-user button{color:#e8ecf5;cursor:pointer;background:0 0;border:1px solid #2a3350;border-radius:6px;padding:6px 12px}.page{max-width:900px;margin:0 auto;padding:32px}.page h1{margin-top:0}.muted{color:#9aa4bf}@media (width<=640px){.page{padding:16px}.navbar{gap:8px 16px;padding:10px 16px}.page-header{flex-wrap:wrap;gap:10px}.ipo-market-stats{grid-template-columns:repeat(2,1fr)}}.data-table{border-collapse:collapse;width:100%;margin-top:16px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #2a3350;padding:10px 12px}.data-table th{color:#9aa4bf;font-size:.85rem;font-weight:600}.data-table td.num,.data-table th.num{font-variant-numeric:tabular-nums;text-align:right}.net-position-table thead tr:first-child th{text-align:center;background:#1e2f4d}.data-table button{color:#fff;cursor:pointer;background:#4f7cff;border:none;border-radius:6px;padding:6px 12px;font-size:.85rem}.data-table button:disabled{opacity:.6;cursor:default}.page-header{justify-content:space-between;align-items:center;display:flex}.page-header button{color:#fff;cursor:pointer;background:#4f7cff;border:none;border-radius:6px;padding:8px 14px;font-size:.9rem;font-weight:600}.ipo-card{background:#171d2e;border:1px solid #2a3350;border-radius:10px;margin-bottom:16px;padding:18px 20px}.ipo-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 8px;display:flex}.status-pill{text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.status-upcoming{color:#b7c0da;background:#2a3350}.status-open{color:#5ee3a0;background:#16382a}.status-closed{color:#f0b95e;background:#3a2e16}.status-allotted{color:#6fa8ff;background:#1e2f4d}.status-listed{color:#b48bff;background:#2a1e4d}.status-pending{color:#f0b95e;background:#3a2e16}.status-approved{color:#5ee3a0;background:#16382a}.status-suspended{color:#ff9fab;background:#3a1e24}.status-confirmed{color:#5ee3a0;background:#16382a}.status-rejected{color:#ff9fab;background:#3a1e24}.status-cancelled{color:#b7c0da;background:#2a3350}.rate-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.rate-form select,.rate-form input{color:#e8ecf5;background:#0f1420;border:1px solid #2a3350;border-radius:6px;padding:8px 10px;font-size:.85rem}.rate-form input[type=number]{width:90px}.rate-form button{color:#fff;cursor:pointer;background:#4f7cff;border:none;border-radius:6px;padding:8px 14px;font-size:.85rem}.rate-form button:disabled{opacity:.6;cursor:default}.tab-bar{-webkit-overflow-scrolling:touch;border-bottom:1px solid #2a3350;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tab-bar .tab{color:#9aa4bf;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:10px 16px;font-size:.9rem}.tab-bar .tab.active{color:#e8ecf5;border-bottom-color:#4f7cff;font-weight:600}.tab-bar .tab:hover:not(.active){color:#e8ecf5}.table-shell{border:1px solid #2a3350;border-radius:8px;overflow-x:auto}.table-shell .data-table{margin-top:0}.rate-grid-table th,.rate-grid-table td{text-align:center;white-space:nowrap}.rate-grid-table td:first-child,.rate-grid-table th:first-child{text-align:left;white-space:normal}.grid-input{color:#e8ecf5;text-align:right;background:#0f1420;border:1px solid #2a3350;border-radius:4px;width:80px;padding:6px 8px;font-size:.85rem}.grid-input:focus{border-color:#4f7cff;outline:none}.grid-input:disabled{opacity:.5}.ipo-market-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.ipo-market-topbar-actions{align-items:center;gap:14px;display:flex}.icon-btn{cursor:pointer;color:#9aa4bf;background:0 0;border:none;padding:4px;font-size:1.1rem}.icon-btn:hover{color:#e8ecf5}.toggle-switch{width:42px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:#2a3350;border-radius:999px;transition:background .15s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#e8ecf5;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:#4f7cff}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.ipo-market-search{color:#e8ecf5;background:#171d2e;border:1px solid #2a3350;border-radius:8px;width:100%;margin-bottom:14px;padding:10px 14px;font-size:.9rem}.ipo-market-list{flex-direction:column;gap:12px;display:flex}.ipo-market-card{cursor:pointer;background:#171d2e;border:1px solid #2a3350;border-radius:10px;padding:14px 16px;transition:border-color .15s}.ipo-market-card:hover{border-color:#4f7cff}.ipo-market-card-top{align-items:center;gap:12px;display:flex}.ipo-market-card-name{flex:1;min-width:0}.ipo-market-card-name .muted{font-size:.8rem}.ipo-logo{object-fit:cover;border-radius:8px;flex-shrink:0;width:36px;height:36px}.ipo-logo-fallback{color:#9aa4bf;background:#2a3350;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.ipo-market-dates{margin:8px 0 10px;font-size:.8rem}.ipo-market-stats{grid-template-columns:repeat(3,1fr);gap:8px;font-size:.88rem;display:grid}.ipo-market-stats .muted{margin-bottom:2px;font-size:.75rem;display:block}.gain-pos{color:#5ee3a0}.gain-neg{color:#ff9fab}.modal-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:#171d2e;border:1px solid #2a3350;border-top-left-radius:16px;border-top-right-radius:16px;width:100%;max-width:520px;max-height:85vh;padding:20px;overflow-y:auto}.modal-form{flex-direction:column;display:flex}.modal-form label{color:#b7c0da;margin:12px 0 4px;font-size:.85rem}.modal-form input{color:#e8ecf5;background:#0f1420;border:1px solid #2a3350;border-radius:6px;padding:10px 12px;font-size:.95rem}.ipo-note{color:#b7c0da;background:#22322a;border:1px solid #2f4536;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:.85rem}.ipo-detail-actions{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;display:grid}.ipo-detail-actions button{color:#fff;cursor:pointer;background:#4f7cff;border:none;border-radius:8px;padding:10px;font-size:.85rem}.ipo-detail-actions button:hover{background:#3d68e8}
