@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#0b1729;--navy2:#132238;--ink:#172033;--muted:#718096;--line:#e6ebf2;--bg:#f4f7fb;--card:#fff;--blue:#3563e9;--cyan:#13a9bf;--green:#16a36a;--red:#e35353;--amber:#e69b28;--shadow:0 10px 35px rgba(24,39,75,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#7e8da3;margin:0 0 9px}.muted{color:var(--muted)}
.logo-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#386bf0,#16a7c6);font:800 28px Manrope;box-shadow:0 12px 30px #136da34d}.logo-mark.small{width:37px;height:37px;border-radius:11px;font-size:19px;box-shadow:none}
.auth-body{min-height:100vh;background:#091426;overflow:hidden}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;position:relative;z-index:2}.auth-brand{padding:11vh 8vw;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-brand .eyebrow{color:#5bc5db;margin-top:25px}.auth-brand h1{font:700 clamp(42px,4.5vw,68px)/1.08 Manrope;margin:5px 0 22px;letter-spacing:-.04em}.auth-brand h1 span{color:#4fc6db}.auth-copy{max-width:570px;font-size:17px;line-height:1.7;color:#9cacc0}.auth-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px;max-width:720px}.auth-points div{display:flex;gap:12px}.auth-points i{font:600 12px Manrope;color:#4fc6db;border-top:1px solid #296980;padding-top:5px}.auth-points span{display:flex;flex-direction:column}.auth-points b{font-size:13px}.auth-points small{font-size:11px;color:#73859d;margin-top:4px;line-height:1.4}.login-card{background:#fff;margin:6vh 5vw 6vh 0;border-radius:28px;padding:clamp(40px,5vw,76px);display:flex;flex-direction:column;justify-content:center;box-shadow:0 30px 90px #0004}.login-card h2{font:800 34px Manrope;margin:0 0 6px;letter-spacing:-.03em}.login-form{margin-top:30px}.login-form label,.stack-form label,.form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:13px;color:#39465a}.login-form input,.stack-form input,.form-grid input,.form-grid select{width:100%;height:49px;border:1px solid #dce3ec;border-radius:10px;padding:0 14px;outline:none;color:var(--ink);background:#fbfcfe}.login-form input:focus,.stack-form input:focus,.form-grid input:focus,.form-grid select:focus{border-color:#4b72e8;box-shadow:0 0 0 3px #3563e912}.login-form label+label{margin-top:18px}.btn{height:42px;border-radius:9px;border:0;padding:0 18px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-wide{width:100%;height:50px}.login-form .btn{margin-top:25px}.btn-primary{background:linear-gradient(135deg,#3968eb,#3156d2);color:#fff;box-shadow:0 8px 22px #3563e92a}.btn-ghost{background:#fff;border:1px solid #dfe5ed;color:#465368}.btn-success{background:#ddf8eb;color:#08784a}.btn-dark{background:#e9edf3;color:#243249}.btn-danger{background:#fff0f0;color:#cb3939;border:1px solid #ffd9d9}.secure-note{text-align:center;margin-top:28px;font-size:11px;color:#9aa6b5}.secure-note span{color:#25b97b}.mobile-logo{display:none}.auth-orb{position:fixed;border-radius:50%;filter:blur(2px);opacity:.3}.orb-one{width:500px;height:500px;background:#075b84;left:-250px;bottom:-250px}.orb-two{width:300px;height:300px;background:#173b83;top:-150px;left:45%}.alert{padding:13px 16px;border-radius:9px;font-size:13px;margin:15px 0}.alert.error{background:#fff0f0;color:#b83a3a;border:1px solid #ffdada}.alert.success{background:#ebfbf3;color:#08784a;border:1px solid #ccf4df}.alert.dismissible{display:flex;justify-content:space-between}.alert.dismissible button{border:0;background:none;color:inherit;font-size:18px}
.app-body{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--navy);color:#fff;padding:25px 17px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font:600 18px Manrope;padding:0 9px 28px}.brand b{color:#55c1d5}.nav-label{font-size:9px;letter-spacing:.18em;color:#53657c;font-weight:800;margin:17px 12px 8px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav-item{width:100%;height:43px;border:0;background:transparent;color:#8999ae;border-radius:9px;text-decoration:none;padding:0 13px;display:flex;align-items:center;gap:12px;font-size:13px;text-align:left}.nav-item span{width:20px;text-align:center;font-size:17px}.nav-item:hover,.nav-item.active{color:#fff;background:#172941}.nav-item.active{box-shadow:inset 3px 0 #4bc0d5}.sidebar-foot{margin-top:auto;border-top:1px solid #1c2d43;padding:18px 7px 0;display:grid;grid-template-columns:36px 1fr 28px;align-items:center;gap:10px}.user-avatar{width:35px;height:35px;border-radius:10px;background:#244260;display:grid;place-items:center;font-weight:700;color:#63c7da}.sidebar-foot b{font-size:12px;display:block}.sidebar-foot small{font-size:10px;color:#71829a}.sidebar-foot button{border:0;background:none;color:#75869b;font-size:18px}.app-content{margin-left:246px;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:20}.market-clock{display:flex;align-items:center;gap:11px}.market-clock b{font-size:13px;display:block}.market-clock small{font-size:10px;color:#8794a6}.pulse-dot{width:9px;height:9px;border-radius:50%;background:#28b77b;box-shadow:0 0 0 5px #28b77b18}.top-actions{display:flex;gap:10px;align-items:center}.connection-pill{font-size:11px;font-weight:700;padding:8px 11px;border-radius:20px;background:#eafaf2;color:#168457}.connection-pill i{width:6px;height:6px;border-radius:50%;background:#21ad70;display:inline-block;margin-right:5px}.connection-pill.offline{background:#f3f5f8;color:#8793a4}.connection-pill.offline i{background:#a9b2bf}.broker-dot{width:15px;height:15px;border:4px solid #fff;border-radius:50%}.workspace{padding:31px 34px 60px;max-width:1600px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.page-title h1{font:800 27px Manrope;letter-spacing:-.03em;margin:0 0 4px}.page-title>div>p:last-child{font-size:13px;color:#8491a3;margin:0}.strategy-status{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 15px;box-shadow:var(--shadow)}.strategy-status>span{width:10px;height:10px;border-radius:50%;background:#aab4c1}.strategy-status>span.running{background:#23b979;box-shadow:0 0 0 5px #23b97918}.strategy-status small{font-size:8px;color:#93a0af;font-weight:800;letter-spacing:.12em;display:block}.strategy-status b{font-size:12px;text-transform:capitalize}.index-grid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr;gap:16px}.index-card,.metric-card,.control-card,.content-card,.report-filter,.report-metrics article{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.index-card{min-height:130px;padding:23px;display:grid;grid-template-columns:48px 1fr 86px;gap:16px;align-items:center;overflow:hidden}.card-icon{width:45px;height:45px;border-radius:12px;background:#e9f0ff;color:#3867e8;display:grid;place-items:center;font:800 18px Manrope}.bank .card-icon{background:#e6f9f7;color:#099386}.index-card small,.metric-card small{font-size:9px;letter-spacing:.14em;color:#8a97a8;font-weight:800;display:block}.index-card strong{font:700 25px Manrope;display:block;margin:4px 0}.index-card span{font-size:10px;color:#94a0af}.index-card span.positive,.positive{color:var(--green)!important}.index-card span.negative,.negative{color:var(--red)!important}.sparkline{height:38px;display:flex;gap:4px;align-items:flex-end}.sparkline i{width:8px;background:#dce7ff;border-radius:3px 3px 0 0}.sparkline i:nth-child(1){height:20%}.sparkline i:nth-child(2){height:42%}.sparkline i:nth-child(3){height:31%}.sparkline i:nth-child(4){height:63%}.sparkline i:nth-child(5){height:48%}.sparkline i:nth-child(6){height:80%}.sparkline i:nth-child(7){height:69%;background:#6185ea}.bank .sparkline i{background:#ceefeb}.bank .sparkline i:last-child{background:#38ae9f}.metric-card{padding:25px;display:flex;justify-content:center;flex-direction:column}.metric-card strong{font:700 23px Manrope;margin:10px 0 5px}.metric-card span{font-size:10px;color:#98a3b2}.control-card{margin-top:17px;padding:18px 22px;display:flex;align-items:center;gap:20px}.control-copy{display:flex;align-items:center;gap:14px;flex:1}.control-icon{width:42px;height:42px;background:#eef3ff;border-radius:10px;display:grid;place-items:center;color:#426ae1;font-size:20px}.control-copy h3,.section-head h3{font:700 15px Manrope;margin:0 0 4px}.control-copy p,.section-head p{font-size:11px;color:#8a96a6;margin:0}.mode-select{display:flex;background:#f0f3f7;border-radius:8px;padding:3px}.mode-select button{border:0;background:none;height:32px;padding:0 14px;border-radius:6px;font-size:11px;font-weight:700;color:#8793a2}.mode-select button.active{background:#fff;color:#315bdc;box-shadow:0 2px 8px #192d4e16}.control-buttons{display:flex;gap:8px}.content-card{margin-top:17px}.section-head{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.count-badge{font-size:10px;color:#728196;background:#f2f5f8;border-radius:15px;padding:6px 10px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{height:42px;background:#fafbfd;color:#8b98a8;font-size:9px;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:0 22px}td{height:52px;border-top:1px solid #edf0f4;padding:0 22px;color:#4b586b}td b{color:#1c293d}.right{text-align:right}.empty-row td{text-align:center;height:110px;color:#9ba6b3}.tabs{height:55px;display:flex;align-items:flex-end;padding:0 21px;border-bottom:1px solid var(--line);gap:25px}.tabs button{height:55px;border:0;background:none;font-size:12px;color:#8290a2;font-weight:700;border-bottom:2px solid transparent}.tabs button.active{color:#315de0;border-color:#3563e9}.tabs em{font-style:normal;font-size:9px;background:#eff2f6;border-radius:10px;padding:3px 6px;margin-left:4px}.tab-panel{display:none}.tab-panel.active{display:block}.status-chip,.side-chip{font-size:9px;font-weight:800;border-radius:12px;padding:4px 7px;text-transform:uppercase}.status-chip.complete{background:#e9f9f1;color:#148054}.status-chip.rejected,.status-chip.cancelled{background:#fff0f0;color:#c74444}.side-chip.buy{color:#177f58;background:#e8f8f0}.side-chip.sell{color:#cf4444;background:#fff0f0}.logs-panel{padding:5px 22px 15px}.log-item{display:grid;grid-template-columns:75px 58px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f4;font-size:11px}.log-time{color:#98a3b0}.log-level{font-size:8px;font-weight:800;letter-spacing:.08em;color:#25835d}.log-level.error{color:#d04c4c}.log-level.warning{color:#d98e24}.log-item p{margin:0;color:#4e5c6f}.log-details{display:block;color:#8592a3;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:900px}
.modal-backdrop{position:fixed;inset:0;background:#091426a6;backdrop-filter:blur(5px);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{background:#fff;border-radius:19px;box-shadow:0 30px 90px #0005;position:relative;max-height:92vh;overflow-y:auto}.broker-modal{width:min(470px,100%);padding:38px;text-align:center}.modal-close{position:absolute;right:18px;top:15px;border:0;background:#f0f3f7;border-radius:50%;width:30px;height:30px;color:#778397;font-size:18px}.modal-brand{width:58px;height:58px;margin:0 auto 18px;border-radius:15px;display:grid;place-items:center;color:#fff;font:800 27px Manrope}.modal-brand.zerodha,.zerodha-small{background:#ef5a38}.modal h2{font:800 25px Manrope;margin:0 0 8px}.modal-copy{font-size:12px;line-height:1.6;color:#7c899b;margin:0 auto 20px;max-width:360px}.callback-box{position:relative;text-align:left;background:#f4f7fb;border:1px solid #e2e8f0;padding:12px;border-radius:9px;margin-bottom:20px}.callback-box small{font-size:8px;display:block;color:#8290a2;font-weight:800;letter-spacing:.08em}.callback-box code{font-size:10px;color:#40506a;word-break:break-all}.callback-box button{position:absolute;right:7px;top:7px;border:0;background:#fff;border-radius:5px;font-size:9px;padding:5px}.stack-form{text-align:left}.stack-form label+label{margin-top:14px}.stack-form .btn{margin-top:20px}.init-graphic{display:flex;align-items:center;justify-content:center;gap:16px;margin:27px}.init-graphic span{width:50px;height:50px;border-radius:14px;background:#245cdc;color:#fff;display:grid;place-items:center;font:800 21px Manrope}.init-graphic i{color:#8c98a7}.init-graphic .zerodha-small{background:#ef5a38}.broker-modal h3{font:700 17px Manrope}.connected-account{font-size:11px;background:#f4f8f7;color:#4f6b64;padding:10px;border-radius:8px;margin-bottom:16px}.link-button{border:0;background:none;color:#526fe2;font-size:11px;font-weight:700;margin-top:14px}.settings-modal{width:min(870px,100%)}.settings-head{padding:27px 30px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.settings-head h2{margin:0}.settings-head p:last-child{font-size:11px;color:#8794a5;margin:5px 0 0}.setting-section{padding:22px 30px;border-bottom:1px solid var(--line)}.setting-section h3{font:700 13px Manrope;margin:0 0 16px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-grid input,.form-grid select{height:42px}.settings-actions{padding:18px 30px;display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line)}.toast-stack{position:fixed;right:22px;bottom:22px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{width:310px;background:#142238;color:#fff;padding:14px 16px;border-radius:10px;box-shadow:0 15px 40px #0003;font-size:12px;animation:slidein .25s}.toast.error{border-left:4px solid #ed5959}.toast.success{border-left:4px solid #27b879}@keyframes slidein{from{transform:translateX(20px);opacity:0}}
.report-filter{padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.preset-group{display:flex;background:#f1f4f8;padding:3px;border-radius:8px}.preset-group button{border:0;background:none;height:34px;padding:0 15px;border-radius:6px;color:#7d899a;font-size:11px;font-weight:700}.preset-group button.active{background:#fff;color:#315edd;box-shadow:0 2px 8px #00000010}.date-range{display:flex;align-items:flex-end;gap:10px}.date-range label{font-size:9px;color:#8491a3;font-weight:700;display:flex;flex-direction:column;gap:5px}.date-range input{height:35px;border:1px solid #dce3eb;border-radius:7px;padding:0 9px;font-size:11px}.date-range .btn{height:35px}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:17px}.report-metrics article{padding:21px}.report-metrics small{font-size:9px;letter-spacing:.1em;color:#8895a6;font-weight:800}.report-metrics strong{font:700 23px Manrope;display:block;margin:9px 0 3px}.report-metrics span{font-size:10px;color:#9ba6b4}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.chart-card{min-height:400px}.pnl-chart{height:310px;padding:30px;display:flex;align-items:stretch;gap:9px;border-bottom:1px solid #eef1f5}.chart-column{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:23px;position:relative}.chart-column i{display:block;width:70%;min-width:12px;border-radius:4px 4px 0 0;background:linear-gradient(#39bd82,#199c66);min-height:2px;position:relative}.chart-column.negative i{background:linear-gradient(#ed7373,#d54b4b);border-radius:0 0 4px 4px}.chart-column b{font-size:8px;color:#627187;position:absolute;bottom:-20px;white-space:nowrap}.chart-column small{font-size:8px;position:absolute;top:-15px;color:#667489}.empty-chart{margin:auto;color:#9ba6b3;font-size:12px;align-self:center}.mobile-back,.menu-toggle{display:none}
@media(max-width:1100px){.index-grid{grid-template-columns:1fr 1fr}.auth-points{grid-template-columns:1fr}.auth-points div:nth-child(n+2){display:none}.control-card{flex-wrap:wrap}.control-copy{min-width:50%}.report-grid{grid-template-columns:1fr}}
@media(max-width:760px){.auth-shell{display:block;padding:18px}.auth-brand{display:none}.login-card{min-height:calc(100vh - 36px);margin:0;border-radius:20px;padding:34px 26px}.mobile-logo{display:flex;align-items:center;gap:10px;font:700 17px Manrope;margin-bottom:45px}.mobile-logo .logo-mark{width:38px;height:38px;border-radius:11px;font-size:18px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.app-content{margin:0}.topbar{padding:0 15px;height:64px}.menu-toggle{display:block;border:0;background:none;font-size:20px}.market-clock{display:none}.top-actions .btn-ghost{display:none}.connection-pill{display:none}.workspace{padding:21px 14px 45px}.page-title{align-items:flex-start}.page-title h1{font-size:23px}.strategy-status{padding:8px 10px}.index-grid{grid-template-columns:1fr 1fr;gap:10px}.index-card{grid-template-columns:36px 1fr;min-height:105px;padding:15px;gap:10px}.index-card .sparkline{display:none}.card-icon{width:35px;height:35px}.index-card strong{font-size:18px}.metric-card{padding:16px;min-height:95px}.metric-card strong{font-size:18px}.control-card{padding:16px}.control-copy{width:100%;flex-basis:100%}.mode-select{order:2}.control-buttons{order:3;flex:1}.control-buttons .btn{flex:1;padding:0 10px}.section-head{padding:16px}th,td{padding:0 14px;white-space:nowrap}.tabs{overflow-x:auto;gap:18px}.form-grid{grid-template-columns:1fr 1fr}.broker-modal{padding:30px 21px}.settings-modal{height:94vh}.setting-section{padding:20px}.settings-head{padding:22px 20px}.settings-actions{padding:14px 20px}.report-filter{align-items:stretch;gap:15px;flex-direction:column}.date-range{align-items:flex-end}.date-range label{flex:1}.date-range input{width:100%}.report-metrics{grid-template-columns:1fr 1fr;gap:10px}.report-grid{display:block}.report-grid .content-card{margin-top:14px}.reports-workspace .page-title{gap:10px}.mobile-back{display:block;color:#315ddd;text-decoration:none;font-size:12px}.toast{width:calc(100vw - 30px)}.toast-stack{right:15px;bottom:15px}}
@media print{.sidebar,.topbar,.report-filter,.page-title .btn{display:none!important}.app-content{margin:0}.workspace{padding:15px}.content-card,.report-metrics article{box-shadow:none}}
