:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e8edf4;background:#080b10;font-synthesis:none;--bg: #080b10;--surface: #0e131a;--surface2: #121923;--border: #202a36;--muted: #8490a1;--text: #edf2f8;--green: #2dd4a0;--red: #fb7185;--amber: #f5b84b;--blue: #66a3ff}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 85% -10%,#14273a 0,transparent 27%),var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.app-shell.collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--border);background:#0a0e14;padding:18px 12px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px}.brand-logo-only{justify-content:center;padding-bottom:16px}.brand-logo-img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(45,212,160,.25));-webkit-user-select:none;user-select:none}.sidebar.collapsed .brand-logo-img{width:38px;height:38px}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#2dd4a0,#2b7fff);background:linear-gradient(135deg,var(--brand-a, #2dd4a0),var(--brand-b, #2b7fff));display:grid;place-items:center;color:#04100d;font-weight:900}.brand b,.brand span{display:block;white-space:nowrap}.brand span{font-size:10px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin-top:3px}.sidebar nav{display:grid;gap:3px}.sidebar nav a{height:42px;display:flex;align-items:center;gap:12px;padding:0 12px;color:#9ca7b6;text-decoration:none;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap}.sidebar nav a:hover{background:#111923;color:#fff}.sidebar nav a.active{background:#14251f;color:#d8fff1;border:1px solid #1d4b3b}.side-footer{margin-top:auto}.capital-mini{padding:14px 12px;background:#0f151d;border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.capital-mini span,.capital-mini b{display:block;white-space:nowrap}.capital-mini span{font-size:10px;color:var(--muted);text-transform:uppercase}.capital-mini b{margin-top:5px}.collapse{width:100%;display:flex;align-items:center;gap:10px;color:var(--muted);background:transparent;border:0;padding:10px}.collapsed .brand>div:not(.brand-mark),.collapsed nav span,.collapsed .capital-mini,.collapsed .collapse span,.collapsed .portfolio-switch{display:none}.collapsed .collapse svg{transform:rotate(180deg)}main{min-width:0}.topbar{height:66px;position:sticky;top:0;z-index:20;background:#080b10e8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 26px}.topbar small{color:var(--muted);margin-right:5px}.top-actions{display:flex;align-items:center;gap:9px}.search{display:flex;align-items:center;gap:8px;background:#0f151d;color:var(--muted);border:1px solid var(--border);height:35px;border-radius:8px;padding:0 10px}.search kbd{border:1px solid #344050;border-radius:5px;padding:2px 5px;font-size:10px}.icon-btn{width:35px;height:35px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--border);background:#0f151d;color:#b8c2cf}.primary,.secondary,.danger{border:0;border-radius:8px;height:36px;padding:0 14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{background:var(--green);color:#04110d}.secondary{background:#17202b;color:#dbe4ef;border:1px solid #2a3644}.danger{background:#3a1720;color:#ffc3cd;border:1px solid #682333}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#1b2633;color:#dce7f2;font-size:11px;font-weight:800}.user-menu-wrap{position:relative}.user-avatar{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#2dd4a0,#2b7fff);color:#04100d;font-size:12px;font-weight:900}.user-menu-trigger{cursor:pointer;border:1px solid #2c3a4c}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90}.user-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:100;width:230px;background:#10161e;border:1px solid #2c3948;border-radius:12px;box-shadow:0 18px 50px #0000008c;padding:6px;display:grid;gap:2px;animation:fade-up .18s var(--ease-smooth) both}.user-menu-head{display:flex;align-items:center;gap:10px;padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.user-menu-head .user-avatar{font-size:13px}.user-menu-head b{display:block;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.user-menu-head small{display:block;color:var(--muted);font-size:10.5px}.user-menu>button{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#c8d2df;font-size:12.5px;font-weight:600;cursor:pointer;text-align:left}.user-menu>button:hover{background:var(--surface2);color:var(--text)}.user-menu-sep{height:1px;background:var(--border);margin:4px 2px}.user-menu-signout{color:#ff9aa8}.user-menu-signout:hover{background:#351720!important;color:#ffc3cd!important}.content{padding:28px;max-width:1660px;margin:auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header h1{font-size:28px;letter-spacing:-.035em;margin:5px 0 7px}.page-header p{margin:0;color:var(--muted);max-width:720px;font-size:14px;line-height:1.55}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--green);font-weight:800}.card{background:linear-gradient(180deg,#10161e,#0d1218);border:1px solid var(--border);border-radius:12px}.grid{display:grid;gap:14px}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}.stat-card{padding:17px}.stat-card>span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.stat-card strong{display:block;font-size:22px;margin:9px 0 5px;letter-spacing:-.025em}.stat-card small{color:#697587}.positive{color:var(--green)}.negative{color:var(--red)}.amber{color:var(--amber)}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,.75fr);align-items:start}.dashboard-grid>*{min-width:0}.chart-card{padding:18px;min-height:330px}.card-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.card-title h2{font-size:15px;margin:0}.card-title p{color:var(--muted);font-size:12px;margin:5px 0 0}.chart-wrap{height:255px}.stack{display:grid;gap:14px}.allocation-bar{display:grid;grid-template-columns:140px 1fr 105px;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #18212b}.allocation-bar:last-child{border:0}.allocation-bar b{font-size:13px}.allocation-bar span{font-size:12px;color:var(--muted);text-align:right}.progress{height:6px;background:#1c2732;border-radius:99px;overflow:hidden}.progress i{height:100%;display:block;background:linear-gradient(90deg,#2dd4a0,#65aaff);border-radius:inherit;transition:width .25s}input[type=range].alloc-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:6px;border-radius:99px;background:linear-gradient(90deg,#2dd4a0,#65aaff calc(var(--val, 0) * 1%),#1c2732 calc(var(--val, 0) * 1%));outline:none;cursor:pointer}input[type=range].alloc-range:focus-visible{outline:2px solid #3b9e7d;outline-offset:4px}input[type=range].alloc-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#4d80f6;border:2px solid #eef2f7;box-shadow:0 1px 4px #00000073;cursor:grab}input[type=range].alloc-range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#4d80f6;border:2px solid #eef2f7;cursor:grab}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:11px}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.data-table th{position:sticky;top:0;background:#121923;color:#778497;text-align:left;text-transform:uppercase;letter-spacing:.07em;font-size:10px;padding:12px;z-index:2}.data-table td{padding:12px;border-top:1px solid #19222c;color:#cdd6e1}.data-table tr:hover td{background:#101821}.data-table tbody tr:focus-visible{outline:2px solid #3b9e7d;outline-offset:-2px}.th-sort{background:transparent;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.th-sort:hover,.th-sort:focus-visible{color:var(--text)}.rows-per-page{display:inline-flex;align-items:center;gap:6px;color:#758294}.pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:99px;font-size:10px;font-weight:800;background:#17212d}.pill.long{color:var(--green);background:#123126}.pill.short{color:var(--red);background:#351720}.field{display:grid;gap:7px}.field>span{font-size:11px;color:#9aa6b5;font-weight:650}.field input,.field select,textarea{width:100%;height:39px;background:#090e14;border:1px solid #263241;border-radius:8px;color:var(--text);padding:0 11px;outline:none}.field input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:4px 0;justify-self:start;background:#0a0f16;border:1px solid #2c3948;border-radius:5px;padding:0;cursor:pointer;display:inline-grid;place-content:center;transition:background .15s ease,border-color .15s ease}.field input[type=checkbox]:before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .12s ease-in-out;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);background:#08110d}.field input[type=checkbox]:checked{background:var(--green);border-color:var(--green)}.field input[type=checkbox]:checked:before{transform:scale(1)}.field input[type=checkbox]:hover{border-color:#3b9e7d}.field input[type=checkbox]:focus-visible{border-color:#3b9e7d;box-shadow:0 0 0 3px #2dd4a019}.field input:focus,.field select:focus,textarea:focus{border-color:#3b9e7d;box-shadow:0 0 0 3px #2dd4a019}.field input:disabled{color:#6d7988;background:#0c1117}.field .error,.error{color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.section-card{padding:20px;margin-bottom:14px}.section-card h2{font-size:15px;margin:0 0 15px}.strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-card{padding:19px}.strategy-card header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.strategy-card h3{margin:0;font-size:17px}.metric-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;margin:14px 0}.metric{background:#0a1016;border:1px solid #1a2530;border-radius:8px;padding:10px}.metric span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase}.metric b{display:block;margin-top:5px;font-size:13px}.entry-list{display:flex;gap:6px;flex-wrap:wrap}.entry-chip{padding:7px 9px;border:1px solid #263442;border-radius:7px;font-size:11px;color:#b9c4d1}.empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.empty-orbit{width:55px;height:55px;border-radius:50%;border:1px solid #294537;box-shadow:inset 0 0 0 12px #10251d;margin-bottom:16px}.empty h3{margin:0 0 7px}.empty p{color:var(--muted);max-width:390px;font-size:13px;line-height:1.5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020407c9;z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(560px,100%);max-height:92vh;overflow:auto;background:#10161e;border:1px solid #2c3948;border-radius:14px;box-shadow:0 24px 80px #000;padding:20px}.modal.wide{width:min(850px,100%)}.modal>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal h2{margin:0;font-size:18px}.toast{position:fixed;right:24px;bottom:24px;background:#d8fff1;color:#092018;padding:12px 16px;border-radius:9px;box-shadow:0 12px 40px #0008;z-index:200;font-size:13px;font-weight:750}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}.toolbar input,.toolbar select{height:36px;background:#0d131a;color:#dce5f0;border:1px solid var(--border);border-radius:8px;padding:0 10px}.grow{flex:1}.split{display:flex;align-items:center;justify-content:space-between;gap:15px}.notice{padding:12px 14px;border-radius:9px;border:1px solid #554321;background:#211b0e;color:#f5c766;font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar div{aspect-ratio:1.3;border-radius:5px;background:#142019;display:grid;place-items:center;font-size:9px;color:#7e8c99}.calendar .loss{background:#3b1720;color:#ffacb8}.calendar .win{background:#123d2e;color:#91f0ca}.mobile-menu,.mobile-close{display:none}.tabs{display:flex;gap:5px}.tabs button{background:#111923;border:1px solid var(--border);color:var(--muted);border-radius:7px;padding:6px 9px;font-size:11px}.tabs button.active{color:#fff;background:#1b2734}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-list div{background:#0b1118;border:1px solid #1c2733;padding:11px;border-radius:8px}.detail-list span,.detail-list b{display:block}.detail-list span{font-size:10px;color:var(--muted);text-transform:uppercase}.detail-list b{margin-top:4px}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.strategy-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell,.app-shell.collapsed{display:block}.sidebar{position:fixed;left:-255px;width:244px;transition:left .2s}.sidebar.open{left:0;box-shadow:20px 0 70px #000}.mobile-menu,.mobile-close{display:grid;background:transparent;border:0;color:#c8d2df}.mobile-close{margin-left:auto}.topbar{padding:0 14px}.topbar>div:first-of-type{display:none}.search,.icon-btn,.avatar{display:none}.content{padding:20px 14px}.page-header{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.allocation-bar{grid-template-columns:110px 1fr}.allocation-bar span{grid-column:2}.metric-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:430px){.kpi-grid{grid-template-columns:1fr}.page-header h1{font-size:24px}.top-actions .primary{padding:0 10px}.detail-list{grid-template-columns:1fr}}.boot-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:16px;color:var(--muted)}.portfolio-switch{padding:0 4px 14px;border-bottom:1px solid var(--border);margin-bottom:10px}.portfolio-switch .field{margin:0}.portfolio-switch select{width:100%}.portfolio-actions{display:flex;gap:6px;margin-top:8px}.palette-backdrop{align-items:flex-start;padding-top:12vh;z-index:100}.palette{width:min(560px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 24px 70px #0000008c}.palette-input{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);color:var(--muted)}.palette-input input{flex:1;border:0;background:transparent;color:var(--text);outline:none;font-size:15px}.palette-input kbd{border:1px solid #344050;border-radius:5px;padding:2px 5px;font-size:10px;color:var(--muted)}.palette-list{list-style:none;margin:0;padding:6px;max-height:46vh;overflow-y:auto}.palette-item{border-radius:8px;padding:2px 8px}.palette-item.active{background:#14251f}.palette-group{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:8px 8px 3px}.palette-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;font-size:13px;font-weight:600;color:#c6cfda}.palette-item.active .palette-row{color:#d8fff1}.palette-hint{margin-left:auto;color:var(--muted)}.palette-empty{padding:18px;color:var(--muted);font-size:13px;text-align:center}.backup-notice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.backup-notice span{flex:1;min-width:220px}.tag-row{display:flex;gap:6px;flex-wrap:wrap}.attachment-list{display:flex;gap:8px;flex-wrap:wrap}.attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:12px}.attachment-add{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px dashed var(--border);border-radius:8px;font-size:12px;color:var(--muted);cursor:pointer}.attachment-add:hover{color:var(--text);border-color:var(--muted)}.attachment-link{color:var(--blue);font-size:12px}.heatmap-wrap{overflow-x:auto}.heatmap{display:grid;gap:3px;font-size:11px}.heatmap-row{display:grid;grid-template-columns:36px repeat(12,minmax(24px,1fr)) 76px;gap:3px;align-items:center}.heatmap-header span{color:var(--muted);text-align:center;font-weight:700}.heatmap-row b{text-align:right}.heatmap-row span:not(:first-child){border-radius:5px;min-height:24px;display:grid;place-items:center;color:#e8edf4}.tag-stats{display:grid;gap:8px}.tag-stat{display:grid;grid-template-columns:110px 1fr 48px 40px;gap:10px;align-items:center;font-size:12px}.tag-stat-bar{height:7px;border-radius:4px;background:var(--surface2);overflow:hidden}.tag-stat-bar i{display:block;height:100%;border-radius:4px}.tag-stat small{color:var(--muted);text-align:right}.preset-row{margin-bottom:14px}.preset-chip{display:inline-flex;align-items:center;gap:2px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:3px 4px 3px 10px}.preset-load{border:0;background:transparent;color:var(--text);font-size:12px;font-weight:600;padding:2px 4px}.preset-load:hover{color:var(--green)}.event-list{display:flex;flex-wrap:wrap;gap:6px}.event-chip{display:inline-flex;align-items:center;gap:7px;padding:3px 5px 3px 9px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;font-size:11.5px;color:#c6cfda}.event-chip b{color:var(--text)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 85% -10%,var(--login-glow, #14273a) 0,transparent 27%),var(--bg)}.login-card{width:min(420px,100%);background:var(--login-card, linear-gradient(180deg, #10161e, #0d1218));border:1px solid var(--border);border-radius:16px;padding:32px 28px 24px;box-shadow:var(--login-shadow, 0 30px 80px rgba(0, 0, 0, .5));text-align:center}.login-logo{width:84px;height:84px;object-fit:contain;margin-bottom:10px;filter:drop-shadow(0 4px 18px rgba(45,212,160,.3));-webkit-user-select:none;user-select:none}.login-card h1{margin:0 0 6px;font-size:22px}.login-sub{margin:0 0 20px;color:var(--muted);font-size:12.5px;line-height:1.55}.login-form{display:grid;gap:12px;text-align:left}.login-password{position:relative;display:flex;align-items:center}.login-password input{width:100%;height:39px;background:var(--login-input, #090e14);border:1px solid var(--login-input-border, #263241);border-radius:8px;color:var(--text);padding:0 40px 0 11px;outline:none}.login-password input:focus{border-color:#3b9e7d;box-shadow:0 0 0 3px #2dd4a019}.login-password .icon-btn{position:absolute;right:6px}.login-error{display:flex;align-items:center;gap:8px;color:var(--red);font-size:12.5px}.login-submit{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:8px;height:40px;margin-top:4px}.login-switch{margin-top:14px;background:transparent;border:0;color:var(--green);font-size:12.5px;font-weight:650;cursor:pointer;padding:4px}.login-switch:hover{text-decoration:underline}.login-landing-link{display:flex;width:fit-content;margin:12px auto 0;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:650;text-decoration:none;transition:color .2s ease}.login-landing-link:hover{color:var(--green)}.login-landing-link svg{flex-shrink:0}.login-accounts{margin-top:18px;display:grid;gap:6px}.login-accounts-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.login-account-row{display:flex;align-items:center;gap:6px}.login-account-chip{flex:1;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font-size:12.5px;cursor:pointer;text-align:left}.login-account-chip:hover{border-color:#3b9e7d}.login-hint{margin:18px 0 0;display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:11px;line-height:1.5;text-align:left}.login-hint svg{flex-shrink:0;margin-top:1px}.onboarding{max-width:640px;padding:24px}.admin-entry{display:flex;align-items:center;gap:9px;width:100%;height:38px;padding:0 11px;margin-bottom:8px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;transition:color .15s ease,border-color .15s ease}.admin-entry:hover{color:var(--green);border-color:var(--green)}.sidebar.collapsed .admin-entry span{display:none}.sidebar.collapsed .admin-entry{justify-content:center;padding:0}.admin-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.admin-page-list{display:grid;gap:8px}.admin-page-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.admin-page-row.hidden{opacity:.55;border-style:dashed}.admin-page-order{display:grid;grid-template-columns:auto auto;gap:2px;align-items:center}.drag-handle{display:inline-grid;place-items:center;width:18px;height:24px;color:var(--muted);opacity:.55;cursor:grab}.admin-page-row:active .drag-handle{cursor:grabbing}.admin-page-row.drag-over{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.admin-page-row[draggable=true]{cursor:grab}.admin-page-order .icon-btn{height:24px;width:26px;padding:0}.admin-page-order .icon-btn:disabled{opacity:.3;cursor:default}.admin-page-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:var(--muted)}.admin-page-info b{display:block;color:var(--text);font-size:13px}.admin-page-info small{display:block;color:var(--muted);font-size:10.5px}.admin-page-actions{display:flex;align-items:center;gap:7px}.admin-page-actions .secondary{height:30px;padding:0 12px;font-size:12px}.admin-page-actions .landing-active{color:var(--green);border-color:var(--green)}.admin-hint{margin:10px 0 0;font-size:12px;color:var(--muted)}.admin-accent-row{display:flex;align-items:end;gap:12px}.admin-accent-row input[type=color]{width:44px;height:39px;padding:2px;border:1px solid #263241;border-radius:8px;background:#090e14;cursor:pointer}@media(max-width:900px){.admin-page-grid{grid-template-columns:1fr}.admin-page-row,.admin-accent-row{flex-wrap:wrap}}.onboarding-header h2{margin:6px 0 14px}.onboarding-steps{display:flex;gap:6px}.onboarding-steps i{width:34px;height:5px;border-radius:3px;background:var(--surface2);border:1px solid var(--border)}.onboarding-steps i.done{background:var(--green);border-color:var(--green)}.onboarding-presets{display:grid;gap:8px;margin:6px 0 14px}.preset-card{text-align:left;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface2);color:var(--text)}.preset-card small{display:block;margin-top:4px;color:var(--muted)}.preset-card.active{border-color:var(--green);background:#14251f}.onboarding-done p{color:#9aa7b6}.side-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.side-actions button{display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 8px;border-radius:8px;border:1px solid var(--border);background:#0f151d;color:var(--muted);font-size:12px;font-weight:600}.side-actions button:hover:not(:disabled){color:var(--text);border-color:#2a3644}.side-actions button:disabled{opacity:.4;cursor:default}.collapsed .side-actions span{display:none}.collapsed .side-actions{grid-template-columns:1fr}.insights-card{margin-bottom:16px}.insight-list{display:grid;gap:8px}.insight{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:10px 12px;background:#0f151d;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;align-items:center;transition:transform .12s ease,border-color .12s ease}.insight:hover{transform:translateY(-1px);border-color:#2a3644}.insight-badge{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:14px}.insight-positive .insight-badge{background:#2dd4a02e;color:var(--green)}.insight-warning .insight-badge{background:#f5b84b2e;color:var(--amber)}.insight-negative .insight-badge{background:#fb71852e;color:var(--red)}.insight-neutral .insight-badge{background:#788ca02e;color:var(--muted)}.insight-body b{display:block;font-size:13px;margin-bottom:2px}.insight-body p{font-size:12px;color:var(--muted);margin:0;line-height:1.4}.watchlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.watchlist-card{display:flex;flex-direction:column;gap:10px;padding:14px;background:#0f151d;border:1px solid var(--border);border-radius:12px;transition:transform .12s ease}.watchlist-card:hover{transform:translateY(-1px)}.watchlist-card header{display:flex;gap:8px;align-items:center}.watchlist-card header b{font-size:14px}.watchlist-card.status-won{border-color:#2dd4a066}.watchlist-card.status-lost{border-color:#fb718566}.watchlist-card.status-expired{opacity:.7}.watchlist-grid-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.watchlist-grid-stats div{background:#0a0e14;border-radius:6px;padding:6px 8px}.watchlist-grid-stats span{display:block;font-size:9px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.watchlist-grid-stats b{font-size:13px;font-weight:600}.watchlist-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.watchlist-card small{display:block;font-size:11px;color:var(--muted)}.watchlist-card footer{display:flex;gap:6px;margin-top:auto}.switch{position:relative;display:inline-block;width:36px;height:20px}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#1d2732;border-radius:20px;transition:background .18s ease}.switch span:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#edf2f8;border-radius:50%;transition:transform .18s ease}.switch input:checked+span{background:var(--green)}.switch input:checked+span:before{transform:translate(16px)}td.amber{color:var(--amber)!important}.calendar-grid{display:flex;flex-direction:column;gap:6px}.calendar-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-header{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.calendar-header span{text-align:center;padding:4px 0}.calendar-cell{border:1px solid var(--border);border-radius:8px;padding:8px;min-height:80px;display:flex;flex-direction:column;gap:4px;text-align:left;cursor:pointer;background:#788ca00a;font:inherit;color:inherit;transition:transform .12s ease,border-color .12s ease}.calendar-cell:hover{transform:translateY(-1px);border-color:#2a3644}.calendar-cell.empty{cursor:default;background:transparent;border-color:transparent}.calendar-cell.win{border-color:#2dd4a04d}.calendar-cell.loss{border-color:#fb71854d}.calendar-cell .day-num{font-size:11px;color:var(--muted);font-weight:600}.calendar-cell .day-pnl{font-size:13px;font-weight:700}.calendar-cell .day-trades{font-size:10px;color:var(--muted)}.year-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.year-pill{border:1px solid var(--border);border-radius:8px;padding:6px 8px;text-align:center;background:transparent;color:inherit;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:2px}.year-pill.active{border-color:var(--amber);background:#f5b84b1a}.year-pill b{font-size:11px;text-transform:uppercase}.year-pill small{font-size:11px;color:var(--muted)}.year-pill.win small{color:var(--green)}.year-pill.loss small{color:var(--red)}.provider-hint{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.calculator-note{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:12px}.button-row{display:flex;gap:6px}.editor-stack{display:grid;gap:13px;margin-top:13px}.paste-input{height:160px;padding-top:10px;font-family:ui-monospace,monospace;font-size:12px;width:100%}.brand{padding-bottom:18px}.sidebar nav{gap:2px;overflow-y:auto;min-height:0;padding-right:2px}.sidebar nav a{height:38px;font-size:12px}.side-footer{padding-top:8px}.strategy-tabs{display:flex;gap:7px;overflow-x:auto;margin:-8px 0 14px;padding:4px 0}.strategy-tab{display:flex;border:1px solid var(--border);border-radius:8px;background:#0d131a;overflow:hidden;flex:0 0 auto}.strategy-tab.active{border-color:#347b64;background:#12231d}.strategy-tab button{border:0;background:transparent;color:#7f8b9b;padding:8px 11px;font-size:11px;font-weight:700}.strategy-tab.active button{color:#d8fff1}.strategy-tab button+button{padding-left:5px}.options-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.options-kpis .stat-card strong{font-size:19px;overflow-wrap:anywhere}.option-builder-title{align-items:center}.option-actions{margin:0}.option-settings{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,.3fr);gap:13px;max-width:600px;margin-bottom:16px}.option-leg-list{display:grid;gap:9px}.option-leg{display:grid;grid-template-columns:70px repeat(5,minmax(110px,1fr)) 38px;align-items:end;gap:10px;background:#0a1016;border:1px solid #1c2833;border-left:3px solid var(--green);border-radius:9px;padding:12px}.option-leg.short{border-left-color:var(--red)}.option-leg-index{align-self:center}.option-leg-index span,.option-leg-index b{display:block}.option-leg-index span{font-size:9px;color:var(--muted);text-transform:uppercase}.option-leg-index b{font-size:14px;margin-top:4px;color:var(--green)}.option-leg.short .option-leg-index b{color:var(--red)}.option-remove{margin-bottom:2px}.option-remove:disabled{opacity:.35;cursor:not-allowed}.option-chart-card{margin-bottom:14px}.chart-scale{display:flex;gap:8px;align-items:end}.chart-scale .field{width:112px}.option-payoff-chart{height:340px}.calculator-note{display:flex;align-items:center;gap:7px;color:#748192;border-top:1px solid #1b2530;padding-top:12px;font-size:11px}.page-header>.primary,.page-actions button{white-space:nowrap}.page-actions{margin:0}.monte-error{margin-bottom:14px;border-color:#66313c;background:#261217;color:#ff9bab}.monte-controls .card-title{align-items:center}.model-badge{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #25483b;border-radius:7px;background:#10231c;color:#78dcb9;font-size:10px;font-weight:800}.monte-form-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px}.asset-picker{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.asset-chip{height:32px;padding:0 10px;border:1px solid #273340;background:#0b1118;color:#748193;border-radius:7px;font-size:11px;font-weight:800}.asset-chip i{display:inline-block;width:7px;height:7px;background:var(--asset-color);border-radius:50%;margin-right:7px;opacity:.45}.asset-chip.active{border-color:#3a5a52;background:#121a22;color:#e3eaf2}.asset-chip.active i{opacity:1}.monte-run-row{display:flex;justify-content:space-between;align-items:center;padding-top:13px;border-top:1px solid #19232d;color:#748192;font-size:11px}.monte-run{min-width:160px}.primary:disabled{opacity:.45;cursor:not-allowed}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.monte-primary-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);align-items:stretch;margin-bottom:14px}.monte-frontier-card,.allocation-result{margin:0;min-height:390px}.monte-frontier-chart{height:315px}.weight-list{display:grid;gap:14px}.weight-row{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.weight-row>div{display:flex;align-items:center;gap:8px;font-size:12px}.weight-row>div i{width:8px;height:8px;border-radius:50%}.weight-row>strong{font-size:12px}.weight-row>span{grid-column:1/-1;height:5px;border-radius:5px;background:#1a2530;overflow:hidden}.weight-row>span i{display:block;height:100%;border-radius:inherit}.monte-growth-card{margin-bottom:14px}.monte-growth-chart{height:360px}.monte-detail-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:start}.model-comparison,.correlation-card{margin:0}.risk-detail{margin-top:14px}.correlation-grid{display:grid;gap:5px;overflow-x:auto;align-items:center}.correlation-grid>b{font-size:9px;color:#778495;text-align:center}.correlation-grid>span{min-width:42px}.correlation-row>b{font-size:10px;color:#95a1b0}.correlation-row>span{min-width:42px;min-height:36px;display:grid;place-items:center;border-radius:6px;color:#f3f7fb;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.allocation-strategy-grid{margin-bottom:30px}.asset-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.asset-kpi-grid .stat-card{min-height:112px;padding:20px}.asset-management-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.65fr);align-items:start;gap:18px}.asset-table-card{padding:12px;overflow:hidden}.asset-table-card .table-wrap{border-radius:9px}.asset-table{min-width:720px}.asset-table th,.asset-table td{padding:12px 10px}.table-input{width:100%;height:38px;background:#090e14;border:1px solid #263241;border-radius:7px;color:var(--text);padding:0 10px;outline:none;font-variant-numeric:tabular-nums}.table-input:focus{border-color:#3b9e7d;box-shadow:0 0 0 3px #2dd4a019}.asset-name-input{min-width:96px;font-weight:750}.asset-color{width:36px;height:31px;border:0;padding:0;background:transparent}.asset-weight{display:grid;grid-template-columns:62px auto;align-items:center;gap:9px}.asset-weight>div{height:6px;background:#1b2632;border-radius:99px;overflow:hidden}.asset-weight i{display:block;height:100%;border-radius:inherit}.asset-weight b{font-size:11px}.asset-delete{color:#d78a96}.asset-mix-card{min-height:430px;padding:20px}.asset-mix-chart{height:260px;position:relative}.chart-tip{background:#111923;border:1px solid #2c3948;border-radius:8px;box-shadow:0 8px 24px #0000008c;padding:8px 11px;display:grid;gap:3px}.chart-tip b{color:var(--text);font-size:12px}.chart-tip span{color:var(--green);font-size:12px;font-weight:700}.chart-tip small{color:var(--muted);font-size:10.5px}.chart-empty{height:260px;margin-top:-260px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;line-height:1.6;padding:30px}.asset-total{border-top:1px solid #1b2530;padding-top:16px;margin-top:4px}.asset-total span,.asset-total b,.asset-total small{display:block}.asset-total span{font-size:10px;color:var(--muted);text-transform:uppercase}.asset-total b{font-size:22px;margin:6px 0}.asset-total small,.modal-copy{color:var(--muted);font-size:12px;line-height:1.55}@media(max-width:1280px){.option-leg{grid-template-columns:70px repeat(3,minmax(110px,1fr)) 38px}.monte-form-grid{grid-template-columns:repeat(3,1fr)}.asset-management-grid{grid-template-columns:1fr}}@media(max-width:1100px){.options-kpis{grid-template-columns:repeat(2,1fr)}.monte-primary-grid,.monte-detail-grid{grid-template-columns:1fr}.asset-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-kpi-grid .stat-card:last-child{grid-column:1/-1}}@media(max-width:760px){.search,.top-actions>.icon-btn,.avatar{display:none}.option-settings{grid-template-columns:1fr}.option-leg{grid-template-columns:1fr 1fr;padding:13px}.option-leg-index{grid-column:1/-1}.option-remove{display:grid;margin-top:17px}.option-builder-title,.monte-controls .card-title{display:block}.option-actions{margin-top:12px}.chart-scale{width:100%;margin-top:12px;flex-wrap:wrap}.option-payoff-chart,.monte-growth-chart{height:300px}.monte-form-grid{grid-template-columns:1fr}.monte-run-row{align-items:flex-start;gap:12px;flex-direction:column}.monte-run{width:100%}.page-actions{display:flex}.correlation-card{overflow:hidden}.asset-kpi-grid{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.asset-kpi-grid .stat-card:last-child{grid-column:auto}.asset-kpi-grid .stat-card{min-height:0;padding:18px}.asset-management-grid{gap:16px}.asset-table-card{padding:9px}.asset-table .asset-delete{display:grid}.asset-mix-card{min-height:400px}}@media(max-width:430px){.options-kpis,.option-leg{grid-template-columns:1fr}.option-leg-index{grid-column:auto}.option-payoff-chart,.monte-frontier-chart,.monte-growth-chart{height:270px}}:root{--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--dur-micro: .16s;--dur-fast: .24s;--dur-enter: .42s;--glow-green: 0 0 0 1px rgba(45, 212, 160, .28), 0 12px 32px -8px rgba(45, 212, 160, .22);--shadow-lift: 0 16px 40px -18px rgba(0, 0, 0, .65);--focus-ring: 2px solid #2dd4a0}::selection{background:#2dd4a052;color:#eafff7}:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:#223042 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1d2938;border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#2c3d52;background-clip:content-box;border:2px solid transparent}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.aurora:before,.aurora:after{content:"";position:absolute;width:42vw;height:42vw;min-width:480px;min-height:480px;border-radius:50%;filter:blur(110px);opacity:.16;will-change:transform}.aurora:before{background:radial-gradient(circle,#1f8f6e 0%,transparent 65%);top:-18vw;right:-10vw;animation:aurora-drift-a 34s var(--ease-smooth) infinite alternate}.aurora:after{background:radial-gradient(circle,#1f4f9e 0%,transparent 65%);bottom:-20vw;left:-12vw;animation:aurora-drift-b 44s var(--ease-smooth) infinite alternate}@keyframes aurora-drift-a{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-9vw,7vh,0) scale(1.18)}}@keyframes aurora-drift-b{0%{transform:translateZ(0) scale(1.1)}to{transform:translate3d(8vw,-6vh,0) scale(.95)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer-sweep{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes pulse-ring{0%{transform:scale(.82);opacity:.9}70%{transform:scale(1.5);opacity:0}to{transform:scale(1.5);opacity:0}}@keyframes soft-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes draw-stroke{0%{stroke-dashoffset:var(--dash, 400)}to{stroke-dashoffset:0}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes gradient-pan{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes toast-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.page-shell{animation:fade-up .38s var(--ease-out-quint) both}.page-shell:has(.modal-backdrop){animation:none}.kpi-grid>.stat-card{animation:fade-up .48s var(--ease-out-quint) both}.kpi-grid>.stat-card:nth-child(1){animation-delay:40ms}.kpi-grid>.stat-card:nth-child(2){animation-delay:.11s}.kpi-grid>.stat-card:nth-child(3){animation-delay:.18s}.kpi-grid>.stat-card:nth-child(4){animation-delay:.25s}.kpi-grid>.stat-card:nth-child(5){animation-delay:.32s}.kpi-grid>.stat-card:nth-child(6){animation-delay:.39s}.dashboard-grid>.stack>.card,.section-card,.insights-card{animation:fade-up .52s var(--ease-out-quint) both;animation-delay:.22s}.insight-list .insight{animation:fade-up .42s var(--ease-out-quint) both}.insight-list .insight:nth-child(1){animation-delay:.26s}.insight-list .insight:nth-child(2){animation-delay:.33s}.insight-list .insight:nth-child(3){animation-delay:.4s}.insight-list .insight:nth-child(4){animation-delay:.47s}.insight-list .insight:nth-child(5){animation-delay:.54s}.insight-list .insight:nth-child(6){animation-delay:.61s}.watchlist-grid>.watchlist-card{animation:fade-up .46s var(--ease-out-quint) both}.watchlist-grid>.watchlist-card:nth-child(1){animation-delay:60ms}.watchlist-grid>.watchlist-card:nth-child(2){animation-delay:.13s}.watchlist-grid>.watchlist-card:nth-child(3){animation-delay:.2s}.watchlist-grid>.watchlist-card:nth-child(4){animation-delay:.27s}.watchlist-grid>.watchlist-card:nth-child(n+5){animation-delay:.34s}.reveal{opacity:0;transform:translateY(18px);transition:opacity .56s var(--ease-out-quint),transform .56s var(--ease-out-quint);transition-delay:var(--reveal-delay, 0ms)}.reveal.revealed{opacity:1;transform:translateY(0)}.card{transition:border-color var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth),transform var(--dur-fast) var(--ease-out-quint)}.card:hover{border-color:#2b3a4c}.stat-card,.chart-card,.watchlist-card,.strategy-card{position:relative;overflow:hidden}.stat-card:after,.chart-card:after,.watchlist-card:after{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(45,212,160,.45),transparent);opacity:0;transition:opacity var(--dur-fast) var(--ease-smooth);pointer-events:none}.stat-card:hover,.chart-card:hover,.watchlist-card:hover,.strategy-card:hover{transform:translateY(-3px);border-color:#2e4155;box-shadow:var(--shadow-lift)}.stat-card:hover:after,.chart-card:hover:after,.watchlist-card:hover:after{opacity:1}.stat-card .sheen{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit}.stat-card .sheen:before{content:"";position:absolute;inset:-40% auto -40% 0;width:55%;background:linear-gradient(105deg,transparent,rgba(190,240,220,.055),transparent);transform:translate(-140%)}.stat-card:hover .sheen:before{animation:shimmer-sweep .9s var(--ease-smooth)}.stat-card strong{display:flex;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums}.stat-spark{margin-left:auto;align-self:center;flex:none;opacity:.9}.stat-spark path{stroke-dasharray:var(--dash, 200);animation:draw-stroke 1.1s var(--ease-out-quint) .25s both}.stat-spark .spark-dot{opacity:0;animation:fade-in .4s var(--ease-smooth) .95s both}.primary{position:relative;background:linear-gradient(135deg,#2dd4a0,#26b98c 55%,#1fa87f);box-shadow:0 1px #ffffff2e inset,0 8px 22px -10px #2dd4a08c;overflow:hidden;transition:transform var(--dur-micro) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth),filter var(--dur-fast) var(--ease-smooth)}.primary:hover{filter:brightness(1.08);box-shadow:0 1px #ffffff38 inset,0 10px 26px -8px #2dd4a0b3;transform:translateY(-1px)}.primary:active{transform:translateY(0) scale(.972);filter:brightness(.96)}.primary:after{content:"";position:absolute;inset:0 auto 0 0;width:45%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);transform:translate(-140%);pointer-events:none}.primary:hover:after{animation:shimmer-sweep .75s var(--ease-smooth)}.secondary,.icon-btn{transition:border-color var(--dur-fast) var(--ease-smooth),background var(--dur-fast) var(--ease-smooth),transform var(--dur-micro) var(--ease-smooth),color var(--dur-fast) var(--ease-smooth)}.secondary:hover,.icon-btn:hover{border-color:#33465b;background:#1a2532;transform:translateY(-1px)}.secondary:active,.icon-btn:active{transform:scale(.96)}.danger{transition:transform var(--dur-micro) var(--ease-smooth),filter var(--dur-fast) var(--ease-smooth)}.danger:hover{filter:brightness(1.12)}.danger:active{transform:scale(.972)}.search{transition:border-color var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth)}.search:hover{border-color:#33465b;box-shadow:0 4px 14px -8px #2dd4a059}.search kbd{transition:transform var(--dur-micro) var(--ease-smooth)}.search:hover kbd{transform:translateY(1px)}.sidebar{background:linear-gradient(180deg,#0b1017,#090d13)}.sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(45,212,160,.05),transparent 22%);opacity:0;pointer-events:none}.sidebar nav a{position:relative;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-smooth),color var(--dur-fast) var(--ease-smooth),border-color var(--dur-fast) var(--ease-smooth),transform var(--dur-micro) var(--ease-out-quint)}.sidebar nav a:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:4px;background:linear-gradient(180deg,#2dd4a0,#2b7fff);transform:scaleY(0);transform-origin:center;transition:transform .26s var(--ease-spring)}.sidebar nav a:hover:before{transform:scaleY(.55);opacity:.45}.sidebar nav a.active:before{transform:scaleY(1);opacity:1}.sidebar nav a.active{background:linear-gradient(90deg,rgba(45,212,160,.14),rgba(43,127,255,.07) 70%,transparent);border-color:#1d4b3b;box-shadow:inset 0 1px #2dd4a01f}.sidebar nav a svg{transition:transform var(--dur-fast) var(--ease-spring)}.sidebar nav a:hover svg{transform:scale(1.14)}.sidebar nav a:active svg{transform:scale(.92)}.sidebar nav a{animation:fade-up .46s var(--ease-out-quint) both;animation-delay:calc(60ms + var(--i, 0) * 28ms)}.brand{animation:fade-up .42s var(--ease-out-quint) both}.portfolio-switch{animation:fade-up .42s var(--ease-out-quint) 90ms both}.side-footer{animation:fade-up .42s var(--ease-out-quint) .16s both}.topbar{animation:fade-in .48s var(--ease-smooth) both}.brand-mark{position:relative;box-shadow:0 6px 18px -6px #2dd4a073}.brand-mark:hover{animation:brand-tilt .7s var(--ease-spring)}@keyframes brand-tilt{0%{transform:rotate(0) scale(1)}30%{transform:rotate(-7deg) scale(1.07)}65%{transform:rotate(4deg) scale(1.03)}to{transform:rotate(0) scale(1)}}.logo-svg .logo-line{stroke-dasharray:46;stroke-dashoffset:46;animation:draw-stroke 1.15s var(--ease-out-quint) .15s both;--dash: 46}.logo-svg .logo-dot{opacity:0;animation:fade-in .4s var(--ease-smooth) .95s both}.logo-svg .logo-candle{opacity:0;animation:fade-up .52s var(--ease-out-quint) both}.logo-svg .logo-candle:nth-of-type(1){animation-delay:.35s}.logo-svg .logo-candle:nth-of-type(2){animation-delay:.5s}.logo-svg .logo-candle:nth-of-type(3){animation-delay:.65s}.theme-toggle{position:relative}.theme-toggle svg{position:absolute;transition:transform .46s var(--ease-spring),opacity .24s var(--ease-smooth)}.theme-toggle .icon-moon{opacity:1;transform:rotate(0) scale(1)}.theme-toggle .icon-sun{opacity:0;transform:rotate(120deg) scale(.4)}html[data-theme=light] .theme-toggle .icon-moon{opacity:0;transform:rotate(-120deg) scale(.4)}html[data-theme=light] .theme-toggle .icon-sun{opacity:1;transform:rotate(0) scale(1)}.avatar{background:linear-gradient(135deg,#22303f,#1a2430);border:1px solid #2c3a4c;transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-smooth)}.avatar:hover{transform:scale(1.08);box-shadow:0 0 0 4px #2dd4a01f}.data-table tbody tr{transition:background var(--dur-micro) var(--ease-smooth)}.data-table tbody tr:hover td{background:#101b26}.data-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 #2dd4a0}.pill{transition:transform var(--dur-micro) var(--ease-spring)}.pill.long{background:linear-gradient(135deg,#123126,#0f2a20);box-shadow:inset 0 0 0 1px #2dd4a038}.pill.short{background:linear-gradient(135deg,#351720,#2c1219);box-shadow:inset 0 0 0 1px #fb718538}.progress i{position:relative;background:linear-gradient(90deg,#2dd4a0,#65aaff);transition:width .7s var(--ease-out-quint)}.progress i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.35) 50%,transparent 80%);background-size:220% 100%;animation:gradient-pan 2.2s var(--ease-smooth) infinite;border-radius:inherit}.skeleton{position:relative;overflow:hidden;background:#10161e;border-radius:10px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(150,180,210,.07),transparent);animation:shimmer-sweep 1.4s var(--ease-smooth) infinite}.modal-backdrop{animation:fade-in .18s var(--ease-smooth) both}.modal{animation:pop-in .3s var(--ease-spring) both;background:linear-gradient(180deg,#131a24,#10161e);box-shadow:0 24px 80px #0009,0 0 0 1px #2dd4a00f}.modal>header h2{background:linear-gradient(90deg,#f2f7fc,#c8d6e4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.palette-backdrop{animation:fade-in .16s var(--ease-smooth) both}.palette{animation:palette-in .28s var(--ease-out-quint) both;background:linear-gradient(180deg,#131b26,#0f151d);box-shadow:0 30px 90px #000000a6,0 0 0 1px #66a3ff14}@keyframes palette-in{0%{opacity:0;transform:translateY(-14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.palette-item{transition:background var(--dur-micro) var(--ease-smooth)}.palette-row svg{transition:transform var(--dur-micro) var(--ease-spring)}.palette-item.active .palette-row svg{transform:scale(1.15)}.palette-item.active{background:linear-gradient(90deg,#2dd4a024,#2b7fff0f);box-shadow:inset 0 0 0 1px #2dd4a038}.toast{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#173229,#10251e);border:1px solid rgba(45,212,160,.35);box-shadow:0 18px 50px #0000008c,0 0 24px -6px #2dd4a04d;animation:toast-in .38s var(--ease-spring) both;overflow:hidden;padding-right:12px}@keyframes toast-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#2dd4a02e;color:#2dd4a0;flex:none;animation:pop-in .34s var(--ease-spring) .12s both}.toast-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left;background:linear-gradient(90deg,#2dd4a0,#65aaff);animation:toast-bar 2.4s linear both}.empty .empty-orbit{border:0;box-shadow:none;width:74px;height:74px;margin-bottom:20px;position:relative;display:grid;place-items:center}.empty .empty-orbit:before,.empty .empty-orbit:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid rgba(45,212,160,.5)}.empty .empty-orbit:before{animation:pulse-ring 2.4s var(--ease-smooth) infinite}.empty .empty-orbit:after{animation:pulse-ring 2.4s var(--ease-smooth) .8s infinite}.empty-art{color:#2dd4a0;animation:float-y 4.5s var(--ease-smooth) infinite;filter:drop-shadow(0 10px 22px rgba(45,212,160,.16))}.empty h3{animation:fade-up .42s var(--ease-out-quint) 80ms both}.empty p{animation:fade-up .42s var(--ease-out-quint) .16s both}.boot-screen{gap:22px}.boot-orbit{position:relative;width:88px;height:88px}.boot-orbit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid transparent;border-top-color:#2dd4a0;border-right-color:#2dd4a040;animation:spin-slow 1.15s linear infinite}.boot-orbit:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;border:2px solid transparent;border-bottom-color:#2b7fff;border-left-color:#2b7fff40;animation:spin-slow 1.6s linear infinite reverse}.boot-logo{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;animation:soft-pulse 2s var(--ease-smooth) infinite}.boot-logo-img{width:44px;height:44px;object-fit:contain;-webkit-user-select:none;user-select:none}.boot-screen p{animation:fade-up .5s var(--ease-out-quint) .24s both;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.loading-card{padding:22px;animation:fade-in .3s var(--ease-smooth) both}.loading-rows{display:grid;gap:10px;margin-top:16px}.loading-rows .skeleton{height:52px}.calendar-cell.win{box-shadow:inset 0 0 0 1px #2dd4a024}.calendar-cell.loss{box-shadow:inset 0 0 0 1px #fb718524}.calendar-cell.win:hover{box-shadow:inset 0 0 0 1px #2dd4a066,0 10px 24px -14px #2dd4a066}.calendar-cell.loss:hover{box-shadow:inset 0 0 0 1px #fb718566,0 10px 24px -14px #fb718566}.calendar-cell .day-pnl{font-variant-numeric:tabular-nums}.switch input:checked+span{box-shadow:0 0 14px -2px #2dd4a08c}.switch input:focus-visible+span{outline:var(--focus-ring);outline-offset:2px}.onboarding{animation:pop-in .46s var(--ease-out-quint) both}.onboarding-step{animation:fade-up .38s var(--ease-out-quint) both}.onboarding-done{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.onboarding-done .empty-art{margin-bottom:8px}.onboarding-steps i{transition:background .3s var(--ease-smooth),border-color .3s var(--ease-smooth),box-shadow .3s var(--ease-smooth)}.onboarding-steps i.done{box-shadow:0 0 12px -2px #2dd4a099}.preset-card{transition:border-color var(--dur-fast) var(--ease-smooth),background var(--dur-fast) var(--ease-smooth),transform var(--dur-micro) var(--ease-out-quint)}.preset-card:hover{transform:translateY(-1px);border-color:#33465b}.preset-card.active{box-shadow:inset 0 0 0 1px #2dd4a04d}.insight-badge{transition:transform var(--dur-fast) var(--ease-spring)}.insight:hover .insight-badge{transform:scale(1.12) rotate(-4deg)}.year-pill,.tabs button{transition:border-color var(--dur-fast) var(--ease-smooth),background var(--dur-fast) var(--ease-smooth),color var(--dur-fast) var(--ease-smooth),transform var(--dur-micro) var(--ease-out-quint)}.year-pill:hover,.tabs button:hover{transform:translateY(-1px);border-color:#33465b}.metric,.detail-list div{transition:border-color var(--dur-fast) var(--ease-smooth),transform var(--dur-micro) var(--ease-out-quint)}.metric:hover,.detail-list div:hover{border-color:#2b3a4c;transform:translateY(-1px)}.recharts-tooltip-cursor{fill:#66a3ff0f}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.aurora:before,.aurora:after,.empty .empty-orbit:before,.empty .empty-orbit:after{animation:none!important}.reveal{opacity:1;transform:none}}html[data-theme=light]{--bg: #f4f6f9;--surface: #ffffff;--surface2: #eef1f6;--border: #d6dde7;--muted: #1f2933;--text: #101418;--green: #0d8f68;--red: #d64562;--amber: #b97c12;--blue: #2f6fd0;color:#101418;background:#f4f6f9}html[data-theme=light] body{background:radial-gradient(circle at 85% -10%,#dfeefe 0,transparent 27%),var(--bg)}html[data-theme=light] .brand span,html[data-theme=light] .capital-mini span,html[data-theme=light] .collapse,html[data-theme=light] .sidebar nav a,html[data-theme=light] .data-table td,html[data-theme=light] .tabs button,html[data-theme=light] .detail-list div,html[data-theme=light] .login-sub,html[data-theme=light] .login-hint,html[data-theme=light] .admin-page-info,html[data-theme=light] .admin-page-info small,html[data-theme=light] .admin-hint,html[data-theme=light] .page-header p,html[data-theme=light] .card-title p,html[data-theme=light] .section-card p,html[data-theme=light] .notice,html[data-theme=light] .event-chip,html[data-theme=light] .preset-card small,html[data-theme=light] .th-sort,html[data-theme=light] .rows-per-page,html[data-theme=light] .user-menu>button,html[data-theme=light] .provider-hint{color:var(--muted)}html[data-theme=light] .data-table th,html[data-theme=light] .metric span,html[data-theme=light] .stat-card>span,html[data-theme=light] .stat-card small,html[data-theme=light] .field>span,html[data-theme=light] .eyebrow{color:#33414e}html[data-theme=light] .card,html[data-theme=light] .modal,html[data-theme=light] .metric,html[data-theme=light] .detail-list div,html[data-theme=light] .asset-table-card,html[data-theme=light] .watchlist-card{background:var(--surface)}html[data-theme=light] .field input,html[data-theme=light] .field select,html[data-theme=light] .table-input,html[data-theme=light] textarea,html[data-theme=light] .login-password input,html[data-theme=light] .toolbar input,html[data-theme=light] .toolbar select{background:#fff;border-color:#c3cddb;color:var(--text)}html[data-theme=light] .primary{background:var(--green);color:#fff}html[data-theme=light] .danger{background:#fadde3;color:#b4274a}html[data-theme=light] .secondary,html[data-theme=light] .icon-btn{background:#fff;border-color:#c3cddb;color:#1f2933}html[data-theme=light] .topbar,html[data-theme=light] .sidebar{background:#fff;border-color:var(--border)}html[data-theme=light] .capital-mini,html[data-theme=light] .search,html[data-theme=light] .side-actions button,html[data-theme=light] .insight,html[data-theme=light] .watchlist-card,html[data-theme=light] .watchlist-grid-stats div,html[data-theme=light] .tabs button,html[data-theme=light] .user-menu,html[data-theme=light] .palette,html[data-theme=light] .strategy-tab,html[data-theme=light] .option-leg,html[data-theme=light] .asset-chip,html[data-theme=light] .data-table th,html[data-theme=light] .data-table tr:hover td,html[data-theme=light] .detail-list div,html[data-theme=light] .switch span{background:var(--surface2);color:var(--text)}html[data-theme=light] .metric{background:var(--surface2)}html[data-theme=light] .avatar{background:var(--surface2);color:var(--text);border:1px solid var(--border)}html[data-theme=light] .progress{background:#dde3ec}html[data-theme=light] .pill{background:#e7ecf3;color:#33414e}html[data-theme=light] .pill.long{background:#d8f2e6;color:#0d8f68}html[data-theme=light] .pill.short{background:#fadde3;color:#d64562}html[data-theme=light] .tabs button.active{background:#fff;border-color:var(--green);color:var(--text)}html[data-theme=light] .calendar div{background:var(--surface2)}html[data-theme=light] .calendar .win{background:#d8f2e6}html[data-theme=light] .modal-backdrop{background:#0f172059}html[data-theme=light] .modal{background:var(--surface)}html[data-theme=light] .user-menu{background:var(--surface);border-color:var(--border)}html[data-theme=light] .palette{background:var(--surface)}html[data-theme=light] .user-menu>button:hover,html[data-theme=light] .palette-item.active,html[data-theme=light] .preset-card.active,html[data-theme=light] .sidebar nav a:hover,html[data-theme=light] .sidebar nav a.active{background:var(--surface2);color:var(--text)}html[data-theme=light] .modal h2,html[data-theme=light] .modal h1,html[data-theme=light] .modal p,html[data-theme=light] .modal-copy,html[data-theme=light] h1,html[data-theme=light] h2,html[data-theme=light] h3,html[data-theme=light] .data-table td,html[data-theme=light] .toolbar input,html[data-theme=light] .toolbar select,html[data-theme=light] .heatmap-row span:not(:first-child),html[data-theme=light] .tabs button.active,html[data-theme=light] .mobile-menu,html[data-theme=light] .mobile-close,html[data-theme=light] .admin-entry,html[data-theme=light] .stat-card b,html[data-theme=light] .stat-card strong,html[data-theme=light] .metric b,html[data-theme=light] .detail-list b,html[data-theme=light] .brand b,html[data-theme=light] .capital-mini b{color:var(--text)}html[data-theme=light] .modal h2{background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor}html[data-theme=light] .sidebar nav a:hover{color:var(--text)}html[data-theme=light] .modal{background:var(--surface);box-shadow:0 24px 80px #0f172040}html[data-theme=light] .toast{color:#0a3d2e}html[data-theme=light] .palette,html[data-theme=light] .palette-input input,html[data-theme=light] .palette-group,html[data-theme=light] .palette-row{color:var(--text)}html[data-theme=light] .palette-input input::placeholder,html[data-theme=light] input::placeholder,html[data-theme=light] textarea::placeholder{color:#5b6b7c}html[data-theme=light]{--login-card: var(--surface);--login-glow: #dfeefe;--login-shadow: 0 30px 80px rgba(15, 23, 32, .18);--login-input: #ffffff;--login-input-border: #c3cddb}html[data-theme=light] .login-card h1,html[data-theme=light] .login-sub,html[data-theme=light] .login-hint,html[data-theme=light] .login-accounts-label,html[data-theme=light] .login-form .field span{color:var(--text)}html[data-theme=light] .login-sub,html[data-theme=light] .login-hint,html[data-theme=light] .login-accounts-label{color:var(--muted)}html[data-theme=light] .login-error.notice{background:#fadde3;color:#b4274a}html[data-theme=light] .login-account-chip{background:var(--surface2);color:var(--text)}html[data-theme=light] .login-switch{color:var(--green)}html[data-theme=light] .preset-card{background:var(--surface2)}html[data-theme=light] .watchlist-card{background:var(--surface)}html[data-theme=light] .event-chip,html[data-theme=light] .model-badge,html[data-theme=light] .entry-chip,html[data-theme=light] .strategy-tab.active,html[data-theme=light] .asset-chip.active,html[data-theme=light] .chart-tip{background:var(--surface2);color:var(--text)}html[data-theme=light] .chart-tip{background:#fff;border-color:var(--border);box-shadow:0 8px 24px #0f172029}html[data-theme=light] .skeleton{background:#e7ebf2}html[data-theme=light] .data-table tbody tr:hover td{background:var(--surface2)}html[data-theme=light] img,html[data-theme=light] svg.recharts-surface path,html[data-theme=light] .brand-logo-img{filter:none}
