/* CHARGE PANEL */
.charge-panel{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r2);padding:16px 18px;margin-top:12px}
.charge-panel-hd{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.charge-panel-title{font-size:10px;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:2px}
.charge-badge{background:var(--purple-dim);color:var(--purple);font-size:9px;font-weight:700;padding:2px 7px;border-radius:10px;letter-spacing:1px}
.charge-toggle{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.charge-type-btn{padding:6px 12px;border-radius:var(--r);border:1px solid var(--border2);background:var(--bg2);color:var(--text2);cursor:pointer;font-size:11px;font-family:'Syne',sans-serif;font-weight:600;transition:all .15s}
.charge-type-btn.active{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}
.charge-summary{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:10px 14px;margin-top:10px;font-size:12px;color:var(--text2);font-family:'IBM Plex Mono',monospace}
/* SCREENSHOT */
.screenshot-zone{border:2px dashed var(--border2);border-radius:var(--r2);padding:24px;text-align:center;cursor:pointer;transition:all .15s;margin-top:8px;position:relative}
.screenshot-zone:hover{border-color:var(--accent);background:var(--accent-dim)}
.screenshot-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.screenshot-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.screenshot-thumb{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;border:1px solid var(--border2)}
.screenshot-thumb img{width:100%;height:100%;object-fit:cover}
.screenshot-thumb-del{position:absolute;top:4px;right:4px;background:#000000bb;border:none;color:#fff;border-radius:4px;cursor:pointer;padding:3px 6px;font-size:10px;font-family:'Syne',sans-serif;font-weight:700}
/* STRATEGIES PAGE */
.strategy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}
.strategy-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);padding:20px;position:relative;transition:border .15s}
.strategy-card:hover{border-color:var(--border3)}
.strategy-card-name{font-size:16px;font-weight:700;margin-bottom:4px}
.strategy-card-desc{font-size:12px;color:var(--text2);line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.strategy-card-meta{display:flex;gap:8px;flex-wrap:wrap}
.strategy-tag{padding:3px 9px;border-radius:20px;font-size:10px;font-weight:700;background:var(--bg3);border:1px solid var(--border2);color:var(--text2)}
.strategy-card-actions{position:absolute;top:16px;right:16px;display:flex;gap:6px}
.strategy-chip{padding:4px 10px;border-radius:20px;border:1px solid var(--border2);background:var(--bg3);color:var(--text2);cursor:pointer;font-size:11px;font-family:'Syne',sans-serif;font-weight:600;transition:all .15s}
.strategy-chip:hover{border-color:var(--border3);color:var(--text)}
.strategy-chip.active{border-color:var(--purple);color:var(--purple);background:var(--purple-dim)}
/* ANALYTICS */
.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.breakdown-item:last-child{border-bottom:none}
.emo-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}
.emo-row:last-child{border-bottom:none}
/* CALC */
.calc-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px}
.calc-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);padding:24px}
/* CALENDAR */
.calendar-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r2);padding:24px;margin-bottom:24px}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.cal-month-title{font-size:18px;font-weight:600;letter-spacing:-.1px;-webkit-font-smoothing:antialiased}
.cal-nav{display:flex;gap:6px}
.cal-nav-btn{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);color:var(--text2);cursor:pointer;padding:7px 13px;font-size:16px;transition:all .15s;line-height:1}
.cal-nav-btn:hover{color:var(--text);border-color:var(--border3)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-day-label{text-align:center;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1px;font-weight:700;padding:6px 0 10px}
.cal-cell{border-radius:var(--r);padding:8px 9px;min-height:80px;display:flex;flex-direction:column;border:1px solid transparent;transition:all .15s;position:relative}
.cal-cell.other-month{opacity:.22}
.cal-cell.has-trades{border-color:var(--border);cursor:pointer}
.cal-cell.has-trades:hover{background:var(--bg3);border-color:var(--border2)}
.cal-cell.today{border-color:var(--accent)!important;background:var(--accent-dim)}
.cal-cell.positive{background:#00e5b80a;border-color:#00e5b828}
.cal-cell.negative{background:#ff3d5a0a;border-color:#ff3d5a28}
.cal-cell.selected{box-shadow:0 0 0 2px var(--accent2);border-color:var(--accent2)!important}
.cal-date-num{font-size:11px;font-weight:700;color:var(--text3);line-height:1;margin-bottom:auto}
.cal-cell.today .cal-date-num{color:var(--accent)}
.cal-pnl{font-size:12px;font-weight:700;font-family:'IBM Plex Mono',monospace;margin-top:6px;line-height:1.2}
.cal-trade-count{font-size:10px;color:var(--text3);margin-top:3px}
.cal-dot-row{display:flex;gap:3px;margin-top:4px;flex-wrap:wrap}
.cal-dot{width:6px;height:6px;border-radius:50%}
.cal-legend{display:flex;gap:18px;margin-top:14px;justify-content:flex-end;align-items:center}
.cal-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text2)}
.cal-legend-swatch{width:12px;height:12px;border-radius:3px}
.cal-detail-panel{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r2);padding:20px 22px;margin-bottom:24px;display:none}
.cal-detail-panel.open{display:block}
.cal-detail-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cal-detail-date{font-size:17px;font-weight:600;letter-spacing:-.1px;-webkit-font-smoothing:antialiased}
.cal-detail-summary{display:flex;gap:20px;margin-bottom:14px;flex-wrap:wrap}
.cal-summary-chip{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:8px 14px}
.cal-summary-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1px;font-weight:700}
.cal-summary-val{font-size:16px;font-weight:700;font-family:'IBM Plex Mono',monospace;margin-top:3px}
/* MANUAL MODE TOGGLE */
.mode-toggle{display:flex;align-items:center;gap:10px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:10px 14px;margin-bottom:14px}
.mode-toggle-label{font-size:12px;color:var(--text2);font-weight:600;flex:1}
.toggle-switch{position:relative;width:38px;height:22px;flex-shrink:0;cursor:pointer}
.toggle-switch input{opacity:0;width:0;height:0;position:absolute}
.toggle-slider{position:absolute;inset:0;background:var(--border2);border-radius:11px;transition:background .2s}
.toggle-slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:var(--text3);border-radius:50%;transition:transform .2s,background .2s}
.toggle-switch input:checked+.toggle-slider{background:var(--accent)}
.toggle-switch input:checked+.toggle-slider:before{transform:translateX(16px);background:#000}
.manual-field{display:flex;flex-direction:column;gap:6px}
.manual-hint{font-size:10px;color:var(--gold);font-weight:600;letter-spacing:.5px}
/* EDIT MODE banner */
.edit-banner{background:#3d9eff18;border:1px solid #3d9eff40;border-radius:var(--r);padding:10px 14px;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--accent2)}
.edit-banner svg{flex-shrink:0}
/* ONBOARDING */
.onboard-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px;overflow-y:auto;box-sizing:border-box}
.onboard-card{background:var(--bg2);border:1px solid var(--border2);border-radius:20px;padding:48px;width:100%;max-width:520px;text-align:center}
.onboard-steps{display:flex;gap:6px;margin-bottom:32px}
.onboard-step{flex:1;height:3px;border-radius:2px;background:var(--border2)}
.onboard-step.done{background:var(--accent)}
.ob-or{display:flex;align-items:center;gap:10px;margin:18px 0 12px;font-size:12px;color:var(--text3)}
.ob-or::before,.ob-or::after{content:"";flex:1;height:1px;background:var(--border2)}
/* TOAST */
.toast{position:fixed;bottom:28px;right:28px;background:var(--bg4);border:1px solid var(--border3);border-radius:var(--r2);padding:14px 20px;font-size:13px;font-weight:600;z-index:9999;display:none;animation:slideUp .2s ease;gap:10px;align-items:center;max-width:360px}
.toast.show{display:flex}
.toast-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}
@keyframes slideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
/* SCREENSHOT VIEWER */
.img-viewer{position:fixed;inset:0;background:#000000ee;z-index:500;display:none;align-items:center;justify-content:center;cursor:zoom-out}
.img-viewer.open{display:flex}
.img-viewer img{max-width:90vw;max-height:90vh;border-radius:var(--r2);border:1px solid var(--border3)}
/* SPLASH SCREEN */
#splash{position:fixed;inset:0;z-index:99999;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;cursor:pointer;transition:opacity .7s ease}
#splash.fade-out{opacity:0;pointer-events:none}
.splash-logo{justify-content:center;font-size:min(38px,7.4vw);font-weight:800;letter-spacing:-.5px;color:var(--text);display:flex;align-items:center;gap:14px;margin-bottom:6px}
.splash-badge{width:min(50px,11vw);height:min(50px,11vw)}
.ob-badge{width:44px;height:44px}
.splash-logo-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite;flex-shrink:0}
.splash-tagline{font-size:11px;color:var(--text3);letter-spacing:3.5px;text-transform:uppercase;font-weight:600;margin-bottom:36px}
.splash-greeting{font-size:22px;font-weight:700;color:var(--text);margin-bottom:20px;opacity:0;animation:fadeUp .6s ease .35s forwards;letter-spacing:-.3px}
.splash-quote{max-width:420px;text-align:center;font-size:13px;color:var(--text2);line-height:1.7;font-style:italic;padding:0 20px;opacity:0;animation:fadeUp .6s ease .55s forwards;margin-bottom:8px}
.splash-quote-attr{font-size:11px;color:var(--text3);font-weight:600;font-style:normal;letter-spacing:.5px;opacity:0;animation:fadeUp .6s ease .7s forwards}
.splash-skip{position:absolute;bottom:32px;right:32px;font-size:11px;color:var(--text3);letter-spacing:1px;text-transform:uppercase;font-weight:600;opacity:0;animation:fadeUp .4s ease 1.2s forwards}
.splash-bar{position:absolute;bottom:0;left:0;height:2px;background:var(--accent);width:0%;animation:splashProgress 2.5s linear .2s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes splashProgress{from{width:0%}to{width:100%}}
/* RESET MODAL */
#reset-overlay{position:fixed;inset:0;background:#00000088;z-index:9998;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
#reset-overlay.open{display:flex}
.reset-modal{background:var(--bg2);border:1px solid var(--red-dim);border-radius:var(--r3);padding:36px;max-width:420px;width:90%;text-align:center}
.reset-icon{font-size:40px;margin-bottom:16px}
.reset-title{font-size:20px;font-weight:800;color:var(--red);margin-bottom:8px;letter-spacing:-.3px}
.reset-body{font-size:13px;color:var(--text2);line-height:1.6;margin-bottom:24px}
.reset-input-wrap{margin-bottom:20px;text-align:left}
.reset-confirm-input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:10px 14px;color:var(--text);font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;letter-spacing:1px;outline:none;transition:border-color .15s}
.reset-confirm-input:focus{border-color:var(--red)}
.reset-confirm-input.match{border-color:var(--green)}
.reset-new-balance{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:10px 14px;color:var(--text);font-family:'Syne',sans-serif;font-size:14px;outline:none;transition:border-color .15s;margin-top:10px}
.reset-new-balance:focus{border-color:var(--accent2)}
/* GOOGLE DRIVE SYNC */
.drive-btn{width:100%;margin-top:8px;padding:9px 12px;border-radius:var(--r);border:1px solid var(--border2);background:transparent;color:var(--text2);cursor:pointer;font-family:'Syne',sans-serif;font-size:12px;font-weight:600;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px}
.drive-btn:hover{background:var(--bg4);color:var(--text);border-color:var(--border3)}
.drive-btn.connected{border-color:#34a85340;background:#34a85310;color:#34a853}
.drive-btn.connected:hover{background:#34a85320}
.drive-sync-status{font-size:10px;color:var(--text3);text-align:center;margin-top:6px;min-height:14px;letter-spacing:.3px}
.drive-sync-status.ok{color:#34a853}
.drive-sync-status.err{color:var(--red)}
.drive-sync-status.syncing{color:var(--accent2)}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.spin{display:inline-block;animation:spin .8s linear infinite}
/* ONBOARDING POLISH */
.onboard-card{position:relative;overflow:hidden}
.onboard-card::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:var(--accent);opacity:.04;pointer-events:none}
.onboard-card::after{content:'';position:absolute;bottom:-80px;left:-40px;width:160px;height:160px;border-radius:50%;background:var(--accent2);opacity:.05;pointer-events:none}


/* PWA INSTALL BANNER */
#pwa-banner{position:fixed;bottom:0;left:0;right:0;z-index:9000;background:var(--bg2);border-top:1px solid var(--border2);padding:14px 20px;display:none;align-items:center;gap:14px;box-shadow:0 -4px 20px #00000030}
#pwa-banner.show{display:flex}
.pwa-banner-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;object-fit:cover}
.pwa-banner-text{flex:1}
.pwa-banner-title{font-size:13px;font-weight:700;margin-bottom:2px}
.pwa-banner-sub{font-size:11px;color:var(--text2)}
.pwa-banner-actions{display:flex;gap:8px;flex-shrink:0}


/* ── Session notes in Calendar day view (v14.9) ── */
.cal-note-mark{position:absolute;top:4px;right:5px;font-size:10px;line-height:1}
.cal-notes{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}
.cal-notes-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cal-notes-title{font-size:14px;font-weight:600;letter-spacing:-.1px}
.cal-notes-title span{font-size:11px;font-weight:500;color:var(--text3);margin-left:4px}
.cal-notes-status{font-size:11px;color:var(--green)}
.cal-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cal-notes-sub{font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}
.cal-notes-grid .form-label{display:block;margin:10px 0 6px}
.cal-notes-grid .form-textarea{resize:vertical;font-family:'Syne',sans-serif}
.cal-notes-chips{display:flex;flex-wrap:wrap;gap:6px}

/* ── Timing analytics (v14.9) ── */
.tm-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}
.tm-cell{border-radius:6px;padding:6px 2px;text-align:center;min-height:52px;font-family:'IBM Plex Mono',monospace}
.tm-h{font-size:10px;font-weight:700;opacity:.8}
.tm-p{font-size:10px;font-weight:700;margin-top:3px;white-space:nowrap}
.tm-n{font-size:9px;opacity:.7;margin-top:2px}
.cal-cell:not(.other-month){cursor:pointer}

