
/* BOTTOM NAV */
.bnav{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg);border-top:1px solid var(--b1);display:flex;}
.bnav-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;padding:10px 2px 8px;cursor:pointer;transition:color .15s;color:var(--t3);font-size:10px;gap:4px;border:none;background:none;font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* 8-9 ta nav item hole choto phone-e cramped hoye jay — font/padding ektu komai */
@media (max-width:420px){
  .bnav-item{font-size:8.5px;padding:9px 1px 7px;gap:3px;}
  .bnav-item .bi{font-size:15px;}
}
.bnav-item .bi{font-size:20px;}
.bnav-item.active{color:var(--amber);}
.bnav-item:hover{color:var(--t2);}

/* TOP NAV */
.tnav{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--b1);padding:13px 20px;display:flex;align-items:center;gap:12px;}
.tnav-back{background:none;border:none;color:var(--t2);font-size:20px;cursor:pointer;padding:0;line-height:1;}
.tnav-back:hover{color:var(--text);}
.tnav h1{font-size:15px;font-weight:600;}
.tnav p{font-size:11px;color:var(--t3);margin-top:1px;}

/* PAGES */
.page{display:none;padding:20px;max-width:500px;margin:0 auto;}
.page.show{display:block;}
@keyframes up{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.anim{animation:up .28s ease;}

/* HOME PAGE — split layout with live chart */
#pgHome{max-width:clamp(900px, 92vw, 1900px);}
#pgHome.show{display:flex;align-items:flex-start;gap:clamp(16px,2vw,32px);}
#pgHome .home-left{flex:0 0 clamp(360px, 22vw, 460px);max-width:clamp(360px, 22vw, 460px);min-width:0;}
#pgHome .home-chart-col{flex:1;min-width:0;position:sticky;top:16px;}
.home-chart-wrap{position:relative;height:calc(100vh - 100px);min-height:480px;max-height:1200px;border:1px solid var(--b1);border-radius:12px;overflow:hidden;background:var(--surface);}
.chart-shot-btn{position:absolute;top:10px;right:10px;z-index:40;background:var(--surface);border:1px solid var(--tbdr);color:var(--text);font-size:12px;font-weight:600;padding:7px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.25);font-family:inherit;}
.chart-shot-btn:hover{border-color:var(--teal);color:var(--teal);}
.chart-shot-btn:disabled{opacity:.6;cursor:wait;}
.chart-shot-popup{background:var(--surface);border-radius:16px 16px 0 0;padding:18px;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;}
.chart-shot-popup img{width:100%;border-radius:10px;border:1px solid var(--b1);margin-bottom:14px;}
.chart-shot-actions{display:flex;gap:10px;}
.chart-shot-actions button{flex:1;padding:13px 10px;border-radius:10px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit;border:1px solid var(--tbdr);}
.csa-copy{background:var(--s2);color:var(--text);}
.csa-ai{background:var(--pbg);color:var(--purple);border-color:var(--purple);}
@media (max-width:900px){
  #pgHome{max-width:500px;}
  #pgHome.show{flex-direction:column;gap:20px;}
  #pgHome .home-left{flex:none;max-width:100%;width:100%;}
  #pgHome .home-chart-col{width:100%;position:static;}
  .home-chart-wrap{height:65vh;min-height:380px;}
}

/* CHECKLIST & JOURNAL — split layout on desktop */
#pgCheck,#pgJournal{max-width:500px;}
.page-chart-col{display:none;}
@media (min-width:901px){
  #pgCheck,#pgJournal{max-width:clamp(900px, 92vw, 1900px);}
  #pgCheck.show,#pgJournal.show{display:flex;align-items:flex-start;gap:clamp(16px,2vw,32px);}
  .check-left,.journal-left{flex:0 0 clamp(400px, 26vw, 520px);max-width:clamp(400px, 26vw, 520px);min-width:0;}
  .page-chart-col{display:block;flex:1;min-width:0;position:sticky;top:16px;}
  .page-chart-wrap{height:calc(100vh - 100px);min-height:480px;max-height:1200px;border:1px solid var(--b1);border-radius:12px;overflow:hidden;background:var(--surface);}
}

/* SETTINGS — 2 column desktop layout */
#pgSettings,#pgAiSettings{max-width:500px;}
@media (min-width:1000px){
  #pgSettings,#pgAiSettings{max-width:clamp(900px, 80vw, 1500px);}
  #pgSettings.show,#pgAiSettings.show{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(24px,3vw,56px);align-items:start;}
  #pgAiSettings.show .an-head{grid-column:1 / -1;}
  .settings-page-title{grid-column:1 / -1;}
  .settings-col{min-width:0;}
}

/* ACTIVITIES — 2 column desktop layout (Settings-r moto) */
#pgActivities{max-width:500px;}
@media (min-width:1000px){
  #pgActivities{max-width:clamp(900px, 80vw, 1500px);}
  #pgActivities.show{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(24px,3vw,56px);align-items:start;}
  .activities-page-title{grid-column:1 / -1;}
  .activities-col{min-width:0;}
}

/* ── UNDO TOAST ── */
.undo-toast{position:fixed;left:16px;right:16px;bottom:80px;max-width:460px;margin:0 auto;background:#232323;border:1px solid var(--b2);border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:900;box-shadow:0 6px 20px rgba(0,0,0,.4);opacity:0;transform:translateY(12px);pointer-events:none;transition:all .2s ease;}
.undo-toast.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.undo-toast span.ut-msg{font-size:13px;color:var(--text);}
.undo-toast button{background:none;border:none;color:var(--amber);font-weight:700;font-size:13px;cursor:pointer;padding:4px 6px;}

/* ── BANNERS ── */
.banner{border-radius:12px;padding:16px 18px;margin-bottom:16px;display:none;}
.banner.notice-collapsed{display:none !important;}
.home-more-notices{
  display:none;width:100%;text-align:center;padding:9px 12px;margin:-6px 0 16px;
  background:var(--s2);border:1px dashed var(--b2);border-radius:9px;
  color:var(--t3);font-size:12px;cursor:pointer;font-family:inherit;
}
.home-more-notices:hover{background:var(--s3);color:var(--t2);}

/* ANALYTICS TABS — 30+ card ekshathe scroll na kore, category-wise bhag kora */
.an-tabbar{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.an-tab-btn{
  width:100%;padding:11px 16px;border-radius:var(--radius-btn,10px);
  background:var(--s2);border:var(--border);color:var(--t2);
  font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;
  text-align:left;
}
.an-tab-btn.active{background:var(--primary-bg);color:var(--primary);border-color:var(--primary);}
.an-tab-group{display:none;}
.an-tab-group.active{display:block;}
.an-content{min-width:0;}
@media (min-width:700px){
  .an-layout{display:flex;align-items:flex-start;gap:20px;}
  .an-tabbar{flex:0 0 30%;max-width:30%;margin-bottom:0;position:sticky;top:16px;}
  .an-content{flex:0 0 70%;max-width:70%;}
}

/* BOTTOM NAV HIDE/SHOW — mobile-e nav bar lukiye rakhar option */
.bnav-hide-handle{display:none;}
.bnav-show-handle{display:none;}
@media (max-width:900px){
  .bnav-hide-handle{
    display:flex;align-items:center;justify-content:center;
    position:absolute;top:-16px;right:14px;
    width:32px;height:16px;border-radius:8px 8px 0 0;
    background:var(--bg);border:1px solid var(--b1);border-bottom:none;
    color:var(--t3);cursor:pointer;padding:0;
  }
  .bnav-hide-handle:hover{color:var(--t2);}
  body.bnav-hidden .bnav{display:none !important;}
  body.bnav-hidden{padding-bottom:0 !important;}
  body.bnav-hidden .mobile-fab{bottom:18px;}
  .bnav-show-handle{
    position:fixed;bottom:14px;right:14px;z-index:260;
    width:34px;height:34px;border-radius:50%;
    background:var(--primary);color:#fff;border:none;cursor:pointer;
    box-shadow:0 2px 8px rgba(0,0,0,.35);
    align-items:center;justify-content:center;padding:0;
  }
  body.bnav-hidden .bnav-show-handle{display:flex;}
}
.banner.show{display:block;}
.banner-danger{background:var(--rbg);border:2px solid var(--red);animation:blink 1.6s ease infinite;}
@keyframes blink{0%,100%{border-color:var(--red);}50%{border-color:#ff5555;}}
.banner-warn{background:var(--abg);border:1.5px solid var(--abdr);}
.banner-info{background:var(--tbg);border:1.5px solid var(--tbdr);}
.banner-title{font-size:16px;font-weight:700;margin-bottom:5px;}
.banner-danger .banner-title{color:var(--red);}
.banner-warn .banner-title{color:var(--amber);}
.banner-info .banner-title{color:var(--teal);}
.banner-body{font-size:13px;line-height:1.6;}
.banner-danger .banner-body{color:#d89090;}
.banner-warn .banner-body{color:#c8a060;}
.banner-info .banner-body{color:#70d0b8;}

/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px;}
.stat-box{background:var(--surface);border:1px solid var(--b1);border-radius:10px;padding:12px 8px;text-align:center;}
.stat-box .sv{font-size:19px;font-weight:700;margin-bottom:2px;}
.stat-box .sl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;}
.s-green .sv{color:var(--green);}
.s-red   .sv{color:var(--red);}
.s-blue  .sv{color:var(--blue);}
.s-amber .sv{color:var(--amber);}
.s-teal  .sv{color:var(--teal);}

/* SETUP SELECTOR */
.setup-selector{background:var(--surface);border:1px solid var(--tbdr);border-radius:12px;padding:14px 16px;margin-bottom:12px;cursor:pointer;transition:border-color .15s;}
.setup-selector:hover{border-color:var(--teal);}
.setup-pick-opt{display:flex;flex-direction:column;text-align:left;padding:13px 14px;border-radius:10px;border:1.5px solid var(--b1);background:var(--s2);cursor:pointer;margin-bottom:8px;width:100%;font-family:inherit;transition:all .15s;}
.setup-pick-opt:hover{border-color:var(--teal);background:var(--tbg);}
.setup-pick-opt.selected{border-color:var(--teal);background:var(--tbg);}
.setup-pick-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px;}
.setup-pick-meta{font-size:11px;color:var(--t3);}
.setup-add-btn{width:100%;padding:12px;border-radius:10px;border:1.5px dashed var(--b2);background:none;color:var(--t2);font-size:13px;cursor:pointer;font-family:inherit;transition:all .15s;margin-top:4px;}
.setup-add-btn:hover{border-color:var(--teal);color:var(--teal);}
.ed-setup-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--s2);border:1px solid var(--b1);border-radius:8px;margin-bottom:6px;cursor:pointer;}
.ed-setup-row.active{border-color:var(--teal);background:var(--tbg);}
.ed-setup-name{font-size:13px;font-weight:600;color:var(--text);}
.ed-setup-meta{font-size:11px;color:var(--t3);margin-top:1px;}
.ed-setup-del{background:none;border:none;color:var(--t3);font-size:16px;cursor:pointer;padding:0 4px;}
.ed-setup-del:hover{color:var(--red);}

/* SETUP MULTISELECT IN PLAN */
.plan-setup-chip{padding:6px 12px;border-radius:7px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;transition:all .12px;}
.plan-setup-chip.picked{border-color:var(--teal);background:var(--tbg);color:var(--teal);}

/* GRADE SELECTOR */
.grade-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;}
.grade-btn{padding:12px 6px;border-radius:10px;border:1.5px solid var(--b1);background:var(--s2);cursor:pointer;text-align:center;font-family:inherit;transition:all .15s;}
.grade-btn .gb-letter{font-size:20px;font-weight:800;display:block;margin-bottom:3px;}
.grade-btn .gb-desc{font-size:10px;color:var(--t3);line-height:1.3;}
.grade-btn:hover{border-color:var(--b2);}
.grade-btn.picked-A{border-color:var(--green);background:var(--gbg);}.grade-btn.picked-A .gb-letter{color:var(--green);}
.grade-btn.picked-B{border-color:var(--blue);background:var(--bbg);}.grade-btn.picked-B .gb-letter{color:var(--blue);}
.grade-btn.picked-C{border-color:var(--amber);background:var(--abg);}.grade-btn.picked-C .gb-letter{color:var(--amber);}
.grade-btn.picked-D{border-color:var(--red);background:var(--rbg);}.grade-btn.picked-D .gb-letter{color:var(--red);}
.eb-grade-A{background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.eb-grade-B{background:var(--bbg);color:var(--blue);border:1px solid var(--bbdr);}
.eb-grade-C{background:var(--abg);color:var(--amber);border:1px solid var(--abdr);}
.eb-grade-D{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}

/* SETUP COMPARISON & BEST CONDITIONS */
.setup-cmp-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--b1);}
.setup-cmp-row:last-child{border-bottom:none;}
.setup-cmp-name{font-size:12px;font-weight:600;color:var(--text);min-width:90px;flex-shrink:0;}
.setup-cmp-bar-wrap{flex:1;height:6px;background:var(--s2);border-radius:3px;min-width:40px;}
.setup-cmp-bar{height:100%;border-radius:3px;background:var(--teal);}
.setup-cmp-val{font-size:12px;color:var(--t2);min-width:36px;text-align:right;flex-shrink:0;}
.setup-cmp-extra{font-size:10px;color:var(--t3);min-width:70px;text-align:right;flex-shrink:0;}
.insight-grid{display:flex;flex-direction:column;gap:8px;}
.insight-card{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:12px 14px;display:flex;align-items:flex-start;gap:12px;}
.insight-icon{font-size:20px;flex-shrink:0;}
.insight-body .ib-title{font-size:12px;font-weight:600;color:var(--text);margin-bottom:2px;}
.insight-body .ib-sub{font-size:11px;color:var(--t2);line-height:1.5;}
.insight-body .ib-val{font-size:13px;font-weight:700;color:var(--teal);margin-top:3px;}
.no-insight{font-size:13px;color:var(--t3);text-align:center;padding:16px 0 8px;}
.no-insight-cta{
  display:block;margin:0 auto 12px;padding:9px 18px;border-radius:var(--radius-btn,10px);
  background:var(--primary-bg);border:1px solid var(--primary-bdr);color:var(--primary);
  font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;
}
.no-insight-cta:hover{background:var(--primary);color:#fff;}

/* BACKTEST PAGE */
.bt-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px;}
.bt-stat{background:var(--surface);border:1px solid var(--b1);border-radius:10px;padding:12px 8px;text-align:center;}
.bt-stat .bsv{font-size:18px;font-weight:700;margin-bottom:2px;}
.bt-stat .bsl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;}
.bt-entry{background:var(--surface);border:1px solid var(--pbdr);border-radius:10px;padding:14px;margin-bottom:8px;}
.bt-entry-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:6px;}

