/* ═══════════════════════════════════════════
   NEW PAGES — Auth, Learn, Tools, FAQ
   ═══════════════════════════════════════════ */

/* Page transitions */
.page { display:none; animation: pageIn 0.35s ease; }
.page.active { display:block; }
@keyframes pageIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

/* Auth pages */
.auth-container { max-width:420px; margin:60px auto; padding:0 16px; }
.auth-card { background:var(--bg-1); border:1px solid var(--border-1); border-radius:var(--r-lg); overflow:hidden; position:relative; }
.auth-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--blue), var(--cyan), var(--purple)); }
.auth-header { padding:32px 28px 0; text-align:center; }
.auth-header h2 { font-size:22px; font-weight:800; letter-spacing:-1px; margin-bottom:6px; }
.auth-header p { color:var(--t-40); font-size:13px; font-family:var(--font-data); }
.auth-body { padding:24px 28px 28px; }
.auth-field { margin-bottom:14px; }
.auth-field label { display:block; font-family:var(--font-data); font-size:10px; color:var(--t-40); text-transform:uppercase; letter-spacing:0.8px; margin-bottom:5px; }
.auth-field input { width:100%; padding:12px 14px; background:var(--bg-3); border:1px solid var(--border-1); border-radius:var(--r-sm); color:var(--t-100); font-family:var(--font-data); font-size:13px; outline:none; transition:all 0.2s; }
.auth-field input:focus { border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-dim); }
.auth-field input::placeholder { color:var(--t-20); }
.auth-field .field-hint { font-family:var(--font-data); font-size:10px; color:var(--t-20); margin-top:4px; }
.auth-checkbox { display:flex; align-items:center; gap:8px; margin:16px 0; font-size:12px; color:var(--t-60); cursor:pointer; }
.auth-checkbox input[type="checkbox"] { width:16px; height:16px; accent-color:var(--blue); cursor:pointer; }
.auth-btn { width:100%; padding:13px; background:linear-gradient(135deg,var(--blue),#5b9aff); border:none; border-radius:var(--r-sm); color:white; font-family:var(--font-ui); font-size:14px; font-weight:700; cursor:pointer; transition:all 0.25s; letter-spacing:-0.3px; position:relative; overflow:hidden; }
.auth-btn:hover { box-shadow:0 4px 24px rgba(59,125,255,0.35); transform:translateY(-1px); }
.auth-btn:active { transform:translateY(0); }
.auth-btn.success { background:var(--green); }
.auth-divider { display:flex; align-items:center; gap:12px; margin:20px 0; }
.auth-divider::before, .auth-divider::after { content:''; flex:1; height:1px; background:var(--border-1); }
.auth-divider span { font-family:var(--font-data); font-size:10px; color:var(--t-20); text-transform:uppercase; letter-spacing:1px; }
.auth-social { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.auth-social-btn { padding:11px; background:var(--bg-3); border:1px solid var(--border-1); border-radius:var(--r-sm); color:var(--t-80); font-family:var(--font-ui); font-size:12px; font-weight:600; cursor:pointer; transition:all 0.2s; display:flex; align-items:center; justify-content:center; gap:8px; }
.auth-social-btn:hover { border-color:var(--border-2); background:var(--bg-4); }
.auth-social-btn svg { width:16px; height:16px; }
.auth-footer { text-align:center; padding:16px 28px 24px; font-size:12px; color:var(--t-40); }
.auth-footer a { color:var(--cyan); text-decoration:none; font-weight:600; cursor:pointer; }
.auth-footer a:hover { text-decoration:underline; }
.auth-forgot { display:block; text-align:right; font-family:var(--font-data); font-size:11px; color:var(--t-40); margin-top:4px; cursor:pointer; text-decoration:none; }
.auth-forgot:hover { color:var(--cyan); }
.password-toggle { position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--t-40); cursor:pointer; font-size:14px; padding:4px; }
.password-toggle:hover { color:var(--t-80); }
.auth-field .inp-wrap-auth { position:relative; }

/* Learn page */
.learn-hero { text-align:center; padding:48px 0 32px; position:relative; }
.learn-hero h1 { font-size:clamp(24px,4vw,36px); font-weight:800; letter-spacing:-1.5px; margin-bottom:10px; }
.learn-hero p { color:var(--t-60); font-size:14px; max-width:500px; margin:0 auto; line-height:1.7; }
.learn-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:14px; padding-bottom:40px; }
.learn-card { background:var(--bg-1); border:1px solid var(--border-0); border-radius:var(--r-lg); overflow:hidden; cursor:pointer; transition:all 0.25s; position:relative; }
.learn-card:hover { border-color:var(--border-2); transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,0.3); }
.learn-card-img { height:160px; background:var(--bg-2); display:flex; align-items:center; justify-content:center; font-size:48px; position:relative; overflow:hidden; }
.learn-card-img::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 50%, var(--bg-1)); }
.learn-card-body { padding:16px; }
.learn-card-tag { font-family:var(--font-data); font-size:9px; text-transform:uppercase; letter-spacing:1px; padding:3px 8px; border-radius:4px; display:inline-block; margin-bottom:8px; font-weight:600; }
.learn-card-tag.beginner { background:var(--green-dim); color:var(--green); }
.learn-card-tag.intermediate { background:var(--amber-dim); color:var(--amber); }
.learn-card-tag.advanced { background:var(--purple-dim); color:var(--purple); }
.learn-card h3 { font-size:15px; font-weight:700; letter-spacing:-0.3px; margin-bottom:6px; }
.learn-card p { color:var(--t-40); font-size:12px; line-height:1.6; font-family:var(--font-data); }
.learn-card-meta { display:flex; align-items:center; gap:12px; margin-top:12px; padding-top:10px; border-top:1px solid var(--border-0); font-family:var(--font-data); font-size:10px; color:var(--t-20); }

/* Article page */
.article-container { max-width:720px; margin:0 auto; padding:40px 16px 60px; }
.article-back { display:inline-flex; align-items:center; gap:6px; font-family:var(--font-data); font-size:11px; color:var(--t-40); cursor:pointer; margin-bottom:24px; transition:color 0.2s; text-decoration:none; }
.article-back:hover { color:var(--cyan); }
.article-container h1 { font-size:clamp(22px,4vw,32px); font-weight:800; letter-spacing:-1px; margin-bottom:12px; line-height:1.2; }
.article-meta { display:flex; align-items:center; gap:12px; margin-bottom:28px; font-family:var(--font-data); font-size:11px; color:var(--t-40); }
.article-meta .tag { padding:3px 8px; border-radius:4px; font-weight:600; text-transform:uppercase; font-size:9px; letter-spacing:0.5px; }
.article-content { color:var(--t-80); font-size:15px; line-height:1.85; }
.article-content h2 { font-size:18px; font-weight:700; color:var(--t-100); margin:28px 0 12px; letter-spacing:-0.5px; }
.article-content h3 { font-size:15px; font-weight:700; color:var(--t-100); margin:20px 0 8px; }
.article-content p { margin-bottom:16px; }
.article-content strong { color:var(--t-100); }
.article-content code { font-family:var(--font-data); font-size:13px; background:var(--bg-3); padding:2px 6px; border-radius:3px; color:var(--cyan); }
.article-content .tip-box { background:linear-gradient(135deg,var(--blue-glow),rgba(0,212,255,0.04)); border:1px solid rgba(59,125,255,0.15); border-radius:var(--r-md); padding:16px; margin:20px 0; }
.article-content .tip-box h4 { font-size:12px; font-weight:700; color:var(--cyan); margin-bottom:6px; font-family:var(--font-data); text-transform:uppercase; letter-spacing:0.5px; }
.article-content .tip-box p { margin-bottom:0; font-size:13px; color:var(--t-60); }
.article-content .warn-box { background:var(--red-dim); border:1px solid rgba(255,59,92,0.15); border-radius:var(--r-md); padding:16px; margin:20px 0; }
.article-content .warn-box h4 { font-size:12px; font-weight:700; color:var(--red); margin-bottom:6px; font-family:var(--font-data); text-transform:uppercase; letter-spacing:0.5px; }
.article-content .warn-box p { margin-bottom:0; font-size:13px; color:var(--t-60); }
.article-content .formula-block { background:var(--bg-3); border-radius:8px; padding:16px; margin:16px 0; font-family:var(--font-data); font-size:12px; color:var(--t-60); line-height:2; }
.article-content ol, .article-content ul { padding-left:20px; margin-bottom:16px; }
.article-content li { margin-bottom:8px; }