/* Account / sign-in */
.acct-btn{margin-top:8px}
.acct-btn #acct-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
.auth-modal{max-width:420px}
.auth-full{width:100%;justify-content:center;padding:12px;margin-bottom:10px}
.auth-google{gap:10px;background:var(--bg3)}
.auth-or{display:flex;align-items:center;gap:10px;margin:6px 0 14px;color:var(--text3);font-size:11px;text-transform:uppercase;letter-spacing:1px}
.auth-or::before,.auth-or::after{content:'';flex:1;height:1px;background:var(--border2)}
.auth-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.auth-link{background:none;border:none;padding:6px 0;color:var(--accent);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}
.auth-msg{min-height:18px;margin-top:10px;font-size:12px;color:var(--text2);line-height:1.5}
.auth-msg.err{color:var(--red)}
.auth-msg.ok{color:var(--green)}
.auth-card{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:14px;margin:14px 0}
.auth-card-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1px}
.auth-card-email{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--text);margin-top:4px;word-break:break-all}
.auth-legal{font-size:11px;color:var(--text3);line-height:1.6;text-align:center;margin-top:12px}.auth-legal a{color:var(--text2)}
.auth-note{font-size:12px;color:var(--text3);line-height:1.6;margin:0 0 14px}
/* Watch windows editor (v15.1) */
.ww-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ww-row .form-input{margin:0}
.ww-row .ww-label{flex:1;min-width:0}
.ww-row .ww-from,.ww-row .ww-to{width:120px;flex:none}
/* Setups seen (v15.1, Advanced mode) */
.adv-inline{display:none}
.adv-mode-active .adv-inline{display:inline-flex}
.j-tabs{display:flex;gap:6px;flex-wrap:wrap}
.cal-setup-mark{position:absolute;bottom:4px;right:5px;font-size:10px;line-height:1;color:var(--accent2);font-weight:700}
.su-day-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r);margin-bottom:6px;font-size:12px;cursor:pointer;background:var(--bg3)}
.su-day-row:hover{border-color:var(--border3)}
.ww-dim{color:var(--text3);font-weight:600}
.su-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.su-grid>*{min-width:0}