/* HTF/MTF/LTF BIAS */
.bias-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.bias-item .bias-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--t3);margin-bottom:6px;}
.bias-sel{width:100%;padding:9px 10px;background:var(--surface);border:1.5px solid var(--b1);border-radius:8px;color:var(--text);font-size:12px;font-family:inherit;outline:none;cursor:pointer;}
.bias-sel:focus{border-color:var(--b2);}
.bias-aligned{border-color:var(--green)!important;background:var(--gbg)!important;}
.bias-conflict{border-color:var(--red)!important;background:var(--rbg)!important;}
.bias-hint{font-size:11px;margin-top:8px;padding:8px 12px;border-radius:8px;line-height:1.5;}
.bias-hint.ok{background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.bias-hint.warn{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}

/* CONFLUENCE SCORE */
.confluence-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.conf-check{padding:8px 14px;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s;}
.conf-check:hover{border-color:var(--b2);color:var(--text);}
.conf-check.on{border-color:var(--teal);background:var(--tbg);color:var(--teal);}
.conf-bar-wrap{height:8px;background:var(--s2);border-radius:4px;overflow:hidden;margin-bottom:6px;}
.conf-bar{height:100%;border-radius:4px;transition:width .3s ease;}
.conf-hint{font-size:11px;color:var(--t2);}

/* EXIT PRICE + DURATION in history */
.exit-row{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--b1);flex-wrap:wrap;}
.exit-input{padding:6px 10px;background:var(--s2);border:1px solid var(--b1);border-radius:6px;color:var(--text);font-size:12px;font-family:inherit;outline:none;width:110px;}
.exit-input:focus{border-color:var(--b2);}
.exit-lbl{font-size:11px;color:var(--t3);flex-shrink:0;}
.actual-r-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:6px;}
.actual-r-pos{background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.actual-r-neg{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}
.dur-badge{font-size:11px;color:var(--t3);padding:3px 8px;background:var(--s2);border-radius:5px;}

/* POST-TRADE REVIEW */
.review-form{margin-top:10px;border-top:1px solid var(--b1);padding-top:12px;display:none;}
.review-form.open{display:block;animation:up .2s ease;}
.review-q{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;margin-top:10px;}
.review-q:first-child{margin-top:0;}
.review-ta{width:100%;padding:9px 12px;background:var(--s2);border:1px solid var(--b1);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;outline:none;resize:none;}
.review-ta:focus{border-color:var(--b2);}
.review-save{margin-top:8px;padding:8px 16px;border-radius:8px;border:1px solid var(--gbdr);background:var(--gbg);color:var(--green);font-size:12px;cursor:pointer;font-family:inherit;}

/* STREAK & DRAWDOWN on home */
.home-widgets{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.hw-box{background:var(--surface);border:1px solid var(--b1);border-radius:10px;padding:14px;}
.hw-label{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--t3);margin-bottom:6px;}
.hw-val{font-size:22px;font-weight:700;margin-bottom:2px;}
.hw-sub{font-size:11px;color:var(--t2);}
.streak-win .hw-val{color:var(--green);}
.streak-loss .hw-val{color:var(--red);}
.dd-warn .hw-val{color:var(--amber);}
.dd-crit .hw-val{color:var(--red);}

/* RECURRING MISTAKE ALERT */
.mistake-alert{background:var(--rbg);border:1.5px solid var(--rbdr);border-radius:10px;padding:12px 14px;margin-bottom:12px;display:none;}
.mistake-alert.show{display:block;}
.ma-title{font-size:13px;font-weight:600;color:var(--red);margin-bottom:4px;}
.ma-body{font-size:12px;color:#d89090;line-height:1.6;}

/* CORRELATION WARNING */
.corr-banner{background:var(--abg);border:1.5px solid var(--abdr);border-radius:10px;padding:12px 14px;margin-bottom:12px;display:none;}
.corr-banner.show{display:block;}

/* WEEKLY SELF-ASSESSMENT */
.assess-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.assess-item{}
.assess-lbl{font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:flex;justify-content:space-between;}
.assess-lbl span{color:var(--teal);font-size:14px;}
.assess-slider{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--s2);outline:none;cursor:pointer;}
.assess-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--teal);cursor:pointer;border:2px solid var(--bg);}
.assess-save{width:100%;margin-top:16px;padding:12px;border-radius:10px;border:1px solid var(--teal);background:var(--tbg);color:var(--teal);font-size:13px;cursor:pointer;font-family:inherit;}
.assess-history{margin-top:14px;}
.assess-week-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--b1);font-size:12px;}
.assess-week-row:last-child{border-bottom:none;}
.assess-week-date{color:var(--t3);}
.assess-week-score{color:var(--teal);font-weight:700;}

/* ACCOUNT RISK % */
.risk-pct-live{font-size:11px;padding:6px 12px;border-radius:6px;margin-top:6px;display:none;}
.risk-pct-ok{background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.risk-pct-high{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}

/* SESSION TIMER */
.session-timer{background:var(--surface);border:1px solid var(--b1);border-radius:12px;padding:14px 16px;margin-bottom:14px;}
.st-row{display:flex;align-items:center;justify-content:space-between;}
.st-left{display:flex;align-items:center;gap:10px;}
.st-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.st-dot.active{background:var(--green);box-shadow:0 0 7px var(--green);animation:pulse-dot 1.5s ease infinite;}
.st-dot.inactive{background:var(--t3);}
@keyframes pulse-dot{0%,100%{opacity:1;}50%{opacity:.4;}}
.st-info .st-session-name{font-size:13px;font-weight:600;color:var(--text);}
.st-info .st-sub{font-size:11px;color:var(--t3);margin-top:1px;}
.st-countdown{font-size:18px;font-weight:700;color:var(--teal);font-variant-numeric:tabular-nums;font-family:monospace;}
.st-upcoming{font-size:11px;color:var(--t3);margin-top:8px;padding-top:8px;border-top:1px solid var(--b1);display:flex;gap:16px;flex-wrap:wrap;}
.st-upcoming-item b{color:var(--t2);}

/* POSITION SIZE CALCULATOR */
.pos-calc-overlay{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.85);display:none;align-items:flex-end;justify-content:center;}
.pos-calc-overlay.show{display:flex;}
.pos-calc-panel{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;padding:20px;}
.pos-calc-title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;}
.calc-result-box{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:16px;margin-top:16px;}
.calc-result-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--b1);}
.calc-result-row:last-child{border-bottom:none;}
.calc-result-label{font-size:12px;color:var(--t2);}
.calc-result-value{font-size:15px;font-weight:700;color:var(--teal);}
.calc-result-value.warn{color:var(--amber);}
.calc-result-value.danger{color:var(--red);}

/* VOICE NOTE */
.voice-btn{padding:8px 14px;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s;display:inline-flex;align-items:center;gap:6px;margin-top:6px;}
.voice-btn:hover{border-color:var(--b2);color:var(--text);}
.voice-btn.recording{border-color:var(--red);background:var(--rbg);color:var(--red);animation:pulse-dot .8s ease infinite;}

/* SCREENSHOT ANNOTATION */
.annot-overlay{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.95);display:none;flex-direction:column;}
.annot-overlay.show{display:flex;}
.annot-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--b1);flex-wrap:wrap;}
.annot-tool{padding:6px 12px;border-radius:6px;border:1px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;}
.annot-tool.active{border-color:var(--teal);background:var(--tbg);color:var(--teal);}
.annot-canvas-wrap{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px;}
#annotCanvas{cursor:crosshair;max-width:100%;touch-action:none;}
.annot-color{width:28px;height:28px;border-radius:50%;border:2px solid var(--b2);cursor:pointer;flex-shrink:0;}
.annot-color.active-color{border-color:var(--text);}

/* ENTRY TIMING */
.candles-hint{font-size:11px;color:var(--t3);margin-top:6px;line-height:1.5;}

/* STATISTICAL EDGE */
.edge-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.edge-stat{background:var(--s2);border-radius:10px;padding:14px;text-align:center;}
.edge-stat .ev{font-size:20px;font-weight:700;margin-bottom:3px;}
.edge-stat .el{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;}
.ci-bar-wrap{height:8px;background:var(--s2);border-radius:4px;margin:10px 0;position:relative;}
.ci-bar{height:100%;border-radius:4px;background:var(--teal);position:absolute;}
.ci-point{width:10px;height:10px;border-radius:50%;background:var(--amber);position:absolute;top:-1px;transform:translateX(-50%);border:2px solid var(--bg);}
.ci-label{display:flex;justify-content:space-between;font-size:10px;color:var(--t3);}
.sig-warning{background:var(--abg);border:1px solid var(--abdr);border-radius:8px;padding:10px 14px;font-size:12px;color:#c8a060;line-height:1.6;}
.kelly-bar-wrap{height:8px;background:var(--s2);border-radius:4px;overflow:hidden;margin-top:6px;}
.kelly-bar{height:100%;border-radius:4px;background:var(--blue);}

/* CONFLUENCE EFFECTIVENESS */
.ceff-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--b1);}