/* Tools page */
.tools-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:14px; padding-bottom:40px; }
.tool-card { background:var(--bg-1); border:1px solid var(--border-0); border-radius:var(--r-lg); padding:20px; transition:all 0.25s; position:relative; overflow:hidden; display:flex; flex-direction:column; }
.tool-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:transparent; transition:background 0.3s; }
.tool-card:hover { border-color:var(--border-2); transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,0.3); }
.tool-card:hover::before { background:linear-gradient(90deg, var(--blue), var(--cyan)); }
.tool-card.active { border-color:var(--blue); }
.tool-card.active::before { background:linear-gradient(90deg, var(--blue), var(--cyan)); }
.tool-card-icon { width:44px; height:44px; border-radius:10px; display:grid; place-items:center; font-size:20px; margin-bottom:14px; }
.tool-card-icon.blue { background:var(--blue-dim); }
.tool-card-icon.cyan { background:var(--cyan-dim); }
.tool-card-icon.green { background:var(--green-dim); }
.tool-card-icon.purple { background:var(--purple-dim); }
.tool-card-icon.amber { background:var(--amber-dim); }
.tool-card-icon.red { background:var(--red-dim); }
.tool-card h3 { font-size:15px; font-weight:700; letter-spacing:-0.3px; margin-bottom:6px; }
.tool-card p { color:var(--t-40); font-size:12px; line-height:1.6; font-family:var(--font-data); margin-bottom:12px; }
.tool-card-status { font-family:var(--font-data); font-size:10px; font-weight:600; padding:4px 10px; border-radius:4px; display:inline-block; text-transform:uppercase; letter-spacing:0.5px; }
.tool-card-status.live { background:var(--green-dim); color:var(--green); }
.tool-card-status.soon { background:var(--amber-dim); color:var(--amber); }
.tool-card-status.beta { background:var(--purple-dim); color:var(--purple); }
.tool-card-action { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; background:var(--bg-4); border:1px solid var(--border-1); border-radius:var(--r-sm); color:var(--t-80); font-family:var(--font-data); font-size:11px; font-weight:600; cursor:pointer; transition:all 0.2s; text-decoration:none; margin-top:4px; }
.tool-card-action:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-dim); }
.tool-card-bottom { display:flex; align-items:center; gap:8px; margin-top:auto; flex-wrap:wrap; }

/* FAQ page */
.faq-container { max-width:720px; margin:0 auto; padding-bottom:40px; }
.faq-item { background:var(--bg-1); border:1px solid var(--border-0); border-radius:var(--r-md); margin-bottom:8px; overflow:hidden; transition:border-color 0.2s; }
.faq-item.open { border-color:var(--border-2); }
.faq-q { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; cursor:pointer; transition:background 0.15s; gap:12px; }
.faq-q:hover { background:var(--bg-2); }
.faq-q h4 { font-size:13px; font-weight:600; letter-spacing:-0.2px; flex:1; }
.faq-q .faq-icon { width:24px; height:24px; border-radius:6px; background:var(--bg-3); display:grid; place-items:center; font-size:14px; color:var(--t-40); transition:all 0.25s; flex-shrink:0; font-family:var(--font-data); }
.faq-item.open .faq-icon { background:var(--blue-dim); color:var(--blue); transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s ease, padding 0.35s ease; }
.faq-item.open .faq-a { max-height:600px; }
.faq-a-inner { padding:0 18px 16px; color:var(--t-60); font-size:13px; line-height:1.7; }
.faq-a-inner strong { color:var(--t-100); }
.faq-a-inner code { font-family:var(--font-data); background:var(--bg-3); padding:1px 5px; border-radius:3px; font-size:12px; color:var(--cyan); }
.faq-category { font-family:var(--font-data); font-size:10px; color:var(--t-40); text-transform:uppercase; letter-spacing:1.5px; margin:24px 0 10px; padding-left:4px; }
.faq-category:first-child { margin-top:0; }

/* Mobile nav — v15.8.1: .mobile-menu-btn defined exclusively in v14.1.1-header.css */
@media(max-width:700px) {
  .mobile-menu-btn { display:flex; align-items:center; justify-content:center; }
  .topbar-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--bg-1); border:1px solid var(--border-1); border-radius:0 0 8px 8px; padding:8px; flex-direction:column; z-index:100; box-shadow:0 12px 32px rgba(0,0,0,0.5); }
  .topbar-nav.open { display:flex; }
  .topbar-nav-item { padding:10px 14px; text-align:center; }
}

/* Notification toast */
.toast { position:fixed; top:20px; right:20px; background:var(--bg-2); border:1px solid var(--border-2); border-radius:var(--r-md); padding:14px 20px; font-size:13px; color:var(--t-100); z-index:9999; transform:translateX(120%); transition:transform 0.35s cubic-bezier(0.16,1,0.3,1); box-shadow:0 8px 32px rgba(0,0,0,0.4); display:flex; align-items:center; gap:10px; }
.toast.show { transform:translateX(0); }
.toast.success { border-color:rgba(0,230,138,0.3); }
.toast.error { border-color:rgba(255,59,92,0.3); }
.toast-icon { font-size:16px; }


/* ═══ V6 — DASHBOARD ═══ */
.dash-tabs{display:flex;align-items:center;gap:2px;padding:12px 0;border-bottom:1px solid var(--border-0);overflow-x:auto;-webkit-overflow-scrolling:touch}
.dash-tabs::-webkit-scrollbar{height:0}
.dash-tab{font-family:var(--font-data);font-size:11px;font-weight:500;color:var(--t-40);padding:7px 14px;border-radius:6px;cursor:pointer;transition:all 0.2s;white-space:nowrap;border:1px solid transparent;background:none}
.dash-tab:hover{color:var(--t-80);background:var(--bg-2)}
.dash-tab.active{background:var(--bg-3);color:var(--t-100);font-weight:600;border-color:var(--border-1)}
.dash-welcome{display:flex;align-items:center;justify-content:space-between;padding:20px 0 16px;gap:12px;flex-wrap:wrap}
.dash-welcome h1,.dash-welcome h2{font-size:18px;font-weight:800;letter-spacing:-0.8px}
.dash-welcome-sub,.dash-welcome p{font-family:var(--font-data);font-size:11px;color:var(--t-40);margin-top:2px}
.dash-actions{display:flex;gap:6px;flex-wrap:wrap}
.dash-pg{display:none;animation:pageIn 0.35s ease}
.dash-pg.active{display:block}

/* Stat grid — v14 */
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}
.stat-card{background:var(--bg-1);border:1px solid var(--border-0);border-radius:var(--r-lg);padding:18px 16px;position:relative;overflow:hidden;transition:all 0.25s}
.stat-card:hover{border-color:var(--border-2);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.2)}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.stat-card.acc-blue::before{background:linear-gradient(90deg,var(--blue),var(--cyan))}
.stat-card.acc-green::before{background:var(--green)}
.stat-card.acc-amber::before{background:var(--amber)}
.stat-card.acc-purple::before{background:var(--purple)}
.stat-label{font-family:var(--font-data);font-size:9px;color:var(--t-40);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:6px;display:block}
.stat-val{font-family:var(--font-data);font-size:22px;font-weight:700;letter-spacing:-1px;display:block;margin-bottom:4px}
.stat-val.green{color:var(--green)}.stat-val.red{color:var(--red)}.stat-val.cyan{color:var(--cyan)}.stat-val.amber{color:var(--amber)}.stat-val.purple{color:var(--purple)}
.stat-sub{font-family:var(--font-data);font-size:9px;font-weight:600;margin-top:4px;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:3px}
.stat-sub.up{background:var(--green-dim);color:var(--green)}
.stat-sub.neutral{background:var(--bg-3);color:var(--t-40)}
@media(min-width:768px){.stat-grid{grid-template-columns:repeat(4,1fr)}.stat-val{font-size:22px}}

