/* ═══════════════════════════════════════════
   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(26px,4.5vw,40px); 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; }
@media(max-width:480px){ .learn-hero h1{font-size:24px;letter-spacing:-1px} }
.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 — v33 Premium ═══ */
.tools-hero{text-align:center;padding:60px 0 20px;position:relative;overflow:hidden}
.tools-hero h1{font-size:clamp(26px,4.5vw,40px);font-weight:800;letter-spacing:-1.5px;line-height:1.15;margin-bottom:14px}
.tools-hero .sub{color:var(--t-60);font-size:14px;max-width:560px;margin:0 auto;line-height:1.7;font-family:var(--font-ui)}
.tools-hero h1 .grad-hero{background:linear-gradient(135deg,var(--blue),var(--cyan),#a78bfa,var(--blue));background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradShift 8s ease infinite}
.tools-filter{display:flex;align-items:center;justify-content:center;gap:2px;margin:24px 0 28px;padding:4px;background:rgba(11,13,19,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-1);border-radius:10px;width:fit-content;margin-left:auto;margin-right:auto;box-shadow:0 4px 24px rgba(0,0,0,.2)}
.filter-tab{font-family:var(--font-data);font-size:11px;font-weight:600;color:var(--t-40);padding:8px 22px;border-radius:7px;cursor:pointer;transition:all .25s;letter-spacing:.4px;white-space:nowrap;user-select:none;border:1px solid transparent;background:none}
.filter-tab:hover{color:var(--t-90);background:rgba(59,125,255,.04)}
.filter-tab.active{background:linear-gradient(135deg,rgba(59,125,255,.12),rgba(0,212,255,.06));color:var(--t-100);font-weight:700;border-color:rgba(59,125,255,.18);box-shadow:inset 0 0 12px rgba(59,125,255,.06),0 0 16px rgba(59,125,255,.06)}
.filter-tab .ct{font-size:9px;margin-left:4px;opacity:.5}.filter-tab.active .ct{color:var(--cyan);opacity:1}

/* Spotlights */
.spotlights-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:32px}
.tool-spotlight{background:linear-gradient(145deg,var(--bg-1),var(--bg-2));border:1px solid var(--border-1);border-radius:var(--r-lg);padding:24px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:all .4s cubic-bezier(.4,0,.2,1)}
.tool-spotlight:hover{border-color:var(--border-2);box-shadow:0 16px 48px rgba(0,0,0,.3)}
.tool-spotlight::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--spot-grad);background-size:200% 100%;animation:gradShift 4s ease infinite}
.tool-spotlight::after{content:'';position:absolute;inset:0;background:var(--spot-glow);pointer-events:none}
.tool-spotlight .corner-glow{position:absolute;width:120px;height:120px;border-radius:50%;pointer-events:none;filter:blur(40px);opacity:.5}
.spotlight-content{position:relative;z-index:1}
.spotlight-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-data);font-size:8px;font-weight:700;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:12px;width:fit-content}
.spotlight-badge--amber{color:var(--amber);background:var(--amber-dim)}.spotlight-badge--cyan{color:var(--cyan);background:var(--cyan-dim)}
.spotlight-content h2{font-size:20px;font-weight:800;letter-spacing:-1px;margin-bottom:8px;line-height:1.15}
.spotlight-content .spot-desc{color:var(--t-50);font-size:11px;font-family:var(--font-data);line-height:1.7;margin-bottom:14px}
.spotlight-features{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px}
.spotlight-feat{display:flex;align-items:center;gap:4px;font-family:var(--font-data);font-size:9px;color:var(--t-50);padding:4px 10px;background:rgba(21,25,35,.7);border:1px solid var(--border-0);border-radius:5px;backdrop-filter:blur(4px);transition:all .25s}
.tool-spotlight:hover .spotlight-feat{border-color:var(--border-1);color:var(--t-60)}
.spotlight-cta{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border:none;border-radius:7px;color:white;font-family:var(--font-data);font-size:11px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.3px;width:fit-content;position:relative;overflow:hidden}
.spotlight-cta::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 60%);opacity:0;transition:opacity .3s}
.spotlight-cta:hover{transform:translateY(-2px)}.spotlight-cta:hover::after{opacity:1}
.spotlight-cta--blue{background:linear-gradient(135deg,var(--blue),#5b8fff);box-shadow:0 2px 10px rgba(59,125,255,.2)}
.spotlight-cta--blue:hover{box-shadow:0 8px 28px rgba(59,125,255,.35)}
.spotlight-cta--cyan{background:linear-gradient(135deg,#00b8d4,var(--cyan));box-shadow:0 2px 10px rgba(0,212,255,.2)}
.spotlight-cta--cyan:hover{box-shadow:0 8px 28px rgba(0,212,255,.35)}
.spotlight-stats{display:flex;align-items:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-0)}
.spotlight-stat{text-align:center}.spotlight-stat-val{font-family:var(--font-data);font-size:14px;font-weight:800;letter-spacing:-.3px}
.spotlight-stat-key{font-family:var(--font-data);font-size:7px;color:var(--t-40);text-transform:uppercase;letter-spacing:.6px;margin-top:1px}
.spotlight-stat-div{width:1px;height:20px;background:var(--border-1)}

/* Trust strip */
.tools-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border-0);border-radius:var(--r-lg);overflow:hidden;margin-bottom:32px;position:relative}
.tools-trust::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(59,125,255,.012),transparent 60%);pointer-events:none}
.tools-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-2) 30%,var(--border-2) 70%,transparent);margin:4px 0 32px}