/* CONFLUENCE → CHECKLIST RECOMMENDATIONS */
.conf-reco-card{border-radius:10px;padding:12px 14px;margin-bottom:10px;border:1.5px solid var(--b1);background:var(--s2);}
.conf-reco-card.reco-good{border-color:var(--success-bdr);background:var(--success-bg);}
.conf-reco-card.reco-warn{border-color:var(--warning-bdr);background:var(--warning-bg);}
.conf-reco-card.reco-neutral{border-color:var(--b2);background:var(--s2);}
.conf-reco-head{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px;}
.conf-reco-count{font-size:11px;font-weight:400;color:var(--t3);}
.conf-reco-text{font-size:12px;color:var(--t2);line-height:1.6;}
.conf-reco-text b{color:var(--text);}

/* AI ACCURACY */
.ai-acc-hero{text-align:center;padding:14px 0;}
.ai-acc-num{font-size:38px;font-weight:800;line-height:1;}
.ai-acc-sub{font-size:12px;color:var(--t3);margin-top:6px;}
.ai-acc-breakdown{margin-top:10px;border-top:1px solid var(--b1);padding-top:10px;}
.ai-acc-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--t2);padding:6px 0;}
.ai-acc-insight{margin-top:10px;padding:10px 12px;background:var(--primary-bg);border:1px solid var(--primary-bdr);border-radius:8px;font-size:12px;color:var(--t2);line-height:1.6;}

/* MULTI-ACCOUNT */
.acct-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--s2);border:1.5px solid var(--b1);border-radius:10px;margin-bottom:8px;}
.acct-row.active{border-color:var(--teal);background:var(--tbg);}
.acct-info{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;min-width:0;}
.acct-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.acct-name{font-size:13px;font-weight:600;color:var(--text);}
.acct-tcount{font-size:10px;color:var(--t3);}
.acct-active-badge{font-size:9px;padding:2px 7px;border-radius:4px;background:var(--tbg);color:var(--teal);border:1px solid var(--tbdr);font-weight:700;}
.acct-actions{display:flex;gap:4px;flex-shrink:0;}
.acct-btn{background:none;border:none;font-size:14px;cursor:pointer;padding:4px 6px;opacity:.7;}
.acct-btn:hover{opacity:1;}
.active-account-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:7px;background:var(--s2);border:1px solid var(--b1);cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.home-logout-btn{font-size:11px;font-weight:600;padding:4px 10px;border-radius:7px;background:var(--rbg);border:1px solid var(--rbdr);color:var(--red);cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;}
.home-logout-btn:hover{opacity:.85;}

/* TRADINGVIEW WEBHOOK SIGNALS */
.signal-card{background:var(--pbg);border:1.5px solid var(--pbdr);border-radius:12px;padding:14px 16px;margin-bottom:12px;animation:up .25s ease;}
.signal-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.signal-card-title{font-size:13px;font-weight:700;color:var(--purple);display:flex;align-items:center;gap:6px;}
.signal-card-time{font-size:10px;color:var(--t3);}
.signal-card-body{font-size:13px;color:var(--text);margin-bottom:10px;line-height:1.6;}
.signal-card-body b{color:var(--purple);}
.signal-card-actions{display:flex;gap:8px;}
.signal-btn{flex:1;padding:9px;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.signal-btn.take{border-color:var(--gbdr);background:var(--gbg);color:var(--green);}
.signal-btn.dismiss{border-color:var(--rbdr);background:var(--rbg);color:var(--red);}

/* LIVE MT5 POSITIONS */
.liveposs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.liveposs-title{font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px;}
.liveposs-total{font-size:14px;font-weight:700;}
.liveposs-total.pos{color:var(--green);}
.liveposs-total.neg{color:var(--red);}
.livepos-card{background:var(--surface);border:1.5px solid var(--b1);border-radius:12px;padding:12px 14px;margin-bottom:8px;}
.livepos-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.livepos-symbol{font-size:13px;font-weight:700;color:var(--text);}
.livepos-dir{font-size:11px;font-weight:600;padding:2px 8px;border-radius:5px;margin-left:6px;}
.livepos-dir.buy{background:var(--bbg);color:var(--blue);border:1px solid var(--bbdr);}
.livepos-dir.sell{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}
.livepos-pnl{font-size:15px;font-weight:700;}
.livepos-pnl.pos{color:var(--green);}
.livepos-pnl.neg{color:var(--red);}
.livepos-details{display:flex;gap:14px;font-size:11px;color:var(--t3);}
.livepos-details b{color:var(--t2);}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse-dot 1.5s ease infinite;}
.livepos-close-btn{width:100%;margin-top:8px;padding:8px;border-radius:8px;border:1.5px solid var(--rbdr);background:var(--rbg);color:var(--red);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.livepos-close-btn:hover{background:#3a1616;}
.livepos-close-btn:disabled{opacity:.6;cursor:default;}

/* PRE-TRADE AI CHECK */
.ai-check-entry-btn{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--pbdr);background:var(--pbg);cursor:pointer;font-family:inherit;margin-bottom:14px;}
.ai-check-entry-btn:hover{background:#1e1538;}
.ai-check-result{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--pbg);border:1.5px solid var(--pbdr);font-size:13px;color:#c0b0e8;line-height:1.7;}
.ai-check-result h4{color:var(--purple);font-size:12px;font-weight:700;margin-bottom:4px;margin-top:10px;}
.ai-check-result h4:first-child{margin-top:0;}
.ai-check-verdict{display:inline-block;padding:5px 14px;border-radius:8px;font-size:13px;font-weight:700;margin-bottom:10px;}
.ai-check-verdict.valid{background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.ai-check-verdict.invalid{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}
.ai-check-verdict.unsure{background:var(--abg);color:var(--amber);border:1px solid var(--abdr);}

/* AI REFERENCE LIBRARY */
.ai-ref-card{background:var(--surface);border:1.5px solid var(--b1);border-radius:12px;padding:12px;margin-bottom:10px;display:flex;gap:12px;}
.ai-ref-thumb{width:64px;height:64px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--s2);}
.ai-ref-body{flex:1;min-width:0;}
.ai-ref-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;display:inline-block;margin-bottom:4px;}
/* BLIND MODE result sections */
.blind-phase-badge{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.5px;color:var(--primary);background:var(--primary-bg);border:1px solid var(--primary-bdr);border-radius:8px;padding:7px 11px;margin-bottom:12px;}
.blind-phase-badge span{font-weight:400;letter-spacing:0;color:var(--t3);font-size:10.5px;}
.blind-phase-badge.p2{color:var(--teal);background:var(--tbg);border-color:var(--tbdr);}
.blind-loading{margin-top:14px;padding:10px 12px;border-radius:8px;background:var(--s2);border:1px dashed var(--b2);color:var(--t3);font-size:12px;text-align:center;}
.blind-phase2{margin-top:18px;padding-top:16px;border-top:1px dashed var(--b2);}
.blind-phase2.has-diff{border-top-color:var(--warning-bdr,var(--abdr));}
.cc-term{font-size:13px;font-weight:700;color:var(--teal);margin-bottom:4px;}
.ai-ref-thumb.cc-noimg{display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--s2);}
.ai-ref-tf{font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:4px;display:inline-block;margin-bottom:4px;margin-left:4px;background:var(--s3,var(--s2));color:var(--t3);border:1px solid var(--b1);}
.ai-ref-tag.valid{background:var(--gbg);color:var(--green);}
.ai-ref-tag.invalid{background:var(--rbg);color:var(--red);}
.ai-ref-text{font-size:11.5px;color:var(--t2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ai-ref-del{background:none;border:none;color:var(--t3);font-size:14px;cursor:pointer;padding:4px;flex-shrink:0;}
.oc-btn.valid-active{border-color:var(--gbdr);background:var(--gbg);color:var(--green);}
.oc-btn.invalid-active{border-color:var(--rbdr);background:var(--rbg);color:var(--red);}

/* ADMIN PANEL */
.admin-user-row{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;background:var(--surface);border:1px solid var(--b1);border-radius:9px;margin-bottom:8px;}
.admin-user-name{font-size:13px;font-weight:600;color:var(--text);}
.admin-user-date{font-size:10.5px;color:var(--t3);margin-top:2px;}

/* Generic modal overlay (used by Admin user-refs viewer) */
.overlay{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;padding:20px;}
.overlay.show{display:flex;}
.overlay-box{background:var(--bg);border:1px solid var(--b1);border-radius:14px;padding:18px;max-width:520px;width:100%;max-height:80vh;overflow-y:auto;}
.overlay-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.overlay-head h3{font-size:15px;color:var(--text);}
.overlay-close{background:none;border:none;color:var(--t3);font-size:20px;cursor:pointer;padding:0 6px;}
.admin-ref-card{background:var(--surface);border:1.5px solid var(--b1);border-radius:12px;padding:12px;margin-bottom:10px;}
.admin-ref-img{width:100%;border-radius:8px;margin-bottom:8px;}
.admin-ref-copy-btn{width:100%;margin-top:8px;padding:8px;border-radius:7px;border:1.5px solid var(--tbdr);background:var(--tbg);color:var(--teal);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}

/* SECURITY LOG */
.seclog-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--surface);border:1px solid var(--b1);border-radius:8px;margin-bottom:6px;}
.seclog-left{display:flex;align-items:center;gap:10px;}
.seclog-icon{font-size:16px;}
.seclog-type{font-size:12px;font-weight:600;color:var(--text);}
.seclog-detail{font-size:11px;color:var(--t3);}
.seclog-time{font-size:10px;color:var(--t3);text-align:right;}
.seclog-ip{font-size:10px;color:var(--t3);}
.attempt-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--s2);border-radius:7px;margin-bottom:5px;font-size:11px;}
.attempt-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;}
.attempt-badge.success{background:var(--gbg);color:var(--green);}
.attempt-badge.failed{background:var(--rbg);color:var(--red);}

/* AUTH GATE */
.auth-gate-overlay{position:fixed;inset:0;z-index:99999;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:20px;}
.auth-gate-overlay.hidden{display:none;}
.auth-gate-box{width:100%;max-width:340px;text-align:center;}
.auth-gate-loading{display:flex;align-items:center;justify-content:center;}
.spinner-ring{width:36px;height:36px;border-radius:50%;border:3px solid var(--b2);border-top-color:var(--primary);animation:spin-ring .8s linear infinite;}
@keyframes spin-ring{to{transform:rotate(360deg);}}
.auth-gate-logo{font-size:48px;margin-bottom:12px;}
.auth-gate-box h2{font-size:22px;font-weight:700;color:var(--text);margin-bottom:4px;}
.auth-gate-sub{font-size:13px;color:var(--t3);margin-bottom:24px;}
.auth-gate-input{width:100%;padding:13px 14px;background:var(--s2);border:1.5px solid var(--b1);border-radius:10px;color:var(--text);font-size:14px;font-family:inherit;outline:none;margin-bottom:10px;box-sizing:border-box;}
.auth-gate-input:focus{border-color:var(--teal);}
.auth-gate-btn{width:100%;padding:13px;border-radius:10px;border:none;background:var(--teal);color:#04211c;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:6px;}
.auth-gate-btn:disabled{opacity:.6;cursor:default;}
.auth-gate-error{color:var(--red);font-size:12px;margin-top:14px;line-height:1.5;}

/* AI PROVIDER SELECTOR */
.ai-provider-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.ai-provider-btn{padding:11px 8px;border-radius:10px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;}
.ai-provider-btn.active{border-color:var(--purple);background:var(--pbg);color:var(--purple);}
.ai-provider-keysec{opacity:1;max-height:200px;overflow:hidden;transition:opacity .2s;margin-bottom:10px;}
.ai-provider-keysec.disabled{opacity:.35;pointer-events:none;max-height:200px;}
.ai-provider-keysec.active{opacity:1;pointer-events:auto;}

/* MISTAKE TAG DEEP-DIVE */
.mdeep-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--b1);}
.mdeep-row:last-child{border-bottom:none;}
.mdeep-name{font-size:12px;color:var(--text);min-width:120px;flex-shrink:0;line-height:1.4;}
.mdeep-bar-wrap{flex:1;height:6px;background:var(--s2);border-radius:3px;min-width:40px;}
.mdeep-bar{height:100%;border-radius:3px;}
.mdeep-val{font-size:12px;font-weight:600;min-width:40px;text-align:right;flex-shrink:0;}
.mdeep-count{font-size:10px;color:var(--t3);min-width:56px;text-align:right;flex-shrink:0;}
.mdeep-combo-tag{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);margin-left:4px;}
.ceff-row:last-child{border-bottom:none;}
.ceff-name{font-size:12px;color:var(--text);min-width:110px;flex-shrink:0;}
.ceff-bar-wrap{flex:1;height:6px;background:var(--s2);border-radius:3px;}
.ceff-bar{height:100%;border-radius:3px;background:var(--teal);}
.ceff-val{font-size:12px;font-weight:600;min-width:40px;text-align:right;flex-shrink:0;}
.ceff-count{font-size:10px;color:var(--t3);min-width:30px;text-align:right;flex-shrink:0;}