/* v15.3: Quant Edge extras (Confidence, Risk of Ruin, R distribution, Sharpe, Correlation) */
.q-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.q-tile{background:var(--bg3);border-radius:10px;padding:12px 14px;text-align:center;min-width:0}
.q-lbl{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px}
.q-val{font-size:20px;font-weight:700;font-family:'IBM Plex Mono',monospace;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-sub{font-size:10px;color:var(--text3);margin-top:4px;min-height:12px}
.q-note{font-size:12px;color:var(--text2);background:var(--bg3);border-radius:8px;padding:10px 14px;line-height:1.6}
.q-note>div+div{margin-top:4px}
.rd-bars{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.rd-row{display:grid;grid-template-columns:96px minmax(0,1fr) 28px;align-items:center;gap:10px;font-size:11px}
.rd-lbl{color:var(--text2);font-family:'IBM Plex Mono',monospace;white-space:nowrap}
.rd-track{height:14px;background:var(--bg3);border-radius:4px;overflow:hidden}
.rd-n{text-align:right;font-family:'IBM Plex Mono',monospace;color:var(--text2)}
.corr-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.corr-names{font-weight:700;font-size:13px;min-width:0;overflow-wrap:anywhere}
.corr-meta{font-size:11px;color:var(--text3);font-weight:400;margin-top:2px}
.corr-val{text-align:right;flex-shrink:0}
@media(max-width:480px){
  .q-grid{gap:8px}
  .q-tile{padding:10px 6px}
  .q-lbl{font-size:9px;letter-spacing:1px}
  .q-val{font-size:15px}
  .rd-row{grid-template-columns:84px minmax(0,1fr) 24px;gap:8px}
}

/* Cloud sync (v16.0) */
.cloud-sync-status{cursor:default}
.cloud-body p{font-size:13px;color:var(--text2);line-height:1.6;margin:12px 0}
.cloud-body .cloud-small{font-size:11px;color:var(--text3)}
.cloud-count{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:10px 12px;margin:8px 0;display:flex;flex-direction:column;gap:3px}
.cloud-count span{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:1px}
.cloud-count b{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;color:var(--text)}
.cloud-tick{display:flex;align-items:center;gap:8px;margin:12px 0 4px;font-size:12px;color:var(--text2);cursor:pointer}
.cloud-body .auth-full:first-of-type{margin-top:6px}
.cloud-sync-status.tappable{cursor:pointer;text-decoration:underline}

/* v16.1 cloud screenshots + signed-out note */
.acct-local-note{font-size:10px;color:var(--text3);line-height:1.45;margin:6px 2px 0;cursor:pointer}
.cloud-shots-card{margin-top:12px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:10px 12px}
.cloud-shots-head{display:flex;justify-content:space-between;align-items:center;white-space:nowrap;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:8px;gap:8px}
.cloud-shots-track{height:6px;border-radius:3px;background:var(--border2);overflow:hidden;margin-bottom:8px}
.cloud-shots-track>div{height:100%;width:0;border-radius:3px;background:var(--accent);transition:width .3s}
.cloud-opts{display:flex;flex-direction:column;gap:2px;margin:6px 0}
.cloud-opts .cloud-tick{margin:6px 0}
#cloud-overlay{z-index:110} /* opens over Account Settings (archive) */
#auth-overlay{z-index:10000} /* over the first-run welcome, when "Create account" is picked at the end of setup */
/* v17.0 screenshot viewer arrows + journal date filter */
.img-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:none;border-radius:var(--r);background:#00000088;color:#fff;font-size:34px;line-height:1;cursor:pointer}
.img-prev{left:10px}.img-next{right:10px}
.img-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:12px;font-family:'IBM Plex Mono',monospace;background:#00000088;padding:3px 10px;border-radius:10px}
.img-count:empty{display:none}
.j-fdate-custom{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text3)}
.j-fdate-custom input{min-width:0}
/* v17.0 share card */
.share-modal{max-width:440px}
.sc-preview{display:block;width:100%;border-radius:var(--r);border:1px solid var(--border2);margin:14px 0 6px;background:var(--bg3);min-height:120px}
.sc-thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.sc-thumbs:empty{display:none}
.sc-thumb{width:56px;height:40px;border-radius:6px;border:2px solid var(--border2);background:var(--bg3);color:var(--text2);padding:0;overflow:hidden;cursor:pointer;font-weight:700}
.sc-thumb.active{border-color:var(--accent)}
.sc-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* ─── Coach view (v17.0) ─── */
#coach-banner{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:9px 16px;background:var(--accent-dim);border-bottom:1px solid var(--accent);color:var(--text);font-size:13px}
#coach-banner b{color:var(--accent)}
.coach-view .header-actions,.coach-view .j-edit,.coach-view .btn-settings{display:none!important}
.coach-view #m-save-btn,.coach-view #setup-overlay button[onclick="saveSetup()"]{display:none!important}
.coaching-wrap{padding:24px 32px 40px;display:flex;flex-direction:column;gap:18px;max-width:1200px}
.coaching-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.coach-panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r3);padding:20px}
.coach-panel-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.coach-panel-icon{width:40px;height:40px;flex:none;border-radius:12px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:20px}
.coach-panel-title{font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--text)}
.coach-panel-sub{font-size:12px;color:var(--text3)}
.coach-p{font-size:13px;color:var(--text2);line-height:1.6;margin:0 0 14px}
.coach-add{display:flex;gap:8px;margin-top:12px}
.coach-add .form-input{flex:1;min-width:0}
.coach-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);margin-bottom:8px;font-size:13px;color:var(--text2)}
.coach-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.coach-row-email{word-break:break-all;color:var(--text2);font-size:12px}
.coach-row b{color:var(--text)}
.coach-pill{display:inline-block;width:max-content;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.coach-pill.ok{background:rgba(34,197,94,.14);color:var(--green);border:1px solid rgba(34,197,94,.35)}
.coach-pill.wait{background:rgba(234,179,8,.12);color:var(--gold);border:1px solid rgba(234,179,8,.35)}
.coach-pill.lock{background:var(--bg3);color:var(--text3);border:1px solid var(--border2)}
.coach-sub{font-size:11px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.05em;margin:2px 0 8px}
.coach-req{border-color:rgba(234,179,8,.35);background:rgba(234,179,8,.05)}
.coach-req-btns{display:flex;gap:6px;flex:none}
#coach-requests:not(:empty){margin-bottom:16px}
.coach-locked{text-align:center;padding:18px 8px 6px}
.coach-lock-icon{font-size:34px;opacity:.75}
.coach-lock-title{font-size:15px;font-weight:600;letter-spacing:-.2px;color:var(--text);margin:6px 0 6px}
.coach-locked .coach-p{max-width:320px;margin:0 auto}
.mat-folder{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 6px}
.mat-folder:first-child{margin-top:0}
.mat-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;margin-bottom:6px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.mat-item:hover{border-color:var(--accent)}
.mat-icon{font-size:18px;flex:none}
.mat-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mat-size{font-size:11px;color:var(--text3);font-family:'IBM Plex Mono',monospace;flex:none}
#students-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
#students-list>.form-hint{grid-column:1/-1}
.stu-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r2);padding:16px}
.stu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.stu-name{font-size:15px;font-weight:600;letter-spacing:-.2px;color:var(--text)}
.stu-email{font-size:11px;color:var(--text3);word-break:break-all}
.stu-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stu-stats>div{background:var(--bg2);border-radius:var(--r);padding:8px 10px;min-width:0}
.stu-stats span{display:block;font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.04em}
.stu-stats b{display:block;font-size:13px;font-family:'IBM Plex Mono',monospace;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-remove{margin-top:10px;background:none;border:none;padding:0;color:var(--text3);font:inherit;font-size:11px;cursor:pointer;text-decoration:underline}
@media(max-width:600px){.coaching-wrap{padding:16px}.coaching-grid{grid-template-columns:1fr}#students-list{grid-template-columns:1fr}.coach-panel{padding:16px}.coach-req{flex-direction:column;align-items:stretch}.coach-req-btns .btn{flex:1;justify-content:center}}

/* Equity curve $ / R switch */
.eq-unit{display:inline-flex;background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:2px}
.eq-unit button{background:none;border:0;color:var(--text3);font:700 11px 'IBM Plex Mono',monospace;padding:3px 11px;border-radius:16px;cursor:pointer;min-width:30px}
.eq-unit button.active{background:var(--accent-dim);color:var(--accent)}

/* Find a coach (v17.4) */
.coach-find-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.coach-card{border:1px solid var(--border);border-radius:var(--r2,12px);padding:16px;background:var(--bg3);display:flex;flex-direction:column;gap:14px}
.coach-card-top{display:flex;align-items:center;gap:14px;min-width:0}
.coach-card-photo{width:56px;height:56px;flex:none;border-radius:50%;object-fit:cover;background:#fff}
.coach-card-blank{display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--accent-dim)}
.coach-card-who{display:flex;flex-direction:column;gap:3px;min-width:0}
.coach-card-name{font-size:15px;font-weight:600;color:var(--text)}
.coach-card-tag{font-size:12px;color:var(--text2);line-height:1.45}
.coach-card-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.coach-card-btns a.btn{text-decoration:none;border:1px solid var(--border2)}
.coach-more{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--accent);text-decoration:none}
.coach-more:hover{text-decoration:underline}
@media(max-width:600px){.coach-find-list{grid-template-columns:1fr}.coach-card-btns>*{flex:1;justify-content:center;text-align:center}.coach-card-btns>:first-child{flex-basis:100%}}
/* Settings wallet lines (Advanced mode) */
.adv-bal-line{font-size:13px;color:var(--text);padding:9px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);line-height:1.5}
.adv-bal-line .muted,.adv-wallet-summary .muted{color:var(--text3);font-size:11px}
.adv-house{font-size:12px;color:var(--green);margin-top:3px}
.adv-wallet-summary{font-size:12px;color:var(--text2);margin:-2px 0 10px;line-height:1.5}
.adv-wallet-summary .pos{color:var(--green)}
/* First-visit tips (v17.5) */
.tip-bubble{position:fixed;z-index:9000;width:min(280px,calc(100vw - 24px));background:var(--bg4);border:1px solid var(--accent);border-radius:var(--r2);padding:12px 14px;box-shadow:0 8px 28px #00000059;font-size:12.5px;line-height:1.5;color:var(--text);animation:slideUp .2s ease}
.tip-ring{position:fixed;z-index:8999;pointer-events:none;border:2px solid var(--accent);border-radius:10px;box-shadow:0 0 0 4px var(--accent-dim);transition:all .15s ease}
.tip-acts{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.tip-off{background:none;border:0;padding:4px 0;color:var(--text3);font-size:11px;cursor:pointer;font-family:inherit}
.tip-new{display:inline-block;background:var(--accent);color:#000;font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;border-radius:6px;padding:1px 6px;margin-right:6px;vertical-align:1px}
/* "Show tips again": small and faded, Dashboard only, under every modal and the phone menu */
.tips-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;width:34px;height:34px;border-radius:50%;border:1px solid var(--border2);background:var(--bg3);font-size:15px;line-height:1;display:none;align-items:center;justify-content:center;opacity:.45;cursor:pointer;padding:0;transition:opacity .15s}
.tips-fab.on{display:flex}
.tips-fab:hover,.tips-fab:focus-visible{opacity:1}
body:has(.overlay.open) .tips-fab,body:has(#sidebar.open) .tips-fab{display:none}
#page-dashboard.page{padding-bottom:72px}
@media(max-width:768px){#page-dashboard.page{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))!important}}
/* Free and Pro (v18.0) */
.plan-badge{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 8px;border-radius:20px;background:var(--accent-dim);color:var(--accent);vertical-align:middle}
.plan-badge.free{background:var(--bg3);color:var(--text2);border:1px solid var(--border2)}
.plan-badge.sm{font-size:9px;padding:2px 6px;margin-left:4px}
.plan-card{border:1px solid var(--border2);border-radius:var(--r);padding:14px;margin:0 0 14px;background:var(--bg3)}
.plan-card.pro,.plan-card.ultimate{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-color:var(--accent)}
.plan-card.ultimate{border-color:var(--gold)}
.plan-badge.ultimate{background:var(--gold-dim);color:var(--gold)}
.plan-badge.pro{background:var(--accent-dim);color:var(--accent)}
#plans-modal{z-index:10001}
/* Welcome screen */
.wel-modal{max-width:460px;padding:0;overflow:hidden;border-radius:22px;font-family:'Inter',system-ui,sans-serif;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.wel-top{padding:28px 28px 22px;border-bottom:1px solid var(--border);background:radial-gradient(420px 180px at 0% 0%,var(--accent-dim),transparent 70%),radial-gradient(360px 160px at 100% 0%,var(--accent2-dim),transparent 70%)}
.wel-brand{display:flex;align-items:center;gap:9px;font:800 13px 'Syne',sans-serif;letter-spacing:.14em;color:var(--text)}
.wel-brand .brand-badge{width:24px;height:24px}
.wel-h{font:600 26px/1.2 'Inter',system-ui,sans-serif;letter-spacing:-.6px;margin:18px 0 6px;color:var(--text)}
.wel-p{color:var(--text2);font-size:14px;line-height:1.5}
.wel-steps{padding:8px 28px 4px}
.wel-step{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--border)}
.wel-step:last-child{border-bottom:none}
.wel-num{width:34px;height:34px;border-radius:10px;background:var(--bg3);border:1px solid var(--border2);display:grid;place-items:center;font:600 13px 'IBM Plex Mono',monospace;color:var(--accent)}
.wel-num.gold{color:var(--gold)}
.wel-step b{display:block;font-weight:600;font-size:15px;margin-bottom:3px;color:var(--text)}
.wel-step span{color:var(--text2);font-size:13.5px;line-height:1.55}
.wel-step em{font-style:normal;color:var(--text);font-weight:500}
.wel-foot{padding:14px 28px 26px}
.wel-cta{width:100%;background:var(--accent);color:#03130f;border:none;border-radius:12px;padding:14px;font:600 15px 'Inter',system-ui,sans-serif;cursor:pointer}
.wel-cta:hover{filter:brightness(1.08)}
@media(max-width:480px){.wel-top{padding:22px 20px 18px}.wel-steps{padding:4px 20px}.wel-foot{padding:12px 20px 22px}.wel-h{font-size:23px}}

/* Plans window */
.plans-modal{max-width:1160px;padding:26px 24px 20px;border-radius:24px;background:var(--bg);font-family:'Inter',system-ui,sans-serif}
.pl-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.pl-title{flex:1;text-align:center;font:500 26px/1.2 'Inter',system-ui,sans-serif;letter-spacing:-.5px;color:var(--text)}
.pl-x{width:34px;height:34px;border-radius:50%;border:1px solid var(--border2);background:var(--bg2);color:var(--text2);font-size:20px;line-height:1;cursor:pointer;flex:none}
.pl-x:hover{color:var(--text)}
.pl-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pl-card{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;gap:16px;min-width:0}
.pl-card,.pl-card *{overflow-wrap:anywhere}
.pl-card.cur{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim) inset}
.pl-card.ultimate{background:linear-gradient(180deg,var(--gold-dim),transparent 40%),var(--bg2)}
.pl-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:26px;flex-wrap:wrap}
.pl-name{font-weight:500;font-size:16px;color:var(--text)}
.pl-tag{font:500 11.5px 'Inter',system-ui,sans-serif;padding:4px 10px;border-radius:20px;background:var(--accent-dim);color:var(--accent);white-space:nowrap}
.pl-card.ultimate .pl-tag{background:var(--gold-dim);color:var(--gold)}
.pl-price{font:300 44px/1 'Inter',system-ui,sans-serif;letter-spacing:-1.5px;color:var(--text)}
.pl-price.soon{font-size:34px;letter-spacing:-1px}
.pl-price small{font-size:14px;letter-spacing:0;color:var(--text3);font-weight:400}
.pl-sub{color:var(--text2);font-size:13.5px;min-height:20px;margin-top:-8px}
.pl-btn{display:block;width:100%;border-radius:999px;padding:12px;text-align:center;font:500 14.5px 'Inter',system-ui,sans-serif;background:var(--bg3);border:1px solid var(--border2);color:var(--text2)}
.pl-btn.on{background:transparent;color:var(--text3);border-style:dashed}
.pl-btn.hi{background:var(--text);color:var(--bg2);border-color:var(--text);cursor:pointer}
.pl-btn.hi:hover{opacity:.9}
.pl-lead{color:var(--text3);font-size:13px}
.pl-hero b{display:block;font:300 30px/1.1 'Inter',system-ui,sans-serif;letter-spacing:-.8px;color:var(--text)}
.pl-hero span{color:var(--text2);font-size:13.5px}
.pl-grp{font-size:12.5px;color:var(--text3);border-bottom:1px solid var(--border);padding-bottom:8px}
.pl-feat{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.pl-feat li{display:grid;grid-template-columns:18px 1fr;gap:9px;font-size:13.5px;line-height:1.45;color:var(--text);align-items:start}
.pl-feat svg{width:16px;height:16px;margin-top:2px;color:var(--accent)}
.pl-card.ultimate .pl-feat svg{color:var(--gold)}
.pl-foot{display:flex;gap:12px 20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.pl-foot .plan-row{flex:1;min-width:240px;max-width:440px;margin:0}
.pl-fine{color:var(--text3);font-size:12px;line-height:1.5;flex:1;min-width:220px}
.pl-fine a{color:var(--text2)}
@media(max-width:860px){.pl-cols{grid-template-columns:1fr}.pl-head{flex-wrap:wrap;margin-bottom:18px}.pl-title{order:3;flex-basis:100%;text-align:left;font-size:22px}}
.pl-foot .btn{font-family:inherit}
@media(max-width:480px){.plans-modal{padding:20px 14px 16px}.pl-card{padding:20px 16px}.pl-foot .plan-row{min-width:0;max-width:none;width:100%}}
.sb-tier{margin-left:6px}
.plan-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.plan-title{font-size:14px;font-weight:600;color:var(--text)}
.plan-sub{font-size:12px;color:var(--text2);line-height:1.5;margin-top:2px}
.plan-row{display:flex;gap:8px;margin:12px 0 8px}
.plan-row .form-input{flex:1;min-width:0;text-transform:uppercase}
.plan-row .btn{white-space:nowrap}
/* Comments on trades (v18.1) */
.cm-btn{padding:2px 7px;font-size:11px;gap:3px}
.cm-btn.cm-new{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}
.cm-dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);flex:none}
.cm-dot:not([style*="none"])+.nav-badge{margin-left:8px}
.cm-modal{display:flex;flex-direction:column;max-height:min(640px,calc(100vh - 40px))}
.cm-modal .modal-sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cm-thread{flex:1;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px 12px;margin-top:6px}
.cm-empty{font-size:12.5px;color:var(--text3);text-align:center;padding:28px 10px}
.cm-msg{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:9px 12px;max-width:88%;align-self:flex-start}
.cm-msg.mine{align-self:flex-end;background:var(--accent-dim);border-color:var(--accent)}
.cm-msg-head{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text2);margin-bottom:3px}
.cm-role{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--gold);border:1px solid var(--gold);border-radius:6px;padding:0 5px}
.cm-time{color:var(--text3)}
.cm-del{margin-left:auto;background:none;border:0;color:var(--text3);cursor:pointer;font-size:11px;padding:0 2px}
.cm-del:hover{color:var(--red)}
.cm-msg-body{font-size:13px;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word}
.cm-compose{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--border);padding-top:12px}
.cm-compose textarea{flex:1;resize:vertical;min-height:42px;max-height:160px;font-family:inherit}
.cm-notices{display:flex;flex-direction:column;gap:8px}
.cm-notice{display:block;width:100%;text-align:left;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;cursor:pointer;color:var(--text);font-family:inherit}
.cm-notice:hover{border-color:var(--accent)}
.cm-notice-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--text2)}
.cm-notice-top b{color:var(--text)}
.cm-notice-body{font-size:12.5px;color:var(--text2);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Psychology & Mistakes (v18.2) */
.mk-tag.active{border-color:var(--red);color:var(--red);background:var(--red-dim)}
.mk-x{font-size:9px;opacity:.7;margin-left:2px}
.mk-edit{background:none;border:0;color:var(--text3);font-size:11px;cursor:pointer;padding:5px 4px;font-family:inherit}
.mk-edit:hover{color:var(--text)}
.mk-add{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.mk-add .form-input{width:150px;padding:5px 10px;font-size:12px;height:auto}
.psy-head{border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-bottom:16px;background:var(--bg3)}
.psy-head.bad{border-color:var(--red);background:var(--red-dim)}
.psy-head.good{border-color:var(--green)}
.psy-big{font-size:17px;font-weight:700;color:var(--text)}
.psy-head.bad .psy-big .mono{color:var(--red)}
.psy-sub2{font-size:12px;color:var(--text2);margin-top:4px;line-height:1.5}
.psy-sub{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;margin:14px 0 8px}
.psy-table{width:100%;border-collapse:collapse;font-size:12.5px}
.psy-table th{text-align:left;font-size:10px;color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.psy-table td{padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.psy-table td:first-child{white-space:normal;min-width:120px}
.psy-auto{display:inline-block;margin-left:6px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent2);border:1px solid var(--accent2);border-radius:6px;padding:0 5px;vertical-align:1px}
.psy-emos{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
@media(max-width:768px){.psy-emos{grid-template-columns:1fr}}
.psy-note{font-size:11px;color:var(--text3);margin-top:12px}
.psy-lock{border:1px dashed var(--accent);border-radius:var(--r);padding:14px 16px;background:var(--accent-dim);margin-bottom:6px}
.psy-lock-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}
.psy-lock-sub{font-size:12px;color:var(--text2);line-height:1.5;margin-bottom:10px}
.psy-chip{cursor:default;pointer-events:none}
.psy-chip b{margin-left:3px}
@media(max-width:640px){
  .psy-table{font-size:11.5px}
  .psy-table th{padding:6px 5px;letter-spacing:.3px;font-size:9px;white-space:normal}
  .psy-table td{padding:7px 5px}
  .psy-table td:first-child{min-width:92px}
  .psy-big{font-size:15px}
}

.mk-auto{display:flex;flex-wrap:wrap;gap:6px 14px}
.mk-auto .psy-sub,.mk-auto .form-hint{flex-basis:100%}
.mk-auto-opt{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text2);cursor:pointer}
/* v18.3 Analytics tabs, Psychology filter, mistake list editor */
.a-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:14px 32px 0}
@media(max-width:768px){.a-tabs{padding:12px 12px 0}}
.mk-list{margin-bottom:10px}
.mk-item{display:inline-flex;align-items:center;gap:6px;cursor:default}
.mk-item .mk-x{background:none;border:0;color:var(--text3);cursor:pointer;padding:0 2px;font-size:10px;font-family:inherit}
.mk-item .mk-x:hover{color:var(--red)}
.psy-fbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 14px}
.psy-fbar label{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:1px}
.psy-fbar select{width:auto;max-width:100%;min-width:220px;padding:6px 10px;font-size:13px}
@media(max-width:640px){.psy-fbar select{min-width:0;width:100%}}
tr.psy-pick{cursor:pointer}
tr.psy-pick:hover td{background:var(--bg3)}
tr.psy-pick.on td{background:var(--accent-dim,var(--bg3))}
.psy-filtered{border:1px solid var(--border2);border-radius:10px;padding:12px 14px;margin:0 0 16px;background:var(--bg3)}
.psy-f-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.psy-f-title{font-weight:700;font-size:14px}
.psy-kind{font-weight:400;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-left:4px}
.psy-f-stats{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--text2);margin-bottom:10px}
.psy-trades td.psy-tags{font-size:11px;color:var(--text3);max-width:220px}
.psy-help{border:1px solid var(--border2);border-left:3px solid var(--accent);border-radius:12px;padding:16px 20px;margin:0 0 28px;background:var(--bg2)}
.psy-help-title{font-weight:700;font-size:14px;margin-bottom:6px}
.psy-help-p{font-size:13px;color:var(--text2);line-height:1.55;margin:0 0 12px}
.psy-help-acts{display:flex;gap:8px;flex-wrap:wrap}
/* v18.4 Import trades */
.imp-modal{max-width:560px}
.imp-pick{display:inline-flex;align-items:center;gap:6px;margin:6px 0 12px;cursor:pointer;border:1px dashed var(--border2)}
.imp-sum{font-size:13px;color:var(--text2);margin-bottom:8px;word-break:break-word}
.imp-list{display:flex;flex-direction:column;gap:4px;max-height:46vh;overflow-y:auto}
.imp-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:4px 10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:12px;cursor:pointer}
.imp-row.dupe,.imp-row.unknown{opacity:.6;cursor:default}
.imp-when{color:var(--text2);font-size:11px;white-space:nowrap}
.imp-lots{color:var(--text3)}
.imp-why{grid-column:2/-1;font-size:11px;color:var(--text3)}
.imp-err{color:var(--red);font-size:13px}
.imp-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.imp-badge.done{background:transparent;color:var(--text3);border:1px solid var(--border)}
.imp-review{font:inherit;font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;border:1px solid var(--gold);background:rgba(234,179,8,.12);color:var(--gold);cursor:pointer;white-space:nowrap}
.imp-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.5px;padding:1px 5px;border-radius:4px;background:var(--accent2-dim);color:var(--accent2);vertical-align:middle}
@media(max-width:480px){.imp-row{grid-template-columns:auto 1fr auto}.imp-when{grid-column:2/-1;grid-row:2}.imp-why{grid-column:2/-1}}
/* Trade Journal header on phones: Setup seen and Import as icons, so Log Trade fits */
@media(max-width:640px){#page-journal .header-actions .imp-lbl{display:none}#page-journal .header-actions .btn:not(.btn-accent){padding-left:12px;padding-right:12px}}
.imp-rate{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:12px}
.imp-rate-title{flex-basis:100%;font-weight:600;color:var(--text2)}
.imp-rate-in b{font-size:12px;min-width:34px}
.imp-rate-in{display:inline-flex;align-items:center;gap:4px}
.imp-rate input{width:84px;padding:5px 8px;font-size:13px}
.imp-rate .form-hint{flex-basis:100%;margin:0}
.imp-rate-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.imp-none{display:inline-flex;align-items:center;gap:5px;color:var(--text2);cursor:pointer}

/* Onboarding feature cards (v18.5) */
.ob-feats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;text-align:left}
.ob-feat{position:relative;background:linear-gradient(160deg,var(--bg3),var(--bg2));border:1px solid var(--border2);border-radius:var(--r2);padding:14px;display:flex;flex-direction:column;gap:6px;overflow:hidden;transition:border-color .2s,transform .2s}
.ob-feat:hover{border-color:var(--accent);transform:translateY(-1px)}
.ob-feat-ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--accent-dim);border:1px solid var(--accent-dim);margin-bottom:2px}
.ob-feat-t{font-size:13px;font-weight:600;letter-spacing:-.1px}
.ob-feat-d{font-size:11px;color:var(--text2);line-height:1.5}
@media(max-width:400px){.ob-feats{gap:8px}.ob-feat{padding:12px}}
/* Win rate per confluence (v18.5) */
.conf-stats{margin-top:10px}
.conf-stats summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--accent2);padding:4px 0}
.conf-sub{font-weight:400;color:var(--text3);font-size:11px;margin-left:4px}
.conf-table th.conf-grp{text-align:center;border-bottom:1px solid var(--border)}
.conf-table .conf-name{white-space:normal;min-width:140px;max-width:240px}
.conf-small{color:var(--text3)!important;opacity:.7}
.conf-n{color:var(--text3)}
.conf-lift{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;background:var(--bg3);color:var(--text2)}
.conf-lift.up{background:rgba(34,197,94,.15);color:var(--green)}
.conf-lift.down{background:rgba(239,68,68,.12);color:var(--red)}
.conf-lock{margin-top:8px;font-size:11px;color:var(--text3)}
.conf-lock a{color:var(--accent2)}
/* Calculator notes: size warning and USD conversion (v18.5) */
.calc-notes:empty{display:none}
.fx-note{font-size:11px;color:var(--text2);line-height:1.6;margin-top:8px}
.fx-note.warn{color:var(--gold);font-weight:600}
.fx-note label{white-space:nowrap}
.fx-in{width:86px;padding:3px 6px;margin:0 2px;font:inherit;font-family:'IBM Plex Mono',monospace;font-size:11px;background:var(--bg3);color:var(--text);border:1px solid var(--border2);border-radius:6px}
.fx-sub{color:var(--text3)}
/* No 💡 over the welcome tour (v18.5) */
body:has(#onboard:not([style*="none"])) #tips-fab{display:none!important}
/* Fix list (v18.6) */
.fix-card .section-header{align-items:flex-start;padding:14px 16px 0;margin-bottom:12px}
.fix-sub{font-size:11px;color:var(--text3);margin-top:3px}
.fix-body{padding:0 16px 14px;display:flex;flex-direction:column;gap:8px}
.fix-empty{font-size:12.5px;color:var(--text2);line-height:1.5;padding:4px 0 2px}
.fix-item{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:11px 12px;cursor:pointer;color:var(--text);font-family:inherit}
.fix-item:hover{border-color:var(--accent)}
.fix-num{flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
.fix-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fix-top{display:flex;gap:8px;align-items:baseline;justify-content:space-between}
.fix-title{font-size:13px;font-weight:600;min-width:0;overflow-wrap:anywhere}
.fix-cost{flex:none;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;color:var(--red)}
.fix-line{font-size:12px;color:var(--text2);line-height:1.45}
.fix-act{font-size:12px;color:var(--green);line-height:1.45}
.fix-lock{font-size:12px;color:var(--text3);padding:2px 2px 0}
/* Comment inbox (v18.6) */
.cm-fab{position:fixed;right:60px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;display:none;align-items:center;gap:4px;height:34px;padding:0 14px;border-radius:17px;border:1px solid var(--accent);background:var(--bg2);color:var(--accent);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.cm-fab.on{display:flex}
body:has(#onboard:not([style*="none"])) .cm-fab{display:none!important}
.cm-unread .hamburger{position:relative}
.cm-unread .hamburger::after{content:'';position:absolute;top:2px;right:1px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.cm-inbox-list{overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:6px 2px 4px;margin-top:6px}
.cm-group{display:flex;flex-direction:column;gap:6px}
.cm-group-head{display:flex;align-items:center;gap:8px;font-size:12.5px}
.cm-notice-item{color:var(--text);font-weight:600}
.cm-notice-n{font-size:10px;font-weight:700;color:var(--accent)}
.cm-notice-top .cm-time{margin-left:auto;font-size:11px}
.cm-notice-body b{color:var(--text);font-weight:600}
.stu-cm{margin-left:8px;font-size:11px;font-weight:600;font-family:inherit;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:10px;padding:1px 8px;cursor:pointer;vertical-align:middle}
/* Markets (v18.7) */
.mk-wrap{padding:20px 32px 40px}
.mk-ticker{min-height:46px;margin:0 0 14px;border:1px solid var(--border);border-radius:var(--r2);background:var(--bg2);overflow:hidden}
.mk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.mk-chips-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.mk-chips{display:flex;gap:6px;overflow-x:auto;flex:1;min-width:0;padding-bottom:2px;scrollbar-width:none}
.mk-chips::-webkit-scrollbar{display:none}
.mk-chip{flex:none;padding:5px 11px;border-radius:14px;border:1px solid var(--border2);background:var(--bg3);color:var(--text2);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap}
.mk-chip.on{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}
.mk-open{flex:none;font-size:12px;font-weight:600;color:var(--accent2);text-decoration:none;white-space:nowrap}
.mk-box{border:1px solid var(--border);border-radius:var(--r2);background:var(--bg2);overflow:hidden}
.mk-chart{height:min(68vh,640px);min-height:380px}
.mk-news,.mk-cal{height:min(72vh,700px);min-height:420px}
.mk-note{margin:8px 2px 0}
.mk-err{padding:40px 16px;text-align:center;font-size:13px;color:var(--text3)}
.mk-lock{max-width:520px;padding:28px 24px;text-align:center}
.mk-lock-ic{font-size:30px}
.mk-lock-t{font-size:16px;font-weight:700;margin:8px 0 6px}
.mk-lock-d{font-size:13px;color:var(--text2);line-height:1.55;margin-bottom:16px}
@media (max-width:768px){.mk-wrap{padding:14px 16px 32px}.mk-chips-row{flex-wrap:wrap}.mk-open{margin-left:auto}}
.cal-tabs{margin-bottom:16px}
/* Study materials viewer (v18.9) */
.mat-viewer{position:fixed;inset:0;z-index:520;background:#0b0e14f5;display:none;flex-direction:column;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.mat-viewer.open{display:flex}
.mat-v-head{display:flex;align-items:center;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--bg2)}
.mat-v-title{flex:1;min-width:0;font-weight:600;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mat-v-close{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--border2);background:var(--bg3);color:var(--text);font-size:15px;cursor:pointer}
.mat-v-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px;display:flex;flex-direction:column;align-items:center;gap:12px}
.mat-v-page{display:block;max-width:100%;height:auto;background:#fff;border-radius:4px;box-shadow:0 2px 12px #0006;pointer-events:none}
.mat-v-msg{color:var(--text3);font-size:13px;padding:40px 0}
.mat-v-video{position:relative;width:100%;max-width:960px}
.mat-v-video video{display:block;width:100%;max-height:80vh;background:#000;border-radius:6px}
.mat-v-stamp{position:absolute;pointer-events:none;font-size:12px;font-weight:600;color:#ffffffa0;text-shadow:0 1px 2px #000c;white-space:nowrap;transition:top 1s,left 1s}
body.mat-viewing{overflow:hidden}
.mat-terms{padding:4px 0}
.mat-terms-title{font-weight:600;font-size:14px;margin-bottom:8px;color:var(--text)}
.mat-terms-ok{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text2);margin:10px 0 14px;cursor:pointer}
.mat-terms-ok input{margin-top:2px;accent-color:var(--accent)}
.mat-opens{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}
.mat-opens summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text2)}
.mat-open{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;padding:7px 0;border-bottom:1px solid var(--border);color:var(--text2)}
.mat-open b{color:var(--text);font-weight:600}
.mat-open-file{flex:1;min-width:120px}
.mat-open-time{color:var(--text3);font-family:'IBM Plex Mono',monospace;font-size:11px}
/* Quotes on the Psychology tab (v18.9) */
.psy-quote{--qc:var(--accent);margin:8px auto 0;max-width:640px;text-align:center;padding:22px 20px;border-top:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none}
.psy-quote:focus-visible{box-shadow:0 0 0 2px var(--qc);border-radius:var(--r)}
.psy-quote-q{font-style:italic;font-size:15px;line-height:1.7;color:var(--qc)}
.psy-quote-a{margin-top:8px;font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--text3)}
.psy-quote.in .psy-quote-q,.psy-quote.in .psy-quote-a{animation:psyQuoteIn .7s ease both}
@keyframes psyQuoteIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.psy-quote.in .psy-quote-q,.psy-quote.in .psy-quote-a{animation:none}}

/* v18.10 MT5 screenshot import */
.imp-src{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 12px}
.imp-how{display:none}
.imp-modal[data-src="atas"] .imp-how[data-src="atas"],.imp-modal[data-src="mt5"] .imp-how[data-src="mt5"]{display:block}
.imp-steps{margin:0 0 8px;padding-left:20px;font-size:13px;line-height:1.55;color:var(--text2)}
.imp-steps b{color:var(--text)}
.imp-reading{padding:10px 0}
.imp-off{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:12px}
.imp-off input{width:84px;padding:5px 8px;font-size:13px}
.imp-off .form-hint{flex-basis:100%;margin:0}
.mt5-legs{grid-column:2/-1;font-size:11px;color:var(--text2)}
.mt5-legs summary{cursor:pointer;color:var(--text3)}
.mt5-leg{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:3px 0}
.mt5-split,.mt5-join{font:inherit;font-size:11px;padding:2px 8px;border-radius:6px;border:1px solid var(--border2);background:var(--bg3);color:var(--text2);cursor:pointer}
.mt5-join{margin-top:4px}
.imp-badge.mt5{background:rgba(234,179,8,.14);color:var(--gold)}
.imp-modal.has-result .imp-steps,.imp-modal.has-result .imp-how>.form-hint{display:none}

/* v18.11 strategy performance on the Strategies page */
.sp-box{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:10px}
.sp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sp-k{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text3)}
.sp-v{font-size:15px;font-weight:700;margin-top:2px}
.sp-adh{margin-top:10px}
.sp-adh-h{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--text3);margin-bottom:4px}
.sp-bar{height:4px;border-radius:4px;background:var(--bg2);overflow:hidden}.sp-bar>div{height:100%;border-radius:4px}
.sp-empty{font-size:12px;color:var(--text3)}
.sp-box .conf-stats{margin-top:10px}
.sp-about summary{cursor:pointer;font-size:12px;color:var(--text3)}
@media(max-width:480px){.sp-grid{grid-template-columns:repeat(2,1fr)}}
.strategy-grid>.strategy-card{min-width:0}
.sp-adh-h{flex-wrap:wrap}
/* v18.12 P&L statement + expenses */
.pnl-top{max-width:720px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pnl-nav{display:flex;align-items:center;gap:10px}
.pnl-title{font-family:'Syne',sans-serif;font-weight:800;font-size:18px;min-width:150px;text-align:center}
.pnl-range{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text3)}.pnl-range .form-input{width:auto;padding:7px 10px}
.pnl-mode{padding:0!important}
.pnl-sheet,.pnl-exp{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:14px;max-width:720px}
.pnl-sec{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin:4px 0 6px;display:flex;justify-content:space-between;gap:8px}
.pnl-sec span{text-transform:none;letter-spacing:0;font-weight:500}
.pnl-sec:not(:first-child){margin-top:18px}
.pnl-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:13px}
.pnl-sub{color:var(--text2);padding-left:8px}
.pnl-total{border-top:1px solid var(--border);font-weight:700;color:var(--text)}
.pnl-n{display:inline-block;font-size:10px;background:var(--bg3);border-radius:8px;padding:1px 7px;margin-left:4px;color:var(--text3)}
.pnl-rec{font-size:10px;color:var(--purple);background:var(--purple-dim);border-radius:8px;padding:1px 7px;margin-left:4px}
.pnl-none{font-size:12px;color:var(--text3);padding:6px 8px}
.pnl-earned{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--bg3);border:1px solid var(--border)}
.pnl-earned>.mono{font-size:22px;font-weight:800}
.pnl-earned-k{font-family:'Syne',sans-serif;font-weight:800;font-size:15px}.pnl-earned-s{font-size:11px;color:var(--text3)}
.pnl-exp-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.pnl-exp-t{font-family:'Syne',sans-serif;font-weight:700;font-size:14px;margin-bottom:2px}
.exp-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}
.exp-row.stopped{opacity:.55}
.exp-ic{font-size:18px;width:28px;text-align:center}
.exp-main{flex:1;min-width:0}.exp-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exp-meta{font-size:11px;color:var(--text3)}
.exp-amt{font-weight:700;font-size:13px;white-space:nowrap}.exp-amt span{font-size:10px;color:var(--text3);font-weight:500}
.exp-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:var(--bg3);border-radius:10px;margin-bottom:12px}
.exp-toggle-t{font-weight:600;font-size:13px}
.exp-every-wrap{padding:0!important;margin-bottom:10px}
.exp-stop{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text2)}
@media(max-width:480px){.pnl-sheet,.pnl-exp{padding:14px 12px}.pnl-top{flex-direction:column;align-items:stretch}.pnl-nav{justify-content:space-between}.pnl-range{flex-wrap:wrap}.pnl-range .form-input{flex:1;min-width:0}.pnl-exp-h{flex-direction:column}}
.cal-marks{position:absolute;top:4px;right:5px;display:flex;gap:3px;align-items:center}
.cal-marks .cal-note-mark{position:static}
.cal-bill-mark{font-size:10px;line-height:1;color:var(--purple);font-weight:700;background:var(--purple-dim);border-radius:6px;padding:2px 4px}
.cal-bills{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-bottom:12px}
.cal-bills-k{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin-right:2px}
.cal-bill{font-size:12px;background:var(--purple-dim);border:1px solid var(--border);border-radius:10px;padding:5px 10px;color:var(--text)}
.cal-bill .mono{color:var(--purple);font-weight:700}.cal-bill-w{color:var(--text3);font-size:11px}
.cal-detail-bills{margin:10px 0 0}
@media(max-width:768px){.cal-legend{flex-wrap:wrap;gap:10px}}
.swap-sub{font-size:10px;margin-top:2px;white-space:nowrap}
.swap-row{margin-bottom:6px}
/* v18.13 MAE/MFE */
.mae-opt{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--text3);background:var(--bg3);border-radius:6px;padding:1px 6px;margin-left:4px}
.mae-prog{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:11px;color:var(--text3)}
#mae-body .q-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:768px){#mae-body .q-grid{grid-template-columns:repeat(2,1fr)}}

