/* PolyQuant Dashboard Styles — extracted from index.html */

*{margin:0;padding:0;box-sizing:border-box}
    body{background:#06080c;font-family:'Inter',system-ui,-apple-system,sans-serif;color:#b0bec5}
    .font-mono{font-family:'JetBrains Mono',monospace}
    .card{background:#0c1018;border:1px solid #1e2a3a;border-radius:12px;transition:border-color .2s}
    .card:hover{border-color:#2a3a50}
    @keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
    .fade-in{animation:fadeIn .4s ease-out both}
    .fade-d1{animation-delay:.05s}.fade-d2{animation-delay:.1s}.fade-d3{animation-delay:.15s}
    ::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1a2030;border-radius:3px}

    .stat-val{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em}
    .label{font-size:13px;font-weight:600;color:#8494a7;text-transform:uppercase;letter-spacing:.08em}
    .gauge-ring{transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}
    .precip-track{height:6px;border-radius:3px;background:#141c28}
    .precip-fill{height:100%;border-radius:3px;transition:width .8s}
    .nav-tab{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;color:#64748b;border:1px solid transparent}
    .nav-tab:hover{color:#e2e8f0;background:rgba(255,255,255,.06)}
    .nav-tab.active{color:#ffffff;background:rgba(255,255,255,.08);border-color:#3a4a5a}
    .pnl-sidebar{width:340px;min-width:340px;border-left:1px solid #141c28;background:#080c14;display:flex;flex-direction:column;height:calc(100vh - 49px);position:sticky;top:49px}
    .settle-row{padding:8px 12px;border-bottom:1px solid #141c28;font-size:12px;transition:background .15s}.settle-row:hover{background:rgba(255,255,255,.03)}.settle-won{border-left:3px solid #22c55e}.settle-lost{border-left:3px solid #ef4444}
    @media(max-width:1024px){.pnl-sidebar{display:none}}
    .btn-primary{background:#22c55e;color:#000;border:none;border-radius:8px;padding:10px 22px;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s;letter-spacing:.01em}
    .btn-primary:hover{background:#16a34a;transform:translateY(-1px)}
    .btn-ghost{background:rgba(255,255,255,.06);color:#b0bec5;border:1px solid #2a3a50;border-radius:8px;padding:10px 22px;font-weight:500;font-size:14px;cursor:pointer;transition:all .15s}
    .btn-ghost:hover{background:rgba(255,255,255,.06);color:#e2e8f0}
    .badge{padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500;letter-spacing:.02em}
    .badge-open{background:rgba(59,130,246,.1);color:#60a5fa;border:1px solid rgba(59,130,246,.15)}
    .badge-won{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.2)}
    .badge-lost{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.2)}
    .badge-won{background:rgba(34,197,94,.1);color:#4ade80;border:1px solid rgba(34,197,94,.15)}
    .badge-lost{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.15)}
    .badge-skipped{background:rgba(75,85,99,.1);color:#6b7280;border:1px solid rgba(75,85,99,.15)}
    .badge-executed{background:rgba(139,92,246,.1);color:#a78bfa;border:1px solid rgba(139,92,246,.15)}
    .badge-paper{background:rgba(34,197,94,.08);color:#22c55e;border:1px solid rgba(34,197,94,.12)}
    .badge-live{background:rgba(239,68,68,.08);color:#ef4444;border:1px solid rgba(239,68,68,.15);animation:livePulse 2s ease-in-out infinite}
    @keyframes livePulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}50%{box-shadow:0 0 8px 2px rgba(239,68,68,.2)}}
    .mode-separator{border-left:2px solid #1e2a3a;padding-left:12px;margin-left:12px}

    /* Live mode visual overrides */
    body.live-mode .card{border-color:rgba(239,68,68,.15)}
    body.live-mode .card:hover{border-color:rgba(239,68,68,.3)}
    body.live-mode header,body.live-mode nav{border-bottom-color:rgba(239,68,68,.2)!important}
    #live-banner{display:none;background:linear-gradient(90deg,rgba(239,68,68,.12),rgba(239,68,68,.06),rgba(239,68,68,.12));border-bottom:1px solid rgba(239,68,68,.2);padding:6px 0;text-align:center;font-size:12px;font-weight:600;color:#ef4444;letter-spacing:.1em;text-transform:uppercase}
    #live-banner .pulse-dot{display:inline-block;width:8px;height:8px;background:#ef4444;border-radius:50%;margin-right:8px;animation:liveDot 1.5s ease-in-out infinite}
    @keyframes liveDot{0%,100%{opacity:1}50%{opacity:.3}}
    body.live-mode #live-banner{display:block}
    body.live-mode .nav-tab.active{border-color:rgba(239,68,68,.3);color:#ef4444}

    /* Paper mode — subtle green tone */
    body.paper-mode .nav-tab.active{border-color:rgba(34,197,94,.2)}

    /* Mobile hamburger menu */
    #hamburger-btn{display:none;background:none;border:none;cursor:pointer;padding:4px}
    #mobile-menu{display:none;position:fixed;top:49px;left:0;right:0;bottom:0;background:rgba(6,8,12,.97);backdrop-filter:blur(16px);z-index:50;padding:20px}
    #mobile-menu.open{display:flex;flex-direction:column;gap:4px}
    #mobile-menu .mobile-nav-item{padding:14px 16px;border-radius:10px;font-size:16px;font-weight:500;color:#8494a7;transition:all .15s;cursor:pointer}
    #mobile-menu .mobile-nav-item:hover,#mobile-menu .mobile-nav-item.active{color:#fff;background:rgba(255,255,255,.06)}
    #mobile-menu .mobile-divider{height:1px;background:#1e2a3a;margin:8px 0}
    @media(max-width:640px){
      #hamburger-btn{display:flex;align-items:center;justify-content:center}
      #nav-tabs{display:none!important}
      
      header .max-w-\[1920px\]{padding-left:12px;padding-right:12px}
      .max-w-\[1920px\]{padding-left:8px;padding-right:8px}
    }
    @media(min-width:641px){
      #mobile-menu{display:none!important}
    }
    .input{background:rgba(255,255,255,.03);border:1px solid #1a2030;border-radius:8px;padding:8px 12px;font-size:13px;color:#e2e8f0;outline:none;transition:border-color .15s;font-family:inherit}
    .input:focus{border-color:#2a3a50}
    .input::placeholder{color:#5a6a7a}
    .live-indicator{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.5)}
    @keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
    .live-indicator{animation:blink 2.5s ease-in-out infinite}
    .cl-internal-b3fm6y,.cl-footerAction__signIn,.cl-footerAction__signUp,[class*="cl-internal"] a[href*="clerk.com"],.cl-footer,.cl-card>div:last-child a[target="_blank"]{display:none!important}
    .cl-rootBox{--clerk-footer-display:none}
    [data-clerk-component] a[href*="clerk"]{display:none!important}