/* MONTHLY REPORT BTN */
.monthly-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--gbdr);background:var(--gbg);color:var(--green);font-size:12px;cursor:pointer;font-family:inherit;}

/* RISK OF RUIN */
.ror-card{background:var(--surface);border:1.5px solid var(--b1);border-radius:12px;padding:16px;margin-bottom:14px;}
.ror-card.ror-safe{border-color:var(--gbdr);background:var(--gbg);}
.ror-card.ror-warn{border-color:var(--abdr);background:var(--abg);}
.ror-card.ror-danger{border-color:var(--rbdr);background:var(--rbg);}
.ror-title{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--t3);margin-bottom:6px;}
.ror-val{font-size:28px;font-weight:800;margin-bottom:4px;}
.ror-card.ror-safe .ror-val{color:var(--green);}
.ror-card.ror-warn .ror-val{color:var(--amber);}
.ror-card.ror-danger .ror-val{color:var(--red);}
.ror-sub{font-size:11px;color:var(--t2);line-height:1.5;}
.ror-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px;}
.ror-stat{background:rgba(0,0,0,.2);border-radius:7px;padding:8px;text-align:center;}
.ror-stat .rsv{font-size:13px;font-weight:600;color:var(--text);}
.ror-stat .rsl{font-size:10px;color:var(--t3);}
.ror-acct{display:flex;align-items:center;gap:8px;margin-top:10px;}
.ror-acct input{flex:1;padding:7px 10px;background:rgba(0,0,0,.2);border:1px solid var(--b2);border-radius:7px;color:var(--text);font-size:12px;font-family:inherit;outline:none;}
.ror-acct button{padding:7px 12px;border-radius:7px;border:1px solid var(--b2);background:none;color:var(--t2);font-size:11px;cursor:pointer;font-family:inherit;}
.ror-need{font-size:10px;color:var(--t3);margin-top:4px;}

/* PLAN ADHERENCE */
.plan-match-badge{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600;}
.plan-match-ok{background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.plan-match-off{background:var(--abg);color:var(--amber);border:1px solid var(--abdr);}
.plan-match-out{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}
.plan-adherence-bar{height:8px;background:var(--s2);border-radius:4px;overflow:hidden;margin:8px 0;}
.plan-adherence-fill{height:100%;border-radius:4px;background:var(--teal);}

/* NEWS IMPACT */
.news-warn-banner{background:var(--abg);border:1.5px solid var(--abdr);border-radius:10px;padding:12px 14px;margin-bottom:12px;display:none;}
.news-warn-banner.show{display:block;}
.news-badge{font-size:10px;padding:2px 7px;border-radius:4px;background:var(--abg);color:var(--amber);border:1px solid var(--abdr);font-weight:600;}
.news-badge.high{background:var(--rbg);color:var(--red);border-color:var(--rbdr);}
.news-impact-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--b1);}
.news-impact-row:last-child{border-bottom:none;}

/* TF SWITCHER */
.tf-switcher{display:flex;gap:4px;padding:8px 12px;background:rgba(15,15,15,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--b1);}
.tf-btn{padding:4px 10px;border-radius:5px;border:1px solid var(--b1);background:var(--s2);color:var(--t2);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .12s;}
.tf-btn:hover{border-color:var(--b2);color:var(--text);}
.tf-btn.active{border-color:var(--amber);background:var(--abg);color:var(--amber);}

/* AI REVIEW */
.ai-review-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--pbdr);background:var(--pbg);color:var(--purple);font-size:11px;cursor:pointer;font-family:inherit;transition:all .15s;display:inline-flex;align-items:center;gap:5px;}
.ai-review-btn:hover{background:#1e1538;}
.ai-review-btn.loading{opacity:.6;cursor:default;}
.ai-review-wrap{margin-top:10px;display:none;}
.ai-review-wrap.open{display:block;animation:up .2s ease;}
.ai-review-box{background:var(--pbg);border:1px solid var(--pbdr);border-radius:10px;padding:14px;font-size:12px;color:#c0b0e8;line-height:1.7;}
.ai-review-box h4{color:var(--purple);font-size:12px;font-weight:700;margin-bottom:4px;margin-top:10px;}
.ai-review-box h4:first-child{margin-top:0;}

/* STUDY/REPLAY MODE */
.study-overlay{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:20px;}
.study-overlay.show{display:flex;}
.study-panel{background:var(--surface);border:1px solid var(--b1);border-radius:16px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:24px;}
.study-title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;}
.study-timeline{display:flex;flex-direction:column;gap:0;}
.study-step{display:flex;gap:14px;padding-bottom:16px;position:relative;}
.study-step::before{content:'';position:absolute;left:16px;top:32px;bottom:0;width:2px;background:var(--b1);}
.study-step:last-child::before{display:none;}
.step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;border:2px solid var(--b2);}
.step-dot.done{background:var(--gbg);border-color:var(--green);}
.step-dot.warn{background:var(--abg);border-color:var(--amber);}
.step-dot.bad{background:var(--rbg);border-color:var(--red);}
.step-dot.neutral{background:var(--s2);border-color:var(--b2);}
.step-body .step-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--t3);margin-bottom:4px;}
.step-body .step-val{font-size:13px;color:var(--text);margin-bottom:4px;}
.step-body .step-note{font-size:11px;color:var(--t2);line-height:1.5;}
.study-questions{margin-top:16px;border-top:1px solid var(--b1);padding-top:16px;}
.study-q{font-size:13px;color:var(--text);margin-bottom:8px;padding-left:14px;border-left:2px solid var(--teal);}

/* TRADE IMAGE EXPORT */
.share-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--tbdr);background:var(--tbg);color:var(--teal);font-size:11px;cursor:pointer;font-family:inherit;}
.trade-card-export{position:fixed;top:-9999px;left:-9999px;width:600px;background:#0f0f0f;border-radius:16px;padding:24px;font-family:-apple-system,sans-serif;}

/* ALERT UPGRADE */
.alert-live-badge{font-size:10px;padding:2px 7px;border-radius:4px;background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.price-check-row{display:flex;align-items:center;gap:8px;margin-top:6px;padding:8px 12px;background:var(--s2);border-radius:8px;font-size:12px;}

/* CALENDAR HEATMAP UPGRADE */
.cal-day-modal{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.85);display:none;align-items:flex-end;justify-content:center;}
.cal-day-modal.show{display:flex;}
.cal-day-panel{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;padding:20px;}
.cal-day-title{font-size:15px;font-weight:600;margin-bottom:14px;display:flex;justify-content:space-between;}
.cal-mini-trade{background:var(--s2);border-radius:8px;padding:10px 12px;margin-bottom:8px;}
.cal-mini-trade-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}

/* MT4 IMPORT */
.mt4-import-area{border:1.5px dashed var(--b2);border-radius:10px;padding:20px;text-align:center;cursor:pointer;position:relative;transition:border-color .15s;}
.mt4-import-area:hover{border-color:var(--b3);}
.mt4-import-area input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.mt4-preview{background:var(--s2);border-radius:8px;padding:12px;margin-top:10px;display:none;}
.mt4-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--b1);font-size:12px;}
.mt4-row:last-child{border-bottom:none;}

/* API KEY */
.api-key-input{width:100%;padding:10px 12px;background:var(--s2);border:1px solid var(--b1);border-radius:8px;color:var(--text);font-size:12px;font-family:monospace;outline:none;}
.api-key-input:focus{border-color:var(--b2);}
.api-key-input::placeholder{color:var(--t3);font-family:inherit;font-size:12px;}

/* MULTI-SETUP CONFLUENCE */
.ms-confluence{background:var(--tbg);border:1.5px solid var(--tbdr);border-radius:12px;padding:14px;margin-bottom:14px;}
.ms-confluence-title{font-size:13px;font-weight:600;color:var(--teal);margin-bottom:10px;}
.ms-setup-check{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);margin-bottom:7px;cursor:pointer;font-size:13px;color:var(--t2);transition:all .12s;}
.ms-setup-check.checked{border-color:var(--teal);background:var(--tbg);color:var(--teal);}
.ms-check-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--b2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;}
.ms-setup-check.checked .ms-check-box{border-color:var(--teal);background:var(--teal);color:#0a1e1c;}
.ms-confluence-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;}
.ms-badge-multi{background:var(--tbg);color:var(--teal);border:1px solid var(--tbdr);}
.ms-badge-single{background:var(--s2);color:var(--t2);border:1px solid var(--b1);}

/* RITUAL UPGRADE — 5 steps */
.ritual-step{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--b1);}
.ritual-step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.ritual-step-num{width:28px;height:28px;border-radius:50%;border:2px solid var(--b2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--t3);flex-shrink:0;}
.ritual-step.step-done .ritual-step-num{border-color:var(--green);background:var(--green);color:#0a1a0e;}
.ritual-step-body{flex:1;min-width:0;}
.ritual-step-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px;}
.ritual-step-desc{font-size:11px;color:var(--t3);line-height:1.5;margin-bottom:8px;}
.ritual-step-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t2);cursor:pointer;padding:8px 12px;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);transition:all .12s;}
.ritual-step-check.done{border-color:var(--green);background:var(--gbg);color:#90d8a8;}
.ritual-notes{width:100%;padding:7px 10px;background:rgba(0,0,0,.2);border:1px solid var(--b1);border-radius:7px;color:var(--text);font-size:12px;font-family:inherit;outline:none;resize:none;margin-top:6px;}
.ritual-notes::placeholder{color:var(--t3);}

/* JOURNAL PROMPTS */
.prompt-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t2);cursor:pointer;margin-bottom:10px;background:none;border:none;font-family:inherit;padding:0;}
.prompt-toggle:hover{color:var(--text);}
.prompt-section{display:none;}
.prompt-section.show{display:block;animation:up .2s ease;}
.prompt-item{margin-bottom:12px;}
.prompt-q{font-size:11px;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.prompt-ta{width:100%;padding:9px 12px;background:var(--surface);border:1.5px solid var(--b1);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;outline:none;resize:none;}
.prompt-ta:focus{border-color:var(--pbdr);}
.prompt-ta::placeholder{color:var(--t3);}

/* WEEKLY COMMITMENT */
.commit-card{background:var(--surface);border:1.5px solid var(--b1);border-radius:12px;padding:18px;margin-bottom:16px;}
.commit-card.active{border-color:var(--teal);}
.commit-card-title{font-size:14px;font-weight:600;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;}
.commit-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.commit-field .cf-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--t3);margin-bottom:5px;}
.commit-field select,.commit-field input{width:100%;padding:8px 10px;background:var(--s2);border:1.5px solid var(--b1);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;outline:none;}
.commit-field select:focus,.commit-field input:focus{border-color:var(--teal);}
.commit-lock-btn{width:100%;padding:12px;border-radius:10px;border:1.5px solid var(--teal);background:var(--tbg);color:var(--teal);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:4px;}
.commit-lock-btn:hover{background:#0f2820;}
.commit-progress{margin-top:14px;padding-top:14px;border-top:1px solid var(--b1);}
.cp-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--b1);font-size:13px;}
.cp-row:last-child{border-bottom:none;}
.cp-label{color:var(--t2);}
.cp-val-ok{color:var(--green);font-weight:600;}
.cp-val-warn{color:var(--amber);font-weight:600;}
.cp-val-bad{color:var(--red);font-weight:600;}
.commit-streak{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:var(--s2);border-radius:8px;}
.cs-icon{font-size:20px;}
.cs-body .cs-title{font-size:13px;font-weight:600;color:var(--teal);}
.cs-body .cs-sub{font-size:11px;color:var(--t3);}
.commit-history{margin-top:14px;}
.ch-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--b1);font-size:12px;}
.ch-row:last-child{border-bottom:none;}
.ch-week{color:var(--t2);}
.ch-result{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;}
.ch-kept{background:var(--gbg);color:var(--green);}
.ch-partial{background:var(--abg);color:var(--amber);}
.ch-broken{background:var(--rbg);color:var(--red);}