/* Tool sections */
.tool-section-v33{margin-bottom:36px}
.tool-section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-0)}
.tool-section-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-size:13px;flex-shrink:0}
.tool-section-icon.blue{background:var(--blue-dim)}.tool-section-icon.green{background:var(--green-dim)}.tool-section-icon.amber{background:var(--amber-dim)}.tool-section-icon.purple{background:var(--purple-dim)}.tool-section-icon.cyan{background:var(--cyan-dim)}.tool-section-icon.red{background:var(--red-dim)}
.tool-section-title{font-size:13px;font-weight:700;letter-spacing:-.3px}
.tool-section-count{font-family:var(--font-data);font-size:9px;color:var(--t-30);margin-left:auto;letter-spacing:.5px}

/* Tool cards — premium v33 */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding-bottom:0}
.tool-card{background:linear-gradient(145deg,var(--bg-1),var(--bg-2));border:1px solid var(--border-0);border-radius:var(--r-lg);padding:18px 16px 14px;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;cursor:pointer}
.tool-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;transition:height .35s,opacity .35s;opacity:0}
.tool-card::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 130% 80% at 50% -20%,var(--card-glow,rgba(59,125,255,.03)),transparent 70%);opacity:0;transition:opacity .35s;pointer-events:none}
.tool-card:hover{border-color:var(--border-2);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.tool-card:hover::before{height:2px;opacity:1}.tool-card:hover::after{opacity:1}
.tool-card[data-color="blue"]{--card-glow:rgba(59,125,255,.05)}.tool-card[data-color="blue"]::before{background:linear-gradient(90deg,var(--blue),var(--cyan))}
.tool-card[data-color="cyan"]{--card-glow:rgba(0,212,255,.05)}.tool-card[data-color="cyan"]::before{background:linear-gradient(90deg,var(--cyan),var(--blue))}
.tool-card[data-color="green"]{--card-glow:rgba(0,230,138,.05)}.tool-card[data-color="green"]::before{background:linear-gradient(90deg,var(--green),var(--cyan))}
.tool-card[data-color="purple"]{--card-glow:rgba(167,139,250,.05)}.tool-card[data-color="purple"]::before{background:linear-gradient(90deg,var(--purple),var(--blue))}
.tool-card[data-color="amber"]{--card-glow:rgba(255,193,7,.05)}.tool-card[data-color="amber"]::before{background:linear-gradient(90deg,var(--amber),var(--red))}
.tool-card[data-color="red"]{--card-glow:rgba(255,59,92,.05)}.tool-card[data-color="red"]::before{background:linear-gradient(90deg,var(--red),var(--amber))}
.tool-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}
.tool-card-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:17px;flex-shrink:0;transition:transform .35s;margin-bottom:0}
.tool-card:hover .tool-card-icon{transform:scale(1.08) rotate(-2deg)}
.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-meta{flex:1;min-width:0}
.tool-card-meta h3{font-size:14px;font-weight:700;letter-spacing:-.3px;margin-bottom:2px}
.tool-card-tags{display:flex;align-items:center;gap:5px}
.tag{font-family:var(--font-data);font-size:8px;font-weight:700;padding:2px 7px;border-radius:3px;text-transform:uppercase;letter-spacing:.4px;line-height:1.4}
.tag--free{background:var(--green-dim);color:var(--green)}.tag--pro{background:var(--blue-dim);color:var(--blue)}.tag--elite{background:var(--amber-dim);color:var(--amber)}
.tag--live{background:rgba(0,230,138,0.06);color:var(--green);position:relative;padding-left:13px}
.tag--live::before{content:'';position:absolute;left:5px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--green);box-shadow:0 0 6px rgba(0,230,138,0.5)}
.tool-card-desc{font-family:var(--font-data);font-size:10px;color:var(--t-50);line-height:1.65;margin-bottom:10px;flex:1}
.tool-card-features{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.chip{font-family:var(--font-data);font-size:8px;font-weight:500;color:var(--t-40);background:var(--bg-3);padding:2px 7px;border-radius:3px;letter-spacing:.2px;border:1px solid var(--border-0);transition:all .2s}
.tool-card:hover .chip{border-color:var(--border-1);color:var(--t-50)}
.tool-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border-0);margin-top:auto}
.tool-card-action{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;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:10px;font-weight:600;cursor:pointer;transition:all .25s;text-decoration:none;margin-top:0}
.tool-card-action:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-dim);box-shadow:0 0 12px rgba(59,125,255,.08)}
.tool-card-users{font-family:var(--font-data);font-size:8px;color:var(--t-30)}
.tool-card-bottom{display:flex;align-items:center;gap:8px;margin-top:auto;flex-wrap:wrap}