/* Two col */
.two-col{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}
@media(min-width:768px){.two-col{grid-template-columns:1fr 1fr}}

/* Quick links */
.quick-links{display:flex;flex-direction:column;gap:4px}
.quick-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);cursor:pointer;transition:all 0.15s;color:var(--t-80);font-size:13px;font-weight:500}
.quick-link:hover{background:var(--bg-3);color:var(--t-100)}
.ql-icon{font-size:16px;width:20px;text-align:center}

/* Defaults grid */
.default-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.default-item{display:flex;flex-direction:column;gap:2px;padding:10px;background:var(--bg-2);border-radius:var(--r-sm)}
.default-label{font-family:var(--font-data);font-size:9px;color:var(--t-40);text-transform:uppercase;letter-spacing:0.5px}
.default-val{font-family:var(--font-data);font-size:13px;font-weight:600;color:var(--t-100)}

/* Buttons */
.btn-primary{padding:10px 18px;background:linear-gradient(135deg,var(--blue),#5b9aff);border:none;border-radius:var(--r-sm);color:white;font-family:var(--font-ui);font-size:12px;font-weight:700;cursor:pointer;transition:all 0.2s;display:inline-flex;align-items:center;gap:6px}
.btn-primary:hover{box-shadow:0 4px 20px rgba(59,125,255,0.3);transform:translateY(-1px)}
.btn-primary:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn-ghost{padding:10px 18px;background:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--t-80);font-family:var(--font-ui);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.2s;display:inline-flex;align-items:center;gap:6px}
.btn-ghost:hover{border-color:var(--border-2);background:var(--bg-4)}
.btn-ghost:disabled{opacity:0.5;cursor:not-allowed}
.btn-sm{padding:6px 10px;font-size:10px}
.btn-danger{padding:8px 14px;background:transparent;border:1px solid var(--red);border-radius:var(--r-sm);color:var(--red);font-family:var(--font-ui);font-size:11px;font-weight:700;cursor:pointer;transition:all 0.2s}
.btn-danger:hover{background:var(--red);color:white}

/* Settings fields */
.set-row{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}
@media(min-width:600px){.set-row{grid-template-columns:1fr 1fr}}
.set-field label{display:block;font-family:var(--font-data);font-size:10px;color:var(--t-40);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:4px}
.set-field input,.set-field select{width:100%;padding:10px 12px;background:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--t-100);font-family:var(--font-data);font-size:12px;outline:none;transition:border-color 0.15s}
.set-field input:focus,.set-field select:focus{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-dim)}
.set-field input:disabled{opacity:0.5;cursor:not-allowed}
.set-field .field-hint{font-family:var(--font-data);font-size:10px;color:var(--t-20);margin-top:3px}
.plan-display{display:flex;align-items:center;gap:8px;padding-top:4px}
/* .plan-badge — v15.8.1: single definition moved to V12 ADDITIONS section below */

/* Toggle */
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-0)}
.toggle-row:last-child{border-bottom:none}
.toggle-name{font-size:13px;font-weight:500}
.toggle-desc{font-family:var(--font-data);font-size:10px;color:var(--t-40);margin-top:2px}
.toggle-sw{width:40px;height:22px;background:var(--bg-4);border-radius:11px;position:relative;cursor:pointer;transition:background 0.2s;border:1px solid var(--border-1);flex-shrink:0}
.toggle-sw.on{background:var(--blue);border-color:var(--blue)}
.toggle-sw::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:white;border-radius:50%;transition:transform 0.2s}
.toggle-sw.on::after{transform:translateX(18px)}
.danger-zone{border:1px solid rgba(255,59,92,0.2);border-radius:var(--r-md);padding:14px;background:rgba(255,59,92,0.03);margin-top:14px}
.danger-zone h4{color:var(--red);font-size:13px;margin-bottom:3px}
.danger-zone p{font-family:var(--font-data);font-size:11px;color:var(--t-40);margin-bottom:10px}

/* Plan cards */
.plan-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:600px){.plan-grid{grid-template-columns:1fr 1fr 1fr}}
.plan-card{background:var(--bg-1);border:1px solid var(--border-0);border-radius:var(--r-lg);padding:24px;position:relative;overflow:hidden}
.plan-card.current{border-color:var(--border-2)}
.plan-card.current-plan{border-color:var(--cyan);box-shadow:0 0 20px rgba(0,230,255,0.08);background:linear-gradient(180deg,rgba(0,230,255,0.04),var(--bg-1))}
.plan-card.featured{border-color:var(--blue);background:linear-gradient(180deg,rgba(59,125,255,0.04),var(--bg-1))}
.plan-card-badge{position:absolute;top:12px;right:12px;font-family:var(--font-data);font-size:9px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:0.3px;background:var(--bg-3);color:var(--t-40)}
.plan-card-badge.pro{background:var(--blue-dim);color:var(--blue)}
.plan-card h3{font-size:20px;font-weight:800;margin-bottom:4px}
.plan-price{font-family:var(--font-data);font-size:28px;font-weight:700;color:var(--cyan);margin-bottom:16px}
.plan-price span{font-size:12px;color:var(--t-40);font-weight:400}
.plan-features{list-style:none;margin-bottom:20px}
.plan-features li{padding:6px 0;font-size:12px;color:var(--t-60);padding-left:20px;position:relative}
.plan-features li::before{position:absolute;left:0;font-size:12px}
.plan-features li.included::before{content:'✓';color:var(--green)}
.plan-features li.upcoming::before{content:'◻';color:var(--t-20)}

/* ═══ V6 — EVENTS ═══ */
.ev-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}
@media(min-width:700px){.ev-summary{grid-template-columns:repeat(4,1fr)}}
.ev-sum-card{background:var(--bg-1);border:1px solid var(--border-0);border-radius:var(--r-md);padding:12px;text-align:center;position:relative;overflow:hidden}
.ev-sum-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.ev-sum-card.s-fx::before{background:var(--blue)}.ev-sum-card.s-cr::before{background:var(--amber)}.ev-sum-card.s-er::before{background:var(--green)}.ev-sum-card.s-hol::before{background:var(--purple)}
.ev-sum-val{font-family:var(--font-data);font-size:20px;font-weight:700;letter-spacing:-1px;margin-bottom:2px}
.ev-sum-label{font-family:var(--font-data);font-size:9px;color:var(--t-40);text-transform:uppercase;letter-spacing:0.8px}
.ev-sum-sub{font-family:var(--font-data);font-size:10px;color:var(--t-20);margin-top:3px}

/* Event Tabs */
.ev-tabs{display:flex;align-items:center;gap:2px;padding:12px 0;border-bottom:1px solid var(--border-0);overflow-x:auto;-webkit-overflow-scrolling:touch}
.ev-tab{font-family:var(--font-data);font-size:11px;font-weight:500;color:var(--t-40);padding:7px 14px;border-radius:6px;cursor:pointer;transition:all 0.2s;white-space:nowrap;border:1px solid transparent;background:none}
.ev-tab:hover{color:var(--t-80);background:var(--bg-2)}
.ev-tab.active{background:var(--bg-3);color:var(--t-100);font-weight:600;border-color:var(--border-1)}