/* INST SELECTOR */
.inst-selector{background:var(--surface);border:1px solid var(--b1);border-radius:12px;padding:14px 16px;margin-bottom:16px;cursor:pointer;transition:border-color .15s;}
.inst-selector:hover{border-color:var(--b2);}
.inst-top{display:flex;align-items:center;justify-content:space-between;}
.inst-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--t3);margin-bottom:4px;}
.inst-current{font-size:20px;font-weight:700;color:var(--amber);}
.inst-cat{font-size:11px;color:var(--t3);margin-top:2px;}
.inst-chevron{font-size:18px;color:var(--t3);}

/* INSTRUMENT OVERLAY */
.inst-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.85);display:none;align-items:flex-end;justify-content:center;}
.inst-overlay.show{display:flex;}
.inst-panel{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;padding:20px;}
.inst-panel-title{font-size:16px;font-weight:600;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;}
.inst-close{background:none;border:none;color:var(--t2);font-size:22px;cursor:pointer;line-height:1;}
.inst-search{width:100%;padding:11px 14px;background:var(--s2);border:1.5px solid var(--b1);border-radius:10px;color:var(--text);font-size:14px;font-family:inherit;outline:none;margin-bottom:14px;}
.inst-search:focus{border-color:var(--b2);}
.inst-search::placeholder{color:var(--t3);}
.inst-group{margin-bottom:14px;}
.inst-group-title{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--t3);margin-bottom:8px;}
.inst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.inst-opt{padding:9px 6px;border-radius:8px;border:1px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;font-weight:600;cursor:pointer;text-align:center;transition:all .15s;font-family:inherit;}
.inst-opt:hover{border-color:var(--amber);background:var(--abg);color:var(--amber);}
.inst-opt.selected{border-color:var(--amber);background:var(--abg);color:var(--amber);}
.custom-inst-row{display:flex;gap:8px;margin-top:4px;}
.custom-inst-input{flex:1;padding:10px 12px;background:var(--s2);border:1.5px solid var(--b1);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit;outline:none;text-transform:uppercase;}
.custom-inst-input:focus{border-color:var(--amber);}
.custom-inst-btn{padding:10px 16px;border-radius:8px;border:1px solid var(--amber);background:var(--abg);color:var(--amber);font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap;}

/* NEWS CALENDAR */
.news-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;padding-top:8px;}
.news-head h2{font-size:18px;font-weight:600;}
.refresh-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--tbdr);background:var(--tbg);color:var(--teal);font-size:12px;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:6px;}
.refresh-btn:hover{background:#0f2820;}
.refresh-btn:disabled{opacity:.5;cursor:default;}
.news-date{font-size:12px;color:var(--t3);margin-bottom:14px;}
.news-filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.nfbtn{padding:5px 11px;border-radius:6px;border:1px solid var(--b1);background:var(--surface);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;}
.nfbtn:hover{border-color:var(--b2);color:var(--text);}
.nfbtn.on{border-color:var(--amber);background:var(--abg);color:var(--amber);}
.news-loading{text-align:center;padding:40px 20px;color:var(--t3);}
.news-loading .spin{font-size:28px;display:block;animation:spin 1s linear infinite;margin-bottom:12px;}
@keyframes spin{to{transform:rotate(360deg);}}
.news-loading p{font-size:13px;margin-top:4px;}
.news-error{background:var(--rbg);border:1px solid var(--rbdr);border-radius:10px;padding:16px;font-size:13px;color:#d89090;line-height:1.6;}
.news-empty{text-align:center;padding:40px 20px;color:var(--t3);font-size:14px;line-height:1.7;}

/* NEWS EVENT CARD */
.news-day-label{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--t3);margin:16px 0 8px;display:flex;align-items:center;gap:8px;}
.news-day-label::after{content:'';flex:1;height:1px;background:var(--b1);}
.news-event{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--b1);border-radius:10px;margin-bottom:7px;border-left:3px solid var(--b1);transition:border-color .15s;}
.news-event.high{border-left-color:var(--red);}
.news-event.medium{border-left-color:var(--amber);}
.news-event.low{border-left-color:var(--t3);}
.news-event.active-pair{background:var(--s2);}
.ne-time{font-size:12px;color:var(--t3);min-width:52px;padding-top:2px;flex-shrink:0;}
.ne-body{flex:1;min-width:0;}
.ne-top{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap;}
.ne-currency{font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--s2);border:1px solid var(--b2);color:var(--text);flex-shrink:0;}
.ne-event{font-size:13px;font-weight:500;color:var(--text);line-height:1.4;}
.ne-impact{display:flex;align-items:center;gap:4px;font-size:11px;flex-shrink:0;}
.impact-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.high .impact-dot{background:var(--red);}
.medium .impact-dot{background:var(--amber);}
.low .impact-dot{background:var(--t3);}
.ne-impact-txt.high{color:var(--red);}
.ne-impact-txt.medium{color:var(--amber);}
.ne-impact-txt.low{color:var(--t3);}
.ne-data{display:flex;gap:12px;flex-wrap:wrap;}
.ne-data-item .nd-lbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:1px;}
.ne-data-item .nd-val{font-size:12px;color:var(--t2);}
.nd-val.actual-good{color:var(--green);font-weight:600;}
.nd-val.actual-bad{color:var(--red);font-weight:600;}
.nd-val.actual-neutral{color:var(--text);}
.no-event-today{text-align:center;padding:20px;color:var(--t3);font-size:13px;}
.powered-by{text-align:center;font-size:10px;color:var(--t3);margin-top:16px;padding-bottom:4px;}
.tv-cal-wrap{height:70vh;min-height:480px;max-height:900px;border:1px solid var(--b1);border-radius:12px;overflow:hidden;background:var(--surface);}

/* SESSION STATUS */
.session-row{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border:1px solid var(--b1);border-radius:10px;margin-bottom:16px;}
.session-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.session-dot.active{background:var(--green);box-shadow:0 0 6px var(--green);}
.session-dot.inactive{background:var(--t3);}
.session-text{font-size:13px;color:var(--t2);}
.session-text strong{color:var(--text);}

/* SETUP CARDS */
.card-btn{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:12px;border:1.5px solid var(--b1);background:var(--surface);cursor:pointer;margin-bottom:10px;text-align:left;transition:all .15s;font-family:inherit;}
.card-btn.short:hover{border-color:var(--rbdr);background:var(--rbg);}
.card-btn.long:hover{border-color:var(--bbdr);background:var(--bbg);}
.cb-icon{font-size:24px;flex-shrink:0;}
.cb-name{font-size:15px;font-weight:600;margin-bottom:2px;}
.cb-desc{font-size:12px;color:var(--t2);}
.cb-arrow{margin-left:auto;font-size:20px;color:var(--t3);}

/* SECTION TITLE */
.sec-title{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--t3);margin-bottom:10px;margin-top:4px;}

/* OPEN TRADES */
.open-card{background:var(--surface);border:1px solid var(--b1);border-radius:10px;padding:14px;margin-bottom:8px;}
.oc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.oc-dir{font-size:13px;font-weight:600;}
.oc-meta{font-size:11px;color:var(--t3);margin-bottom:8px;}
.oc-btns{display:flex;gap:6px;}
.oc-btn{padding:6px 12px;border-radius:6px;border:1px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s;}
.oc-btn.win{border-color:var(--gbdr);background:var(--gbg);color:var(--green);}
.oc-btn.loss{border-color:var(--rbdr);background:var(--rbg);color:var(--red);}

/* PROGRESS */
.prog-wrap{margin-bottom:22px;}
.prog-track{height:3px;background:var(--b1);border-radius:2px;overflow:hidden;margin-bottom:7px;}
.prog-bar{height:100%;border-radius:2px;width:0;transition:width .4s ease;}
.prog-label{font-size:11px;color:var(--t3);}