/* Tools CTA */
.tools-cta{text-align:center;padding:40px 20px;margin-top:12px;margin-bottom:40px;background:linear-gradient(145deg,var(--bg-1),var(--bg-2));border:1px solid var(--border-0);border-radius:var(--r-xl);position:relative;overflow:hidden}
.tools-cta::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 5%,rgba(0,212,255,.12) 50%,transparent 95%)}
.tools-cta::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 45% 60% at 50% 100%,rgba(59,125,255,.05),transparent);pointer-events:none}
.tools-cta h3{font-size:18px;font-weight:800;letter-spacing:-.8px;margin-bottom:6px;position:relative}
.tools-cta p{color:var(--t-50);font-size:11px;font-family:var(--font-data);margin-bottom:18px;position:relative}

/* 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)}

/* ═══ V13 — EVENTS (improved data + UX) ═══ */

/* ─── Next High-Impact Countdown Hero ─── */
.ev-next-hero{position:relative;background:var(--bg-1);border:1px solid var(--border-0);border-radius:var(--r-lg);padding:20px 24px;margin-bottom:16px;overflow:hidden}
.ev-next-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red),var(--amber),var(--red));background-size:200% 100%;animation:evHeroShimmer 3s linear infinite}
@keyframes evHeroShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.ev-next-inner{position:relative;z-index:1}
.ev-next-label{font-family:var(--font-data);font-size:9px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.ev-next-label::before{content:'';width:6px;height:6px;background:var(--red);border-radius:50%;animation:blink 2s infinite}
.ev-next-title{font-family:var(--font-data);font-size:16px;font-weight:700;color:var(--t-100);letter-spacing:-0.3px;margin-bottom:4px}
.ev-next-meta{font-family:var(--font-data);font-size:11px;color:var(--t-40);margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ev-next-countdown{display:flex;align-items:center;gap:4px}
.ev-cd-unit{text-align:center}
.ev-cd-num{font-family:var(--font-data);font-size:28px;font-weight:800;color:var(--t-100);letter-spacing:-1px;display:block;min-width:42px;background:var(--bg-2);border:1px solid var(--border-1);border-radius:8px;padding:4px 8px;line-height:1.2}
.ev-cd-lbl{font-family:var(--font-data);font-size:8px;color:var(--t-20);text-transform:uppercase;letter-spacing:1px;display:block;margin-top:2px}
.ev-cd-sep{font-family:var(--font-data);font-size:24px;font-weight:700;color:var(--t-20);padding:0 2px}
.ev-next-glow{position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(255,59,92,0.06),transparent 70%);pointer-events:none}
@media(max-width:500px){.ev-cd-num{font-size:22px;min-width:34px;padding:3px 6px}.ev-cd-sep{font-size:18px}.ev-next-title{font-size:14px}}

/* ─── Summary Cards ─── */
.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(--red)}
.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}