/* Impact Filters + Controls */
.ev-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;flex-wrap:wrap}
.ev-impact-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ev-impact-label{font-family:var(--font-data);font-size:10px;color:var(--t-40);text-transform:uppercase;letter-spacing:0.5px}
.ev-impact-btn{font-family:var(--font-data);font-size:10px;font-weight:600;padding:4px 10px;border-radius:16px;cursor:pointer;transition:all 0.2s;border:1px solid var(--border-1);background:var(--bg-2);color:var(--t-40);display:inline-flex;align-items:center;gap:3px}
.ev-impact-btn:hover{border-color:var(--border-2);color:var(--t-80)}
.ev-impact-btn.active.high{background:rgba(255,59,92,0.12);border-color:var(--red);color:var(--red)}
.ev-impact-btn.active.medium{background:rgba(255,193,7,0.12);border-color:var(--amber);color:var(--amber)}
.ev-impact-btn.active.low{background:rgba(255,235,59,0.1);border-color:#c8b900;color:#c8b900}
.ev-tz-sel{padding:6px 10px;background:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--r-sm);color:var(--t-80);font-family:var(--font-data);font-size:10px;outline:none;cursor:pointer}
.ev-tz-sel:focus{border-color:var(--blue)}

/* Loading */
.ev-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;gap:12px}
.ev-loading p{font-family:var(--font-data);font-size:12px;color:var(--t-40)}
.ev-loading-spinner{width:28px;height:28px;border:3px solid var(--border-1);border-top-color:var(--blue);border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Empty state */
.ev-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;gap:8px;text-align:center}
.ev-empty-icon{font-size:32px;opacity:0.5}
.ev-empty p{font-family:var(--font-data);font-size:12px;color:var(--t-40);max-width:300px}

/* Feed */
.ev-feed{padding-bottom:20px}
.ev-date-group{margin-top:14px}
.ev-date-head{display:flex;align-items:center;gap:8px;padding:6px 0}
.ev-date-label{font-family:var(--font-data);font-size:12px;font-weight:700}
.ev-date-tag{font-family:var(--font-data);font-size:9px;color:var(--t-20);text-transform:uppercase}
.ev-date-tag.today{color:var(--cyan);background:var(--cyan-dim);padding:2px 8px;border-radius:10px;font-weight:600}
.ev-date-line{flex:1;height:1px;background:var(--border-0)}
.ev-date-count{font-family:var(--font-data);font-size:9px;color:var(--t-20)}
.ev-list{display:flex;flex-direction:column;gap:4px}
.ev-card{display:grid;grid-template-columns:56px 1fr;align-items:start;gap:10px;padding:10px 12px;background:var(--bg-1);border:1px solid var(--border-0);border-radius:var(--r-md);transition:all 0.15s}
.ev-card:hover{border-color:var(--border-1);background:var(--bg-2)}
.ev-time{font-family:var(--font-data);font-size:11px;font-weight:600;color:var(--t-80);text-align:center;padding-top:2px}
.ev-time-zone{font-size:8px;color:var(--t-20);display:block}
.ev-card-body{min-width:0}
.ev-card-top{display:flex;align-items:center;gap:6px;margin-bottom:2px;flex-wrap:wrap}
.ev-card-type{font-family:var(--font-data);font-size:8px;font-weight:700;padding:2px 5px;border-radius:3px;text-transform:uppercase;flex-shrink:0}
.ev-card-type.forex{background:var(--blue-dim);color:var(--blue)}
.ev-card-type.crypto{background:var(--amber-dim);color:var(--amber)}
.ev-card-type.earnings{background:var(--green-dim);color:var(--green)}
.ev-card-type.holiday{background:var(--purple-dim);color:var(--purple)}
.ev-impact-dot{font-size:8px;flex-shrink:0;line-height:1}
.ev-card-flag{font-size:13px;flex-shrink:0}
.ev-card-title{font-size:12px;font-weight:600;letter-spacing:-0.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-card-desc{font-family:var(--font-data);font-size:10px;color:var(--t-40);line-height:1.4;margin-top:1px}
.ev-card-desc strong{color:var(--t-80)}
.ev-card-data{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}
.ev-data-col{display:flex;gap:4px;align-items:center;font-family:var(--font-data);font-size:10px}
.ev-data-label{color:var(--t-20);text-transform:uppercase;font-size:8px;letter-spacing:0.3px}
.ev-data-val{font-weight:700;font-size:11px}
.ev-data-val.up{color:var(--green)}.ev-data-val.dn{color:var(--red)}.ev-data-val.neutral{color:var(--t-60)}
.ev-countdown{font-family:var(--font-data);font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap;margin-left:auto}
.ev-countdown.live{background:var(--red-dim);color:var(--red);animation:blink 2s infinite}
.ev-countdown.soon{background:var(--amber-dim);color:var(--amber)}
.ev-countdown.upcoming{background:var(--bg-3);color:var(--t-40)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.5}}

/* Attribution */
.ev-attribution{text-align:center;padding:16px 0 24px;border-top:1px solid var(--border-0);margin-top:12px}
.ev-attribution p{font-family:var(--font-data);font-size:10px;color:var(--t-20);line-height:1.6}
.ev-attribution-warn{margin-top:4px;color:var(--t-20)}

@media(min-width:700px){
  .ev-card{grid-template-columns:56px 1fr auto;gap:12px}
  .ev-card-data{margin-top:0}
}

/* ═══════════════════════════════════════════
   V12 ADDITIONS — Date Picker, Signals DB, Stripe, Bots, Journal DB
   ═══════════════════════════════════════════ */

/* ─── Date Picker Calendar Bar ─── */
.ev-date-picker-bar{display:flex;align-items:center;gap:6px;padding:8px 0;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ev-date-picker-bar::-webkit-scrollbar{display:none}
.ev-date-nav{background:var(--bg-2);border:1px solid var(--border-1);color:var(--t-60);width:32px;height:60px;border-radius:8px;cursor:pointer;font-size:12px;flex-shrink:0;transition:all .15s}
.ev-date-nav:hover{background:var(--bg-3);color:var(--cyan);border-color:var(--cyan)}
.ev-date-picker-row{display:flex;gap:4px;flex:1;min-width:0}
.ev-date-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 10px;min-width:52px;background:var(--bg-1);border:1px solid var(--border-0);border-radius:8px;cursor:pointer;transition:all .15s;flex-shrink:0}
.ev-date-btn:hover{background:var(--bg-2);border-color:var(--border-1)}
.ev-date-btn.today{border-color:var(--cyan);background:rgba(0,200,255,0.04)}
.ev-date-btn.selected{background:var(--cyan);border-color:var(--cyan)}
.ev-date-btn.selected .ev-date-btn-day,.ev-date-btn.selected .ev-date-btn-num,.ev-date-btn.selected .ev-date-btn-month{color:var(--bg-0)!important}
.ev-date-btn-day{font-family:var(--font-data);font-size:9px;color:var(--t-40);text-transform:uppercase;letter-spacing:.3px;font-weight:500}
.ev-date-btn-num{font-family:var(--font-data);font-size:16px;font-weight:700;color:var(--t-80);line-height:1.2}
.ev-date-btn-month{font-family:var(--font-data);font-size:8px;color:var(--t-20);text-transform:uppercase;letter-spacing:.5px}
.ev-custom-date{flex-shrink:0;margin-left:4px}
.ev-custom-date .inp{width:130px;font-size:11px;padding:6px 8px;height:60px;background:var(--bg-1);border:1px solid var(--border-0);border-radius:8px;color:var(--t-60);font-family:var(--font-data)}
.ev-custom-date .inp:focus{border-color:var(--cyan);outline:none}