/* CHECKLIST */
.cstep{display:none;}
.cstep.show{display:block;animation:up .28s ease;}
.q-card{background:var(--surface);border:1px solid var(--b1);border-radius:12px;padding:18px;margin-bottom:12px;}
.q-num{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--t3);margin-bottom:8px;}
.q-text{font-size:15px;font-weight:500;margin-bottom:8px;line-height:1.45;}
.q-hint{font-size:12px;color:var(--t2);line-height:1.6;border-top:1px solid var(--b1);padding-top:8px;}
.opts{display:flex;flex-direction:column;gap:8px;}
.opt-btn{display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:10px;border:1.5px solid var(--b1);background:var(--s2);cursor:pointer;font-size:14px;color:var(--text);text-align:left;width:100%;transition:all .12s;line-height:1.4;font-family:inherit;}
.opt-btn .oi{font-size:15px;flex-shrink:0;}
.opt-btn:hover:not(:disabled){border-color:var(--b2);background:var(--s3);}
.opt-btn:disabled{opacity:.5;cursor:default;}
.opt-btn.sy{border-color:var(--green);background:var(--gbg);color:#90d8a8;}
.opt-btn.sw{border-color:var(--amber);background:var(--abg);color:#d4b068;}
.opt-btn.sn{border-color:var(--red);background:var(--rbg);color:#d89090;}

/* RESULT */
.res-card{border-radius:12px;padding:20px;margin-bottom:12px;}
.res-card.go-s{background:var(--rbg);border:1.5px solid var(--rbdr);}
.res-card.go-l{background:var(--bbg);border:1.5px solid var(--bbdr);}
.res-card.nogo{background:var(--surface);border:1.5px solid var(--b1);}
.res-title{font-size:20px;font-weight:600;margin-bottom:5px;}
.go-s .res-title{color:var(--red);}
.go-l .res-title{color:var(--blue);}
.nogo .res-title{color:var(--t2);}
.res-sub{font-size:13px;color:var(--t2);margin-bottom:14px;}
.trade-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;border-radius:10px;padding:14px;margin-bottom:14px;}
.tg-s{background:#06060e;border:1px solid var(--rbdr);}
.tg-l{background:#04101c;border:1px solid var(--bbdr);}
.tg-lbl{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--t3);margin-bottom:3px;}
.tg-val{font-size:12px;font-weight:500;}
.go-s .tg-val{color:#d89090;}.go-l .tg-val{color:#80b4d8;}
.fail-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.fail-row{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--t2);line-height:1.5;}
.warn-box{background:var(--abg);border:1px solid var(--abdr);border-radius:10px;padding:12px 14px;font-size:12px;color:#c8a060;line-height:1.6;margin-bottom:14px;}

/* BUTTONS */
.btn{display:block;width:100%;padding:14px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;margin-bottom:8px;font-family:inherit;}
.btn-red{background:var(--rbg);border:1.5px solid var(--red);color:var(--red);}
.btn-blue{background:var(--bbg);border:1.5px solid var(--blue);color:var(--blue);}
.btn-gray{background:var(--surface);border:1.5px solid var(--b1);color:var(--t2);}
.btn-green{background:var(--gbg);border:1.5px solid var(--green);color:var(--green);}
.btn-red:hover{background:#280e0e;}.btn-blue:hover{background:#0e1e30;}
.btn-gray:hover{border-color:var(--b2);color:var(--text);}
.btn-green:hover{background:#0f2a1a;}

/* JOURNAL */
.jhead{margin-bottom:18px;padding-top:4px;}
.jhead h2{font-size:18px;font-weight:600;margin-bottom:3px;}
.jhead p{font-size:12px;color:var(--t2);}
.fg{margin-bottom:15px;}
.flabel{display:block;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--t2);margin-bottom:7px;}
.ai-ref-tip{
  font-size:11.5px;line-height:1.6;color:var(--t2);
  background:var(--pbg);border:1px solid var(--pbdr);border-radius:10px;
  padding:10px 12px;margin-bottom:8px;
}
.ai-ref-tip b{color:var(--purple);}
.finput{width:100%;padding:12px 14px;background:var(--surface);border:1.5px solid var(--b1);border-radius:10px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s;}
.finput:focus{border-color:var(--b2);}
.finput::placeholder{color:var(--t3);}
textarea.finput{resize:vertical;}
.rr-preview{background:var(--s2);border:1px solid var(--b1);border-radius:8px;padding:10px 14px;font-size:13px;margin-top:8px;display:none;}
.rr-preview.good{border-color:var(--gbdr);color:var(--green);}
.rr-preview.bad{border-color:var(--rbdr);color:var(--red);}
.rr-preview span{font-weight:700;}

/* MOOD */
.mood-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.mood-opt{display:flex;align-items:center;gap:8px;justify-content:center;padding:11px;border-radius:10px;border:1.5px solid var(--b1);background:var(--s2);cursor:pointer;font-size:13px;color:var(--t2);transition:all .15s;font-family:inherit;}
.mood-opt:hover{border-color:var(--b2);color:var(--text);}
.mood-opt.picked{border-color:var(--purple);background:var(--pbg);color:var(--purple);}
.mood-opt .me{font-size:17px;}

/* UPLOAD */
.upload-zone{border:1.5px dashed var(--b2);border-radius:10px;padding:18px;text-align:center;cursor:pointer;position:relative;transition:border-color .15s;}
.upload-zone:hover{border-color:var(--b3);}
.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.uz-icon{font-size:22px;margin-bottom:5px;}
.uz-text{font-size:13px;color:var(--t2);}
.uz-hint{font-size:11px;color:var(--t3);margin-top:2px;}
.prev-img{display:none;width:100%;border-radius:8px;margin-top:10px;max-height:180px;object-fit:cover;}
.paste-btn{display:block;width:100%;margin-top:8px;padding:9px;border-radius:8px;border:1px dashed var(--b2);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s;}
.paste-btn:hover{border-color:var(--purple);background:var(--pbg);color:var(--purple);}
.exit-ss-zone{margin-top:10px;padding:12px;background:var(--s2);border:1px solid var(--b1);border-radius:10px;}
.exit-ss-zone .ez-title{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--t3);margin-bottom:8px;}
.exit-ss-img{display:none;width:100%;border-radius:8px;margin-top:8px;max-height:160px;object-fit:cover;}

/* HISTORY */
.hist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-top:8px;}
.hist-head h2{font-size:18px;font-weight:600;}
.export-btn{padding:7px 14px;border-radius:8px;border:1px solid var(--gbdr);background:var(--gbg);color:var(--green);font-size:12px;cursor:pointer;font-family:inherit;}
.filter-row{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.adv-filter-row{display:flex;gap:8px;margin-bottom:10px;}
.adv-search{flex:1;padding:9px 12px;background:var(--s2);border:1.5px solid var(--b1);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;outline:none;}
.adv-search:focus{border-color:var(--b2);}
.adv-search::placeholder{color:var(--t3);}
.adv-filter-toggle{padding:9px 14px;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.adv-filter-toggle.on{border-color:var(--teal);background:var(--tbg);color:var(--teal);}
.adv-filter-panel{display:none;background:var(--surface);border:1px solid var(--b1);border-radius:10px;padding:14px;margin-bottom:14px;grid-template-columns:1fr 1fr;gap:10px;}
.adv-filter-panel.show{display:grid;}
.adv-filter-item{display:flex;flex-direction:column;gap:4px;}
.adv-filter-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--t3);}
.adv-filter-sel{padding:8px 10px;background:var(--s2);border:1px solid var(--b1);border-radius:7px;color:var(--text);font-size:12px;font-family:inherit;outline:none;}
.adv-filter-sel:focus{border-color:var(--b2);}
.adv-filter-clear{grid-column:1/-1;padding:8px;border-radius:7px;border:1px solid var(--rbdr);background:var(--rbg);color:var(--red);font-size:12px;cursor:pointer;font-family:inherit;margin-top:4px;}
.fbtn{padding:5px 11px;border-radius:6px;border:1px solid var(--b1);background:var(--surface);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;}
.fbtn:hover{border-color:var(--b2);color:var(--text);}
.fbtn.on{border-color:var(--amber);background:var(--abg);color:var(--amber);}
.no-data{text-align:center;padding:36px 20px;color:var(--t3);font-size:14px;line-height:1.7;}

/* ENTRY CARD */
.entry{background:var(--surface);border:1px solid var(--b1);border-radius:12px;padding:15px;margin-bottom:10px;}
.entry-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:6px;}
.entry-date{font-size:12px;color:var(--t3);}
.ebadges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.ebadge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;}
.eb-s{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}
.eb-l{background:var(--bbg);color:var(--blue);border:1px solid var(--bbdr);}
.eb-open{background:var(--s2);color:var(--t2);border:1px solid var(--b1);}
.eb-win{background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.eb-loss{background:var(--rbg);color:var(--red);border:1px solid var(--rbdr);}
.eb-rr{background:var(--abg);color:var(--amber);border:1px solid var(--abdr);}
.del-btn{padding:2px 8px;border-radius:5px;border:1px solid var(--b1);background:var(--s2);color:var(--t3);font-size:11px;cursor:pointer;font-family:inherit;}
.del-btn:hover{border-color:var(--rbdr);background:var(--rbg);color:var(--red);}
.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.ef-lbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;}
.ef-val{font-size:13px;color:var(--text);}
.outcome-row{display:flex;gap:6px;align-items:center;padding-top:8px;border-top:1px solid var(--b1);flex-wrap:wrap;}
.oc-lbl{font-size:11px;color:var(--t3);}
.oc-btn{padding:5px 11px;border-radius:6px;border:1px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s;}
.oc-btn.a-open{border-color:var(--b2);color:var(--text);}
.oc-btn.a-win{border-color:var(--green);background:var(--gbg);color:var(--green);}
.oc-btn.a-loss{border-color:var(--red);background:var(--rbg);color:var(--red);}
.result-note-wrap{margin-top:10px;display:none;}
.result-note-wrap.show{display:block;animation:up .2s ease;}
.result-note-input{width:100%;padding:10px 12px;background:var(--s2);border:1px solid var(--b1);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;outline:none;resize:none;}
.result-note-input:focus{border-color:var(--b2);}
.result-note-save{margin-top:6px;padding:8px 16px;border-radius:7px;border:1px solid var(--gbdr);background:var(--gbg);color:var(--green);font-size:12px;cursor:pointer;font-family:inherit;}
.note-display{font-size:12px;color:var(--t2);font-style:italic;margin-top:6px;padding:8px 10px;background:var(--s2);border-radius:6px;border-left:2px solid var(--b2);}
.entry-psych{font-size:12px;color:var(--t2);line-height:1.6;padding-top:8px;border-top:1px solid var(--b1);margin-top:8px;}
.show-img-btn{font-size:11px;color:var(--t3);cursor:pointer;margin-top:6px;display:inline-block;background:none;border:none;font-family:inherit;}
.show-img-btn:hover{color:var(--t2);}
.eimg{display:none;width:100%;border-radius:8px;margin-top:8px;max-height:180px;object-fit:cover;}

/* WEEKLY */
.week-card{background:var(--surface);border:1px solid var(--b1);border-radius:12px;padding:16px;margin-bottom:12px;}
.week-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;}
.week-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px;}
.ws-box{background:var(--s2);border-radius:8px;padding:10px;text-align:center;}
.ws-val{font-size:16px;font-weight:700;margin-bottom:2px;}
.ws-lbl{font-size:10px;color:var(--t3);text-transform:uppercase;}
.week-trades{display:flex;flex-direction:column;gap:4px;}
.wt-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;background:var(--s2);font-size:12px;}
.wt-dir{color:var(--t2);}
.wt-outcome{font-size:11px;font-weight:600;}
.wt-outcome.win{color:var(--green);}
.wt-outcome.loss{color:var(--red);}
.wt-outcome.open{color:var(--t3);}
.best-worst{display:flex;gap:8px;margin-top:10px;}
.bw-box{flex:1;background:var(--s2);border-radius:8px;padding:10px;text-align:center;}
.bw-lbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.bw-val{font-size:13px;font-weight:600;}

/* SETTINGS */
.settings-section{margin-bottom:24px;padding:16px;border:1px solid var(--b1);}
.settings-section h3{font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--t3);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--b1);}
.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--b1);}
.setting-row:last-child{border-bottom:none;}
.sr-left .sr-name{font-size:14px;color:var(--text);margin-bottom:2px;}
.sr-left .sr-desc{font-size:11px;color:var(--t3);}
.sr-input{background:var(--s2);border:1px solid var(--b1);border-radius:8px;color:var(--text);font-size:14px;padding:6px 10px;width:90px;text-align:center;font-family:inherit;outline:none;}
.sr-input:focus{border-color:var(--b2);}
.save-settings-btn{width:100%;padding:14px;background:var(--abg);border:1.5px solid var(--amber);border-radius:10px;color:var(--amber);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;margin-top:8px;}
.save-settings-btn:hover{background:#281c0a;}
.saved-msg{text-align:center;font-size:12px;color:var(--green);margin-top:8px;display:none;}

/* PAGE TITLES */
.page-title{font-size:19px;font-weight:600;margin-bottom:4px;padding-top:8px;}
.page-sub{font-size:13px;color:var(--t2);margin-bottom:20px;}

/* LIGHT THEME OVERRIDE */
body.light{
  --bg:#f5f4f1;--surface:#ffffff;--s2:#f0efec;--s3:#e8e6e2;
  --b1:#e2e0db;--b2:#cfccc5;--b3:#aeaaa2;
  --text:#20201e;--t2:#635f58;--t3:#8c8880;
  --red:#c94848;--rbg:#fdeeee;--rbdr:#f0c6c6;
  --blue:#2f6fa8;--bbg:#eaf2fa;--bbdr:#c6dcef;
  --green:#2e8f4e;--gbg:#eaf7ee;--gbdr:#c5e9d0;
  --amber:#b5772a;--abg:#fbf1e2;--abdr:#eed6ac;
  --purple:#7454b8;--pbg:#f1ecfa;--pbdr:#dccbf0;
  --teal:#1f8f79;--tbg:#e8f7f3;--tbdr:#bfe8dd;
}
body.light .tg-s{background:#fdf2f2;}
body.light .tg-l{background:#f0f6fb;}

/* ANALYTICS */
.an-card{background:var(--surface);border:1px solid var(--b1);border-radius:12px;padding:16px;margin-bottom:14px;}
.an-title{font-size:13px;font-weight:700;letter-spacing:.5px;color:var(--t2);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;}
.an-sub{font-size:11px;color:var(--t3);margin-top:-6px;margin-bottom:10px;}
.eq-canvas-wrap{width:100%;overflow-x:auto;}
.wr-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.wr-name{width:88px;font-size:12px;color:var(--t2);flex-shrink:0;}
.wr-track{flex:1;height:8px;background:var(--s2);border-radius:4px;overflow:hidden;}
.wr-bar{height:100%;border-radius:4px;}
.wr-val{width:70px;text-align:right;font-size:12px;color:var(--t2);flex-shrink:0;}
.streak-box{display:flex;gap:10px;}
.streak-item{flex:1;background:var(--s2);border-radius:10px;padding:14px;text-align:center;}
.streak-num{font-size:22px;font-weight:700;}
.streak-lbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;}
.mistake-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--b1);font-size:13px;}
.mistake-row:last-child{border-bottom:none;}
.mistake-count{background:var(--rbg);color:var(--red);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;}
.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,10px);gap:3px;overflow-x:auto;padding-bottom:6px;}
.hm-cell{width:10px;height:10px;border-radius:2px;background:var(--s2);}
.hm-cell[data-lvl="1"]{background:var(--gbdr);}
.hm-cell[data-lvl="2"]{background:var(--green);opacity:.7;}
.hm-cell[data-lvl="3"]{background:var(--green);}
.hm-cell[data-lvl="-1"]{background:var(--rbdr);}
.hm-cell[data-lvl="-2"]{background:var(--red);opacity:.7;}
.hm-cell[data-lvl="-3"]{background:var(--red);}
.hm-legend{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--t3);margin-top:6px;}