/* ─── Tabs Bar (tabs + refresh) ─── */
.ev-tabs-bar{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border-0);padding:8px 0}
.ev-tabs{display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ev-tabs::-webkit-scrollbar{display:none}
.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)}
.ev-refresh-btn{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-data);font-size:10px;font-weight:600;color:var(--cyan);background:var(--bg-2);border:1px solid var(--border-1);border-radius:6px;padding:6px 12px;cursor:pointer;transition:all .15s;flex-shrink:0;white-space:nowrap}
.ev-refresh-btn:hover{background:var(--bg-3);border-color:var(--cyan)}
.ev-refresh-btn.spinning svg{animation:spin 0.8s linear infinite}

/* ─── 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)}

/* ─── Status Bar ─── */
.ev-status-bar{display:flex;align-items:center;gap:10px;padding:6px 0;flex-wrap:wrap}
.ev-event-count{font-family:var(--font-data);font-size:11px;font-weight:600;color:var(--t-60)}
.ev-source-badge{font-family:var(--font-data);font-size:9px;color:var(--cyan);background:var(--cyan-dim);padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.3px}
.ev-last-update{font-family:var(--font-data);font-size:9px;color:var(--t-20);margin-left:auto}

/* ─── 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}
.ev-empty-reset{font-family:var(--font-data);font-size:11px;font-weight:600;color:var(--cyan);background:var(--bg-2);border:1px solid var(--border-1);border-radius:6px;padding:6px 16px;cursor:pointer;margin-top:6px;transition:all .15s}
.ev-empty-reset:hover{border-color:var(--cyan);background:var(--bg-3)}

/* ─── 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}

/* ─── Event Card ─── */
.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;cursor:pointer}
.ev-card:hover{border-color:var(--border-1);background:var(--bg-2)}
.ev-card.ev-past{opacity:0.55}
.ev-card.ev-past:hover{opacity:0.8}
.ev-card.ev-high-border{border-left:2px solid var(--red)}
.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(--red-dim);color:var(--red)}
.ev-card-type.custom{background:var(--bg-3);color:var(--t-60)}
.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)}

/* Data row — Actual / Forecast / Previous */
.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-data-val.beat{color:var(--green);position:relative}.ev-data-val.miss{color:var(--red);position:relative}
.ev-beat-tag{font-family:var(--font-data);font-size:7px;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:3px;text-transform:uppercase;letter-spacing:0.3px;vertical-align:middle}
.ev-beat-tag.beat{background:rgba(0,255,136,0.12);color:var(--green)}
.ev-beat-tag.miss{background:rgba(255,59,92,0.12);color:var(--red)}
.ev-beat-tag.inline{background:rgba(255,193,7,0.12);color:var(--amber)}

