:root{--bg: #070b16;--rail: #080d1a;--panel: #0c1222;--panel-2: #111a2e;--panel-3: #16213a;--border: #1b2540;--border-2: #26324f;--text: #e8ecf5;--text-2: #a3adc2;--muted: #6c7791;--accent: #3b6ff5;--accent-2: #5b8cff;--accent-soft: rgba(59, 111, 245, .14);--pos: #22c58b;--pos-soft: rgba(34, 197, 139, .12);--neg: #f0526b;--neg-soft: rgba(240, 82, 107, .12);--gold: #e7b84a;--radius: 12px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Onest,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.pos{color:var(--pos)!important}.neg{color:var(--neg)!important}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.app{display:grid;grid-template-columns:92px auto 1fr;height:100%}.rail{background:var(--rail);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:14px 8px;gap:6px}.rail-logo{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:600;margin-bottom:14px}.rail-btn{width:76px;padding:9px 4px;border-radius:10px;border:1px solid transparent;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--text-2);position:relative}.rail-btn:hover{background:var(--panel-2);color:var(--text)}.rail-btn.active{background:var(--panel-3);color:var(--text);border-color:var(--border-2)}.rail-btn.active svg{color:var(--accent-2)}.rail-btn.active:before{content:"";position:absolute;left:-9px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.rail-spacer{flex:1}.subnav{width:232px;background:var(--rail);border-right:1px solid var(--border);padding:22px 14px;display:flex;flex-direction:column;gap:4px}.subnav.collapsed{width:0;padding:0;overflow:hidden;border:0}.subnav-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:0 2px}.subnav-icon{width:34px;height:34px;border-radius:9px;background:var(--panel-3);display:grid;place-items:center;color:var(--accent-2)}.subnav-title{font-size:16px;font-weight:600}.subnav-sub{font-size:11.5px;color:var(--muted)}.subnav-collapse{margin-left:auto;background:none;border:0;color:var(--muted);padding:4px;border-radius:6px}.subnav-collapse:hover{color:var(--text);background:var(--panel-2)}.subnav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:9px;background:none;border:1px solid transparent;text-align:left;color:var(--text-2);font-weight:500}.subnav-item:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--muted)}.subnav-item:hover{background:var(--panel-2);color:var(--text)}.subnav-item.active{background:var(--panel-3);border-color:var(--border-2);color:var(--text)}.subnav-item.active:before{background:var(--accent-2)}.subnav-sep{height:1px;background:var(--border);margin:12px 0}.subnav-note{font-size:12px;color:var(--muted);padding:4px 14px;line-height:1.5}.main{overflow:auto;display:flex;flex-direction:column;min-width:0}.topbar{height:70px;flex:none;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:0 24px;background:var(--rail);position:sticky;top:0;z-index:5}.brand{font-size:21px;font-weight:700;letter-spacing:.06em}.brand b{color:var(--accent-2);font-weight:700}.topbar-spacer{flex:1}.clock{color:var(--accent-2);font-weight:600;font-variant-numeric:tabular-nums}.icon-btn{background:none;border:0;color:var(--text-2);padding:7px;border-radius:8px;display:grid;place-items:center}.icon-btn:hover{color:var(--text);background:var(--panel-2)}.content{padding:24px;display:flex;flex-direction:column;gap:18px;max-width:1560px;width:100%}.page-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.acct{display:flex;align-items:center;gap:12px}.acct-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#7b5cff);display:grid;place-items:center;font-weight:700}.acct-tag{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--neg)}.acct-tag span{color:var(--text-2);font-weight:500;letter-spacing:0}.acct-name{font-size:16px;font-weight:600}.acct-sub{font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:9px;padding:9px 16px;font-weight:600;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text)}.btn:hover{background:var(--panel-3)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-2)}.btn.ghost{background:none}.btn.danger{color:var(--neg)}.btn.sm{padding:6px 10px;font-size:13px}.select{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border-2);border-radius:9px;padding:0 12px;height:40px;font-weight:600}.select select{background:none;border:0;outline:none;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:4px}.select select option{background:var(--panel)}.banner{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.banner-icon{width:36px;height:36px;border-radius:9px;background:var(--accent-soft);color:var(--accent-2);display:grid;place-items:center}.banner-title{font-weight:600;font-size:15px}.banner-sub{color:var(--text-2);font-size:13px}.grid{display:grid;gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;min-width:0}.card-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.card-title{font-size:13px;color:var(--text-2);font-weight:500}.card-title.lg{font-size:15px;color:var(--text);font-weight:600}.card-head .spacer{flex:1}.big{font-size:26px;font-weight:500;letter-spacing:-.01em}.huge{font-size:30px;font-weight:600;letter-spacing:-.01em}.chip{font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent-2)}.chip.pos{background:var(--pos-soft)}.chip.neg{background:var(--neg-soft)}.dash{grid-template-columns:minmax(300px,330px) 1fr 1fr;grid-template-areas:"pnl count streak" "pnl balance balance" "pnl balance balance" "symbols daily daily"}@media(max-width:1100px){.dash{grid-template-columns:1fr 1fr;grid-template-areas:"pnl count" "pnl streak" "balance balance" "symbols symbols" "daily daily"}}.inner{background:var(--panel-2);border-radius:10px;padding:14px;margin:12px 0 4px}.wr-row{display:grid;grid-template-columns:1fr 1fr}.wr-row>div+div{border-left:1px solid var(--border-2);padding-left:14px}.wr-label{font-size:13px;color:var(--text-2)}.wr-val{font-size:18px;font-weight:500;margin-top:2px}.wr-bar{position:relative;height:6px;border-radius:3px;background:var(--border-2);margin:14px 0 8px}.wr-fill{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--accent)}.wr-mark{position:absolute;top:-4px;width:2px;height:14px;background:var(--text);border-radius:1px}.wr-foot{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-2)}.kv{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--border);font-size:13.5px}.kv:last-child{border-bottom:0}.kv span:first-child{color:var(--text-2)}.kv span:last-child{font-weight:600;font-variant-numeric:tabular-nums}.minibars{display:flex;align-items:flex-end;gap:2px;height:34px;margin-top:12px}.minibars i{flex:1;background:var(--accent);border-radius:1px;min-height:3px;opacity:.9}.streaks{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:center;margin-top:6px}.streak-num{font-size:26px;font-weight:600;color:var(--accent-2);display:inline-flex;align-items:center;gap:4px}.streak-unit{font-size:13px;color:var(--text-2);margin-left:6px}.streak-badges{display:flex;gap:4px;justify-content:center;margin-top:6px}.badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:5px;display:inline-flex;gap:10px}.badge.best{background:#3b6ff540}.badge.worst{background:#f0526b38}.sym-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.sym-row:last-child{border-bottom:0}.sym-name{font-weight:600;display:flex;align-items:center;gap:10px}.sym-dot{width:28px;height:28px;border-radius:8px;background:var(--panel-3);display:grid;place-items:center;font-size:11px;color:var(--accent-2);font-weight:700}.sym-bar{height:4px;border-radius:2px;background:var(--border-2);margin-top:5px;overflow:hidden}.sym-bar i{display:block;height:100%;background:var(--accent)}.cal-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.cal-month{font-size:18px;font-weight:600;min-width:150px;text-align:center}.cal-stats{margin-left:auto;display:flex;gap:18px;font-size:13px;color:var(--text-2)}.cal-stats b{color:var(--text);font-weight:600;margin-left:6px}.cal{display:grid;grid-template-columns:repeat(7,1fr) 1.1fr;gap:6px}.cal-dow{font-size:12px;color:var(--muted);text-align:center;padding:6px 0;font-weight:600}.cal-cell{min-height:96px;border-radius:10px;background:var(--panel-2);border:1px solid var(--border);padding:8px 10px;display:flex;flex-direction:column;font-size:12px}.cal-cell.out{opacity:.35}.cal-cell.today{border-color:var(--accent)}.cal-cell.win{background:var(--pos-soft);border-color:#22c58b59}.cal-cell.loss{background:var(--neg-soft);border-color:#f0526b59}.cal-cell.clickable{cursor:pointer}.cal-cell.clickable:hover{filter:brightness(1.25)}.cal-day{color:var(--text-2);font-weight:600;align-self:flex-end}.cal-pnl{font-size:15px;font-weight:700;margin-top:auto}.cal-meta{color:var(--text-2);font-size:11.5px}.cal-week{background:var(--panel);border:1px dashed var(--border-2)}.cal-week .cal-day{align-self:flex-start;color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.input{background:var(--panel);border:1px solid var(--border-2);border-radius:9px;height:40px;padding:0 12px;outline:none;min-width:0}.input:focus{border-color:var(--accent)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--panel);position:sticky;top:0}th.r,td.r{text-align:right}td{padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--panel-2)}.side{font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:5px}.side.Long{background:var(--pos-soft);color:var(--pos)}.side.Short{background:var(--neg-soft);color:var(--neg)}.empty{padding:48px;text-align:center;color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02050cb3;display:grid;place-items:center;z-index:50;padding:16px}.modal{width:min(640px,100%);background:var(--panel);border:1px solid var(--border-2);border-radius:14px;padding:22px;max-height:92vh;overflow:auto}.modal h2{margin:0 0 16px;font-size:18px}.form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-2);font-weight:500}.form .wide{grid-column:span 3}.form .two{grid-column:span 2}.form textarea{min-height:70px;padding:10px 12px;height:auto;resize:vertical}.seg{display:flex;background:var(--panel-2);border:1px solid var(--border-2);border-radius:9px;padding:3px;height:40px}.seg button{flex:1;border:0;background:none;border-radius:7px;font-weight:600;color:var(--text-2)}.seg button.on{background:var(--panel-3);color:var(--text)}.modal-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;align-items:center}.pnl-preview{margin-right:auto;font-size:14px;color:var(--text-2)}.pnl-preview b{font-size:18px;margin-left:6px}.recharts-text{fill:var(--muted);font-size:11.5px}.recharts-cartesian-grid line{stroke:var(--border)}.tt{background:var(--panel-2);border:1px solid var(--border-2);border-radius:8px;padding:8px 10px;font-size:12.5px}.tt div:first-child{color:var(--text-2);margin-bottom:2px}.tt b{font-size:14px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--border-2);border-radius:10px;padding:12px 18px;z-index:60}.wide-modal{width:min(960px,100%)}.hint{font-size:12.5px;color:var(--text-2);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;margin-top:12px;line-height:1.5}.section-label{font-size:13px;font-weight:600;margin:18px 0 10px}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 12px}.map-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-2)}.map-grid select,.form select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.check{display:inline-flex;align-items:center;gap:8px;margin-right:auto;font-size:13px;color:var(--text-2)}.open-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:8px;background:#e7b84a29;color:var(--gold);vertical-align:middle}.fills-wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}@media(max-width:760px){.fills-wrap{grid-template-columns:1fr}}.fills{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.fills-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;font-size:13px}.fills-head .muted{font-weight:400;font-size:12px}.fills-head .btn{margin-left:auto}.fill-row{display:grid;grid-template-columns:.8fr 1fr 1.6fr auto;gap:6px;margin-bottom:6px}.fill-row .input{height:36px;padding:0 8px;font-size:13px}.calc-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:16px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.calc-strip span{display:block;font-size:11.5px;color:var(--muted);margin-bottom:3px}.calc-strip b{font-weight:600}.form-error{margin-top:10px;color:var(--neg);font-size:13px}.icon-btn:disabled{opacity:.3;cursor:default}.btn:disabled{opacity:.5;cursor:default}.side-cell{display:inline-flex;align-items:center;gap:5px}.opt-tag{font-size:10.5px;font-weight:700;padding:3px 6px;border-radius:5px;background:var(--panel-3);color:var(--text-2);letter-spacing:.03em}.opt-tag.sold{color:var(--gold)}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:min(400px,100%);display:flex;flex-direction:column;gap:12px;padding:28px}.auth-card h2{margin:6px 0 0;font-size:20px}.auth-brand{display:flex;align-items:center;gap:12px}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-2);font-weight:500}.sync-status{font-size:12px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{height:100%;display:grid;place-items:center;color:var(--text-2)}.report-bar{display:flex;align-items:center;gap:10px;margin-top:4px}.customize{padding:14px 16px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.toggle-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid var(--border-2);background:var(--panel-2);color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-chip input{display:none}.toggle-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--border-2)}.toggle-chip.on{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.toggle-chip.on:before{background:var(--accent-2)}.journal-tabs{width:240px}.day-card{padding:0;overflow:hidden;border-left:3px solid var(--border-2)}.day-card.day-win{border-left-color:var(--pos)}.day-card.day-loss{border-left-color:var(--neg)}.day-head{width:100%;display:flex;align-items:center;gap:14px;padding:14px 18px;background:none;border:0;text-align:left}.day-head:hover{background:var(--panel-2)}.day-title{font-size:15px;font-weight:600;display:flex;align-items:center}.day-meta{font-size:12.5px;color:var(--text-2);margin-top:3px}.day-pnl{font-size:20px;font-weight:600}.day-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;padding:4px 18px 18px}.day-body.no-trades{grid-template-columns:1fr}@media(max-width:1000px){.day-body{grid-template-columns:1fr}}.day-trades{display:flex;flex-direction:column}.day-trade{display:grid;grid-template-columns:44px minmax(120px,1.2fr) auto 86px minmax(110px,1.3fr);align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.day-trade:last-child{border-bottom:0}.day-time{font-size:12px}.day-sym{background:none;border:0;padding:0;text-align:left;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-sym:hover{color:var(--accent-2)}.day-trade-pnl{text-align:right;font-weight:600}.why-input{background:transparent;border:1px solid transparent;border-radius:7px;padding:5px 8px;font-size:12.5px;color:var(--text-2);min-width:0;outline:none}.why-input:hover{border-color:var(--border-2)}.why-input:focus{border-color:var(--accent);background:var(--panel-2);color:var(--text)}.day-note{display:flex;flex-direction:column;gap:6px}.day-note-head{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--text-2)}.day-note textarea{min-height:150px;height:100%;resize:vertical;padding:10px 12px;line-height:1.55;font-size:13.5px}.period-seg{height:32px;padding:2px}.period-seg button{padding:0 10px;font-size:12.5px;white-space:nowrap}