/* HOUR × DAY-OF-WEEK HEATMAP */
.hourdow-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.hourdow-table{border-collapse:collapse;width:100%;min-width:340px;}
.hourdow-table th{font-size:10px;color:var(--t3);font-weight:600;padding:0 2px 6px;text-align:center;}
.hourdow-table td{padding:2px;}
.hd-rowlbl{font-size:10px;color:var(--t3);white-space:nowrap;text-align:right;padding-right:6px !important;font-variant-numeric:tabular-nums;}
.hd-cell{display:block;width:100%;min-width:24px;height:20px;border-radius:4px;background:var(--s2);}
.hd-cell[data-lvl="1"]{background:var(--gbdr);}
.hd-cell[data-lvl="2"]{background:var(--green);opacity:.75;}
.hd-cell[data-lvl="3"]{background:var(--green);}
.hd-cell[data-lvl="-1"]{background:var(--rbdr);}
.hd-cell[data-lvl="-2"]{background:var(--red);opacity:.75;}
.hd-cell[data-lvl="-3"]{background:var(--red);}
.hd-legend-cell{width:14px;height:14px;border-radius:3px;display:inline-block;}

/* MILESTONE BADGES */
.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;}
.badge-item{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:12px 8px;text-align:center;cursor:default;transition:transform .15s;}
.badge-item.unlocked{background:var(--abg);border-color:var(--abdr);}
.badge-item.locked{opacity:.4;filter:grayscale(1);}
.badge-icon{font-size:26px;line-height:1;margin-bottom:6px;}
.badge-title{font-size:10.5px;font-weight:700;color:var(--text);line-height:1.3;}
.badge-desc{font-size:9.5px;color:var(--t3);margin-top:3px;line-height:1.3;}
.badge-progress{font-size:12px;color:var(--t2);margin-bottom:10px;}

/* ANALYTICS — DESKTOP GRID LAYOUT (tab-group-r sathe compatible, simple 2-col) */
#pgAnalytics{max-width:500px;}
#pgAnalytics .an-card{margin-bottom:14px;}
@media (min-width:901px){
  #pgAnalytics{max-width:clamp(900px, 78vw, 1600px);}
  .an-tab-group.active{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:24px;
    row-gap:0;
    align-items:start;
  }
  .an-tab-group.active .an-card{margin-bottom:20px;}
  #pgAnalytics .an-eq{display:flex;flex-direction:column;}
  #pgAnalytics .an-eq .eq-canvas-wrap{flex:1;display:flex;align-items:center;}
  #pgAnalytics .an-eq canvas{width:100%!important;height:100%!important;}
  #pgAnalytics .page-title{font-size:22px;}
  #pgAnalytics .page-sub{margin-bottom:4px;}
}

/* TAGS */
.tag-grid{display:flex;flex-wrap:wrap;gap:7px;}
.tag-chip{padding:7px 12px;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;transition:all .12s;}
.tag-chip:hover{border-color:var(--b2);}
.tag-chip.picked{border-color:var(--amber);background:var(--abg);color:var(--amber);}
.ebadge.tag-b{background:var(--pbg);color:var(--purple);border:1px solid var(--pbdr);}

/* CONFIDENCE STARS */
.conf-row{display:flex;gap:6px;}
.conf-star{font-size:24px;cursor:pointer;color:var(--b2);transition:color .12s;line-height:1;}
.conf-star.on{color:var(--amber);}

/* RISK CALC */
.risk-box{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:14px;margin-top:6px;}
.risk-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.risk-result{font-size:13px;line-height:1.8;color:var(--t2);border-top:1px solid var(--b1);padding-top:10px;}
.risk-result b{color:var(--text);}
.risk-note{font-size:11px;color:var(--t3);margin-top:6px;line-height:1.5;}

/* TOGGLE SWITCH */
.tswitch{position:relative;width:44px;height:24px;background:var(--s2);border:1px solid var(--b1);border-radius:12px;cursor:pointer;flex-shrink:0;}
.tswitch .tdot{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--t3);transition:all .2s;}
.tswitch.on{background:var(--gbg);border-color:var(--gbdr);}
.tswitch.on .tdot{left:22px;background:var(--green);}

/* PLAYBOOK */
.playbook-ta{width:100%;min-height:50vh;padding:14px;background:var(--surface);border:1.5px solid var(--b1);border-radius:10px;color:var(--text);font-size:14px;font-family:inherit;line-height:1.7;resize:vertical;outline:none;}
.playbook-ta:focus{border-color:var(--b2);}

/* ALERT PANEL */
.alert-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--b1);font-size:12px;flex-wrap:wrap;}
.alert-row:last-child{border-bottom:none;}
.alert-chk{display:flex;align-items:center;gap:4px;color:var(--t2);}
.quick-price-row{display:flex;gap:8px;margin-top:10px;}

/* GLOSSARY TOOLTIP ICON */
.gi{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:var(--s3);color:var(--t2);font-size:9px;cursor:pointer;margin-left:4px;vertical-align:middle;font-style:normal;}
.gi:hover{background:var(--b2);color:var(--text);}
.gloss-overlay{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;padding:20px;}
.gloss-overlay.show{display:flex;}
.gloss-panel{background:var(--surface);border:1px solid var(--b1);border-radius:14px;padding:20px;max-width:340px;width:100%;}
.gloss-panel h4{font-size:14px;color:var(--amber);margin-bottom:8px;text-transform:capitalize;}
.gloss-panel p{font-size:13px;color:var(--t2);line-height:1.6;margin-bottom:14px;}
.gloss-list-item{padding:12px 0;border-bottom:1px solid var(--b1);}
.gloss-list-item:last-child{border-bottom:none;}
.gloss-list-item .gt{font-size:13px;font-weight:700;color:var(--amber);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.gloss-list-item .gd{font-size:13px;color:var(--t2);line-height:1.6;}

/* DEMO MODE BANNER */
.banner-demo{background:var(--pbg);border:1.5px solid var(--pbdr);}
.banner-demo .banner-title{color:var(--purple);}
.banner-demo .banner-body{color:#c0a8e8;}
.demo-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--pbg);color:var(--purple);border:1px solid var(--pbdr);}

/* MISTAKE CHEAT-SHEET */
.cheat-card{background:var(--surface);border:1px solid var(--abdr);border-radius:12px;padding:14px 16px;margin-bottom:16px;}
.cheat-title{font-size:13px;font-weight:700;color:var(--amber);margin-bottom:8px;}
.cheat-row{font-size:13px;color:var(--t2);padding:4px 0;}
.cheat-hint{font-size:11px;color:var(--t3);margin-top:6px;border-top:1px solid var(--b1);padding-top:6px;}

/* GOAL TRACKER */
.goal-card{background:var(--surface);border:1px solid var(--b1);border-radius:12px;padding:14px 16px;margin-bottom:16px;}
.goal-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-bottom:8px;}
.goal-top span:last-child{color:var(--amber);}
.goal-sub{font-size:11px;color:var(--t3);margin-top:6px;}

/* DAILY PLAN LOCK */
.plan-card{background:var(--surface);border:1px solid var(--tbdr);border-radius:12px;padding:14px 16px;margin-bottom:16px;}
.plan-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--teal);margin-bottom:10px;}
.plan-locked-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--gbg);color:var(--green);border:1px solid var(--gbdr);}
.plan-row{font-size:12px;color:var(--t2);padding:4px 0;display:flex;justify-content:space-between;gap:10px;}
.plan-row b{color:var(--text);text-align:right;}
.plan-edit-link{font-size:11px;color:var(--t3);text-decoration:underline;cursor:pointer;margin-top:8px;display:inline-block;}

/* COOLDOWN BANNER */
.banner-cooldown{background:var(--rbg);border:2px solid var(--red);}
.banner-cooldown .banner-title{color:var(--red);}
.banner-cooldown .banner-body{color:#d89090;}
.cooldown-clock{font-size:26px;font-weight:800;color:var(--red);margin-top:4px;letter-spacing:1px;}
.card-btn.locked-btn{opacity:.4;pointer-events:none;filter:grayscale(.6);}

/* PRE-MARKET RITUAL OVERLAY */
.ritual-overlay{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:20px;}
.ritual-overlay.show{display:flex;}
.ritual-panel{background:var(--surface);border:1px solid var(--b1);border-radius:16px;padding:22px;max-width:380px;width:100%;}

/* BREATHING EXERCISE */
.breathing-overlay{position:fixed;inset:0;z-index:950;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:20px;}
.breathing-overlay.show{display:flex;}
.breathing-panel{background:var(--surface);border:1px solid var(--b1);border-radius:16px;padding:24px;max-width:340px;width:100%;text-align:center;}
.breathing-circle-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 0 6px;}
.breathing-circle{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--teal),var(--blue));transition:transform 0.6s ease-in-out;transform:scale(0.6);box-shadow:0 0 30px rgba(61,184,160,0.4);}
.breathing-circle.grow{transform:scale(1.15);}
.breathing-circle.hold{transform:scale(1.15);}
.breathing-circle.shrink{transform:scale(0.6);}
.breathing-phase-text{font-size:15px;font-weight:600;color:var(--text);margin-top:18px;}
.breathing-count{font-size:28px;font-weight:800;color:var(--teal);margin-top:4px;min-height:34px;}
.breathing-cycle-label{font-size:12px;color:var(--t3);margin-bottom:14px;}
.ritual-panel h4{font-size:16px;color:var(--amber);margin-bottom:4px;}
.ritual-panel .ritual-sub{font-size:12px;color:var(--t3);margin-bottom:16px;}
.ritual-item{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:10px;border:1.5px solid var(--b1);background:var(--s2);margin-bottom:9px;cursor:pointer;font-size:13px;color:var(--t2);transition:all .12s;}
.ritual-item.checked{border-color:var(--green);background:var(--gbg);color:#90d8a8;}
.ritual-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--b2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px;}
.ritual-item.checked .ritual-box{border-color:var(--green);background:var(--green);color:#0a1a0e;}
.ritual-start-btn{width:100%;padding:14px;border-radius:10px;font-size:14px;font-weight:600;font-family:inherit;margin-top:6px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t3);cursor:not-allowed;transition:all .15s;}
.ritual-start-btn.ready{border-color:var(--green);background:var(--gbg);color:var(--green);cursor:pointer;}