/* Countdown badges */
.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))}
.sig-glow-wrap.locked .signal-card{min-height:160px}
.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:3;-webkit-box-orient:vertical;overflow:hidden}
/* v33.17.2: Live price tracker bar */
.sig-live-tracker{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;background:var(--bg-2);border-radius:var(--r-sm);border:1px solid var(--border-0)}
.sig-live-tracker .sig-live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 4px rgba(0,230,138,.4);animation:blink 2s infinite;flex-shrink:0}
.sig-live-tracker .sig-live-label{font-family:var(--font-data);font-size:8px;color:var(--t-40);text-transform:uppercase;letter-spacing:.5px}
.sig-live-tracker .sig-live-price{font-family:var(--font-data);font-size:13px;font-weight:700;color:var(--t-90)}
.sig-live-tracker .sig-live-pnl{font-family:var(--font-data);font-size:11px;font-weight:600;margin-left:auto}
.sig-live-tracker .sig-live-pnl.pos{color:var(--green)}
.sig-live-tracker .sig-live-pnl.neg{color:var(--red)}
.sig-live-bar{flex:1;height:3px;background:var(--bg-4);border-radius:2px;position:relative;overflow:hidden;min-width:50px}
.sig-live-bar-fill{height:100%;border-radius:2px;position:absolute;left:0;top:0;transition:width .6s ease}
.sig-live-bar-marker{position:absolute;top:-2px;width:2px;height:7px;border-radius:1px;background:var(--t-60);transition:left .6s ease}
/* v33.17.2: SL level box — updated state when TP hit */
.signal-level.sl-moved{background:rgba(0,230,138,.05);border-color:rgba(0,230,138,.12)}
.signal-level.sl-moved .signal-level-key{color:var(--green)}
.signal-level.sl-moved .signal-level-val{color:var(--green)}
.signal-level.sl-moved .sl-moved-sub{font-family:var(--font-data);font-size:7px;color:var(--t-30);margin-top:2px;letter-spacing:.3px}
.signal-level.tp-hit{background:rgba(0,230,138,.06);border-color:rgba(0,230,138,.15)}
/* v33.17.2: Rationale block with confluence pills */
.sig-rationale{margin:6px 0 4px;padding:8px 10px;border-radius:var(--r-sm);border-left:3px solid var(--border-1);background:var(--bg-2)}
.sig-rationale-text{font-family:var(--font-ui);font-size:11px;color:var(--t-60);line-height:1.6}
.sig-rationale-text strong{color:var(--t-80);font-weight:600}
.sig-confluence-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.sig-pill{font-family:var(--font-data);font-size:8px;font-weight:600;padding:2px 6px;border-radius:3px;display:inline-flex;align-items:center;gap:3px;letter-spacing:.2px}
.sig-pill.bullish{background:var(--green-dim);color:var(--green)}
.sig-pill.bearish{background:var(--red-dim);color:var(--red)}
.sig-pill.neutral{background:rgba(127,136,162,.08);color:var(--t-50)}
.sig-pill.caution{background:var(--amber-dim);color:var(--amber)}
/* v33.17.2: Trade management guidance — redesigned */
.sig-mgmt{display:flex;align-items:flex-start;gap:10px;margin:8px 0 4px;padding:10px 12px;border-radius:var(--r-sm);border-left:3px solid var(--border-1)}
.sig-mgmt-icon{font-size:16px;flex-shrink:0;line-height:1}
.sig-mgmt-body{flex:1;display:flex;flex-direction:column;gap:4px}
.sig-mgmt-action{font-family:var(--font-data);font-size:10px;font-weight:700;letter-spacing:.2px}
.sig-mgmt-detail{font-family:var(--font-ui);font-size:10px;color:var(--t-50);line-height:1.5}
.sig-mgmt-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.sig-mgmt-level{font-family:var(--font-data);font-size:9px;padding:2px 6px;border-radius:3px;display:inline-flex;align-items:center;gap:4px;width:fit-content}
.sig-mgmt.hold{background:var(--bg-2);border-left-color:var(--border-2)}
.sig-mgmt.hold .sig-mgmt-action{color:var(--t-60)}
.sig-mgmt.wait{background:rgba(255,193,7,.04);border-left-color:var(--amber)}
.sig-mgmt.wait .sig-mgmt-action{color:var(--amber)}
.sig-mgmt.wait .sig-mgmt-level{background:var(--amber-dim);color:var(--amber)}
.sig-mgmt.running{background:rgba(0,212,255,.04);border-left-color:var(--cyan)}
.sig-mgmt.running .sig-mgmt-action{color:var(--cyan)}
.sig-mgmt.running .sig-mgmt-level{background:var(--cyan-dim);color:var(--cyan)}
.sig-mgmt.tp1{background:rgba(0,230,138,.05);border-left-color:var(--green)}
.sig-mgmt.tp1 .sig-mgmt-action{color:var(--green)}
.sig-mgmt.tp1 .sig-mgmt-level{background:var(--green-dim);color:var(--green)}
.sig-mgmt.tp2{background:rgba(0,255,170,.06);border-left-color:#00ffaa}
.sig-mgmt.tp2 .sig-mgmt-action{color:#00ffaa}
.sig-mgmt.tp2 .sig-mgmt-level{background:rgba(0,255,170,.1);color:#00ffaa}
.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 */
/* Legacy plan tags — kept for backward compat */
.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-close-badge.expired-win{background:rgba(0,212,255,.1);color:var(--cyan)}
.sig-close-badge.expired-loss{background:rgba(255,100,100,.1);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 — responsive v33 */
@media(max-width:480px){.tools-hero h1{font-size:24px;letter-spacing:-1px}}
@media(max-width:1000px){.spotlights-grid{grid-template-columns:1fr}.tools-trust{grid-template-columns:repeat(2,1fr)}.tools-trust .trust-item:nth-child(2){border-right:none}}
@media(max-width:700px){.tools-trust{grid-template-columns:1fr}.tools-trust .trust-item{border-right:none;border-bottom:1px solid var(--border-0)}.tools-trust .trust-item:last-child{border-bottom:none}}
@media(max-width:600px){.tools-filter{overflow-x:auto;-webkit-overflow-scrolling:touch;width:calc(100% + 40px);margin-left:-20px;padding:4px 16px;border-radius:0;border-left:none;border-right:none;justify-content:flex-start}.filter-tab{flex-shrink:0}.tool-card-features{display:none}.spotlight-features{display:none}}
@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))}