/* ─── Signals Cards ─── */
/* ─── Signal Card v15.1 — Glow border design ─── */
/* Featured signal layout for free users (1 signal full-width) */
.sig-featured-wrap{grid-column:1/-1}
.sig-featured-wrap .sig-glow-wrap{max-width:100%}
.sig-featured-label{display:flex;align-items:center;gap:6px;font-family:var(--font-data);font-size:9px;font-weight:600;color:var(--green);letter-spacing:.5px;text-transform:uppercase;margin-bottom:8px;padding:5px 12px;background:rgba(0,230,138,.04);border:1px solid rgba(0,230,138,.1);border-radius:8px;width:fit-content}
.sig-upgrade-wall{grid-column:1/-1}
.sig-glow-wrap{position:relative;border-radius:16px;padding:1px;background:var(--border-0);transition:all .25s}
.sig-glow-wrap.buy{background:linear-gradient(135deg,rgba(0,230,138,.25),rgba(0,212,255,.12))}
.sig-glow-wrap.sell{background:linear-gradient(135deg,rgba(255,59,92,.25),rgba(255,193,7,.12))}
.sig-glow-wrap:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.35)}
.sig-glow-wrap.locked{opacity:.85;background:linear-gradient(135deg,rgba(255,193,7,.2),rgba(0,212,255,.08))}
.signal-card{background:var(--bg-1);border:none;border-radius:15px;padding:14px 16px 12px;margin-bottom:0;position:relative;overflow:hidden;transition:all .2s}
.signal-card:hover{border-color:transparent}
.signal-card.buy::before,.signal-card.sell::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.signal-card.buy::before{background:linear-gradient(90deg,var(--green),var(--cyan))}
.signal-card.sell::before{background:linear-gradient(90deg,var(--red),var(--amber))}
.signal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.signal-pair{font-family:var(--font-data);font-weight:800;font-size:16px;color:var(--t-100);letter-spacing:-.5px}
.signal-dir{font-family:var(--font-data);font-size:9px;font-weight:700;padding:3px 8px;border-radius:4px;margin-left:6px}
.signal-dir.buy{background:var(--green-dim);color:var(--green)}
.signal-dir.sell{background:var(--red-dim);color:var(--red)}
.signal-conf{font-family:var(--font-data);font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;display:flex;align-items:center;gap:3px}
.signal-conf::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor;animation:blink 2s infinite}
.signal-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:4px;margin-bottom:8px}
.signal-level{background:var(--bg-3);border-radius:8px;padding:7px 6px;text-align:center;border:1px solid transparent;transition:all .2s}
.signal-level.tp-hit{background:rgba(0,230,138,.06);border-color:rgba(0,230,138,.15)}
.signal-level-key{font-family:var(--font-data);font-size:9px;color:var(--t-40);text-transform:uppercase;letter-spacing:.8px;margin-bottom:2px}
.signal-level-val{font-family:var(--font-data);font-size:12px;font-weight:700;color:var(--t-80);letter-spacing:-.2px}
.signal-reason{font-size:11px;color:var(--t-50);line-height:1.5;padding:6px 0;border-top:1px solid var(--border-0);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.signal-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;padding-top:6px;border-top:1px solid var(--border-0)}
.signal-rr{font-family:var(--font-data);font-size:10px;color:var(--cyan);font-weight:600;background:var(--cyan-dim);padding:2px 6px;border-radius:4px}
.signal-status{font-family:var(--font-data);font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px}
.signal-status.active{color:var(--green);background:var(--green-dim)}
.signal-status.closed{color:var(--t-40);background:var(--bg-2)}
.signal-status.closed.win{color:var(--green);background:var(--green-dim)}
.signal-status.closed.loss{color:var(--red);background:var(--red-dim)}
.signal-status.closed.breakeven{color:var(--amber);background:var(--amber-dim)}
.signal-time{font-family:var(--font-data);font-size:10px;color:var(--t-20);margin-left:auto}
.signal-execute{font-family:var(--font-data);font-size:10px;padding:3px 8px;border-radius:4px;border:none;cursor:pointer;font-weight:600}

/* Signal Admin Bar */
.signal-admin-bar{background:var(--bg-2);border:1px solid var(--border-1);border-radius:8px;padding:12px;margin-bottom:12px;display:none}
.signal-admin-bar h3{font-size:12px;color:var(--amber);margin-bottom:8px}
.signal-admin-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
.signal-admin-form .inp,.signal-admin-form .sel{font-size:11px;padding:6px 8px}

/* Signal Filters */
.signal-filters{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}
.signal-filter{font-family:var(--font-data);font-size:10px;padding:4px 12px;background:var(--bg-1);border:1px solid var(--border-0);border-radius:20px;cursor:pointer;color:var(--t-50);transition:all .15s}
.signal-filter:hover{border-color:var(--border-1);color:var(--t-70)}
.signal-filter.active{background:var(--cyan);border-color:var(--cyan);color:var(--bg-0)}
.sig-filter-lock-icon{display:none;font-size:8px;margin-right:2px}
.sig-filter-lock-icon::before{content:'🔒'}
body.plan-free .sig-filter-lock-icon{display:inline}

/* Signal Performance Grid */
.signal-perf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;margin-bottom:16px}
.signal-perf-card{background:var(--bg-1);border:1px solid var(--border-0);border-radius:var(--r-md);padding:10px;text-align:center}
.signal-perf-label{font-family:var(--font-data);font-size:9px;color:var(--t-40);text-transform:uppercase;letter-spacing:0.5px}
.signal-perf-val{font-family:var(--font-data);font-size:18px;font-weight:700;margin-top:2px}

/* ─── Journal Table — v21: moved to v21-journal.css ─── */

/* ─── Prop Tracker ─── */
.prop-tracker{background:var(--bg-1);border:1px solid var(--border-0);border-radius:10px;padding:14px}
.prop-progress{margin-bottom:8px}
.prop-progress-label{display:flex;justify-content:space-between;font-family:var(--font-data);font-size:10px;color:var(--t-40);margin-bottom:3px}
.prop-bar{width:100%;height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden}
.prop-bar-fill{height:100%;border-radius:3px;transition:width .3s}
.prop-bar-fill.safe{background:var(--green)}
.prop-bar-fill.warn{background:var(--amber)}
.prop-bar-fill.danger{background:var(--red)}
.prop-form{background:var(--bg-1);border:1px solid var(--border-0);border-radius:10px;padding:14px}

