:root{--bg:#06101b;--panel:#0c1928;--panel2:#0f2134;--line:#1c334a;--text:#eef6ff;--muted:#7890a8;--accent:#4edaa3;--accent2:#6aa9ff;--danger:#ff647c;--shadow:0 18px 60px rgba(0,0,0,.24)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(circle at 80% -10%,#12304a 0,transparent 36%),linear-gradient(180deg,#06101b,#081522 55%,#06101b);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45;min-height:100vh}button,input,select,textarea{font:inherit}button,a,select,input{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:274px;padding:24px 17px;display:flex;flex-direction:column;background:rgba(6,16,27,.96);border-right:1px solid var(--line);backdrop-filter:blur(18px)}.brand-row{display:flex;align-items:center;gap:11px;padding:0 8px;margin-bottom:24px}.brand-mark{font-weight:950;font-size:26px;letter-spacing:-2px;color:#fff}.brand-mark span{color:var(--accent)}.brand-copy strong{display:block;font-size:18px}.brand-copy small{display:block;color:var(--muted);font-size:10px;line-height:1.2;max-width:150px;margin-top:2px}.sidebar-close{display:none;margin-left:auto}.account-mini{padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,#10263b,#0a1725);margin-bottom:20px}.account-mini strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.account-mini .muted{display:block;font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eyebrow{color:var(--accent);font-weight:850;font-size:10px;letter-spacing:1.8px;margin:0 0 6px}.primary-nav{display:grid;gap:5px}.nav{width:100%;min-height:46px;border:1px solid transparent;background:transparent;color:#92a7bc;border-radius:11px;padding:10px 12px;cursor:pointer;display:flex;align-items:center;gap:11px;text-align:left;font-weight:650}.nav:hover,.nav.active{background:#10243a;color:#fff;border-color:#1c3a57}.nav.active{box-shadow:inset 3px 0 var(--accent)}.nav-icon{width:20px;text-align:center;font-size:17px;color:#7894ad}.nav.active .nav-icon{color:var(--accent)}.sidebar-bottom{margin-top:auto}.user-chip{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#0b1928}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#14334c;color:var(--accent);font-weight:900}.user-copy{min-width:0}.user-copy strong,.user-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small{color:var(--muted);font-size:11px;margin-top:2px}.logout-link{display:flex;align-items:center;gap:8px;color:#9bb0c5;text-decoration:none;min-height:44px;padding:9px 5px}.logout-link:hover,.top-logout:hover{color:#fff}.main{margin-left:274px;width:calc(100% - 274px);padding:30px clamp(20px,4vw,48px) 70px;max-width:1700px}.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.topbar-left{display:flex;gap:13px;align-items:flex-start}.menu-btn{display:none}.topbar h1{margin:0;font-size:31px;letter-spacing:-1.1px;line-height:1.15}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.account-picker select{min-width:210px;max-width:300px;height:44px;padding:0 34px 0 12px;background:#0b1b2c;border:1px solid #2a4864;color:var(--text);border-radius:11px;font-weight:750;outline:none}.account-picker select:focus{border-color:var(--accent)}.instrument-pills{display:flex;gap:6px}.pill{display:inline-flex;align-items:center;height:36px;padding:0 10px;border:1px solid #27425d;background:#0c1c2d;border-radius:999px;color:#b7c9da;font-weight:750;font-size:10px}.date{color:var(--muted);font-size:11px;white-space:nowrap}.top-logout{height:36px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid #243d55;border-radius:9px;color:#a6b9cb;text-decoration:none;font-size:11px;font-weight:750}.page{display:none}.page.active{display:block}.page-intro,.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px}.page-intro h2,.hero-account{font-size:24px;letter-spacing:-.5px;margin:0 0 4px}.page-intro p{margin:0;max-width:760px}.hero-row{padding:17px 19px;border:1px solid #27435e;border-radius:16px;background:linear-gradient(135deg,rgba(16,38,59,.98),rgba(9,23,37,.98));box-shadow:var(--shadow)}.hero-actions{display:flex;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.card{background:linear-gradient(180deg,rgba(15,32,51,.98),rgba(10,24,39,.98));border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:0 12px 45px rgba(0,0,0,.14)}.stat{min-height:135px;display:flex;flex-direction:column;justify-content:center}.stat .label{color:#8196aa;font-size:11px;font-weight:700}.stat .value{font-size:28px;letter-spacing:-.7px;margin:6px 0 3px}.stat-sub{color:#5f7891;font-size:10px}.green{color:var(--accent)!important}.red{color:var(--danger)!important}.blue{color:var(--accent2)!important}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.title-with-icon{display:flex;align-items:center;gap:11px}.title-with-icon h2{margin:0 0 2px}.chart-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#0b2a27;color:var(--accent);font-size:19px}.growth-card{overflow:hidden}.chart-head{align-items:flex-start}.range-buttons{display:flex;gap:3px;padding:4px;background:#091624;border:1px solid #1b3249;border-radius:10px}.range-btn{border:0;background:transparent;color:#7189a1;min-height:34px;padding:0 10px;border-radius:7px;font-size:10px;font-weight:850;cursor:pointer}.range-btn.active,.range-btn:hover{background:#173149;color:#fff}.chart-wrap{position:relative;width:100%;min-height:330px}.chart-wrap canvas{display:block;max-width:100%}.chart-tooltip{position:absolute;display:none;pointer-events:none;z-index:4;min-width:150px;padding:9px 11px;border:1px solid #31506b;border-radius:10px;background:rgba(7,17,29,.96);box-shadow:0 10px 30px rgba(0,0,0,.35)}.chart-tooltip.show{display:block}.chart-tooltip strong,.chart-tooltip span,.chart-tooltip small{display:block}.chart-tooltip strong{font-size:11px}.chart-tooltip span{color:var(--accent);font-size:13px;font-weight:850;margin-top:2px}.chart-tooltip small{color:var(--muted);font-size:10px;margin-top:2px}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#6f879e;padding:30px}.metric-row{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;border-top:1px solid #1c334a;padding-top:14px}.metric-row div{padding:10px 11px;background:#091725;border:1px solid #192e44;border-radius:10px}.metric-row span{display:block;color:#688099;font-size:9px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px}.metric-row b{font-size:13px}.dashboard-grid{grid-template-columns:1.35fr .85fr;margin-top:16px}.table-wrap,.responsive-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:420px}.table th{color:#68819a;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.table th,.table td{padding:11px 8px;border-bottom:1px solid #1a2e43}.table td{color:#dbe7f2;font-size:12px;white-space:nowrap}.symbol-badge{display:inline-flex;padding:4px 7px;border-radius:6px;background:#112b3f;color:#cfe0ef;font-size:10px;font-weight:800}.side{font-size:10px;font-weight:850}.side.buy{color:var(--accent)}.side.sell{color:var(--danger)}.empty-state{min-height:150px;display:grid;place-items:center;text-align:center;padding:20px;color:var(--muted)}.empty-state span{font-size:25px;color:#41627f}.empty-state strong{color:#bcd0e2}.empty-state p{margin:3px 0 0;font-size:11px}.discipline-card{margin-top:16px;display:flex;align-items:center;gap:15px}.discipline-icon{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:#0d2a25;color:var(--accent);font-weight:900;font-size:19px}.discipline-copy{min-width:190px}.discipline-copy h2{margin:0 0 3px;font-size:17px}.discipline-copy p{margin:0;font-size:11px}.discipline-progress{flex:1;min-width:150px}.progress{height:9px;background:#081421;border:1px solid #1a3147;border-radius:99px;overflow:hidden}.progress>div{height:100%;width:0;background:linear-gradient(90deg,#39bf8a,#4edaa3);border-radius:99px;transition:width .25s ease}.btn{min-height:44px;border:1px solid #2b4660;border-radius:10px;padding:9px 14px;background:#11243a;color:#eaf4ff;font-weight:750;cursor:pointer;transition:transform .12s ease,filter .12s ease,background .12s ease}.btn:hover{filter:brightness(1.13)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:wait}.btn.primary{background:var(--accent);border-color:var(--accent);color:#06121e}.btn.danger{background:#351924;border-color:#643041;color:#ff9aaa}.spinner{display:inline-block;width:13px;height:13px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-intro .account-badge,.account-badge{display:inline-flex;align-items:center;min-height:36px;padding:0 11px;border-radius:9px;background:#0d2638;border:1px solid #27455f;color:#bcd1e3;font-weight:750;font-size:11px;white-space:nowrap}.date-card{padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:#0b1928;text-align:right}.date-card strong,.date-card span{display:block}.date-card strong{font-size:12px}.date-card span{color:var(--muted);font-size:10px;margin-top:2px}.checklist-head{align-items:flex-end}.progress-box{min-width:210px}.progress-box small{display:block;text-align:right;margin-top:4px}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-item{display:grid;grid-template-columns:32px 38px 1fr;gap:9px;align-items:start;min-height:110px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#0a1827;transition:border-color .15s,background .15s}.check-item.checked{border-color:#2b8f72;background:#0b211d}.check-number{color:#49657e;font-weight:850;font-size:10px;padding-top:3px}.check-control{position:relative;display:block;width:36px;height:36px;cursor:pointer}.check-control input{position:absolute;opacity:0;width:1px;height:1px}.custom-check{width:28px;height:28px;display:grid;place-items:center;border:1px solid #2b4660;border-radius:8px;color:transparent;background:#091725;font-weight:900;transition:.15s}.check-item.checked .custom-check{background:#164837;border-color:#319b79;color:var(--accent)}.check-content{min-width:0}.check-content b{display:block;margin:1px 0 5px;font-size:13px}.check-content>span{display:block;color:var(--muted);font-size:11px;line-height:1.45}.radio-options{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.radio-options label{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:1px solid #29425c;background:#091522;border-radius:9px;cursor:pointer;color:#dce8f4;font-size:11px}.radio-options input{accent-color:var(--accent)}.radio-options label:has(input:checked){border-color:var(--accent);background:#102c27}.radio-options .warning-choice:has(input:checked){border-color:var(--danger);background:#301821}.notes-field{margin-top:17px}.field label{display:block;color:#a8bacd;font-size:11px;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea,.login-card input{width:100%;background:#081624;border:1px solid #29425c;color:#edf5ff;border-radius:9px;padding:12px;outline:none}.field input,.field select{min-height:44px}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(78,218,163,.08)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.alert{padding:12px 14px;border-radius:10px;margin:12px 0;font-size:12px}.alert.danger{background:#351923;color:#ffb0bd;border:1px solid #643041}.alert.success{background:#102f28;color:#9ff0d2;border:1px solid #276e5a}.notice{padding:13px 14px;border-radius:10px;background:#10243a;color:#b8cbe0;border:1px solid #223e59;margin-bottom:14px}.import-grid{grid-template-columns:1.25fr .75fr}.drop-zone{min-height:210px;border:1px dashed #31516e;border-radius:15px;padding:35px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;background:linear-gradient(145deg,#0a1928,#091523);cursor:pointer}.drop-zone:hover{border-color:#4b7698;background:#0c1d2e}.drop-zone input{display:none}.upload-icon{font-size:28px;color:var(--accent);margin-bottom:5px}.drop-zone strong{font-size:16px}.drop-zone>span:last-of-type{font-size:10px;color:var(--muted)}.file-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;min-height:30px}.file-chip{display:inline-flex;align-items:center;padding:7px 9px;background:#10273a;border:1px solid #294860;border-radius:8px;color:#bfd2e3;font-size:10px}.info-list{display:grid;gap:0}.info-list div{padding:12px 0;border-bottom:1px solid #1b3046}.info-list div:last-child{border-bottom:0}.info-list b,.info-list span{display:block}.info-list b{font-size:11px}.info-list span{color:var(--muted);font-size:10px;margin-top:2px}.account-grid{grid-template-columns:.9fr 1.1fr}.portfolio-total{display:flex;flex-direction:column;align-items:flex-end}.portfolio-total span{font-size:31px;font-weight:900;color:var(--accent);line-height:1}.portfolio-total small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:1px;margin-top:4px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid #1a3046}.account-row:last-child{border-bottom:0}.account-row.selected{margin:0 -8px;padding-left:8px;padding-right:8px;background:#0b211d;border-radius:10px}.account-row.archived{opacity:.7}.account-main{min-width:0}.account-status{display:inline-flex;padding:3px 6px;border-radius:5px;font-size:8px;font-weight:900;letter-spacing:.8px;margin-bottom:5px}.account-status.live{background:#123b30;color:var(--accent)}.account-status.archived{background:#26303a;color:#9aabbc}.account-main strong,.account-main span,.account-main small{display:block}.account-main strong{font-size:14px}.account-main span{font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-main small{color:#6e8499;font-size:9px;margin-top:5px}.account-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.account-actions .btn{min-height:38px;padding:7px 10px;font-size:10px}.account-tip{margin-top:16px;display:flex;gap:10px;align-items:center}.account-tip strong{color:var(--accent);font-size:11px}.account-tip span{color:var(--muted);font-size:10px}.quote-card{display:flex;gap:15px;align-items:flex-start;margin-bottom:16px}.quote-mark{font-size:45px;line-height:.7;color:var(--accent);font-family:Georgia,serif}.big-quote{font-size:23px;line-height:1.25;font-weight:800;letter-spacing:-.4px}.rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rule{min-height:145px}.rule .num{color:var(--accent);font-size:9px;font-weight:900;letter-spacing:1.5px}.rule h3{margin:8px 0 5px;font-size:15px}.rule p{font-size:11px;margin:0}.table-card{margin-top:16px}.toast-stack{position:fixed;z-index:100;right:18px;bottom:18px;display:grid;gap:8px;max-width:min(360px,calc(100vw - 36px))}.toast{display:flex;gap:9px;align-items:center;padding:11px 13px;border:1px solid #294660;border-radius:11px;background:rgba(8,20,33,.97);box-shadow:0 18px 50px rgba(0,0,0,.4);transform:translateY(15px);opacity:0;transition:.22s;color:#dceaf5;font-size:11px}.toast.show{transform:none;opacity:1}.toast>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#12392e;color:var(--accent);font-weight:900}.toast.danger>span{background:#3a1d25;color:var(--danger)}.modal-backdrop{position:fixed;z-index:90;inset:0;background:rgba(1,7,13,.78);display:grid;place-items:center;padding:18px;backdrop-filter:blur(8px)}.modal{width:min(620px,100%);max-height:min(90vh,760px);overflow:auto;background:#0c1c2c;border:1px solid #294660;border-radius:17px;padding:20px;box-shadow:0 30px 100px rgba(0,0,0,.55)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.icon-btn{width:44px;height:44px;border:1px solid #294660;border-radius:10px;background:#0c1c2c;color:#b6c9da;cursor:pointer;font-size:21px;display:grid;place-items:center}.icon-btn:hover{color:#fff;background:#12273c}.login-bg{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% -10%,#173a52 0,transparent 45%),#06101b}.login-shell{width:min(450px,100%)}.login-brand{display:flex;align-items:center;justify-content:center;gap:12px;color:#7690a7;font-size:9px;font-weight:800;letter-spacing:1.3px;margin-bottom:18px}.login-brand .brand-mark{font-size:25px}.login-card{padding:31px;background:linear-gradient(180deg,#102237,#0b1827);border:1px solid #28445f;border-radius:20px;box-shadow:0 30px 100px rgba(0,0,0,.42)}.login-heading{display:flex;align-items:center;gap:7px;color:#8da3b8;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:1px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.login-card h1{font-size:28px;letter-spacing:-.8px;margin:17px 0 4px}.login-card>p{font-size:12px;margin:0 0 20px}.login-label{display:block;color:#9eb1c5;font-size:11px;font-weight:700;margin:17px 0 0}.login-label>input{margin-top:6px;min-height:46px}.password-wrap{position:relative;margin-top:6px}.password-wrap input{padding-right:62px}.password-toggle{position:absolute;right:5px;top:5px;height:36px;padding:0 9px;border:0;background:transparent;color:#7897b0;font-size:10px;font-weight:800;cursor:pointer}.login-btn{margin-top:21px;width:100%;justify-content:center}.login-footer{text-align:center;color:#587087;font-size:9px;letter-spacing:1px;margin-top:15px;text-transform:uppercase}.full{width:100%}
@media(max-width:1150px){.sidebar{width:235px}.main{margin-left:235px;width:calc(100% - 235px)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.account-grid,.import-grid{grid-template-columns:1fr}.topbar h1{font-size:27px}.header-actions .instrument-pills{display:none}}
@media(max-width:900px){.sidebar{transform:translateX(-101%);transition:transform .25s ease;width:min(300px,86vw);box-shadow:20px 0 70px rgba(0,0,0,.45)}.sidebar.open{transform:translateX(0)}.sidebar-close{display:grid}.mobile-scrim{position:fixed;z-index:45;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .2s}.mobile-scrim.show{opacity:1;pointer-events:auto}.main{margin-left:0;width:100%;padding:22px clamp(16px,3vw,30px) 65px}.menu-btn{display:grid}.topbar{align-items:flex-start}.header-actions{display:none}.topbar h1{font-size:25px}.topbar-left{align-items:flex-start}.check-grid{grid-template-columns:1fr}.discipline-card{align-items:flex-start}.discipline-progress{width:100%}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){body{font-size:13px}.main{padding:17px 13px calc(28px + env(safe-area-inset-bottom))}.topbar{margin-bottom:18px}.topbar h1{font-size:21px}.eyebrow{font-size:9px}.hero-row,.page-intro{align-items:flex-start;flex-direction:column;padding:15px}.hero-actions{width:100%}.hero-actions .btn{flex:1}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card{padding:15px;border-radius:14px}.stat{min-height:112px}.stat .value{font-size:22px}.stat-sub{font-size:9px}.chart-head{gap:12px}.range-buttons{width:100%;justify-content:space-between}.range-btn{flex:1;padding:0 5px}.chart-wrap{min-height:285px}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-row div:last-child{grid-column:1/-1}.discipline-card{display:grid;grid-template-columns:42px 1fr}.discipline-copy{min-width:0}.discipline-progress{grid-column:1/-1}.discipline-card>.btn{grid-column:1/-1;width:100%}.form-grid{grid-template-columns:1fr}.actions{flex-direction:column-reverse}.actions .btn{width:100%}.account-row{align-items:flex-start;flex-direction:column}.account-actions{width:100%;justify-content:stretch}.account-actions .btn{flex:1}.account-tip{align-items:flex-start;flex-direction:column}.date-card{width:100%;text-align:left}.quote-card{padding:15px}.big-quote{font-size:19px}.rule-grid{grid-template-columns:1fr}.rule{min-height:auto}.drop-zone{min-height:185px}.modal-backdrop{padding:10px;align-items:end}.modal{max-height:92vh;border-radius:17px 17px 0 0;padding:17px}.toast-stack{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}.login-bg{padding:16px}.login-card{padding:24px}.login-brand span{font-size:8px}.check-item{grid-template-columns:27px 36px 1fr;padding:12px}.check-content b{font-size:12px}.radio-options{display:grid;grid-template-columns:1fr}.radio-options label{min-height:44px}.topbar-left{gap:9px}}
@media(hover:none){.btn,.nav,.icon-btn,.range-btn,.radio-options label,.drop-zone{cursor:default}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