/* RULE-BREAK REASON MODAL */
.rb-panel{background:var(--surface);border:1px solid var(--rbdr);border-radius:14px;padding:20px;max-width:360px;width:100%;}
.rb-panel h4{font-size:14px;color:var(--red);margin-bottom:6px;}
.rb-panel p{font-size:12px;color:var(--t2);line-height:1.6;margin-bottom:12px;}

/* DISCIPLINE SCORE */
.disc-score-wrap{display:flex;align-items:center;gap:16px;margin-bottom:10px;}
.disc-score-num{font-size:38px;font-weight:800;line-height:1;}
.disc-score-max{font-size:14px;color:var(--t3);font-weight:500;}
.disc-breakdown{flex:1;}
.disc-row{display:flex;justify-content:space-between;font-size:11px;color:var(--t3);padding:3px 0;}
.disc-row b{color:var(--t2);}
.rb-count-badge{background:var(--rbg);color:var(--red);border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;}

/* CHECKLIST EDITOR */
.ed-tabs{display:flex;gap:8px;margin-bottom:14px;}
.ed-tab{flex:1;padding:9px;border-radius:8px;border:1.5px solid var(--b1);background:var(--s2);color:var(--t2);font-size:13px;cursor:pointer;font-family:inherit;}
.ed-tab.on{border-color:var(--amber);background:var(--abg);color:var(--amber);}
.ed-q-card{background:var(--surface);border:1px solid var(--b1);border-radius:10px;padding:14px;margin-bottom:10px;}

/* MONTHLY/YEARLY P&L CALENDAR */
.mcal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.mcal-nav{background:var(--s2);border:1px solid var(--b1);color:var(--t2);border-radius:8px;width:30px;height:30px;font-size:14px;cursor:pointer;font-family:inherit;}
.mcal-nav:hover{border-color:var(--b2);color:var(--text);}
.mcal-year{font-size:14px;font-weight:700;color:var(--text);}
.mcal-total{font-size:12px;color:var(--t3);}
.mcal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.mcal-cell{border-radius:8px;padding:10px 6px;text-align:center;border:1px solid var(--b1);background:var(--s2);}
.mcal-cell .mc-m{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.mcal-cell .mc-v{font-size:13px;font-weight:700;color:var(--t3);}
.mcal-cell.pos{background:var(--gbg);border-color:var(--gbdr);}
.mcal-cell.pos .mc-v{color:var(--green);}
.mcal-cell.neg{background:var(--rbg);border-color:var(--rbdr);}
.mcal-cell.neg .mc-v{color:var(--red);}

/* ══════════════════════════════════════════════
   RESPONSIVE — TABLET & DESKTOP
   (Home & Analytics already have their own layouts above;
   this widens every other page so it doesn't stay pinned
   to phone-width on bigger screens.)
   ══════════════════════════════════════════════ */
@media (min-width:640px){
  .page{max-width:600px;padding:24px 28px;}
}
@media (min-width:1000px){
  .page{max-width:760px;padding:28px 32px;}
  .mood-grid{grid-template-columns:repeat(3,1fr);}
  .risk-inputs{grid-template-columns:1fr 1fr;}
  .inst-grid{grid-template-columns:repeat(4,1fr);}
}

/* History & Weekly — 2-column card grid on wide screens */
@media (min-width:1000px){
  #pgHistory,#pgWeekly{max-width:1040px;}
  #histList{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
  #histList .entry{margin-bottom:0;}
  #weeklyList{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
  #weeklyList .week-card{margin-bottom:0;}
}

/* Settings & checklist editor — wider on desktop */
@media (min-width:1000px){
  #pgChecklistEditor{max-width:820px;}
}

/* Bottom nav — floating centered dock on tablet/desktop instead of edge-to-edge */
@media (min-width:760px){
  .bnav{
    left:50%;right:auto;transform:translateX(-50%);
    max-width:520px;width:calc(100% - 40px);
    bottom:14px;border:1px solid var(--b1);border-radius:16px;
    box-shadow:0 8px 28px rgba(0,0,0,.35);
    overflow:hidden;
  }
  body{padding-bottom:86px;}
}

/* PWA install prompt */
.install-banner{display:none;align-items:center;gap:12px;background:var(--tbg);border:1.5px solid var(--tbdr);border-radius:12px;padding:12px 14px;margin-bottom:16px;}
.install-banner.show{display:flex;}
.install-banner .ib-icon{font-size:22px;flex-shrink:0;}
.install-banner .ib-text{flex:1;font-size:12px;color:#70d0b8;line-height:1.5;}
.install-banner .ib-text b{color:var(--teal);display:block;font-size:13px;margin-bottom:1px;}
.install-banner .ib-btn{flex-shrink:0;padding:8px 14px;border-radius:8px;border:1px solid var(--teal);background:var(--bg);color:var(--teal);font-size:12px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.install-banner .ib-close{background:none;border:none;color:var(--t3);font-size:16px;cursor:pointer;padding:0 2px;flex-shrink:0;}

/* TRADE REPLAY NOTES (structured reflection, separate from quick win/loss note) */
.replay-toggle{width:100%;margin-top:10px;padding:9px 12px;border-radius:8px;border:1px dashed var(--pbdr);background:var(--pbg);color:var(--purple);font-size:12px;cursor:pointer;font-family:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;}
.replay-toggle:hover{background:#1c1338;}
.replay-form{display:none;margin-top:8px;padding:12px;background:var(--s2);border:1px solid var(--pbdr);border-radius:10px;}
.replay-form.show{display:block;animation:up .2s ease;}
.replay-fg{margin-bottom:10px;}
.replay-fg:last-of-type{margin-bottom:0;}
.replay-lbl{display:block;font-size:11px;font-weight:700;color:var(--purple);margin-bottom:5px;letter-spacing:.3px;}
.replay-ta{width:100%;padding:9px 11px;background:var(--surface);border:1px solid var(--b1);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;outline:none;resize:vertical;}
.replay-ta:focus{border-color:var(--purple);}
.replay-repeat{display:flex;gap:6px;}
.replay-repeat button{flex:1;padding:8px 6px;border-radius:7px;border:1px solid var(--b1);background:var(--surface);color:var(--t2);font-size:12px;cursor:pointer;font-family:inherit;}
.replay-repeat button.on{border-color:var(--purple);background:#1c1338;color:var(--purple);}
.replay-save{margin-top:10px;padding:8px 16px;border-radius:7px;border:1px solid var(--pbdr);background:var(--pbg);color:var(--purple);font-size:12px;cursor:pointer;font-family:inherit;}
.replay-display{margin-top:8px;padding:10px 12px;background:var(--pbg);border:1px solid var(--pbdr);border-radius:8px;font-size:12px;color:#c0a8e8;line-height:1.7;}
.replay-display b{color:var(--purple);}

/* WEEKLY — share-as-image button */
.share-week-btn{width:auto;margin:0;padding:6px 12px;border-radius:7px;border:1px solid var(--abdr);background:var(--abg);color:var(--amber);font-size:11px;cursor:pointer;font-family:inherit;}
.share-week-btn:hover{background:#281c0a;}

/* DISCIPLINE TRACKER */
.disc-streak{background:linear-gradient(135deg,var(--red),var(--purple));border-radius:14px;padding:18px 20px;color:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.disc-streak .ds-flame{font-size:36px;line-height:1;}
.disc-streak .ds-num{font-size:30px;font-weight:800;}
.disc-streak .ds-label{font-size:11px;opacity:.9;}
.disc-streak .ds-best{text-align:right;font-size:11px;opacity:.95;}
.disc-streak .ds-best b{font-size:17px;display:block;}
.disc-quote{font-size:12.5px;font-style:italic;color:var(--t2);background:var(--pbg);border-left:3px solid var(--purple);padding:9px 13px;border-radius:8px;margin-bottom:16px;}
.disc-task{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--b1);border-radius:12px;padding:13px 14px;margin-bottom:10px;cursor:pointer;transition:border-color .15s;}
.disc-task.done{border-color:var(--green);background:var(--gbg);}
.disc-task .dt-emoji{font-size:22px;width:30px;text-align:center;}
.disc-task .dt-info{flex:1;}
.disc-task .dt-title{font-weight:600;font-size:13.5px;color:var(--text);}
.disc-task .dt-sub{font-size:11px;color:var(--t3);margin-top:2px;}
.disc-task .dt-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--b1);display:flex;align-items:center;justify-content:center;font-size:13px;color:transparent;flex-shrink:0;}
.disc-task.done .dt-check{background:var(--green);border-color:var(--green);color:#fff;}
.disc-heat-wrap{background:var(--surface);border:1.5px solid var(--b1);border-radius:12px;padding:14px 16px;margin:16px 0;}
.disc-heat-title{font-size:12px;font-weight:600;color:var(--text);margin-bottom:10px;}
.disc-heat-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;}
.disc-heat-cell{aspect-ratio:1;border-radius:4px;background:var(--s3);display:flex;align-items:center;justify-content:center;font-size:9px;}
.disc-heat-legend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:10.5px;color:var(--t3);margin-top:8px;}
.disc-heat-legend .lb{width:11px;height:11px;border-radius:3px;display:inline-block;}

/* VIDEO STUDIO */
.vs-section{background:var(--surface);border:1.5px solid var(--b1);border-radius:12px;padding:16px 18px;margin-bottom:16px;}
.vs-section h4{margin:0 0 10px;font-size:14px;color:var(--text);}
.vs-record-row{display:flex;align-items:center;gap:14px;}
.vs-rec-btn{width:64px;height:64px;border-radius:50%;border:none;background:var(--red);color:#fff;font-size:22px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.vs-rec-btn.recording{animation:vsPulse 1.4s infinite;}
@keyframes vsPulse{0%{box-shadow:0 0 0 0 rgba(217,95,95,.5);}70%{box-shadow:0 0 0 14px rgba(217,95,95,0);}100%{box-shadow:0 0 0 0 rgba(217,95,95,0);}}
.vs-timer{font-size:20px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;}
.vs-rec-sub{font-size:11.5px;color:var(--t3);margin-top:2px;}
.vs-video{width:100%;border-radius:10px;background:#000;display:block;margin-bottom:12px;max-height:340px;}
.vs-trim-row{margin-bottom:10px;}
.vs-trim-label{font-size:11.5px;color:var(--t2);display:flex;justify-content:space-between;margin-bottom:4px;}
.vs-trim-row input[type=range]{width:100%;}
.vs-progress-wrap{background:var(--s3);border-radius:8px;height:8px;overflow:hidden;margin:10px 0;display:none;}
.vs-progress-bar{background:var(--purple);height:100%;width:0%;transition:width .2s;}
.vs-yt-status{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.vs-yt-connected{color:var(--green);font-size:13px;font-weight:600;}
.vs-yt-link{margin-top:10px;font-size:13px;color:var(--purple);word-break:break-all;}

/* VIDEO STUDIO — library / timeline / text layers */
.vs-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.vs-lib-item{background:var(--s2);border:1px solid var(--b1);border-radius:10px;overflow:hidden;}
.vs-lib-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000;display:block;}
.vs-lib-meta{padding:6px 8px 0;font-size:10.5px;color:var(--t2);display:flex;justify-content:space-between;}
.vs-lib-actions{display:flex;gap:6px;padding:6px 8px 8px;}
.vs-lib-actions button{flex:1;}
.vs-tl-item{display:flex;gap:10px;background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:10px;margin-bottom:10px;}
.vs-tl-thumb{width:70px;height:40px;object-fit:cover;border-radius:6px;background:#000;flex-shrink:0;}
.vs-tl-body{flex:1;min-width:0;}
.vs-tl-top{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--t2);margin-bottom:4px;}
.vs-tl-controls{display:flex;gap:4px;}
.vs-tl-controls button{width:auto;margin:0;padding:3px 7px;font-size:11px;border-radius:6px;border:1px solid var(--b1);background:var(--surface);color:var(--t2);cursor:pointer;font-family:inherit;}
.vs-text-layer-row{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:10px;margin-bottom:10px;}