/* ─── Subscription / Pricing Enhancements ─── */
.plan-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-data);font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px}
.plan-badge.free{background:var(--bg-2);color:var(--t-40)}
.plan-badge.pro{background:var(--cyan-dim);color:var(--cyan)}
.plan-badge.elite{background:var(--amber-dim);color:var(--amber)}
.plan-badge.honorary{background:linear-gradient(135deg,rgba(167,139,250,0.15),rgba(0,212,255,0.1));color:var(--purple);border:1px solid rgba(167,139,250,0.2)}
.stripe-btn{background:linear-gradient(135deg,var(--cyan),#0070f3);color:#fff;border:none;padding:12px 20px;border-radius:var(--r-sm);font-family:var(--font-data);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;width:100%}
.stripe-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,200,255,.3)}
.stripe-btn.elite{background:linear-gradient(135deg,var(--amber),#ff9500);color:#111}
.stripe-btn.elite:hover{box-shadow:0 4px 12px rgba(255,193,7,.3)}

/* ─── Dashboard Plan Tab ─── */
.plan-info{background:var(--bg-1);border:1px solid var(--border-0);border-radius:10px;padding:16px;margin-bottom:12px}
.plan-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.plan-features{list-style:none;padding:0;margin:0}
.plan-features li{font-family:var(--font-data);font-size:11px;color:var(--t-50);padding:4px 0;display:flex;align-items:center;gap:6px}
.plan-features li::before{content:'✓';color:var(--green);font-weight:700;font-size:10px}

/* ─── Empty State ─── */
.empty-state{text-align:center;padding:40px 20px;color:var(--t-40)}
.empty-icon{font-size:32px;margin-bottom:8px;opacity:.6}
.empty-state p{font-family:var(--font-data);font-size:12px;max-width:300px;margin:0 auto;line-height:1.5}

/* ─── Responsive Tweaks V12 ─── */
@media(max-width:600px){
  .ev-date-picker-bar{padding:4px 0}
  .ev-date-btn{min-width:42px;padding:4px 6px}
  .ev-date-btn-num{font-size:14px}
  .ev-custom-date .inp{width:110px;height:50px}
  .signal-levels{grid-template-columns:repeat(2,1fr)}
  .signal-admin-form{grid-template-columns:1fr 1fr}
}

@media(max-width:400px){
  .ev-date-btn{min-width:36px;padding:3px 4px}
  .ev-date-btn-day{font-size:8px}
  .ev-date-btn-num{font-size:12px}
  .signal-levels{grid-template-columns:1fr 1fr}
}

/* ═══ v14 ADDITIONS ═══ */

/* Signal loading state */
.signal-loading{text-align:center;padding:48px 20px}
.signal-loading-spinner{width:32px;height:32px;border:3px solid var(--border-1);border-top-color:var(--cyan);border-radius:50%;animation:sigSpin 0.8s linear infinite;margin:0 auto 16px}
@keyframes sigSpin{to{transform:rotate(360deg)}}
.signal-loading-text{font-family:var(--font-data);font-size:12px;color:var(--t-40);margin-bottom:4px}
.signal-loading-sub{font-family:var(--font-data);font-size:10px;color:var(--t-20)}

/* Upgrade modal */
.upgrade-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px;animation:uoFadeIn 0.25s ease}
@keyframes uoFadeIn{from{opacity:0}to{opacity:1}}
.upgrade-modal{background:var(--bg-1);border:1px solid var(--border-2);border-radius:16px;max-width:520px;width:100%;position:relative;overflow:hidden;animation:uoSlideUp 0.35s cubic-bezier(0.16,1,0.3,1)}
@keyframes uoSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.upgrade-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--amber))}
.upgrade-modal-close{position:absolute;top:12px;right:12px;background:var(--bg-3);border:1px solid var(--border-1);border-radius:6px;color:var(--t-40);cursor:pointer;width:28px;height:28px;display:grid;place-items:center;font-size:14px;transition:all 0.2s;z-index:1}
.upgrade-modal-close:hover{color:var(--t-80);background:var(--bg-4)}
.upgrade-modal-body{padding:32px 28px 28px}
.upgrade-modal-icon{font-size:36px;margin-bottom:12px}
.upgrade-modal-body h3{font-size:20px;font-weight:800;letter-spacing:-0.5px;margin-bottom:8px}
.upgrade-modal-body>p{font-family:var(--font-data);font-size:12px;color:var(--t-50);line-height:1.7;margin-bottom:20px}
.upgrade-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.upgrade-plan-col{background:var(--bg-2);border:1px solid var(--border-0);border-radius:var(--r-md);padding:16px;text-align:center}
.upgrade-plan-col.recommended{border-color:var(--cyan);background:linear-gradient(180deg,rgba(0,212,255,0.04),var(--bg-2))}
.upgrade-plan-col h4{font-size:14px;font-weight:700;margin-bottom:4px}
.upgrade-plan-col .up-price{font-family:var(--font-data);font-size:20px;font-weight:700;color:var(--cyan);margin-bottom:8px}
.upgrade-plan-col .up-price span{font-size:10px;color:var(--t-40);font-weight:400}
.upgrade-plan-features{list-style:none;padding:0;text-align:left}
.upgrade-plan-features li{font-family:var(--font-data);font-size:10px;color:var(--t-50);padding:3px 0;padding-left:16px;position:relative}
.upgrade-plan-features li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:700;font-size:10px}
.upgrade-cta-row{display:flex;gap:8px}
.upgrade-cta-row .calc-btn,.upgrade-cta-row .btn-ghost{flex:1}

/* Dashboard signal overview widget */
.dash-signal-widget{background:var(--bg-1);border:1px solid var(--border-0);border-radius:var(--r-lg);padding:16px;margin-bottom:16px;position:relative;overflow:hidden}
.dash-signal-widget::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--cyan))}
.dash-signal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.dash-signal-title{font-family:var(--font-data);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px}
.dash-signal-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.dash-signal-mini-card{background:var(--bg-2);border:1px solid var(--border-0);border-radius:var(--r-sm);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;transition:all 0.2s;cursor:pointer}
.dash-signal-mini-card:hover{border-color:var(--border-1);background:var(--bg-3)}

/* Tool card plan indicators */
.tool-card-plan-tag{font-family:var(--font-data);font-size:8px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:0.3px;position:absolute;top:10px;right:10px}
.tool-card-plan-tag.pro-tag{background:var(--blue-dim);color:var(--blue)}
.tool-card-plan-tag.elite-tag{background:var(--amber-dim);color:var(--amber)}
.tool-card-plan-tag.free-tag{background:var(--green-dim);color:var(--green)}

/* ═══ GLOBAL PWA INSTALL STRIP ═══ */
/* v15.8.1: Removed — all gpwa-* classes now defined exclusively in v14-upgrade.css (gradient button version) */

/* v14 responsive additions */
@media(max-width:600px){
  .upgrade-compare{grid-template-columns:1fr}
  .upgrade-cta-row{flex-direction:column}
  .stat-card{padding:14px 12px}
  .dash-signal-mini{grid-template-columns:1fr}
}

