@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#04050a;--bg2:#080d16;--bg3:#0d1220;--bg4:#121929;--border:#1a2235;--blue:#2d7ef7;--blue2:#1a6ae0;--green:#16c95d;--red:#f03e3e;--amber:#f59e0b;--white:#eef2f8;--muted:#4a5a75;--text:#b8c8e0;--font:"Inter", sans-serif}html,body{background:var(--bg);color:var(--white);font-family:var(--font);min-height:100vh;font-size:13px;line-height:1.5}a{color:inherit;text-decoration:none}input,select,textarea,button{font-family:var(--font)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.shell{min-height:100vh;display:flex}.sb{background:var(--bg2);border-right:1px solid var(--border);z-index:100;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:200px;height:100vh;padding:12px 0;display:flex;position:fixed;top:0;left:0}.sb-logo{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;width:72px;height:auto;margin-bottom:12px;padding:8px 0;display:flex}.sb-icon{cursor:pointer;width:100%;height:36px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:0 14px;text-decoration:none;transition:all .15s;display:flex}.sb-icon:hover{background:var(--bg3);color:var(--text)}.sb-icon.active{background:var(--bg4);color:var(--blue)}.sb-icon svg{flex-shrink:0;width:16px;height:16px}.sb-icon span{font-size:11px;font-weight:600}.sb-sep{background:var(--border);width:28px;height:1px;margin:4px 0}.sb-bottom{flex-direction:column;align-items:center;gap:6px;margin-top:auto;display:flex}.sb-avatar{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.main{flex-direction:column;flex:1;min-height:100vh;margin-left:200px;display:flex}.topnav{background:var(--bg2);border-bottom:1px solid var(--border);z-index:50;align-items:center;height:44px;padding:0 20px;display:flex;position:sticky;top:0}.topnav-brand{color:var(--white);letter-spacing:.3px;white-space:nowrap;margin-right:24px;font-size:12px;font-weight:700}.topnav-tabs{gap:0;height:100%;display:flex;overflow-x:auto}.tn-tab{height:100%;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:5px;padding:0 14px;font-size:12px;text-decoration:none;transition:all .15s;display:flex}.tn-tab:hover{color:var(--text)}.tn-tab.active{color:var(--white);border-bottom-color:var(--blue)}.topnav-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;padding-left:12px;display:flex}.user-chip{background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:flex}.user-dot{background:var(--green);border-radius:50%;width:6px;height:6px}.content{flex:1;padding:20px}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.sec-title{color:var(--white);font-size:18px;font-weight:600}.sec-sub{color:var(--muted);margin-top:2px;font-size:12px}.stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.stat-row-6{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.scard{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px}.scard-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:500}.scard-val{color:var(--white);font-size:22px;font-weight:700;line-height:1}.scard-val.g{color:var(--green)}.scard-val.r{color:var(--red)}.scard-val.b{color:var(--blue)}.scard-sub{color:var(--muted);margin-top:5px;font-size:10px}.scard-delta{border-radius:4px;align-items:center;gap:3px;margin-top:5px;padding:2px 6px;font-size:10px;display:inline-flex}.d-pos{color:var(--green);background:#22c55e14}.d-neg{color:var(--red);background:#ef444414}.c2{grid-template-columns:2fr 1fr;gap:12px;margin-bottom:14px;display:grid}.c2e{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.c3{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.cbox{background:var(--bg2);border:1px solid var(--border);border-radius:10px;min-width:0;padding:14px}.cbox-title{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:500;display:flex}.cbox-title span{background:var(--bg3);border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:2px 7px;font-size:9px}.tbl-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:auto hidden}.tbl-wrap table{border-collapse:collapse;width:100%;min-width:600px}.tbl-wrap thead tr{background:var(--bg3);border-bottom:1px solid var(--border)}.tbl-wrap thead th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;padding:10px 12px;font-size:9px;font-weight:600}.tbl-wrap tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.tbl-wrap tbody tr:last-child{border-bottom:none}.tbl-wrap tbody tr:hover{background:var(--bg3)}.tbl-wrap tbody td{color:var(--text);white-space:nowrap;padding:10px 12px;font-size:11px}.tag{border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.tag.buy{color:var(--green);background:#22c55e1a;border:1px solid #22c55e33}.tag.sell{color:var(--red);background:#ef44441a;border:1px solid #ef444433}.tag.pos{color:var(--green);background:#22c55e1a;border:1px solid #22c55e33}.tag.neg{color:var(--red);background:#ef44441a;border:1px solid #ef444433}.tag.be{color:var(--amber);background:#f59e0b1a;border:1px solid #f59e0b33}.cal-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;padding:16px}.cal-nav-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.cal-nav-left{align-items:center;gap:8px;display:flex}.cal-btn{background:var(--bg3);border:1px solid var(--border);width:26px;height:26px;color:var(--muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:15px;transition:all .15s;display:flex}.cal-btn:hover{border-color:var(--blue);color:var(--blue)}.cal-month{color:var(--white);font-size:15px;font-weight:600}.cal-year{color:var(--muted);margin-left:2px;font-size:13px}.cal-head{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:4px;display:grid}.cal-dow{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:3px 0;font-size:9px;font-weight:500}.cal-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-cell{background:var(--bg3);border:1px solid var(--border);border-radius:8px;min-height:76px;padding:7px;transition:border-color .15s}.cal-cell.empty{background:0 0;border-color:#0000}.cal-cell.today{border-color:var(--blue)!important}.cal-cell.has-data{cursor:pointer}.cal-cell.has-data:hover{border-color:var(--blue2)}.cal-cell.wd{background:#22c55e08;border-color:#22c55e2a}.cal-cell.ld{background:#ef444408;border-color:#ef44442a}.cal-cell.bd{background:#f59e0b08;border-color:#f59e0b2a}.cal-num{color:var(--muted);margin-bottom:3px;font-size:10px}.cal-cell.today .cal-num{color:var(--blue);font-weight:700}.cal-tc{color:var(--muted);margin-bottom:2px;font-size:9px}.cal-pnl{font-size:13px;font-weight:700}.cal-pnl.p{color:var(--green)}.cal-pnl.n{color:var(--red)}.cal-pnl.z{color:var(--amber)}.cal-tags{flex-wrap:wrap;gap:2px;margin-top:3px;display:flex}.ct{border-radius:3px;padding:1px 4px;font-size:9px}.ct.w{color:var(--green);background:#22c55e18}.ct.l{color:var(--red);background:#ef444418}.ct.b{color:var(--amber);background:#f59e0b18}.cal-legend{border-top:1px solid var(--border);flex-wrap:wrap;gap:14px;margin-top:12px;padding-top:10px;display:flex}.cl{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.clsq{border-radius:2px;width:10px;height:10px}.jcard{background:var(--bg2);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;transition:border-color .15s;overflow:hidden}.jcard:hover{border-color:var(--muted)}.jh{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.jh-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.jpair{color:var(--white);font-size:14px;font-weight:700}.jmeta{color:var(--muted);font-size:11px}.jh-right{text-align:right;flex-shrink:0;margin-left:8px}.jpnl{font-size:16px;font-weight:700}.jpnl.p{color:var(--green)}.jpnl.n{color:var(--red)}.jpnl.z{color:var(--amber)}.jpct{color:var(--muted);font-size:10px}.jbody{border-top:1px solid var(--border);padding:12px 16px;display:none}.jbody.open{display:block}.jfields{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.jf{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px}.jfl{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;font-size:9px;font-weight:500}.jfv{color:var(--white);font-size:13px;font-weight:600}.jnote{background:var(--bg3);border-left:3px solid var(--blue);border-radius:8px;margin-bottom:8px;padding:10px 12px}.jnote.les{border-left-color:var(--amber)}.jntitle{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:5px;font-size:9px;font-weight:500}.jntext{color:var(--text);font-size:12px;line-height:1.65}.wl-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.wlcard{border-radius:10px;padding:14px}.wlcard.w{background:#22c55e08;border:1px solid #22c55e2a}.wlcard.l{background:#ef444408;border:1px solid #ef44442a}.wlt{margin-bottom:10px;font-size:13px;font-weight:600}.wlt.wc{color:var(--green)}.wlt.lc{color:var(--red)}.wlrow{border-bottom:1px solid var(--border);justify-content:space-between;padding:5px 0;font-size:11px;display:flex}.wlrow:last-child{border-bottom:none}.wlk{color:var(--muted)}.wlv{color:var(--white);font-weight:500}.ins-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.icard{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px}.ititle{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px;font-size:10px;font-weight:600}.iitem{border-bottom:1px solid var(--border);color:var(--text);padding:8px 0;font-size:12px;line-height:1.6}.iitem:last-child{border-bottom:none;padding-bottom:0}.fsec{background:var(--bg2);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:16px}.fstitle{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:14px;font-size:10px;font-weight:600}.fgrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.fg{flex-direction:column;gap:5px;display:flex}.fg label{color:var(--muted);font-size:11px;font-weight:500}.fg input,.fg select,.fg textarea{background:var(--bg3);border:1px solid var(--border);color:var(--white);border-radius:8px;outline:none;padding:8px 10px;font-size:12px;transition:border-color .15s}.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue)}.fg select option{background:var(--bg3)}.fg textarea{resize:vertical;min-height:75px}.full{grid-column:1/-1}.rbtns{gap:8px;display:flex}.rb{cursor:pointer;border:1px solid var(--border);background:var(--bg3);color:var(--muted);border-radius:8px;padding:7px 16px;font-size:12px;font-weight:500;transition:all .15s}.rb.win.sel{border-color:var(--green);color:var(--green);background:#22c55e14}.rb.loss.sel{border-color:var(--red);color:var(--red);background:#ef444414}.rb.be.sel{border-color:var(--amber);color:var(--amber);background:#f59e0b14}.upzone{border:1px dashed var(--border);text-align:center;color:var(--muted);cursor:pointer;border-radius:8px;margin-top:10px;padding:14px;font-size:11px;transition:all .15s}.upzone:hover{border-color:var(--blue);color:var(--blue)}.btn{cursor:pointer;border:none;border-radius:8px;padding:7px 16px;font-size:12px;font-weight:500;transition:all .15s}.btn-p{background:var(--blue);color:#fff}.btn-p:hover{background:var(--blue2)}.btn-o{color:var(--muted);border:1px solid var(--border);background:0 0}.btn-o:hover{border-color:var(--blue);color:var(--blue)}.btn-r{color:var(--red);background:0 0;border:1px solid #ef444433}.btn-r:hover{background:#ef444414}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{background:var(--bg2);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:36px}.login-logo{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:24px;display:flex}.login-logo-icon{background:var(--blue);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.login-title{font-size:16px;font-weight:700}.login-sub{color:var(--muted);font-size:12px}.login-form{flex-direction:column;gap:14px;display:flex}.login-field{flex-direction:column;gap:5px;display:flex}.login-field label{color:var(--muted);font-size:12px;font-weight:500}.login-field input{background:var(--bg3);border:1px solid var(--border);color:var(--white);border-radius:8px;outline:none;padding:10px 12px;font-size:13px;transition:border-color .15s}.login-field input:focus{border-color:var(--blue)}.login-btn{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:11px;font-size:13px;font-weight:600;transition:background .15s}.login-btn:hover{background:var(--blue2)}.login-msg{text-align:center;min-height:16px;margin-top:4px;font-size:11px}.login-msg.ok{color:var(--green)}.login-msg.err{color:var(--red)}.alumno-card{background:var(--bg2);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:16px;transition:border-color .15s;display:flex}.alumno-card:hover{border-color:var(--blue)}.alumno-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.alert{border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:12px}.alert-ok{color:var(--green);background:#22c55e14;border:1px solid #22c55e33}.alert-err{color:var(--red);background:#ef444414;border:1px solid #ef444433}.hub-btn-mobile{align-items:center;display:none}.bottomnav{display:none}@media (max-width:768px){.sb{display:none}.main{min-width:0;margin-left:0}.shell{width:100%;overflow-x:hidden}.hub-btn-mobile{display:flex!important}.bottomnav{z-index:100;background:var(--bg2,#0d0d12);border-top:1px solid var(--border);padding:6px 4px env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;font-size:9px;text-decoration:none;display:flex}.bottomnav a.active{color:var(--blue)}.bottomnav a svg{width:20px;height:20px}.desktop-only-btn{display:none!important}.topnav{padding:0 12px}.topnav-brand{margin-right:14px;font-size:11px}.content{padding:14px 14px 76px}.sec-title{font-size:16px}.stat-row,.stat-row-6{grid-template-columns:repeat(2,1fr)}.scard{padding:12px}.scard-val{font-size:18px}.c2,.c2e{grid-template-columns:minmax(0,1fr)}.c3,.wl-grid,.ins-grid{grid-template-columns:1fr}.fgrid,.jfields{grid-template-columns:1fr 1fr}.rbtns{flex-wrap:wrap}.rb{text-align:center;flex:auto}.cal-wrap{padding:10px}.cal-days,.cal-head{gap:2px}.cal-cell{border-radius:6px;min-height:52px;padding:3px;overflow:hidden}.cal-num{margin-bottom:1px;font-size:9px}.cal-tc{display:none}.cal-pnl{white-space:nowrap;font-size:9px}.cal-tags{gap:1px;margin-top:2px}.ct{padding:1px 2px;font-size:7px}}@media (max-width:480px){.fgrid,.jfields{grid-template-columns:1fr}.scard-val{font-size:17px}.sec-head>.btn{width:100%}}.main{position:relative}:root{--blur:2px;--vidrio-velo:linear-gradient(135deg, #ffffff1c 0%, #ffffff09 45%, #2d7ef70f 100%);--vidrio-filtro:blur(var(--blur)) saturate(170%);--vidrio-borde:#ffffff21;--vidrio-canto:inset 0 1px 0 #ffffff6b, inset 0 -1px 0 #ffffff0d, inset 1px 0 0 #ffffff1a, inset -1px 0 0 #2d7ef724, inset 0 -1px 0 #2d7ef724, inset 0 0 40px #2d7ef712;--vidrio-sombra:0 24px 70px #0000008c}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--vidrio-velo:linear-gradient(#080b14db, #080b14db)}}:root:root:root :where(.sb,.topnav,.bottomnav,.scard,.jcard,.icard,.wlcard,.alumno-card,.fsec,.jf,.jnote,.tbl-wrap,.fg input,.fg select,.fg textarea,.vidrio,.vidrio-lista){background:var(--vidrio-velo);-webkit-backdrop-filter:var(--vidrio-filtro);backdrop-filter:var(--vidrio-filtro);border-color:var(--vidrio-borde);box-shadow:var(--vidrio-canto), var(--vidrio-sombra)}:root:root:root :where(.sb,.topnav,.bottomnav,.scard,.jcard,.icard,.wlcard,.alumno-card,.fsec,.jf,.jnote,.tbl-wrap,.fg input,.fg select,.fg textarea,.vidrio,.vidrio-lista) :where(.sb,.topnav,.bottomnav,.scard,.jcard,.icard,.wlcard,.alumno-card,.fsec,.jf,.jnote,.tbl-wrap,.fg input,.fg select,.fg textarea,.vidrio,.vidrio-lista){-webkit-backdrop-filter:none;backdrop-filter:none}:root:root:root :where(.vidrio-flotante){background:var(--vidrio-velo), linear-gradient(#080b14db, #080b14db)}:root:root:root :where(.vidrio-lista){border:1px solid var(--vidrio-borde);border-radius:12px;padding:10px 10px 2px}:root:root:root :where(.vidrio){border-style:solid;border-width:1px}:root:root:root :where(.fg input,.fg select,.fg textarea,input.vidrio,textarea.vidrio){box-shadow:var(--vidrio-canto)}:root:root:root :where(.fg input,.fg select,.fg textarea,.login-field input){font-size:16px}:root:root:root :where(.jcard):hover{border-color:var(--muted)}:root:root:root :where(.alumno-card):hover,:root:root:root :where(.fg input,.fg select,.fg textarea):focus{border-color:var(--blue)}:root:root:root :where(.jnote){border-left-color:var(--blue)}:root:root:root :where(.jnote.les){border-left-color:var(--amber)}:root:root:root :where(.wlcard.w){background:linear-gradient(#22c55e08, #22c55e08), var(--vidrio-velo);border-color:#22c55e2a}:root:root:root :where(.wlcard.l){background:linear-gradient(#ef444408, #ef444408), var(--vidrio-velo);border-color:#ef44442a}html.exportando{--vidrio-velo:linear-gradient(var(--bg2), var(--bg2));--vidrio-canto:0 0 0 transparent;--vidrio-sombra:0 0 0 transparent;--vidrio-borde:var(--border)}
