:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0e16;--surface:#111824;--surface-2:#172131;--surface-3:#1d293c;--border:#28364b;--text:#f2f5fa;--muted:#93a2b8;--yellow:#f4c84a;--blue:#74a9ff;--green:#47d590;--red:#ff6976;--orange:#f1b64c;--shadow:0 20px 60px #00000047}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{color:inherit}.mono{letter-spacing:.02em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;min-height:42px;padding:0 15px;font-weight:600;transition:border-color .15s,background .15s,opacity .15s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.55}.button.primary{background:var(--text);color:#101722}.button.primary:hover:not(:disabled){background:#dfe7f3}.button.secondary{border-color:var(--border);background:var(--surface-2)}.button.secondary:hover:not(:disabled){background:var(--surface-3);border-color:#455876}.button.danger{background:var(--red);color:#111722}.button.danger-ghost{color:var(--red);background:0 0;border-color:#ff69766b}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0}.onboarding-page,.fatal-page,.loading-page{background:radial-gradient(circle at 12% 12%, #3c65ab21, transparent 30%), radial-gradient(circle at 86% 82%, #f4c84a14, transparent 26%), var(--bg);place-items:center;min-height:100vh;padding:28px 18px;display:grid}.onboarding-shell,.fatal-card{border:1px solid var(--border);width:min(100%,640px);box-shadow:var(--shadow);background:#111824f5;border-radius:18px;padding:clamp(24px,5vw,48px)}.onboarding-brand,.sidebar-brand{letter-spacing:-.03em;font-weight:750}.onboarding-brand{font-size:1.2rem}.onboarding-brand span,.sidebar-brand span{color:var(--yellow)}.step-indicator,.eyebrow{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700;display:inline-block}.step-indicator{background:#74a9ff1a;border-radius:999px;margin-top:36px;padding:6px 9px}.onboarding-shell h1,.fatal-card h1{letter-spacing:-.045em;margin:16px 0 8px;font-size:clamp(2rem,6vw,3rem);line-height:1.08}.lead,.fatal-card p{color:var(--muted);line-height:1.65}.security-note{border-left:3px solid var(--yellow);color:#c6cfdd;background:#f4c84a12;margin:26px 0;padding:14px 16px}.security-note strong{color:var(--text)}.security-note ul{margin:9px 0 0;padding-left:20px;line-height:1.7}.credential-form{gap:10px;display:grid}.field-label{color:#dbe3ef;justify-content:space-between;margin-top:8px;font-weight:650;display:flex}.field-label span{color:var(--muted);font-size:.8rem;font-weight:500}.text-input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text);background:#0d131e;border-radius:9px;outline:0;padding:0 13px}.text-input::placeholder{color:#58677e}.text-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #74a9ff1f}.secret-input-row{grid-template-columns:1fr auto;gap:8px;display:grid}.form-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.form-message{border-radius:8px;padding:10px 12px;line-height:1.5}.form-message.error{color:#ffb1b8;background:#ff697617;border:1px solid #ff69763d}.form-message.success{color:#9bf0c5;background:#47d59017;border:1px solid #47d5903d}.verification-result{border-radius:10px;margin-top:18px;padding:16px}.verification-result.warning{background:#f1b64c14;border:1px solid #f1b64c59}.verification-result p,.loading-page{color:var(--muted)}.loading-page>div{text-align:center}.loading-mark{border:1px solid var(--border);width:54px;height:54px;color:var(--yellow);border-radius:14px;place-items:center;margin:0 auto 14px;font-weight:800;animation:1.4s ease-in-out infinite alternate breathe;display:grid}@keyframes breathe{0%{opacity:.45}to{opacity:1}}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#080c13;border-right:1px solid #1e2a3c;flex-direction:column;height:100vh;padding:24px 14px;display:flex;position:sticky;top:0}.sidebar-brand{padding:0 11px;font-size:1.08rem}.sidebar-nav{gap:4px;margin-top:38px;display:grid}.sidebar-nav button{color:#91a0b5;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;min-height:43px;padding:0 10px;display:grid}.sidebar-nav button>span{color:#506078;font-size:.72rem}.sidebar-nav button small{color:#536279;font-size:.68rem}.sidebar-nav button:hover:not(:disabled){color:var(--text);background:#101824}.sidebar-nav button.active{color:var(--text);background:#182336}.sidebar-nav button.active>span{color:var(--yellow)}.sidebar-nav button:disabled{cursor:not-allowed;opacity:.6}.sidebar-footer{border-top:1px solid #1e2a3c;gap:4px;margin-top:auto;padding:13px 11px;display:grid}.sidebar-footer strong{color:var(--orange);font-size:.84rem}.sidebar-footer span{color:#69788d;font-size:.72rem}.app-main{min-width:0}.topbar{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:57px;color:var(--muted);background:#0c111bf0;align-items:center;gap:18px;padding:0 24px;font-size:.82rem;display:flex;position:sticky;top:0}.topbar-status{color:#cdd6e4;align-items:center;gap:8px;display:flex}.connection-dot{background:var(--orange);border-radius:50%;width:8px;height:8px}.connection-dot.connected{background:var(--green);box-shadow:0 0 0 4px #47d59017}.connection-dot.failed{background:var(--red)}.topbar-spacer{flex:1}.topbar-settings{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:7px 10px}.page-content{width:min(100%,1240px);margin:0 auto;padding:42px clamp(18px,4vw,48px) 70px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.page-heading h1{letter-spacing:-.05em;margin:6px 0 5px;font-size:clamp(2rem,4vw,3.1rem);line-height:1}.page-heading p{color:var(--muted);margin:0}.mode-chip,.status-pill{min-height:30px;color:var(--orange);white-space:nowrap;background:#f1b64c17;border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.summary-card,.panel{border:1px solid var(--border);background:var(--surface);border-radius:12px}.summary-card{flex-direction:column;min-height:145px;padding:18px;display:flex}.summary-card>span{color:var(--muted);font-size:.8rem}.summary-card strong{letter-spacing:-.02em;margin-top:14px;font-size:1.24rem}.summary-card small{color:#8190a6;margin-top:auto;line-height:1.35}.warning-text{color:var(--orange)}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:12px;margin-top:12px;display:grid}.panel{padding:20px}.panel-heading,.settings-section-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.panel-heading h2,.settings-section-heading h2{margin:0;font-size:1.05rem}.panel-heading>span{color:var(--muted);font-size:.78rem}.setup-list{gap:0;margin:18px 0 0;padding:0;list-style:none;display:grid}.setup-list li{border-top:1px solid var(--border);grid-template-columns:32px 1fr;align-items:center;gap:11px;padding:12px 0;display:grid}.setup-list li>span{width:26px;height:26px;color:var(--muted);border:1px solid #3b4a60;border-radius:50%;place-items:center;font-size:.72rem;display:grid}.setup-list li.done>span{border-color:var(--green);color:var(--green);background:#47d5901a}.setup-list strong,.setup-list small{display:block}.setup-list strong{font-size:.88rem}.setup-list small{color:var(--muted);margin-top:3px}.details-list{margin:18px 0 0}.details-list>div{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding:13px 0;display:flex}.details-list dt{color:var(--muted)}.details-list dd{text-align:right;margin:0}.empty-panel{text-align:center;min-height:210px;color:var(--muted);place-items:center;margin-top:12px;display:grid}.empty-panel>div{max-width:580px}.empty-panel h2{color:#dbe3ef;font-size:1.1rem}.empty-panel p{line-height:1.6}.empty-icon{color:var(--blue);font-size:2rem}.market-panel{margin-top:12px}.market-locked{text-align:center;align-content:center;place-items:center;min-height:220px;display:grid}.market-locked h2{margin:8px 0 0}.market-locked p{color:var(--muted)}.market-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.market-toolbar h2{margin:5px 0 0;font-size:1.35rem}.symbol-form{grid-template-columns:auto 130px auto;align-items:center;gap:8px;display:grid}.symbol-form label{color:var(--muted);font-size:.8rem}.symbol-form .text-input{min-height:42px}.market-meta{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:8px;margin-top:16px;padding-top:13px;font-size:.78rem;display:flex}.market-meta strong{color:var(--green)}.live-dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #47d59014}.live-dot.failed{background:var(--red);box-shadow:none}.auto-refresh{cursor:pointer;align-items:center;gap:5px;margin-left:auto;display:flex}.auto-refresh input{accent-color:var(--green)}.market-layout{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:14px;margin-top:16px;display:grid}.quote-block,.orderbook-block{border:1px solid var(--border);background:#0d131e;border-radius:10px;overflow:hidden}.quote-title{justify-content:space-between;align-items:flex-start;gap:20px;padding:20px;display:flex}.quote-title>div:first-child{gap:5px;display:grid}.quote-title>div:first-child strong{font-size:1.2rem}.quote-title>div:first-child span{color:var(--muted);font-size:.78rem}.quote-price{justify-items:end;gap:5px;display:grid}.quote-price strong{letter-spacing:-.04em;font-size:2rem}.quote-price span{font-size:.85rem}.quote-price.up{color:var(--red)}.quote-price.down{color:var(--blue)}.quote-stats{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.quote-stats div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);gap:5px;padding:14px 16px;display:grid}.quote-stats div:nth-child(3n){border-right:0}.quote-stats dt{color:var(--muted);font-size:.75rem}.quote-stats dd{font-variant-numeric:tabular-nums;margin:0}.orderbook-head,.orderbook-row{text-align:right;font-variant-numeric:tabular-nums;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:31px;padding:0 12px;font-size:.75rem;display:grid}.orderbook-head{border-bottom:1px solid var(--border);min-height:38px;color:var(--muted)}.orderbook-head span:nth-child(2),.orderbook-row strong{text-align:center}.orderbook-row{border-bottom:1px solid #28364b73}.orderbook-row.ask{background:#ff69760b}.orderbook-row.bid{background:#74a9ff0d}.orderbook-row.ask strong{color:#ff9ca5}.orderbook-row.bid strong{color:#9bc0ff}.orderbook-row span{color:#8e9db2}.market-loading{min-height:240px;color:var(--muted);place-items:center;display:grid}.account-panel{margin-top:12px}.account-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.account-heading h2{margin:5px 0 0;font-size:1.35rem}.account-heading p{color:var(--muted);margin:7px 0 0;font-size:.82rem}.account-actions{align-items:center;gap:8px;display:flex}.account-error{margin-top:16px}.account-kpis{border:1px solid var(--border);background:var(--border);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:18px;display:grid;overflow:hidden}.account-kpi{background:#0d131e;flex-direction:column;min-height:105px;padding:15px;display:flex}.account-kpi>span{color:var(--muted);font-size:.75rem}.account-kpi strong{font-variant-numeric:tabular-nums;margin-top:10px;font-size:1.18rem}.account-kpi small{color:#73839a;margin-top:auto}.up{color:var(--red)}.down{color:var(--blue)}.holdings-heading{justify-content:space-between;align-items:flex-end;gap:15px;margin-top:22px;display:flex}.holdings-heading>div{align-items:baseline;gap:9px;display:flex}.holdings-heading h3{margin:0;font-size:.98rem}.holdings-heading span,.holdings-heading small{color:var(--muted);font-size:.75rem}.holdings-table-wrap{border:1px solid var(--border);border-radius:10px;margin-top:10px;overflow-x:auto}.holdings-table{border-collapse:collapse;background:#0d131e;width:100%;min-width:840px;font-size:.8rem}.holdings-table th{border-bottom:1px solid var(--border);height:39px;color:var(--muted);text-align:right;white-space:nowrap;padding:0 13px;font-weight:550}.holdings-table th:first-child{text-align:left}.holdings-table td{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid #28364ba6;height:57px;padding:8px 13px}.holdings-table tr:last-child td{border-bottom:0}.holdings-table td:first-child{text-align:left}.holdings-table td strong,.holdings-table td span{display:block}.holdings-table td span{color:var(--muted);margin-top:3px;font-size:.7rem}.holdings-table .no-holdings{height:100px;color:var(--muted);text-align:center}.paper-page{max-width:1240px}.paper-title{align-items:center}.paper-chip{color:var(--blue);background:#74a9ff17;border:1px solid #74a9ff38}.paper-summary{border:1px solid var(--border);background:var(--border);border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.paper-summary article{background:var(--surface);flex-direction:column;min-height:110px;padding:18px;display:flex}.paper-summary span{color:var(--muted);font-size:.76rem}.paper-summary strong{font-variant-numeric:tabular-nums;margin-top:auto;font-size:1.3rem}.paper-grid{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:12px;margin-top:12px;display:grid}.paper-ticket form{gap:10px;margin-top:15px;display:grid}.paper-order-type{grid-template-columns:1fr 1fr;gap:6px;display:grid}.paper-order-type button{border:1px solid var(--border);min-height:36px;color:var(--muted);cursor:pointer;background:#0d131e;border-radius:8px}.paper-order-type button.active{color:var(--green);background:#49d5aa14;border-color:#49d5aa75}.paper-side{grid-template-columns:1fr 1fr;gap:6px;margin-top:4px;display:grid}.paper-side button{border:1px solid var(--border);min-height:40px;color:var(--muted);cursor:pointer;background:#0d131e;border-radius:8px}.paper-side button.active.buy{color:#ff9ca5;background:#ff697617;border-color:#ff697680}.paper-side button.active.sell{color:#9bc0ff;background:#74a9ff17;border-color:#74a9ff80}.paper-policy{border:1px solid var(--border);background:var(--border);border-radius:8px;grid-template-columns:1fr 1fr;gap:1px;margin-top:6px;display:grid;overflow:hidden}.paper-policy div{background:#0d131e;justify-content:space-between;gap:8px;padding:10px;font-size:.72rem;display:flex}.paper-policy span{color:var(--muted)}.paper-submit{width:100%;min-height:45px;margin-top:5px}.paper-submit.buy{color:#fff;background:#a6424b}.paper-submit.sell{color:#fff;background:#3564a8}.paper-position-list{border-top:1px solid var(--border);margin-top:14px}.paper-position-list article{border-bottom:1px solid var(--border);grid-template-columns:minmax(150px,1fr) minmax(240px,1fr);align-items:center;gap:20px;padding:15px 0;display:grid}.paper-position-list article>div{gap:4px;display:grid}.paper-position-list article span{color:var(--muted);font-size:.72rem}.paper-position-list dl{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.paper-position-list dl div{text-align:right}.paper-position-list dt{color:var(--muted);font-size:.7rem}.paper-position-list dd{font-variant-numeric:tabular-nums;margin:4px 0 0}.paper-empty{min-height:180px;color:var(--muted);place-items:center;display:grid}.paper-orders{margin-top:12px}.paper-orders .holdings-table{min-width:1120px;margin-top:0}.order-status{border-radius:999px;width:max-content;padding:4px 7px;margin-left:auto!important;font-size:.67rem!important;display:inline-flex!important}.order-status.pending{background:#ffbe5c1a;color:#ffc878!important}.order-status.partially_filled{background:#74a9ff1a;color:#9bc0ff!important}.order-status.filled{background:#49d5aa1a;color:var(--green)!important}.order-status.cancelled{background:#97a4b81a;color:var(--muted)!important}.order-actions{justify-content:flex-end;gap:5px;display:flex}.order-actions button{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:#111925;border-radius:6px;padding:5px 7px;font-size:.67rem}.order-actions button:last-child{color:#ff9ca5}.order-actions button:disabled{cursor:wait;opacity:.5}.matcher-section{margin-top:12px}.matcher-last-run{border:1px solid var(--border);background:#0d131e;border-radius:8px;align-content:center;gap:5px;padding:11px;display:grid}.matcher-last-run span,.matcher-last-run small{color:var(--muted);font-size:.7rem}.matcher-last-run strong{font-size:.82rem}.operations-page{max-width:1280px}.operations-heading{align-items:flex-start}.operations-tools{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.operations-tools .text-input{width:150px;min-height:38px}.operations-tools .button{justify-content:center;align-items:center;min-height:38px;text-decoration:none;display:inline-flex}.operations-kpis{border:1px solid var(--border);background:var(--border);border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.operations-kpis article{background:var(--surface);flex-direction:column;min-height:105px;padding:17px;display:flex}.operations-kpis span{color:var(--muted);font-size:.73rem}.operations-kpis strong{font-variant-numeric:tabular-nums;margin-top:auto;font-size:1.22rem}.operations-kpis strong.healthy{color:var(--green)}.operations-kpis strong.attention{color:#ffc878}.operations-kpis strong.critical{color:var(--red)}.operations-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:12px;margin-top:12px;display:grid}.operations-alert-list{gap:8px;margin-top:14px;display:grid}.operations-alert-list article{border:1px solid var(--border);background:#0d131e;border-left-width:3px;border-radius:8px;padding:12px}.operations-alert-list article.info{border-left-color:var(--green)}.operations-alert-list article.warning{border-left-color:#ffc878}.operations-alert-list article.critical{border-left-color:var(--red)}.operations-alert-list article>div{align-items:center;gap:8px;display:flex}.operations-alert-list article>div span{color:var(--muted);background:#97a4b81a;border-radius:999px;padding:3px 6px;font-size:.62rem}.operations-alert-list article p{margin:8px 0 5px;font-size:.78rem}.operations-alert-list article small{color:var(--muted);font-size:.7rem}.operations-paper dl{border:1px solid var(--border);background:var(--border);border-radius:8px;gap:1px;margin:14px 0 0;display:grid;overflow:hidden}.operations-paper dl div{background:#0d131e;justify-content:space-between;gap:15px;padding:11px;display:flex}.operations-paper dt{color:var(--muted);font-size:.72rem}.operations-paper dd{font-variant-numeric:tabular-nums;margin:0;font-size:.78rem}.operations-counts,.operations-schedulers{margin-top:12px}.operations-counts>div:last-child{border:1px solid var(--border);background:var(--border);border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:14px;display:grid;overflow:hidden}.operations-counts article{background:#0d131e;gap:8px;padding:12px;display:grid}.operations-counts article span{color:var(--muted);font-size:.69rem}.operations-counts article strong{font-variant-numeric:tabular-nums;font-size:1rem}.operations-schedulers>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.operations-schedulers article{border:1px solid var(--border);background:#0d131e;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.operations-schedulers article>div{gap:4px;display:grid}.operations-schedulers article>div span{color:var(--muted);font-size:.69rem}.operations-loading{min-height:240px;color:var(--muted);place-items:center;display:grid}.auth-page{background:radial-gradient(circle at 50% 0%, #49d5aa14, transparent 38%), var(--background);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;width:min(100%,470px);padding:30px;box-shadow:0 24px 80px #00000047}.auth-card .onboarding-brand{margin-bottom:28px}.auth-card h1{margin:8px 0 0;font-size:1.65rem}.auth-card>p{color:var(--muted);margin:9px 0 0;line-height:1.55}.auth-card form{gap:14px;margin-top:20px;display:grid}.auth-card .field-label{gap:7px;display:grid}.auth-card .field-label small{color:var(--muted);font-weight:400}.auth-bootstrap-help{background:#9a7dff0d;border:1px solid #9a7dff3d;border-radius:9px;gap:6px;margin-top:18px;padding:12px;display:grid}.auth-bootstrap-help strong{color:#c3b4ff;font-size:.78rem}.auth-bootstrap-help span{color:var(--muted);font-size:.72rem;line-height:1.5}.auth-bootstrap-help code{color:var(--text)}.auth-submit{min-height:45px;margin-top:4px}.auth-skip{justify-self:center;padding:7px}.admin-security-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.admin-security-grid>div{border:1px solid var(--border);background:#0d131e;border-radius:9px;align-content:start;gap:10px;padding:14px;display:grid}.admin-security-grid h3{margin:0;font-size:.9rem}.admin-security-grid p{color:var(--muted);margin:0 0 4px;font-size:.72rem;line-height:1.5}.admin-security-grid .field-label{gap:6px;display:grid}.admin-security-grid .button{justify-self:start}.replay-panel{margin-top:12px}.replay-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.replay-heading h2{margin:5px 0 0;font-size:1.15rem}.replay-heading p{color:var(--muted);margin:7px 0 0;font-size:.8rem}.replay-layout{grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);gap:14px;margin-top:18px;display:grid}.replay-controls{gap:10px;display:grid}.replay-progress{border:1px solid var(--border);background:#0d131e;border-radius:9px;gap:7px;padding:12px;display:grid}.replay-progress>div:first-child{justify-content:space-between;gap:10px;font-size:.78rem;display:flex}.replay-progress span,.replay-progress small{color:var(--muted)}.progress-track{background:#1c2738;border-radius:999px;height:5px;overflow:hidden}.progress-track span{background:var(--green);height:100%;transition:width .24s;display:block}.replay-progress small{font-size:.68rem}.replay-rules{border:1px solid var(--border);background:var(--border);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.replay-rules div{text-align:center;background:#0d131e;gap:4px;padding:10px;display:grid}.replay-rules span{color:var(--muted);font-size:.67rem}.replay-rules strong{font-size:.78rem}.signal-card{border:1px solid var(--border);background:#0d131e;border-radius:10px;min-height:280px;padding:18px}.signal-card.buy{border-color:#ff697661}.signal-card.sell{border-color:#74a9ff61}.signal-card.hold{border-color:#f1b64c52}.signal-top{justify-content:space-between;gap:15px;display:flex}.signal-top span{color:var(--muted);font-size:.75rem}.signal-top strong{font-size:1.12rem}.signal-card.buy .signal-top strong{color:var(--red)}.signal-card.sell .signal-top strong{color:var(--blue)}.signal-card.hold .signal-top strong{color:var(--orange)}.signal-card>p{color:#aeb9c9;min-height:44px;line-height:1.55}.signal-card dl{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(2,1fr);margin:16px 0 0;display:grid}.signal-card dl div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:11px}.signal-card dt{color:var(--muted);font-size:.68rem}.signal-card dd{text-overflow:ellipsis;font-variant-numeric:tabular-nums;white-space:nowrap;margin:5px 0 0;overflow:hidden}.proposal-boundary{color:var(--green);margin-top:14px;font-size:.72rem}.proposal-create{grid-template-columns:100px 1fr;gap:8px;margin-top:14px;display:grid}.proposal-create .text-input{min-height:39px}.proposal-message{margin-top:10px}.signal-placeholder{text-align:center;place-content:center;min-height:240px;display:grid}.signal-placeholder p{color:var(--muted)}.approval-panel{margin-top:12px}.approval-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.approval-heading h2{margin:5px 0 0;font-size:1.15rem}.approval-heading p{color:var(--muted);margin:7px 0 0;font-size:.8rem}.approval-error{margin-top:14px}.proposal-list{gap:10px;margin-top:18px;display:grid}.proposal-card{border:1px solid var(--border);background:#0d131e;border-radius:10px;padding:15px}.proposal-card.blocked{border-color:#ff697652}.proposal-card.approved{border-color:#47d59047}.proposal-main{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.proposal-main>div{gap:4px;display:grid}.proposal-main>div span,.proposal-main small{color:var(--muted);font-size:.7rem}.proposal-status{color:var(--green);background:#47d59017;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:700}.proposal-status.block{color:var(--red);background:#ff697617}.risk-checks{border:1px solid var(--border);background:var(--border);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:13px;display:grid;overflow:hidden}.risk-checks div{background:#101722;grid-template-columns:1fr auto;gap:4px 8px;padding:9px;display:grid}.risk-checks span,.risk-checks small{color:var(--muted);font-size:.65rem}.risk-checks strong{color:var(--green);font-size:.66rem}.risk-checks div.block strong{color:var(--red)}.risk-checks small{grid-column:1/-1}.proposal-actions{color:var(--muted);justify-content:flex-end;align-items:center;gap:7px;margin-top:13px;font-size:.72rem;display:flex}.ai-shadow-panel{border-color:#9a7dff3d;margin-top:12px}.ai-shadow-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ai-shadow-heading h2{margin:5px 0 0;font-size:1.15rem}.ai-shadow-heading p{color:var(--muted);margin:7px 0 0;font-size:.8rem}.shadow-boundaries{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.shadow-boundaries span{color:#b9a6ff;background:#9a7dff14;border:1px solid #9a7dff47;border-radius:999px;padding:6px 9px;font-size:.67rem}.shadow-layout{grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:12px;margin-top:18px;display:grid}.shadow-input{border:1px solid var(--border);background:#0d131e;border-radius:10px;align-content:start;gap:12px;padding:14px;display:grid}.shadow-input dl{gap:9px;margin:0;display:grid}.shadow-input dl div{justify-content:space-between;gap:12px;font-size:.72rem;display:flex}.shadow-input dt{color:var(--muted)}.shadow-input dd{text-align:right;margin:0}.shadow-decision{background:linear-gradient(145deg,#9a7dff12,#0d131e 55%);border:1px solid #9a7dff47;border-radius:10px;min-height:230px;padding:15px}.shadow-decision.buy{border-color:#ff69764d}.shadow-decision.sell{border-color:#74a9ff4d}.shadow-decision-top{grid-template-columns:1fr 1fr auto;align-items:start;gap:14px;display:grid}.shadow-decision-top>div{gap:4px;display:grid}.shadow-decision-top span{color:var(--muted);font-size:.68rem}.shadow-decision-top strong{font-size:1rem}.shadow-decision>p{color:#c5cfdd;margin:18px 0 0;line-height:1.6}.shadow-decision ul{color:var(--muted);margin:14px 0 0;padding-left:18px;font-size:.74rem;line-height:1.65}.shadow-actions{justify-content:flex-end;gap:7px;margin-top:17px;display:flex}.shadow-empty{border:1px dashed var(--border);min-height:140px;color:var(--muted);border-radius:10px;place-items:center;margin-top:16px;font-size:.8rem;display:grid}.shadow-empty.compact{text-align:center;min-height:230px;margin-top:0;padding:20px}.settings-page{max-width:980px}.settings-section+.settings-section{margin-top:12px}.settings-section-heading p{color:var(--muted);margin:6px 0 0}.notification-form{grid-template-columns:2fr 1fr;gap:14px;margin-top:18px;display:grid}.notification-form .field-label small{color:var(--muted);font-weight:400}.notification-form .automation-market-only,.notification-form .settings-actions{grid-column:1/-1}.notification-events{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.notification-events h3{margin:0 0 9px;font-size:.9rem}.notification-events>p{color:var(--muted);font-size:.78rem}.notification-events article{border-top:1px solid #28364ba6;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;display:flex}.notification-events article>div{gap:4px;display:grid}.notification-events article>div:last-child{text-align:right}.notification-events article strong{font-size:.78rem}.notification-events article strong.warning{color:#ffcb6b}.notification-events article strong.critical{color:var(--red)}.notification-events article span,.notification-events article small{color:var(--muted);font-size:.7rem}.admin-security-history{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;padding-top:18px;display:grid}.admin-security-history>section{border:1px solid var(--border);background:#0d131e;border-radius:10px;min-width:0;padding:14px}.security-list-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.security-list-heading h3{margin:0;font-size:.9rem}.security-list-heading span,.admin-security-history>section>p{color:var(--muted);font-size:.72rem}.admin-security-history article{border-top:1px solid #28364ba6;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.admin-security-history article>div{gap:4px;min-width:0;display:grid}.admin-security-history article strong{font-size:.76rem}.admin-security-history article span{color:var(--muted);overflow-wrap:anywhere;font-size:.68rem}.admin-security-history article .button{flex:none;min-height:30px;padding:5px 9px;font-size:.68rem}.admin-security-history .security-success{color:var(--green)}.admin-security-history .security-failed{color:var(--red)}.strategy-lab{max-width:1180px}.backtest-workbench{padding:0;overflow:hidden}.backtest-form{padding:22px}.backtest-form h2,.backtest-report h2{margin:0}.backtest-form p{color:var(--muted);margin:6px 0 18px}.backtest-fields{grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:18px;display:grid}.backtest-boundary{border-top:1px solid var(--border);background:var(--surface-2);color:var(--muted);gap:12px;padding:13px 22px;font-size:.88rem;display:flex}.backtest-boundary strong{color:var(--text)}.backtest-empty{text-align:center;margin-top:12px;padding:42px}.backtest-empty p{color:var(--muted)}.backtest-report{margin-top:12px}.backtest-report-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.backtest-report-heading>span{color:var(--muted);font-size:.84rem}.backtest-metrics{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:1px;margin:18px 0;display:grid}.backtest-metrics>div{background:var(--surface);flex-direction:column;gap:6px;padding:14px;display:flex}.backtest-metrics span{color:var(--muted);font-size:.8rem}.backtest-metrics strong{font-size:1.05rem}.positive{color:var(--red)}.negative{color:var(--blue)}.equity-chart{border:1px solid var(--border);background:var(--surface-2);color:var(--blue);padding:16px}.equity-chart>div{color:var(--text);justify-content:space-between;display:flex}.equity-chart span{color:var(--muted);font-size:.8rem}.equity-chart svg{width:100%;height:210px;margin-top:8px;display:block}.backtest-trades{margin-top:20px}.backtest-trades h3{font-size:.92rem}.backtest-trades>div{border-top:1px solid var(--border);grid-template-columns:54px 1fr 2fr;align-items:center;gap:12px;padding:10px 0;display:grid}.backtest-trades span{font-weight:700}.backtest-trades .buy{color:var(--red)}.backtest-trades .sell{color:var(--blue)}.backtest-trades small{color:var(--muted);text-align:right}.backtest-history{margin-top:12px}.backtest-history button{border:1px solid #0000;border-top-color:var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:12px;display:flex}.backtest-history button.active{border-color:var(--blue);background:#74a9ff0f}.backtest-history button span{flex-direction:column;gap:4px;display:flex}.backtest-history small{color:var(--muted)}@media (max-width:900px){.backtest-fields,.backtest-metrics{grid-template-columns:repeat(2,1fr)}.backtest-report-heading,.backtest-boundary{flex-direction:column}.backtest-trades>div{grid-template-columns:48px 1fr}.backtest-trades small{text-align:left;grid-column:1/-1}}.status-pill.connected{color:var(--green);background:#47d5901a}.status-pill.failed{color:var(--red);background:#ff69761a}.status-pill.planned{color:var(--blue);background:#74a9ff1a}.credential-details{margin:22px 0 0}.credential-details>div{border-top:1px solid var(--border);grid-template-columns:190px minmax(0,1fr);gap:20px;padding:13px 0;display:grid}.credential-details dt{color:var(--muted)}.credential-details dd{overflow-wrap:anywhere;margin:0}.settings-actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.delete-confirm{color:#ffb1b8;border-top:1px solid #ff69763b;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;margin-top:8px;padding-top:14px;display:flex}.muted-section{color:#aab5c6}.muted-section code{color:#d5deea}.risk-policy-loading{min-height:120px;color:var(--muted);place-items:center;display:grid}.risk-policy-section.halted{box-shadow:inset 3px 0 0 var(--red);border-color:#ff69766b}.risk-policy-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.status-pill.halted{color:var(--red);background:#ff69761f}.risk-policy-form{gap:16px;margin-top:20px;display:grid}.kill-switch-control{border:1px solid var(--border);background:#0d131e;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;padding:15px;display:flex}.kill-switch-control>span{gap:5px;display:grid}.kill-switch-control small,.release-confirmation small{color:var(--muted);line-height:1.45}.kill-switch-control input{width:44px;height:24px;accent-color:var(--red);cursor:pointer}.risk-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.policy-input-row{grid-template-columns:1fr 42px;align-items:center;display:grid}.policy-input-row .text-input{border-radius:8px 0 0 8px}.policy-input-row>span{border:1px solid var(--border);height:100%;color:var(--muted);background:#121b28;border-left:0;border-radius:0 8px 8px 0;place-items:center;font-size:.75rem;display:grid}.policy-reason{justify-content:stretch;gap:8px;display:grid}.release-confirmation{background:#ff69760a;border:1px solid #ff69764d;border-radius:9px;padding:13px}.policy-updated{color:var(--muted);align-self:center;font-size:.72rem}.policy-audits{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.policy-audits h3{margin:0 0 10px;font-size:.9rem}.policy-audits>p{color:var(--muted);font-size:.78rem}.policy-audits article{border-top:1px solid #28364ba6;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;font-size:.76rem;display:flex}.policy-audits article>div{gap:4px;display:grid}.policy-audits article span{color:var(--muted)}.policy-audits .audit-halted{color:var(--red)}.ai-provider-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ai-provider-form{gap:15px;margin-top:20px;display:grid}.provider-selector{grid-template-columns:1fr 1fr;gap:6px;display:grid}.provider-selector button{border:1px solid var(--border);min-height:42px;color:var(--muted);cursor:pointer;background:#0d131e;border-radius:8px}.provider-selector button.active{color:#c3b4ff;background:#9a7dff1a;border-color:#9a7dff80}.ai-enable-control input{accent-color:#9a7dff}.ai-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.provider-safety-note{background:#9a7dff0d;border:1px solid #9a7dff38;border-radius:9px;gap:5px;padding:13px;display:grid}.provider-safety-note strong{color:#c3b4ff;font-size:.8rem}.provider-safety-note span{color:var(--muted);font-size:.72rem;line-height:1.45}.provider-invocations{border-top:1px solid var(--border);margin-top:22px;padding-top:17px}.provider-invocations h3{margin:0 0 10px;font-size:.9rem}.provider-invocations>p{color:var(--muted);font-size:.78rem}.provider-invocations article{border-top:1px solid #28364ba6;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:.74rem;display:flex}.provider-invocations article>div{gap:4px;display:grid}.provider-invocations article span{color:var(--muted)}.provider-invocations .success{color:var(--green)}.provider-invocations .failed{color:var(--red)}.stream-state{color:var(--blue);background:#74a9ff14;border-radius:999px;margin-left:auto;padding:4px 8px;font-size:.65rem;font-weight:700}.stream-state.live{color:var(--green);background:#47d59017}.stream-state.reconnecting{color:var(--red);background:#ff697617}.automation-section.enabled{border-color:#47d5904d;box-shadow:inset 3px 0 #47d590a6}.automation-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.automation-heading p{color:var(--muted);margin:6px 0 0}.automation-boundary{background:#9a7dff0d;border:1px solid #9a7dff38;border-radius:9px;gap:5px;margin-top:18px;padding:13px;display:grid}.automation-boundary strong{color:#c3b4ff;font-size:.8rem}.automation-boundary span{color:var(--muted);font-size:.72rem;line-height:1.45}.automation-form{gap:15px;margin-top:16px;display:grid}.automation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.automation-grid .field-label{align-content:start;gap:8px;display:grid}.automation-grid .field-label small{color:var(--muted);font-weight:400}.automation-market-only{color:#bdc7d5;align-items:center;gap:9px;font-size:.78rem;display:flex}.automation-market-only input{accent-color:var(--green)}.automation-runs{border-top:1px solid var(--border);margin-top:22px;padding-top:17px}.automation-runs h3{margin:0 0 10px;font-size:.9rem}.automation-runs>p{color:var(--muted);font-size:.78rem}.automation-runs article{border-top:1px solid #28364ba6;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:.74rem;display:flex}.automation-runs article>div{gap:4px;display:grid}.automation-runs article span,.automation-runs article small{color:var(--muted)}.automation-runs article small{color:var(--red)}@media (max-width:980px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.market-layout{grid-template-columns:1fr}.account-kpis,.paper-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-grid,.replay-layout,.shadow-layout{grid-template-columns:1fr}.operations-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-grid{grid-template-columns:1fr}.operations-counts>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:14px;position:static}.sidebar-brand{padding:3px 6px 12px}.sidebar-nav{grid-template-columns:1fr 1fr;margin-top:0}.sidebar-nav button:disabled,.sidebar-footer{display:none}.topbar{padding:0 16px;position:static}.page-content{padding-top:28px}}@media (max-width:560px){.onboarding-page{place-items:stretch stretch;padding:0}.onboarding-shell{border:0;border-radius:0;min-height:100vh;padding:28px 20px}.security-note{font-size:.88rem}.secret-input-row{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:flex-start}.summary-grid{grid-template-columns:1fr}.summary-card{min-height:125px}.credential-details>div{grid-template-columns:1fr;gap:5px}.topbar>span:not(.topbar-spacer){display:none}.market-toolbar{flex-direction:column;align-items:stretch}.symbol-form{grid-template-columns:1fr auto}.symbol-form label{grid-column:1/-1}.quote-title{flex-direction:column}.quote-price{justify-items:start}.quote-stats{grid-template-columns:repeat(2,1fr)}.quote-stats div:nth-child(3n){border-right:1px solid var(--border)}.quote-stats div:nth-child(2n){border-right:0}.account-heading{flex-direction:column}.account-kpis{grid-template-columns:1fr}.holdings-heading{flex-direction:column;align-items:flex-start}.paper-summary,.paper-position-list article{grid-template-columns:1fr}.replay-heading,.approval-heading,.ai-shadow-heading{flex-direction:column}.shadow-boundaries{justify-content:flex-start}.risk-checks{grid-template-columns:1fr}.proposal-main{flex-direction:column}.proposal-actions{flex-direction:column;align-items:stretch}.risk-policy-heading{flex-direction:column}.risk-policy-grid{grid-template-columns:1fr}.ai-provider-heading{flex-direction:column}.ai-provider-grid{grid-template-columns:1fr}.automation-heading{flex-direction:column}.automation-grid{grid-template-columns:1fr}.automation-runs article{flex-direction:column;align-items:flex-start}.operations-tools{justify-content:flex-start}.operations-kpis,.operations-counts>div:last-child,.operations-schedulers>div:last-child,.admin-security-grid,.admin-security-history,.notification-form{grid-template-columns:1fr}.notification-form .automation-market-only,.notification-form .settings-actions{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