/* Voice trade logging (v18.14) */
.vc-mic{display:flex;align-items:center;gap:8px;width:100%;justify-content:center;padding:12px;border-radius:12px;border:1px dashed var(--accent);background:var(--accent-dim);color:var(--accent);font-weight:700;font-size:14px;margin:4px 0 14px;cursor:pointer;font-family:inherit}
.vc-pro{font-size:10px;padding:2px 6px;border-radius:6px;background:var(--gold-dim);color:var(--gold);font-weight:700}
.vc-panel{border:1px solid var(--border2);background:var(--bg3);border-radius:14px;padding:14px;margin:4px 0 16px}
.vc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px;color:var(--text2);line-height:1.45}
.vc-live{display:flex;align-items:center;gap:8px;color:var(--red);font-weight:700}
.vc-dot{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px var(--red-dim);animation:vcPulse 1.2s ease-in-out infinite}
@keyframes vcPulse{50%{box-shadow:0 0 0 9px var(--red-dim)}}
.vc-stop{width:44px;height:44px;flex:none;border-radius:50%;border:none;background:var(--red);color:#fff;font-size:16px;cursor:pointer}
.vc-x{background:none;border:none;color:var(--text3);font-size:22px;line-height:1;cursor:pointer;padding:0 4px;flex:none}
.vc-text{display:block;width:100%;box-sizing:border-box;min-height:86px;background:var(--bg2);border:1px solid var(--border2);border-radius:10px;padding:10px;color:var(--text);font:inherit;font-size:14px;line-height:1.5;resize:vertical}
.vc-dim{color:var(--text3)}
.vc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.vc-chip{font-size:12px;padding:5px 9px;border-radius:20px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent)}
.vc-chip.after{background:var(--gold-dim);color:var(--gold);border-color:var(--gold)}
.vc-chip.miss{background:transparent;color:var(--text3);border:1px dashed var(--border2)}
.vc-note{font-size:11px;color:var(--text3);margin:8px 0 0;line-height:1.5}
.vc-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.vc-row .btn-a{flex:1;min-width:120px;padding:11px;border-radius:10px;border:none;background:var(--accent);color:#000;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}
.vc-row .btn-a:disabled{opacity:.4;cursor:default}
.vc-row .btn-b{padding:11px 14px;border-radius:10px;border:1px solid var(--border2);background:transparent;color:var(--text2);font-size:13px;cursor:pointer;font-family:inherit}
.vc-clear{background:none;border:none;color:var(--text3);font-size:12px;text-decoration:underline;cursor:pointer;padding:8px 4px;font-family:inherit}
.vc-sw{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2);margin-top:10px;cursor:pointer}
.vc-filled{box-shadow:0 0 0 2px var(--gold)!important;background:var(--gold-dim)!important}
.vc-banner{font-size:12px;padding:9px 12px;border-radius:10px;background:var(--gold-dim);color:var(--gold);margin:4px 0 14px;border-left:3px solid var(--gold);line-height:1.5}

