:root{--bg: #0b1020;--bg2:#0e1630;--card:#101a35;--card2:#0f1933;--text:#e8eefc;--muted:#a9b4d0;--line: rgba(255,255,255,.08);--shadow: 0 20px 70px rgba(0,0,0,.35);--radius: 18px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(1200px 700px at 10% 10%,#1b2a66,#1b2a6600 60%),radial-gradient(900px 500px at 90% 30%,#3b1b66,#3b1b6600 55%),linear-gradient(180deg,var(--bg) 0%,#070a14 100%);color:var(--text)}a{color:inherit;text-decoration:none}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.app-shell{min-height:100vh;display:flex}.auth-bg{width:100%;display:flex;justify-content:center;align-items:center}.auth-wrap{width:min(980px,94vw);display:flex;justify-content:center;padding:32px 0}.auth-card{width:min(460px,96vw);background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand,.brand-inline{display:flex;gap:12px;align-items:center;margin-bottom:14px}.logo{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#ffffff38,#ffffff0f);border:1px solid rgba(255,255,255,.14);font-weight:800;letter-spacing:.5px}.brand-title{font-size:18px;font-weight:800}.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}.field{display:flex;flex-direction:column;gap:6px;margin-top:12px}label{font-size:12px;color:var(--muted)}input,select{width:100%;padding:11px 12px;border-radius:14px;outline:none;border:1px solid rgba(255,255,255,.14);background:#0a0f1ea6;color:var(--text)}input::placeholder{color:#e8eefc73}.hint{font-size:12px;color:#a9b4d0d9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--text);cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.btn:hover{background:#ffffff1a}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{margin-top:14px;border-color:#ffffff29;background:linear-gradient(135deg,#447effe6,#8c4fffd9)}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:#ffffff0d}.btn-danger{background:#ff4b5c29;border-color:#ff4b5c38}.small{margin-top:10px;font-size:12px;color:var(--muted)}.status{margin-top:12px;display:inline-flex;width:100%;align-items:center;justify-content:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f}.pill-bull{background:#30d48c24;border-color:#30d48c3d}.pill-bear{background:#ff4b5c24;border-color:#ff4b5c3d}.sidebar{width:270px;padding:18px;border-right:1px solid var(--line);background:linear-gradient(180deg,#ffffff0f,#ffffff05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:16px}.nav{display:flex;flex-direction:column;gap:10px;margin-top:8px}.navbtn{text-align:left;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text);cursor:pointer}.navbtn:hover{background:#ffffff14}.navbtn.active{background:linear-gradient(135deg,#447eff40,#8c4fff2e);border-color:#ffffff2e}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}.main{flex:1;padding:18px;min-width:0}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0d;box-shadow:var(--shadow)}.title{font-size:18px;font-weight:900}.subtitle{font-size:12px;color:var(--muted);margin-top:4px}.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end}.control{display:flex;flex-direction:column;gap:6px;min-width:150px}.grid{margin-top:16px;display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0d;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:14px 14px 10px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#ffffff08}.card-title{font-weight:900}.card-sub{font-size:12px;color:var(--muted);margin-top:4px}.card-actions{display:flex;gap:10px;flex-wrap:wrap}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-4{grid-column:span 4}.list{padding:10px;display:flex;flex-direction:column;gap:10px}.smalllist{max-height:420px;overflow:auto}.rowbtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;cursor:pointer}.rowbtn:hover{background:#ffffff14}.rowbtn.active{border-color:#ffffff2e;background:linear-gradient(135deg,#447eff2e,#8c4fff1f)}.row-left{display:flex;flex-direction:column;gap:3px}.row-sym{font-weight:900;letter-spacing:.3px}.row-meta{font-size:12px;color:var(--muted)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.row.active{border-color:#ffffff2e;background:linear-gradient(135deg,#447eff2e,#8c4fff1f)}.row-main{flex:1;text-align:left;border:0;background:transparent;color:var(--text);cursor:pointer}.row-actions{display:flex;gap:10px}.empty{padding:22px;color:var(--muted);text-align:center}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px}.split-title{padding:8px 8px 0;font-weight:900;color:var(--text)}.split-col{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff08;overflow:hidden}.addbar{padding:12px;display:flex;gap:10px;border-bottom:1px solid var(--line)}.addbar input{flex:1}.chips{padding:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.chip{padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.chip-title{font-size:12px;color:var(--muted)}.chip-value{margin-top:6px;font-weight:900}.chartStack{padding:12px;display:flex;flex-direction:column;gap:12px}.chartBox{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff08;padding:10px}.chartTitle{font-weight:900;margin-bottom:6px;color:var(--text)}.settings{padding:14px;display:flex;flex-direction:column;gap:12px}.kv{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.k{color:var(--muted);font-size:12px}.v{color:var(--text)}.settings-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 1100px){.sidebar{display:none}.grid{grid-template-columns:repeat(6,1fr)}.span-12,.span-8,.span-6,.span-4{grid-column:span 6}.chips{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}