/* ═══ SIGNALS v15.0 — Tabs + Type Badges + History ═══ */
.sig-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid var(--border-0)}
.sig-tab{font-family:var(--font-data);font-size:11px;font-weight:600;padding:10px 16px;background:none;border:none;color:var(--t-40);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}
.sig-tab:hover{color:var(--t-70)}
.sig-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}
.sig-plan-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-1);border:1px solid var(--border-0);border-radius:var(--r-md);margin-bottom:12px;font-family:var(--font-data);font-size:11px;color:var(--t-50)}
.sig-plan-badge{font-size:9px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;background:var(--bg-3);color:var(--t-40)}
.sig-plan-badge.elite{background:var(--amber-dim);color:var(--amber)}
.sig-plan-badge.pro{background:var(--blue-dim);color:var(--blue)}
.sig-type-badge{display:inline-block;font-family:var(--font-data);font-size:8px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.2px;margin-left:4px;vertical-align:middle}
.sig-type-badge.scalp{background:rgba(255,59,92,.1);color:#ff3b5c}
.sig-type-badge.intraday{background:var(--cyan-dim);color:var(--cyan)}
.sig-type-badge.swing{background:var(--purple-dim);color:var(--purple)}
.sig-session-badge{display:inline-block;font-family:var(--font-data);font-size:8px;padding:2px 5px;border-radius:3px;background:var(--bg-2);color:var(--t-40);margin-left:4px;vertical-align:middle}
.sig-close-badge{display:inline-block;font-family:var(--font-data);font-size:9px;font-weight:700;padding:3px 8px;border-radius:4px}
.sig-close-badge.tp1{background:var(--green-dim);color:var(--green)}
.sig-close-badge.tp2{background:rgba(0,230,138,.15);color:#00e68a}
.sig-close-badge.tp3{background:rgba(0,255,170,.2);color:#00ffaa}
.sig-close-badge.sl{background:var(--red-dim);color:var(--red)}
.sig-close-badge.be{background:var(--amber-dim);color:var(--amber)}
.sig-close-badge.expired{background:var(--bg-3);color:var(--t-40)}
.sig-tp-progress{display:flex;gap:4px;margin-top:6px}
.sig-tp-dot{width:8px;height:8px;border-radius:50%;background:var(--bg-3);transition:background .2s}
.sig-tp-dot.hit{background:var(--green);box-shadow:0 0 4px rgba(0,230,138,.4)}

/* Signal Upgrade Wall v15.1 */
.sig-upgrade-wall{margin-top:20px}
.sig-upgrade-wall-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sig-upgrade-wall-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border-2))}
.sig-upgrade-wall-badge{font-family:var(--font-data);font-size:10px;font-weight:700;color:var(--amber);white-space:nowrap;letter-spacing:.3px;padding:6px 14px;border-radius:20px;background:rgba(255,193,7,.06);border:1px solid rgba(255,193,7,.12)}
.sig-locked-teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
@media(max-width:700px){.sig-locked-teasers{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.sig-locked-teasers{grid-template-columns:1fr}}
.sig-locked-card{position:relative;opacity:.85;min-height:120px}
.sig-locked-card .signal-levels .signal-level-val{color:var(--t-20) !important;font-size:13px;letter-spacing:3px}
.sig-upgrade-cta-card{position:relative;text-align:center;padding:32px 28px;background:var(--bg-1);border:1px solid var(--border-1);border-radius:18px;overflow:hidden}
.sig-upgrade-cta-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(255,193,7,.4),rgba(0,212,255,.3),rgba(167,139,250,.3))}
.sig-upgrade-cta-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(255,193,7,.04),transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(0,212,255,.03),transparent 50%);pointer-events:none}
.sig-upgrade-cta-icon{width:64px;height:64px;border-radius:50%;background:rgba(255,193,7,.06);border:1px solid rgba(255,193,7,.15);display:grid;place-items:center;font-size:28px;margin:0 auto 12px;box-shadow:0 0 40px rgba(255,193,7,.08)}
.sig-upgrade-cta-title{font-size:19px;font-weight:800;margin-bottom:6px;letter-spacing:-.5px}
.sig-upgrade-cta-desc{font-family:var(--font-data);font-size:11px;color:var(--t-50);line-height:1.7;margin-bottom:14px;max-width:440px;margin-left:auto;margin-right:auto}
.sig-upgrade-cta-features{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:18px}
.sig-upgrade-cta-features span{font-family:var(--font-data);font-size:9px;padding:4px 10px;border-radius:20px;background:rgba(0,230,138,.06);border:1px solid rgba(0,230,138,.1);color:var(--green)}
.sig-upgrade-plans{display:flex;justify-content:center;gap:12px;margin-bottom:18px}
.sig-upgrade-plan{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 24px;border-radius:12px;min-width:150px;position:relative;cursor:pointer;transition:all .2s}
.sig-upgrade-plan.pro{background:rgba(59,125,255,.04);border:1px solid rgba(59,125,255,.15)}
.sig-upgrade-plan.elite{background:rgba(255,193,7,.04);border:1px solid rgba(255,193,7,.2)}
.sig-upgrade-plan.elite:hover{border-color:rgba(255,193,7,.4)}
.sig-upgrade-plan-badge{position:absolute;top:-8px;font-family:var(--font-data);font-size:8px;font-weight:700;padding:2px 8px;border-radius:10px;background:var(--amber);color:#111}
.sig-upgrade-plan-name{font-family:var(--font-data);font-size:13px;font-weight:700}
.sig-upgrade-plan-price{font-size:24px;font-weight:800;letter-spacing:-1px}
.sig-upgrade-plan-price span{font-size:12px;color:var(--t-40);font-weight:400}
.sig-upgrade-plan-feat{font-family:var(--font-data);font-size:9px;color:var(--t-40);text-align:center}
.sig-gate-box{text-align:center;padding:32px 20px;background:var(--bg-1);border:1px solid var(--border-1);border-radius:12px}
.sig-gate-icon{font-size:28px;margin-bottom:10px}
.sig-gate-title{font-size:14px;font-weight:700;margin-bottom:6px}
.sig-gate-desc{font-family:var(--font-data);font-size:11px;color:var(--t-50);margin-bottom:14px;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.6}
.sig-gate-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
@media(max-width:500px){.sig-upgrade-plans{flex-direction:column;align-items:center}.sig-upgrade-plan{width:100%;max-width:220px}}

/* History Summary Bar v15.1 — Grid stats */
.sig-history-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}
.sig-history-stat{text-align:center;padding:12px 8px;border-radius:10px;border:1px solid transparent}
.sig-history-stat.green{background:rgba(0,230,138,.05);border-color:rgba(0,230,138,.1)}
.sig-history-stat.red{background:rgba(255,59,92,.04);border-color:rgba(255,59,92,.08)}
.sig-history-stat.cyan{background:rgba(0,212,255,.04);border-color:rgba(0,212,255,.08)}
.sig-history-stat.default{background:var(--bg-2);border-color:var(--border-0)}
.sig-history-stat-val{display:block;font-family:var(--font-data);font-size:20px;font-weight:800;letter-spacing:-.5px}
.sig-history-stat-key{display:block;font-family:var(--font-data);font-size:9px;color:var(--t-40);text-transform:uppercase;letter-spacing:.5px;margin-top:3px}
@media(max-width:560px){.sig-history-summary{grid-template-columns:repeat(3,1fr)}}
.sig-history-pips{font-family:var(--font-data);font-size:12px;font-weight:800}
.sig-history-pips.profit{color:var(--green)}
.sig-history-pips.loss{color:var(--red)}

/* ─── Signal Timing Bar (v16.0.2) ─── */
.sig-time-bar{width:100%;height:3px;background:var(--bg-3);border-radius:2px;margin:6px 0 2px;overflow:hidden}
.sig-time-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}

/* Expired signal card styling */
.sig-glow-wrap.expired .signal-card::before{background:var(--bg-3)!important;opacity:.3}
.sig-card-expired{border-color:var(--border-0)!important}
.sig-card-expired .signal-pair{opacity:.6}
.sig-card-expired .signal-levels{opacity:.65}
.sig-expired-notice{font-family:var(--font-data);font-size:9px;color:var(--t-30);background:var(--bg-2);border:1px dashed var(--border-0);border-radius:var(--r-sm);padding:6px 10px;margin:6px 0;text-align:center}
/* v16.0.5: Trade Management Guidance */
.sig-trade-advice{display:flex;align-items:flex-start;gap:8px;margin:8px 0 4px;padding:8px 10px;border-radius:var(--r-sm);font-family:var(--font-data);font-size:10px;line-height:1.5;border-left:3px solid var(--border-1)}
.sig-trade-advice.advice-tp1{background:rgba(0,230,138,.06);border-left-color:var(--green);color:var(--green)}
.sig-trade-advice.advice-tp2{background:rgba(0,230,138,.09);border-left-color:#00ffaa;color:#00ffaa}
.sig-trade-advice.advice-running{background:rgba(59,125,255,.06);border-left-color:var(--blue);color:var(--cyan)}
.sig-trade-advice.advice-wait{background:rgba(255,176,0,.05);border-left-color:var(--amber);color:var(--amber)}
.sig-trade-advice.advice-hold{background:var(--bg-2);border-left-color:var(--border-1);color:var(--t-50)}
.sig-advice-icon{font-size:14px;flex-shrink:0;margin-top:1px}
.sig-advice-text{flex:1}

/* Status badge: expiring */
.signal-status.expiring{color:var(--amber);background:var(--amber-dim);animation:pulseAmber 2s infinite}
@keyframes pulseAmber{0%,100%{opacity:1}50%{opacity:.7}}

/* ─── History Timeline (v16.0.2) ─── */
.sig-history-timeline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sig-timeline-arrow{font-family:var(--font-data);font-size:10px;color:var(--t-20)}
.sig-duration{font-family:var(--font-data);font-size:9px;color:var(--t-30);background:var(--bg-2);padding:2px 6px;border-radius:3px;margin-left:auto}
.sig-history-snapshot{font-family:var(--font-data);font-size:8px;color:var(--t-20);padding:4px 8px;margin:4px 0;border-left:2px solid var(--border-1);opacity:.7}

/* History card result accent */
.signal-card.history-win::before{background:linear-gradient(90deg,var(--green),var(--cyan))!important}
.signal-card.history-loss::before{background:linear-gradient(90deg,var(--red),var(--amber))!important}

/* Filter-specific upgrade gate v15.1 */
.sig-filter-gate{padding:8px 0;grid-column:1/-1}
.sig-filter-gate-header{text-align:center;margin-bottom:16px;position:relative}
.sig-filter-gate-header::before{content:'';position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:300px;height:150px;background:radial-gradient(ellipse,var(--cyan-dim),transparent 65%);pointer-events:none}
.sig-filter-gate-icon{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;font-size:30px;margin:0 auto 12px;position:relative;background:var(--cyan-dim);border:1px solid rgba(0,212,255,.15)}
.sig-filter-gate-title{font-size:22px;font-weight:800;margin-bottom:6px;letter-spacing:-1px}
.sig-filter-gate-count{font-family:var(--font-data);font-size:10px;font-weight:600;padding:4px 14px;border-radius:20px;display:inline-flex;align-items:center;gap:6px}
.sig-filter-gate-count::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:blink 2s infinite}
.sig-filter-gate-desc{font-family:var(--font-data);font-size:11px;color:var(--t-40);line-height:1.6;text-align:center;max-width:440px;margin:10px auto 0}
.sig-filter-gate-upgrade{text-align:center;padding:28px 24px;background:var(--bg-1);border:1px solid var(--border-1);border-radius:18px;margin-top:4px;position:relative;overflow:hidden}
.sig-filter-gate-upgrade::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(255,193,7,.3),rgba(0,212,255,.3),rgba(167,139,250,.3))}
.sig-filter-gate-lock{width:48px;height:48px;border-radius:50%;background:rgba(255,193,7,.06);border:1px solid rgba(255,193,7,.15);display:grid;place-items:center;font-size:22px;margin:0 auto 8px}
.sig-filter-gate-upgrade h4{font-size:16px;font-weight:800;margin-bottom:6px;letter-spacing:-.3px}
.sig-filter-gate-upgrade p{font-family:var(--font-data);font-size:11px;color:var(--t-40);line-height:1.6;max-width:400px;margin:0 auto 16px}
.sig-filter-gate-plans{display:flex;justify-content:center;gap:12px;margin-bottom:16px}
.sig-filter-gate-plan{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 22px;border-radius:12px;min-width:140px;transition:all .2s;cursor:pointer}
.sig-filter-gate-plan.pro-plan{background:rgba(59,125,255,.04);border:1px solid rgba(59,125,255,.15)}
.sig-filter-gate-plan.elite-plan{background:rgba(255,193,7,.04);border:1px solid rgba(255,193,7,.2);position:relative}
.sig-filter-gate-plan:hover{transform:translateY(-2px)}
.sig-filter-gate-plan-name{font-family:var(--font-data);font-size:13px;font-weight:700}
.sig-filter-gate-plan-price{font-size:18px;font-weight:800;color:var(--t-100);letter-spacing:-1px}
.sig-filter-gate-plan-feat{font-family:var(--font-data);font-size:9px;color:var(--t-40)}
@media(max-width:500px){.sig-filter-gate-plans{flex-direction:column;align-items:center}.sig-filter-gate-plan{width:100%;max-width:220px}}

