﻿/* ── Basic Plan: Blue Theme ── */
  
  
  html,body{height:100%;overflow:hidden;}
  body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);display:flex;flex-direction:column;}
  a{text-decoration:none;color:inherit;}
  button{font-family:inherit;}

  /* ── LAYOUT ─────────────────────────── */
  .layout{display:flex;flex:1;min-height:0;}

  /* ── SIDEBAR ─────────────────────────── */
  .sidebar{
    width:var(--sidebar);flex-shrink:0;
    background:#060d1a;border-right:1px solid var(--border);
    display:flex;flex-direction:column;
    overflow-y:auto;overflow-x:hidden;
    position:relative;z-index:10;
  }
  .sb-logo{
    padding:1.2rem 1.4rem 1rem;
    border-bottom:1px solid var(--border);
    display:flex;align-items:center;gap:.4rem;flex-shrink:0;
  }
  .sb-logo .entra{font-weight:800;font-size:1.3rem;color:#e2e8f0;}
  .sb-logo .fx{font-weight:900;font-size:1.3rem;background:linear-gradient(135deg,var(--accent),var(--accentD));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

  /* Profile section */
  .sb-profile{
    padding:1.25rem 1.2rem 1rem;
    border-bottom:1px solid var(--border);
    display:flex;align-items:center;gap:.85rem;flex-shrink:0;
  }
  .avatar{
    width:44px;height:44px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,var(--accent),var(--accentDD));
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:1.1rem;color:#fff;letter-spacing:0;
    position:relative;overflow:hidden;
  }
  .avatar-photo{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:contain;border-radius:50%;display:none;
  }
  .avatar .online-dot{
    position:absolute;bottom:1px;right:1px;
    width:10px;height:10px;border-radius:50%;
    background:var(--accent);border:2px solid #060d1a;
  }
  .sb-profile-info .name{font-size:.9rem;font-weight:700;line-height:1.2;}
  .sb-profile-info .role{font-size:.73rem;color:var(--muted);}
  .plan-badge{
    margin-top:.3rem;display:inline-block;font-size:.65rem;font-weight:800;
    text-transform:uppercase;letter-spacing:.07em;
    padding:.1rem .5rem;border-radius:999px;
    background:linear-gradient(135deg,var(--accent),var(--accentD));color:#fff;
  }

  /* Nav */
  .sb-nav{flex:1;padding:.75rem .6rem;display:flex;flex-direction:column;gap:.15rem;}
  .nav-section-title{
    font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
    color:#334155;padding:.5rem .75rem .25rem;
  }
  .nav-item{
    display:flex;align-items:center;gap:.7rem;
    padding:.62rem .85rem;border-radius:9px;
    font-size:.88rem;color:var(--muted);cursor:pointer;
    transition:background .15s,color .15s;border:none;background:none;
    width:100%;text-align:left;
  }
  .nav-item .ni-icon{font-size:1rem;width:20px;text-align:center;flex-shrink:0;}
  .nav-item:hover{background:rgba(255,255,255,.04);color:var(--text);}
  .nav-item.active{
    background:var(--accentS);color:var(--accent);font-weight:600;
  }
  .nav-item.active .ni-icon{filter:none;}
  .nav-badge{
    margin-left:auto;font-size:.65rem;font-weight:700;
    background:var(--accent);color:#000;
    padding:.1rem .45rem;border-radius:999px;flex-shrink:0;
  }

  /* Sidebar ticker */
  .sb-ticker{
    border-top:1px solid var(--border);padding:.9rem 1rem;
    font-size:.72rem;flex-shrink:0;
  }
  .sb-ticker-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:#334155;font-weight:700;margin-bottom:.5rem;}
  .sb-tick-row{display:flex;justify-content:space-between;padding:.22rem 0;color:var(--muted);}
  .sb-tick-row .sym{font-weight:600;color:var(--text);}
  .sb-tick-row .up{color:var(--accent);}
  .sb-tick-row .dn{color:var(--danger);}

  /* Logout */
  .sb-logout{
    padding:.75rem .6rem;border-top:1px solid var(--border);flex-shrink:0;
  }
  .logout-btn{
    display:flex;align-items:center;gap:.6rem;
    width:100%;padding:.6rem .85rem;border-radius:9px;
    font-size:.87rem;color:var(--muted);cursor:pointer;
    transition:background .15s,color .15s;border:none;background:none;
    text-align:left;
  }
  .logout-btn:hover{background:rgba(239,68,68,.08);color:#f87171;}

  /* ── MAIN AREA ──────────────────────── */
  .main{flex:1;display:flex;flex-direction:column;overflow:hidden;}

  /* Top bar */
  /* ═══════════════════════════════════════════════════════════════════
     DASHBOARD TOPBAR - Contains date, bell notification, profile avatar
     IMPORTANT: If this bar blocks dropdowns or sidebar, reduce z-index values below
     ═══════════════════════════════════════════════════════════════════ */
  .topbar{
    height:var(--topbar);flex-shrink:0;
    background:rgba(2,6,23,.95);border-bottom:1px solid var(--border);
    display:flex;align-items:center;gap:1rem;padding:0 1.5rem;
    backdrop-filter:blur(12px);
    position:relative;
    z-index:10;  /* EDIT THIS: Reduced from 1100. If blocking elements, lower this to 5 or remove */
  }
  .search-bar{
    flex:1;max-width:320px;position:relative;
  }
  .search-bar input{
    width:100%;padding:.5rem .9rem .5rem 2.2rem;border-radius:8px;
    border:1px solid var(--border);background:#0b1220;
    color:var(--text);font-size:.85rem;outline:none;
    transition:border-color .15s;
  }
  .search-bar input:focus{border-color:var(--a40);}
  .search-bar input::placeholder{color:#475569;}
  .search-bar::before{content:'🔍';position:absolute;left:.65rem;top:50%;transform:translateY(-50%);font-size:.8rem;pointer-events:none;}
  
  /* TOPBAR ACTIONS: Date, Bell, Avatar container */
  .topbar-actions{
    display:flex;align-items:center;gap:.75rem;margin-left:auto;
    position:relative;
    z-index:11;  /* EDIT THIS: Reduced from 1101. Should be slightly higher than .topbar */
  }
  
  /* NOTIFICATION BELL wrapper */
  .topbar #efx-notif-wrap{
    position:relative;
    z-index:12;  /* EDIT THIS: Reduced from 1102. For notification dropdown */
  }
  
  /* NOTIFICATION PANEL dropdown */
  .topbar #notif-panel{
    z-index:1200 !important;  /* EDIT THIS: High z-index to appear above other elements. Lower if causing issues */
  }
  .icon-btn{
    width:36px;height:36px;border-radius:8px;border:1px solid var(--border);
    background:linear-gradient(180deg,rgba(34,197,94,.18),rgba(34,197,94,.08));color:#ecfdf5;cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:1rem;
    transition:all .15s;position:relative;
    box-shadow:0 0 0 1px rgba(34,197,94,.2) inset,0 6px 16px rgba(34,197,94,.16);
  }
  .icon-btn:hover{border-color:rgba(34,197,94,.65);color:#ffffff;background:linear-gradient(180deg,rgba(34,197,94,.28),rgba(34,197,94,.12));box-shadow:0 10px 20px rgba(34,197,94,.2);}
  .icon-btn:focus-visible{outline:none;border-color:rgba(34,197,94,.75);box-shadow:0 0 0 3px rgba(34,197,94,.2),0 10px 20px rgba(34,197,94,.24);}
  .notif-dot{
    position:absolute;top:5px;right:5px;width:7px;height:7px;
    border-radius:50%;background:var(--accent);border:1.5px solid #020617;
  }
  .topbar-avatar{
    width:36px;height:36px;border-radius:50%;cursor:pointer;
    background:linear-gradient(135deg,var(--accent),var(--accentDD));
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:.85rem;color:#fff;
    border:2px solid rgba(167,243,208,.85);transition:border-color .15s,box-shadow .15s,transform .12s;
    overflow:hidden;position:relative;
    box-shadow:0 0 0 1px rgba(15,23,42,.4),0 0 18px rgba(34,197,94,.32);
  }
  .topbar-avatar:hover{border-color:#d1fae5;box-shadow:0 0 0 1px rgba(15,23,42,.3),0 0 24px rgba(34,197,94,.44);transform:translateY(-1px);}
  .topbar-avatar:focus-visible{outline:none;border-color:#ecfdf5;box-shadow:0 0 0 3px rgba(34,197,94,.24),0 0 24px rgba(34,197,94,.4);}
  .topbar-avatar .avatar-photo{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:contain;border-radius:50%;display:none;
  }
  .topbar-date{font-size:.8rem;color:var(--muted);white-space:nowrap;}

  /* ── VIEWS ──────────────────────────── */
  .content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.75rem 2rem;}
  .view{display:none;}
  .view.active{display:block;}
  .iframe-view{display:none;flex:1;overflow:hidden;}
  .iframe-view.active{display:flex;flex-direction:column;}
  .iframe-view iframe{flex:1;border:none;width:100%;height:100%;}

  /* ── Books ── */
  .book-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s;position:relative;}
  .book-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.4);}
  .book-cover{height:120px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;}
  .book-info{padding:.85rem;}
  .book-title{font-size:.84rem;font-weight:700;margin-bottom:.2rem;line-height:1.3;}
  .book-author{font-size:.74rem;color:var(--muted);margin-bottom:.4rem;}
  .book-tag{display:inline-block;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem;border-radius:4px;background:var(--accentS);color:var(--accent);border:1px solid var(--accentB);}

  /* ── BOOKS ── */
  .book-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s;position:relative;}
  .book-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.4);}
  .book-cover{height:130px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;}
  .book-info{padding:.9rem;}
  .book-title{font-size:.85rem;font-weight:700;margin-bottom:.25rem;line-height:1.3;}
  .book-author{font-size:.75rem;color:var(--muted);margin-bottom:.4rem;}
  .book-tag{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .5rem;border-radius:4px;background:var(--accentS);color:var(--accent);border:1px solid var(--accentB);}
  .book-featured-badge{position:absolute;top:.6rem;right:.6rem;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .55rem;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accentD));color:#fff;}
  /* ── Book progress ring ── */
  .book-prog-ring{position:absolute;bottom:.55rem;right:.55rem;width:38px;height:38px;pointer-events:none;}
  .book-prog-ring svg{display:block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));}
  .ring-bg{fill:rgba(15,23,42,.75);stroke:rgba(255,255,255,.1);stroke-width:2.5;}
  .ring-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:3;}
  .ring-fill{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .6s ease,stroke .3s;}
  .ring-label{font-size:6.5px;font-weight:900;text-anchor:middle;dominant-baseline:middle;}

  /* ── BOOK QUIZ MODAL ── */
  .quiz-overlay{position:fixed;inset:0;background:rgba(2,8,20,.92);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;}
  .quiz-overlay.open{opacity:1;pointer-events:all;}
  .quiz-card{background:#0f1f35;border:1px solid var(--a25);border-radius:18px;width:min(600px,94vw);max-height:90vh;overflow-y:auto;padding:2.2rem 2.4rem;box-shadow:0 24px 80px rgba(0,0,0,.7);}
  .quiz-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem;gap:1rem;}
  .quiz-book-title{font-size:.8rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.07em;}
  .quiz-score-badge{font-size:.75rem;font-weight:800;padding:.3rem .85rem;border-radius:999px;background:var(--a12);border:1px solid var(--a25);color:var(--accent);}
  .quiz-q-num{font-size:.72rem;color:#64748b;margin-bottom:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
  .quiz-question{font-size:1.05rem;font-weight:700;color:#e2e8f0;line-height:1.55;margin-bottom:1.4rem;}
  .quiz-options{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.2rem;}
  .quiz-opt-btn{display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 1.1rem;border-radius:10px;border:1.5px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#cbd5e1;font-size:.9rem;cursor:pointer;text-align:left;transition:border-color .18s,background .18s;width:100%;}
  .quiz-opt-btn:hover:not(:disabled){border-color:var(--a45);background:var(--a07);color:#e2e8f0;}
  .quiz-opt-btn .opt-letter{flex-shrink:0;width:24px;height:24px;border-radius:6px;background:rgba(100,116,139,.15);border:1px solid rgba(100,116,139,.3);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#94a3b8;}
  .quiz-opt-btn.selected{border-color:#3b82f6;background:rgba(59,130,246,.1);}
  .quiz-opt-btn.selected .opt-letter{background:#3b82f6;border-color:#3b82f6;color:#fff;}
  .quiz-opt-btn.correct{border-color:var(--accent)!important;background:var(--a12)!important;}
  .quiz-opt-btn.correct .opt-letter{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;}
  .quiz-opt-btn.wrong{border-color:#ef4444!important;background:rgba(239,68,68,.08)!important;}
  .quiz-opt-btn.wrong .opt-letter{background:#ef4444!important;border-color:#ef4444!important;color:#fff!important;}
  .quiz-opt-btn:disabled{cursor:default;}
  .quiz-feedback{min-height:1.6rem;font-size:.88rem;font-weight:600;margin-bottom:.9rem;border-radius:8px;padding:.5rem .9rem;display:none;}
  .quiz-feedback.show{display:block;}
  .quiz-feedback.ok{background:var(--accentS);border:1px solid var(--a25);color:var(--accent);}
  .quiz-feedback.bad{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#ef4444;}
  .quiz-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
  .quiz-progress-text{font-size:.8rem;color:#64748b;font-weight:600;}
  .quiz-progress-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.07);flex:1;min-width:80px;}
  .quiz-progress-bar-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .4s ease;}
  .quiz-next-btn{padding:.65rem 1.4rem;border-radius:8px;border:none;background:linear-gradient(135deg,var(--accent),var(--accentD));color:#fff;font-size:.88rem;font-weight:800;cursor:pointer;opacity:.45;pointer-events:none;transition:opacity .2s;}
  .quiz-next-btn.active{opacity:1;pointer-events:all;}
  .quiz-later-btn{padding:.55rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#94a3b8;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;}
  .quiz-later-btn:hover{border-color:rgba(251,191,36,.4);color:#fbbf24;}
  .quiz-result{text-align:center;padding:1.5rem 0 .5rem;}
  .quiz-result-icon{font-size:3.5rem;margin-bottom:.8rem;}
  .quiz-result-title{font-size:1.4rem;font-weight:900;margin-bottom:.5rem;}
  .quiz-result-sub{font-size:.9rem;color:#94a3b8;margin-bottom:1.8rem;}
  .quiz-result-btn{padding:.8rem 2rem;border-radius:10px;border:none;font-size:.95rem;font-weight:800;cursor:pointer;margin:.3rem;}
  .quiz-result-pass-btn{background:linear-gradient(135deg,var(--accent),var(--accentD));color:#fff;}
  .quiz-result-retry-btn{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#cbd5e1;}

  /* ── PROFILE PANEL ── */
  .profile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1199;opacity:0;pointer-events:none;transition:opacity .28s;}
  .profile-overlay.open{opacity:1;pointer-events:all;}
  .profile-panel{
    position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;
    background:#060d1a;border-left:1px solid var(--border);
    z-index:1200;display:flex;flex-direction:column;
    transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
    overflow-y:auto;
  }
  .profile-panel.open{transform:translateX(0);}
  .prof-header{
    padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);
    display:flex;align-items:center;justify-content:space-between;flex-shrink:0;
    background:rgba(2,6,23,.8);backdrop-filter:blur(12px);position:sticky;top:0;z-index:2;
  }
  .prof-header h2{font-size:1rem;font-weight:800;margin:0;}
  .prof-close{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .15s;}
  .prof-close:hover{border-color:var(--danger);color:#f87171;background:rgba(239,68,68,.08);}
  .prof-body{padding:1.75rem 1.5rem;flex:1;}
  .prof-photo-section{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;}
  .prof-photo-wrap{position:relative;width:96px;height:96px;margin-bottom:.85rem;}
  .prof-photo-wrap .ph-img{
    width:96px;height:96px;border-radius:50%;object-fit:cover;
    border:3px solid var(--accentB);background:linear-gradient(135deg,var(--accent),var(--accentDD));
    display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:800;color:#fff;
    overflow:hidden;
  }
  .prof-photo-wrap .ph-img img{width:100%;height:100%;object-fit:contain;border-radius:50%;}
  .prof-cam-btn{
    position:absolute;bottom:2px;right:2px;width:30px;height:30px;border-radius:50%;
    background:var(--accent);border:2px solid #060d1a;cursor:pointer;
    display:flex;align-items:center;justify-content:center;font-size:.8rem;
    transition:transform .15s;
  }
  .prof-cam-btn:hover{transform:scale(1.1);}
  .prof-photo-section p{font-size:.75rem;color:var(--muted);text-align:center;}
  .prof-section-title{
    font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
    color:#334155;margin-bottom:.85rem;padding-bottom:.4rem;
    border-bottom:1px solid var(--border);
  }
  .prof-field{margin-bottom:1.1rem;}
  .prof-field label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.4rem;}
  .prof-field input{
    width:100%;padding:.7rem .95rem;border-radius:9px;
    border:1px solid var(--border);background:#080f1f;
    color:var(--text);font-size:.9rem;outline:none;
    transition:border-color .15s,box-shadow .15s;
  }
  .prof-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentS);}
  .prof-pw-section{
    background:#0b1220;border:1px solid var(--border);border-radius:12px;
    padding:1.2rem;margin-bottom:1.25rem;
  }
  .prof-pw-section .pw-toggle{
    display:flex;align-items:center;justify-content:space-between;cursor:pointer;
    font-size:.88rem;font-weight:700;margin-bottom:0;
  }
  .prof-pw-section .pw-toggle .pw-arrow{transition:transform .2s;font-size:.75rem;color:var(--muted);}
  .prof-pw-section.expanded .pw-toggle .pw-arrow{transform:rotate(180deg);}
  .prof-pw-fields{display:none;margin-top:1rem;display:flex;flex-direction:column;gap:.85rem;}
  .prof-pw-section:not(.expanded) .prof-pw-fields{display:none;}
  .prof-pw-section.expanded .prof-pw-fields{display:flex;}
  .prof-save-btn{
    width:100%;padding:.82rem;border-radius:9px;border:none;
    background:linear-gradient(135deg,var(--accent),var(--accentD));color:#fff;
    font-size:.95rem;font-weight:700;cursor:pointer;
    box-shadow:0 0 20px var(--accentB);transition:box-shadow .15s,transform .1s;
  }
  .prof-save-btn:hover{box-shadow:0 0 32px var(--a38);transform:translateY(-1px);}
  .prof-msg{font-size:.82rem;padding:.6rem .9rem;border-radius:8px;margin-bottom:1rem;display:none;align-items:center;gap:.5rem;}
  .prof-msg.ok{background:var(--accentS);border:1px solid var(--accentB);color:var(--accent);display:flex;}
  .prof-msg.err{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);color:#f87171;display:flex;}

  /* ── BOOK READER MODAL ── */
  .reader-modal{
    position:fixed;inset:0;background:#020617;z-index:9999;
    display:none;flex-direction:column;
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  }
  .reader-modal.open{display:flex;}
  .reader-topbar{
    height:52px;flex-shrink:0;background:rgba(2,6,23,.98);
    border-bottom:1px solid #1e293b;
    display:flex;align-items:center;gap:1rem;padding:0 1.25rem;
    backdrop-filter:blur(12px);
  }
  .reader-back{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.85rem;padding:.3rem .6rem;border-radius:6px;transition:all .15s;display:flex;align-items:center;gap:.35rem;flex-shrink:0;}
  .reader-back:hover{color:#e2e8f0;background:rgba(255,255,255,.06);}
  .reader-book-title{flex:1;font-size:.92rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .reader-progress-wrap{display:flex;align-items:center;gap:.75rem;flex-shrink:0;}
  .reader-chap-count{font-size:.78rem;color:#94a3b8;white-space:nowrap;}
  .reader-prog-bar{width:140px;height:4px;background:#1e293b;border-radius:999px;overflow:hidden;}
  .reader-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accentL));border-radius:999px;transition:width .3s ease;}
  .reader-close{width:34px;height:34px;border-radius:8px;border:1px solid #1e293b;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .15s;flex-shrink:0;}
  .reader-close:hover{border-color:rgba(239,68,68,.4);color:#f87171;background:rgba(239,68,68,.08);}
  .reader-body{flex:1;display:flex;overflow:hidden;}
  .reader-toc{
    width:240px;flex-shrink:0;background:#06090f;border-right:1px solid #1e293b;
    display:flex;flex-direction:column;overflow:hidden;
  }
  .reader-toc-head{padding:.9rem 1rem;border-bottom:1px solid #1e293b;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#334155;flex-shrink:0;}
  .reader-toc-list{flex:1;overflow-y:auto;padding:.4rem;}
  .reader-toc-list::-webkit-scrollbar{width:4px;}
  .reader-toc-list::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px;}
  .toc-item{
    display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;border-radius:8px;
    cursor:pointer;font-size:.83rem;color:#64748b;transition:all .15s;
    border:1px solid transparent;
  }
  .toc-item:hover{background:rgba(255,255,255,.04);color:#e2e8f0;}
  .toc-item.active{background:var(--a08);border-color:var(--accentB);color:var(--accent);font-weight:600;}
  .toc-num{font-size:.72rem;padding:.1rem .4rem;border-radius:4px;background:#0f172a;color:#475569;flex-shrink:0;margin-top:.1rem;font-weight:700;}
  .toc-item.active .toc-num{background:var(--a15);color:var(--accent);}
  .reader-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse 90% 60% at 50% 0%, #0a1628 0%, #020617 60%);}
  .reader-page-area{flex:1;overflow-y:auto;padding:3rem 4rem;max-width:820px;margin:0 auto;width:100%;}
  .reader-page-area::-webkit-scrollbar{width:6px;}
  .reader-page-area::-webkit-scrollbar-thumb{background:#1e293b;border-radius:3px;}
  .reader-page{animation:pageIn .3s ease;}
  @keyframes pageIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
  .reader-ch-number{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.6rem;}
  .reader-ch-title{font-size:1.85rem;font-weight:900;letter-spacing:-.03em;line-height:1.15;margin-bottom:.35rem;color:#f1f5f9;}
  .reader-ch-sub{font-size:1rem;color:#94a3b8;margin-bottom:2rem;font-style:italic;}
  .reader-divider{height:2px;background:linear-gradient(90deg,var(--a50),transparent);margin-bottom:1.75rem;border-radius:999px;}
  .reader-page p{font-size:1rem;line-height:1.85;color:#cbd5e1;margin-bottom:1.25rem;}
  .reader-page h3{font-size:1.1rem;font-weight:800;color:#f1f5f9;margin:1.75rem 0 .75rem;letter-spacing:-.015em;}
  .reader-page h4{font-size:.93rem;font-weight:700;color:var(--accent);margin:1.25rem 0 .5rem;text-transform:uppercase;letter-spacing:.04em;}
  .reader-page ul,.reader-page ol{padding-left:1.4rem;margin-bottom:1.25rem;}
  .reader-page li{font-size:.97rem;line-height:1.8;color:#cbd5e1;margin-bottom:.3rem;}
  .reader-tip{
    background:var(--a06);border:1px solid var(--accentB);
    border-left:3px solid var(--accent);border-radius:8px;
    padding:1rem 1.25rem;margin:1.25rem 0;
  }
  .reader-tip .tip-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.35rem;}
  .reader-tip p{font-size:.92rem;color:#a7f3d0;margin:0;}
  .reader-warn{
    background:rgba(251,146,60,.06);border:1px solid rgba(251,146,60,.2);
    border-left:3px solid #fb923c;border-radius:8px;
    padding:1rem 1.25rem;margin:1.25rem 0;
  }
  .reader-warn .tip-label{color:#fb923c;}
  .reader-warn p{font-size:.92rem;color:#fed7aa;margin:0;}
  .reader-kp{background:#0b1629;border:1px solid #1e293b;border-radius:10px;padding:1.25rem 1.5rem;margin:1.5rem 0;}
  .reader-kp .kp-title{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#64748b;margin-bottom:.8rem;}
  .reader-kp ul{padding-left:1rem;margin:0;}
  .reader-kp li{font-size:.9rem;line-height:1.7;color:#94a3b8;margin-bottom:.2rem;}
  .reader-kp li::marker{color:var(--accent);}
  .reader-nav-bar{
    height:60px;flex-shrink:0;background:rgba(6,9,15,.98);
    border-top:1px solid #1e293b;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 1.5rem;gap:1rem;
  }
  .reader-nav-btn{
    display:flex;align-items:center;gap:.5rem;
    padding:.55rem 1.25rem;border-radius:9px;
    border:1px solid #1e293b;background:transparent;
    color:#94a3b8;font-size:.85rem;font-weight:600;cursor:pointer;
    transition:all .15s;
  }
  .reader-nav-btn:hover:not(:disabled){border-color:var(--a30);color:var(--accent);background:var(--a06);}
  .reader-nav-btn:disabled{opacity:.28;cursor:not-allowed;}
  /* reader rendered classes */
  .reader-toc-item{
    display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;border-radius:8px;
    cursor:pointer;font-size:.83rem;color:#64748b;transition:all .15s;
    border:1px solid transparent;
  }
  .reader-toc-item:hover{background:rgba(255,255,255,.04);color:#e2e8f0;}
  .reader-toc-item.active{background:var(--a08);border-color:var(--accentB);color:var(--accent);font-weight:600;}
  .reader-toc-num{font-size:.72rem;padding:.15rem .45rem;border-radius:4px;background:#0f172a;color:#475569;flex-shrink:0;margin-top:.15rem;font-weight:700;}
  .reader-toc-item.active .reader-toc-num{background:var(--a15);color:var(--accent);}
  .reader-page-chnum{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.6rem;}
  .reader-page-title{font-size:1.85rem;font-weight:900;letter-spacing:-.03em;line-height:1.15;margin-bottom:.35rem;color:#f1f5f9;}
  .reader-page-sub{font-size:1rem;color:#94a3b8;margin-bottom:2rem;font-style:italic;}
  .reader-page-body{font-size:1rem;line-height:1.85;color:#cbd5e1;}
  .reader-page-body p{margin-bottom:1.25rem;}
  .reader-page-body h3{font-size:1.1rem;font-weight:800;color:#f1f5f9;margin:1.75rem 0 .75rem;}
  .reader-page-body ul,.reader-page-body ol{padding-left:1.4rem;margin-bottom:1.25rem;}
  .reader-page-body li{font-size:.97rem;line-height:1.8;color:#cbd5e1;margin-bottom:.3rem;}
  .reader-close-btn{width:34px;height:34px;border-radius:8px;border:1px solid #1e293b;background:transparent;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .15s;flex-shrink:0;}
  .reader-close-btn:hover{border-color:rgba(239,68,68,.4);color:#f87171;background:rgba(239,68,68,.08);}
  .reader-nav-center{font-size:.82rem;color:#64748b;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px;}
  .reader-nav-center{font-size:.82rem;color:#64748b;text-align:center;min-width:120px;}
  .reader-nav-center strong{color:#e2e8f0;}
  /* ── READER DIAGRAMS ── */
  .reader-diagram{
    background:#06090f;border:1px solid #1e293b;border-radius:12px;
    padding:1.5rem;margin:1.75rem 0;display:flex;flex-direction:column;align-items:center;gap:.75rem;
  }
  .reader-diagram-label{font-size:.72rem;font-weight:800;text-transform:uppercase;
    letter-spacing:.1em;color:#475569;text-align:center;}
  .reader-diagram svg{max-width:100%;height:auto;display:block;}
  .reader-diagram-row{display:flex;align-items:flex-end;justify-content:center;gap:1.5rem;flex-wrap:wrap;}
  .reader-diagram-col{display:flex;flex-direction:column;align-items:center;gap:.6rem;}
  .reader-diagram-caption{font-size:.78rem;color:#64748b;text-align:center;font-weight:600;}
  .reader-diagram-caption.bull{color:var(--accent);}
  .reader-diagram-caption.bear{color:#f87171;}
  .reader-diagram-caption.neutral{color:#94a3b8;}
  .reader-img-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:1.75rem 0;}
  .reader-img-card{
    background:#06090f;border:1px solid #1e293b;border-radius:10px;
    padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;
  }
  .reader-img-card .card-title{font-size:.8rem;font-weight:700;color:#e2e8f0;text-align:center;}
  .reader-img-card .card-tag{font-size:.68rem;padding:.2rem .5rem;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
  .reader-img-card .card-tag.bull{background:var(--a12);color:var(--accent);border:1px solid var(--accentB);}
  .reader-img-card .card-tag.bear{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.2);}
  .reader-img-card .card-tag.neutral{background:rgba(148,163,184,.08);color:#94a3b8;border:1px solid #1e293b;}
  @media(max-width:900px){
    .reader-toc{display:none;}
    .reader-page-area{padding:2rem 1.5rem;}
    .reader-img-grid{grid-template-columns:repeat(2,1fr);}
  }

  /* ── HOME VIEW ── */
  .welcome-bar{margin-bottom:1.75rem;}
  .welcome-bar h1{font-size:1.65rem;font-weight:900;letter-spacing:-.025em;margin-bottom:.2rem;}
  .welcome-bar h1 span{background:linear-gradient(135deg,var(--accent),var(--accentL));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .welcome-bar p{font-size:.9rem;color:var(--muted);}

  /* Quick action cards */
  .quick-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-bottom:1.75rem;}
  .quick-card{
    background:var(--bg3);border:1px solid var(--border);
    border-radius:14px;padding:1.5rem;cursor:pointer;
    transition:border-color .18s,transform .18s,box-shadow .18s;
    display:flex;flex-direction:column;gap:.85rem;
  }
  .quick-card:hover{border-color:var(--a40);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.4);}
  .qc-icon{
    width:50px;height:50px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;font-size:1.4rem;
  }
  .qc-icon.green{background:var(--accentS);border:1px solid var(--accentB);}
  .qc-icon.blue {background:var(--blueS);border:1px solid rgba(59,130,246,.2);}
  .qc-icon.purple{background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.2);}
  .quick-card h3{font-size:.95rem;font-weight:700;}
  .quick-card p{font-size:.82rem;color:var(--muted);}
  .qc-cta{font-size:.82rem;font-weight:700;display:flex;align-items:center;gap:.3rem;}
  .qc-cta.green{color:var(--accent);}
  .qc-cta.blue{color:var(--blue);}
  .qc-cta.purple{color:#c084fc;}

  /* Overview + Activity grid */
  .oa-grid{display:grid;grid-template-columns:1fr 340px;gap:1.25rem;}
  .panel{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:1.4rem;}
  .panel-title{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;}
  .panel-title a{font-size:.75rem;text-transform:none;color:var(--accent);font-weight:600;}

  /* Progress bars */
  .prog-item{margin-bottom:1.1rem;}
  .prog-header{display:flex;justify-content:space-between;font-size:.84rem;margin-bottom:.45rem;}
  .prog-header .prog-label{font-weight:600;}
  .prog-header .prog-pct{color:var(--accent);font-weight:700;}
  .prog-track{height:7px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;}
  .prog-bar{height:100%;border-radius:999px;transition:width 1.2s cubic-bezier(.4,0,.2,1);}
  .prog-bar.green{background:linear-gradient(90deg,var(--accent),var(--accentL));}
  .prog-bar.blue{background:linear-gradient(90deg,#3b82f6,#60a5fa);}
  .prog-bar.purple{background:linear-gradient(90deg,#a855f7,#c084fc);}

  /* Mini chart in overview */
  .mini-overview-chart{margin-top:1rem;height:90px;border-radius:8px;overflow:hidden;background:rgba(0,0,0,.2);}

  /* Stats row */
  .stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.25rem;}
  .stat-mini{
    background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.04);
    border-radius:10px;padding:.85rem;
  }
  .stat-mini .val{font-size:1.3rem;font-weight:900;color:var(--accent);}
  .stat-mini .lbl{font-size:.72rem;color:var(--muted);margin-top:.1rem;}

  /* Activity feed */
  .activity-list{display:flex;flex-direction:column;gap:.75rem;}
  .act-item{
    display:flex;align-items:center;gap:.85rem;
    padding:.7rem .9rem;background:rgba(0,0,0,.2);border-radius:10px;
    border:1px solid rgba(255,255,255,.04);
    transition:border-color .15s;
  }
  .act-item:hover{border-color:var(--accentB);}
  .act-thumb{
    width:38px;height:38px;border-radius:8px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  }
  .act-thumb.fx{background:var(--accentS);}
  .act-thumb.ta{background:rgba(59,130,246,.1);}
  .act-thumb.rm{background:rgba(168,85,247,.1);}
  .act-thumb.cr{background:rgba(251,146,60,.1);}
  .act-info{flex:1;min-width:0;}
  .act-info .act-title{font-size:.83rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .act-info .act-meta{font-size:.72rem;color:var(--muted);margin-top:.1rem;}
  .act-badge{
    font-size:.65rem;font-weight:700;text-transform:uppercase;
    letter-spacing:.05em;padding:.18rem .55rem;border-radius:999px;flex-shrink:0;
  }
  .act-badge.inprog{background:var(--a12);color:var(--accent);border:1px solid var(--accentB);}
  .act-badge.assigned{background:rgba(59,130,246,.12);color:var(--blue);border:1px solid rgba(59,130,246,.2);}
  .act-badge.done{background:rgba(100,116,139,.12);color:var(--muted);border:1px solid rgba(100,116,139,.2);}

  /* Live rates strip */
  .live-rates{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
    gap:.75rem;margin-bottom:1.5rem;
  }
  .rate-card{
    background:var(--bg3);border:1px solid var(--border);border-radius:10px;
    padding:.8rem .95rem;
  }
  .rate-card .rc-sym{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.25rem;}
  .rate-card .rc-price{font-size:1.05rem;font-weight:800;}
  .rate-card .rc-chg{font-size:.72rem;margin-top:.1rem;font-weight:600;}
  .rate-card .rc-chg.up{color:var(--accent);}
  .rate-card .rc-chg.dn{color:var(--danger);}

  /* ── COURSES VIEW ── */
  .page-header{margin-bottom:1.75rem;}
  .page-header h2{font-size:1.45rem;font-weight:900;letter-spacing:-.02em;margin-bottom:.25rem;}
  .page-header p{font-size:.88rem;color:var(--muted);}

  .course-filters{display:flex;gap:.6rem;margin-bottom:1.5rem;flex-wrap:wrap;}
  .filter-btn{
    padding:.4rem .95rem;border-radius:999px;font-size:.82rem;font-weight:600;
    border:1px solid var(--border);background:transparent;color:var(--muted);
    cursor:pointer;transition:all .15s;
  }
  .filter-btn:hover{border-color:rgba(255,255,255,.2);color:var(--text);}
  .filter-btn.active{background:var(--accentS);border-color:var(--accentB);color:var(--accent);}

  .courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem;}
  .course-card{
    background:var(--bg3);border:1px solid var(--border);
    border-radius:14px;overflow:hidden;
    transition:border-color .18s,transform .18s,box-shadow .18s;
    position:relative;
  }
  .course-card:hover{border-color:var(--a35);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.4);}
  .course-thumb{
    height:140px;display:flex;align-items:center;justify-content:center;
    font-size:3rem;border-bottom:1px solid var(--border);
    background:linear-gradient(135deg,#0a1020,#1a2436);
    position:relative;
  }
  .course-thumb .thumb-bat{
    position:absolute;top:.65rem;left:.65rem;
    font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
    padding:.18rem .55rem;border-radius:999px;
  }
  .thumb-bat.beginner{background:var(--a15);color:var(--accent);}
  .thumb-bat.intermediate{background:rgba(59,130,246,.15);color:var(--blue);}
  .thumb-bat.advanced{background:rgba(168,85,247,.15);color:#c084fc;}
  .cc-body{padding:1.25rem;}
  .cc-body h3{font-size:.98rem;font-weight:700;margin-bottom:.35rem;line-height:1.3;}
  .cc-body p{font-size:.82rem;color:var(--muted);line-height:1.5;margin-bottom:1rem;}
  .cc-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.875rem;}
  .pill{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.18rem .55rem;border-radius:999px;}
  .pill-g{background:var(--accentS);color:var(--accent);}
  .pill-b{background:var(--blueS);color:var(--blue);}
  .pill-p{background:rgba(168,85,247,.1);color:#c084fc;}
  .pill-o{background:rgba(251,146,60,.1);color:#fb923c;}
  .cc-progress{margin-bottom:1rem;}
  .cc-progress .cp-bar{height:5px;background:rgba(255,255,255,.06);border-radius:999px;overflow:hidden;margin-top:.35rem;}
  .cc-progress .cp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accentL));}
  .cc-progress .cp-label{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);}
  .cc-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:.875rem;}
  .cc-footer .lessons{font-size:.78rem;color:var(--muted);}
  .btn-start{
    padding:.42rem .95rem;border-radius:7px;border:none;cursor:pointer;
    font-size:.82rem;font-weight:700;transition:all .15s;
  }
  .btn-start.primary{background:linear-gradient(135deg,var(--accent),var(--accentD));color:#fff;}
  .btn-start.primary:hover{box-shadow:0 0 16px var(--a30);}
  .btn-start.outline{background:transparent;border:1px solid var(--border);color:var(--muted);}
  .btn-start.outline:hover{border-color:var(--accentB);color:var(--accent);}

  /* ── SETTINGS VIEW ── */
  .settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
  .settings-panel{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:1.5rem;}
  .settings-panel h3{font-size:.95rem;font-weight:700;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);}
  .s-field{margin-bottom:1.1rem;}
  .s-field label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.4rem;}
  .s-field input,.s-field select{
    width:100%;padding:.65rem .9rem;border-radius:8px;
    border:1px solid var(--border);background:#080f1f;
    color:var(--text);font-size:.88rem;outline:none;
    transition:border-color .15s;
  }
  .s-field input:focus,.s-field select:focus{border-color:var(--a40);}
  .btn-save{
    padding:.6rem 1.4rem;border-radius:8px;border:none;
    background:linear-gradient(135deg,var(--accent),var(--accentD));
    color:#fff;font-size:.88rem;font-weight:700;cursor:pointer;
    transition:box-shadow .15s;
  }
  .btn-save:hover{box-shadow:0 0 18px var(--a30);}
  .big-avatar{
    width:72px;height:72px;border-radius:50%;
    background:linear-gradient(135deg,var(--accent),var(--accentDD));
    display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:1.7rem;color:#fff;margin-bottom:1rem;
  }

  /* ── MOBILE MENU TOGGLE ── */
  .mob-menu-btn{
    display:none;
    background:var(--surface);
    border:1px solid var(--border);
    color:var(--text);
    font-size:1.1rem;
    font-weight:700;
    cursor:pointer;
    width:36px;
    height:36px;
    border-radius:8px;
    line-height:1;
    box-shadow:0 2px 8px rgba(2,6,23,.12);
  }
  .sidebar-overlay{
    display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9;
  }

  @media(max-width:900px){
    /* Sidebar: Hidden by default on mobile, slides in when toggled */
    .sidebar{
      position:fixed;left:0;top:0;bottom:0;z-index:11;
      width:240px;
      transform:translateX(-100%);  /* Hidden off-screen by default */
      transition:transform .28s ease;
      overflow-y:auto;
      overflow-x:hidden;
      box-shadow:2px 0 12px rgba(0,0,0,.2);
    }
    /* Sidebar slides in when opened */
    .sidebar.open{transform:translateX(0);}
    .sidebar-overlay.open{display:block;}
    .mob-menu-btn{display:block !important;}  /* Show hamburger button on mobile */
    
    /* Main content takes full width - sidebar overlays on top when open */
    .main{margin-left:0;width:100%;}
    .topbar{margin-left:0;width:100%;}
    
    .oa-grid{grid-template-columns:1fr;}
    .quick-cards{grid-template-columns:1fr 1fr;}
    .settings-grid{grid-template-columns:1fr;}
    .live-rates{grid-template-columns:repeat(3,1fr);}
    .content{padding:1.25rem;}
  }
  @media(max-width:560px){
    /* Extra small screens: Slightly narrower sidebar */
    .sidebar{
      width:220px;  /* Slightly narrower for small phones */
    }
    
    .quick-cards{grid-template-columns:1fr;}
    .live-rates{grid-template-columns:repeat(2,1fr);}
  }

  /* ── Plan Gating ──────────────────────── */
  .nav-item.nav-locked{opacity:.5;position:relative;}
  .nav-item.nav-locked::after{content:'🔒';position:absolute;right:.75rem;font-size:.65rem;}
  .locked-overlay{
    position:absolute;inset:0;background:rgba(2,6,23,.72);backdrop-filter:blur(3px);
    border-radius:inherit;display:flex;flex-direction:column;
    align-items:center;justify-content:center;z-index:5;cursor:pointer;
  }
  .locked-overlay .lo-icon{font-size:1.6rem;margin-bottom:.3rem;}
  .locked-overlay .lo-label{font-size:.72rem;font-weight:700;color:#94a3b8;text-align:center;}
  .locked-overlay .lo-cta{
    font-size:.68rem;font-weight:800;color:var(--accent);margin-top:.4rem;
    background:var(--a12);border:1px solid var(--a22);
    border-radius:5px;padding:.18rem .6rem;
  }
  /* ── Upgrade Modal ────────────────────── */
  .upgrade-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.75);
    z-index:2000;display:none;align-items:center;justify-content:center;
  }
  .upgrade-overlay.open{display:flex;}
  .upgrade-card{
    background:#060d1a;border:1px solid var(--a25);
    border-radius:16px;max-width:420px;width:calc(100% - 2rem);
    padding:2rem;text-align:center;
  }
  .upgrade-card .uc-badge{
    display:inline-block;font-size:.65rem;font-weight:800;
    text-transform:uppercase;letter-spacing:.08em;
    padding:.25rem .75rem;border-radius:999px;
    background:var(--accentS);color:var(--accent);
    border:1px solid var(--a25);margin-bottom:1rem;
  }
  .upgrade-card h2{font-size:1.2rem;font-weight:800;margin-bottom:.6rem;}
  .upgrade-card p{font-size:.86rem;color:#94a3b8;line-height:1.6;margin-bottom:1.5rem;}
  .uc-btns{display:flex;gap:.75rem;justify-content:center;}
  .uc-btn-upgrade{
    background:var(--accent);color:#000;font-weight:800;font-size:.88rem;
    padding:.65rem 1.4rem;border-radius:8px;border:none;cursor:pointer;
  }
  .uc-btn-dismiss{
    background:transparent;color:#64748b;font-size:.88rem;
    padding:.65rem 1rem;border-radius:8px;border:1px solid #1e293b;cursor:pointer;
  }

  /* ── Additional Mobile Fixes ────────────────────────────── */
  @media(max-width:900px){
    /* Ensure no element causes horizontal scroll */
    .layout, .content, .sidebar {
      max-width: 100vw;
    }
    
    /* Responsive tables */
    table {
      display: block;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    
    /* Ensure panels don't overflow */
    .panel, .stats-grid, .oa-grid {
      max-width: 100%;
    }
    
    /* Fix wide grids */
    .live-rates, .stats-grid {
      overflow-x: auto;
    }
    
    /* Ensure main content doesn't overflow */
    .main-area {
      overflow-x: hidden;
      max-width: 100%;
    }
  }