/* Calculator tabs + currency converter (v18.15) */
.cx-tabs{display:flex;gap:6px;margin:0 0 16px;flex-wrap:wrap}
.cx-tab{padding:8px 14px;border-radius:20px;border:1px solid var(--border2);background:transparent;color:var(--text2);font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}
.cx-tab.on{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}
.cx-pane{max-width:640px}
.cx-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:14px}
.cx-row{display:flex;gap:10px;align-items:flex-end}.cx-row .form-group{flex:1;min-width:0}
.cx-swap{width:42px;height:42px;flex:none;border-radius:50%;border:1px solid var(--border2);background:var(--bg3);color:var(--accent);font-size:18px;margin-bottom:2px;cursor:pointer}
.cx-out{font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:600;color:var(--text);margin:14px 0 2px;word-break:break-all}
.cx-lines b{font-family:'IBM Plex Mono',monospace;font-weight:600}
.cx-sub{font-size:12px;color:var(--text3)}
.cx-lines>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px;flex-wrap:wrap}
.cx-lines>div:last-child{border:none}.cx-lines b{color:var(--text);text-align:right}.cx-lines span{color:var(--text2)}
.cx-home{margin-top:10px;max-width:220px}
.cx-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 7px;border-radius:6px;background:var(--accent2-dim);color:var(--accent2);text-transform:uppercase;margin-left:6px}
.cx-note{font-size:12px;color:var(--text3);line-height:1.5;padding:10px 12px;border-radius:10px;background:var(--bg3);border-left:3px solid var(--accent2)}
.cx-note b{color:var(--text2)}
.cx-refresh{background:none;border:none;color:var(--accent2);text-decoration:underline;font-size:12px;cursor:pointer;padding:0;font-family:inherit}