/* ─── Recent Wins Showcase (Home) ─── */
.rw-section{padding-top:48px;border-top:1px solid var(--border-0);position:relative}
.rw-section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:700px;height:300px;background:radial-gradient(ellipse,rgba(0,230,138,.04),rgba(0,212,255,.02),transparent 65%);pointer-events:none}
.rw-stats{display:inline-flex;gap:2px;margin-bottom:24px}
.rw-stat{padding:12px 20px;text-align:center;min-width:90px;border:1px solid transparent}
.rw-stat:first-child{border-radius:10px 4px 4px 10px}
.rw-stat:last-child{border-radius:4px 10px 10px 4px}
.rw-stat:not(:first-child):not(:last-child){border-radius:4px}
.rw-stat-val{font-family:var(--font-data);font-size:18px;font-weight:800;letter-spacing:-.5px}
.rw-stat-key{font-family:var(--font-data);font-size:9px;color:var(--t-40);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;display:block}
.rw-scroll{position:relative}
.rw-scroll-fade-l,.rw-scroll-fade-r{position:absolute;top:0;bottom:0;width:40px;z-index:2;pointer-events:none}
.rw-scroll-fade-l{left:0;background:linear-gradient(90deg,var(--bg-0),transparent)}
.rw-scroll-fade-r{right:0;background:linear-gradient(270deg,var(--bg-0),transparent)}
.rw-scroll-inner{display:flex;gap:10px;overflow-x:auto;padding:4px 20px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.rw-scroll-inner::-webkit-scrollbar{display:none}
.rw-card{flex:0 0 220px;background:var(--bg-1);border-radius:14px;padding:16px 14px;border:1px solid var(--border-0);position:relative;overflow:hidden;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}
.rw-card:hover{transform:translateY(-4px);border-color:var(--border-2);box-shadow:0 12px 32px rgba(0,0,0,.4)}
.rw-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.rw-card.buy::before{background:linear-gradient(90deg,var(--green),var(--cyan))}
.rw-card.sell::before{background:linear-gradient(90deg,var(--red),var(--amber))}
.rw-card.tp3::after{content:'';position:absolute;top:-20px;right:-20px;width:80px;height:80px;background:radial-gradient(circle,rgba(0,255,170,.08),transparent 70%);pointer-events:none}
.rw-pips-strip{text-align:center;padding:12px 0;margin:0 -14px;border-top:1px solid transparent;margin-bottom:10px}
.rw-pips-val{font-family:var(--font-data);font-size:28px;font-weight:800;letter-spacing:-1px}
.rw-pips-label{font-family:var(--font-data);font-size:8px;color:var(--t-40);text-transform:uppercase;letter-spacing:1px;margin-top:2px}
.rw-cta-card{flex:0 0 220px;border-radius:14px;padding:1px;background:linear-gradient(135deg,rgba(255,193,7,.3),rgba(0,212,255,.15))}
.rw-cta-inner{background:var(--bg-1);border-radius:13px;padding:16px 14px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;position:relative;overflow:hidden}
.rw-cta-inner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(255,193,7,.04),transparent 60%);pointer-events:none}

/* ═══ v15.8.1 — PAGES MOBILE FIX PACK ═══ */

/* Journal table — scrollable on mobile */
/* v21: Old journal table CSS removed — now in v21-journal.css */

/* Events card — full width grid on tiny screens */
@media(max-width:400px){
  .ev-card{grid-template-columns:1fr}
  .ev-time{text-align:left}
}

/* Auth social — single column on tiny screens */
@media(max-width:380px){
  .auth-social{grid-template-columns:1fr}
}

/* Dashboard welcome — stack on mobile */
@media(max-width:480px){
  .dash-welcome{flex-direction:column;align-items:flex-start;gap:8px}
  .dash-welcome h1,.dash-welcome h2{font-size:16px}
  .dash-actions{width:100%}
  .dash-actions .btn-primary,.dash-actions .btn-ghost{flex:1;justify-content:center}
}

/* Learn card grid — single column on small phones */
@media(max-width:400px){
  .learn-grid{grid-template-columns:1fr}
  .learn-card-img{height:120px}
}

/* Tools grid — smaller on phone */
@media(max-width:400px){
  .tools-grid{grid-template-columns:1fr}
}

/* FAQ items — tighter on mobile */
@media(max-width:480px){
  .faq-q{padding:12px 14px}
  .faq-q h4{font-size:12px}
  .faq-a-inner{padding:0 14px 12px;font-size:12px}
}

/* Toast notification — full width on mobile */
@media(max-width:480px){
  .toast{right:10px;left:10px;transform:translateY(-120%)}
  .toast.show{transform:translateY(0)}
}

/* Signal upgrade plans — better mobile layout */
@media(max-width:380px){
  .sig-upgrade-plan{min-width:100%;padding:12px 16px}
  .sig-upgrade-plan-price{font-size:20px}
  .sig-upgrade-cta-card{padding:20px 16px}
}

/* Signup gate — smaller on tiny screens */
@media(max-width:380px){
  .signup-gate-modal{padding:20px 16px}
  .signup-gate-header h2{font-size:18px}
  .signup-gate-features{grid-template-columns:1fr;padding:10px}
}

/* v17 stat-card enhancements (consolidated from v17-dashboard-ux.css) */
.stat-card .stat-val{font-size:26px;font-weight:800;letter-spacing:-1.2px}
.stat-card .stat-label{font-size:10px;text-transform:none;letter-spacing:.3px}
.stat-card.acc-blue{background:linear-gradient(135deg,var(--bg-1),rgba(59,125,255,.03))}
.stat-card.acc-green{background:linear-gradient(135deg,var(--bg-1),rgba(0,230,138,.03))}
.stat-card.acc-amber{background:linear-gradient(135deg,var(--bg-1),rgba(255,193,7,.03))}
.stat-card.acc-purple{background:linear-gradient(135deg,var(--bg-1),rgba(167,139,250,.03))}
.stat-card.acc-cyan{background:linear-gradient(135deg,var(--bg-1),rgba(0,212,255,.03))}
.stat-card.acc-cyan::before{background:linear-gradient(90deg,var(--cyan),var(--blue))}
