
:root{
  font-family:Inter,Arial,sans-serif;
  color:#0f172a;
  background:#f5f7fb;
}
*{box-sizing:border-box}
body{margin:0;background:#f5f7fb}
.app{max-width:1400px;margin:auto;min-height:100vh}
.screen{min-height:100vh}
.hidden{display:none!important}
.page{padding:18px 18px 92px}
.brand{font-size:31px;font-weight:850;letter-spacing:-.8px}
.brand.small{font-size:22px}
.sub,.meta{color:#64748b;font-size:12px}
.topbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 20px;background:#0b1220;color:#fff
}
.topbar .sub{color:#94a3b8}
.topActions{display:flex;align-items:center;gap:10px}
.marketDot{font-size:12px;color:#86efac}
.card,.stat,.heroCard{
  background:#fff;border-radius:16px;
  box-shadow:0 5px 22px rgba(15,23,42,.06);
}
.card{padding:18px;margin:14px 0}
.heroCards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px
}
.heroCard{padding:18px}
.heroCard span,.stat span{
  display:block;font-size:10px;text-transform:uppercase;
  letter-spacing:.5px;color:#64748b
}
.heroCard strong{display:block;font-size:26px;margin-top:7px}
.heroCard small{display:block;margin-top:7px;color:#64748b}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:4px}
.stat{padding:15px}
.stat b{font-size:21px;display:block;margin-top:7px}
.sectionHeader,.sectionTitle{
  display:flex;justify-content:space-between;align-items:center;gap:10px
}
.sectionHeader{margin:8px 0 12px}
.sectionHeader h1{margin:0;font-size:25px}
.sectionTitle h2{margin:0}
.badge{
  display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;
  background:#fef3c7;color:#92400e;font-size:11px;font-weight:850
}
.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.metricRows,.settingRows{margin-top:12px}
.metricRows>div,.settingRows>div{
  display:flex;justify-content:space-between;padding:10px 0;
  border-bottom:1px solid #eef2f7;gap:12px
}
.metricRows span,.settingRows span{color:#64748b;font-size:13px}
.metricRows b,.settingRows b{text-align:right}
.actionGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.actionGrid>div{background:#f8fafc;border-radius:12px;padding:14px;min-height:100px}
.actionLabel{font-size:11px;font-weight:900;letter-spacing:.5px}
.actionLabel.buy{color:#15803d}.actionLabel.exit{color:#dc2626}.actionLabel.hold{color:#2563eb}
.actionList{margin-top:8px;line-height:1.7;font-weight:700}
.professionalList{margin-top:4px}
.holdingCard{
 display:grid;grid-template-columns:1fr auto;gap:14px;
 padding:15px 0;border-bottom:1px solid #eef2f7
}
.stockHeader{font-weight:850;font-size:16px}
.holdingStats{display:flex;flex-wrap:wrap;gap:14px;margin-top:7px}
.holdingStat{font-size:12px;color:#64748b}
.holdingStat b{color:#0f172a}
.holdingButtons{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.holdBtn{width:auto!important;height:34px!important;margin:0!important;padding:0 10px!important;border-radius:8px!important;font-size:10px!important;font-weight:900}
.editBtn{background:#2563eb!important;color:#fff!important}
.sellBtn{background:#16a34a!important;color:#fff!important}
.deleteBtn{background:#dc2626!important;color:#fff!important}
.profit{color:#15803d!important;font-weight:850}
.loss{color:#dc2626!important;font-weight:850}
.tableWrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:12px}
th,td{
 padding:10px 9px;border-bottom:1px solid #eef2f7;
 white-space:nowrap;text-align:left
}
th{
 background:#f8fafc;position:sticky;top:0;z-index:2;
 font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#64748b
}
.chart{min-height:250px;margin:10px 0}
.bottomNav{
 position:fixed;left:0;right:0;bottom:0;z-index:20;
 height:64px;background:#fff;border-top:1px solid #e5e7eb;
 display:flex;justify-content:center
}
.navBtn{
 border:0;background:transparent;color:#64748b;
 padding:7px 12px;margin:0;height:64px;width:auto;
 font-size:10px;font-weight:800
}
.navBtn span{display:block;font-size:18px;line-height:20px}
.navBtn.active{color:#0f172a}
button,input,select{
 width:100%;height:44px;border-radius:10px;
 border:1px solid #d8dee8;padding:0 12px;font-size:14px
}
button{border:0;background:#0f172a;color:#fff;font-weight:800;cursor:pointer}
button.secondary{background:#e8edf4;color:#0f172a}
.iconBtn{width:auto;height:38px;padding:0 12px;margin:0}
.miniBtn{width:auto;height:38px;margin:0;padding:0 13px}
.msg{min-height:20px;margin-top:8px;color:#b91c1c;font-size:12px}
.row{display:flex;gap:8px}
.modal{
 position:fixed;inset:0;background:rgba(2,6,23,.52);
 display:flex;align-items:center;justify-content:center;
 padding:16px;z-index:40
}
.modalCard{background:#fff;width:100%;max-width:460px;border-radius:18px;padding:20px}
.loginWrap{max-width:430px;margin:auto;padding:70px 18px}
.loginCard{margin-top:22px}
.sectionHeader .badge{margin-top:4px}
@media(max-width:900px){
 .heroCards,.cards{grid-template-columns:1fr 1fr}
 .twoCol{grid-template-columns:1fr}
}
@media(max-width:620px){
 .page{padding:14px 12px 88px}
 .topbar{padding:14px}
 .heroCards{grid-template-columns:1fr 1fr}
 .heroCard strong{font-size:21px}
 .actionGrid{grid-template-columns:1fr}
 .holdingCard{grid-template-columns:1fr}
 .holdingButtons{justify-content:flex-start}
 .bottomNav{overflow:auto;justify-content:flex-start}
 .navBtn{min-width:82px}
}

.rebalanceBadge{background:#dcfce7!important;color:#166534!important}

.suggestionCard{margin:0 0 12px}
.suggestionHeader{display:flex;justify-content:space-between;align-items:center;gap:15px}
.suggestionEyebrow{font-size:10px;color:#64748b;letter-spacing:.9px;font-weight:900}
.suggestionDate{font-size:28px;font-weight:900;margin-top:5px}
.suggestionCard .badge{font-size:10px;padding:7px 10px;border-radius:14px}

.universeRow{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0}
.universeSymbol{font-weight:700}
#stockUniverseList{max-height:360px;overflow:auto}
.dangerBtn{border-color:#fecaca!important;color:#b91c1c!important}

#stockUniverseCard{overflow:hidden}
.universeToolbar{display:grid;grid-template-columns:1fr 1.6fr;gap:12px;margin:14px 0}
.universeAddWrap{display:grid;grid-template-columns:1fr auto;gap:8px}
.universeTableWrap{border:1px solid #e2e8f0;border-radius:12px;overflow:auto;max-height:520px;background:#fff}
.universeTable{width:100%;border-collapse:collapse;font-size:14px}
.universeTable th{position:sticky;top:0;background:#f8fafc;color:#64748b;text-align:left;padding:11px 14px;border-bottom:1px solid #e2e8f0}
.universeTable td{padding:11px 14px;border-bottom:1px solid #eef2f7}
.universeTable tbody tr:hover{background:#f8fafc}
.universeTable .colNum{width:65px;color:#94a3b8}
.universeTable .colAction{text-align:right;width:130px}
.tableRemoveBtn{background:#fff1f2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;padding:6px 13px;font-weight:800;cursor:pointer}
.tableRemoveBtn:hover{background:#ffe4e6}
@media(max-width:700px){.universeToolbar{grid-template-columns:1fr}.universeAddWrap{grid-template-columns:1fr}.universeTable{min-width:520px}}

/* STEP 40 — suggestion status and dashboard Top10 */
.dashboardSuggestionCard .tableWrap{overflow:auto}
#dashboardTop10Table{width:100%;border-collapse:collapse;font-size:13px}
#dashboardTop10Table th,#dashboardTop10Table td{padding:9px 10px;border-bottom:1px solid #eef2f7;text-align:left}
#dashboardTop10Table th{font-size:10px;text-transform:uppercase;color:#64748b;background:#f8fafc}
.statusBuy,.statusHold{display:inline-block;padding:4px 8px;border-radius:10px;font-size:10px;font-weight:900}
.statusBuy{background:#dcfce7;color:#166534}
.statusHold{background:#e0e7ff;color:#3730a3}
#top10Table .statusBuy,#top10Table .statusHold{white-space:nowrap}

.dashboardExitBox{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}
.dashboardExitList{margin-top:8px;font-weight:800}
.exitItem{padding:7px 10px;border-radius:8px;background:#fff1f2;color:#b91c1c;margin-bottom:6px}

/* STEP 43 — calculation verification */
.verifyControls{margin-bottom:14px}
.verifyGrid{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.verifyGrid label{display:block;font-size:11px;font-weight:800;color:#64748b;margin-bottom:6px;text-transform:uppercase}
.verifyGrid select,.verifyGrid input{width:100%;box-sizing:border-box}
.verifyAction{display:flex;align-items:end}
.verifyTableWrap{overflow:auto}
.verifyTable{width:100%;border-collapse:collapse;font-size:13px}
.verifyTable th,.verifyTable td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left}
.verifyTable th{background:#f8fafc;font-size:10px;text-transform:uppercase;color:#64748b}
.vMatch{display:inline-block;background:#dcfce7;color:#166534;padding:3px 7px;border-radius:8px;font-weight:800}
.vDiff{display:inline-block;background:#fee2e2;color:#b91c1c;padding:3px 7px;border-radius:8px;font-weight:800}
.verifySummary{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px;color:#64748b;font-size:12px}
.verifyError{padding:10px;border-radius:8px;background:#fff1f2;color:#b91c1c;font-weight:700}
.formulaList>div{display:grid;grid-template-columns:120px 1fr;padding:9px 0;border-bottom:1px solid #eef2f7}
@media(max-width:760px){.verifyGrid{grid-template-columns:1fr}.verifyTable{min-width:650px}}

/* STEP 44 — verification layout */
#tab-verification .sectionHeader{margin-bottom:14px}
#tab-verification .card{margin-bottom:14px}
.verifyControls{padding:18px}
.verifyGrid{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.verifyGrid label{display:block;font-size:11px;font-weight:800;letter-spacing:.5px;color:#64748b;margin-bottom:6px}
.verifyGrid select,.verifyGrid input{width:100%;box-sizing:border-box}
.verifyAction .smallBtn{white-space:nowrap;height:40px}
.verifyResultBody{min-height:80px}
.verifyTableWrap{overflow:auto;border:1px solid #e2e8f0;border-radius:10px}
.verifyTable{width:100%;border-collapse:collapse;font-size:13px;min-width:650px}
.verifyTable th{background:#f8fafc;color:#64748b;font-size:10px;text-transform:uppercase;text-align:left;padding:10px 12px;border-bottom:1px solid #e2e8f0}
.verifyTable td{padding:10px 12px;border-bottom:1px solid #eef2f7}
.verifyTable tr:last-child td{border-bottom:none}
.vMatch{background:#dcfce7;color:#166534;padding:3px 7px;border-radius:8px;font-weight:800}
.vDiff{background:#fee2e2;color:#b91c1c;padding:3px 7px;border-radius:8px;font-weight:800}
.verifySummary{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;color:#64748b;font-size:12px}
.formulaList>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #eef2f7}
.formulaList>div:last-child{border-bottom:none}
@media(max-width:760px){
  .verifyGrid{grid-template-columns:1fr}
  .verifyAction .smallBtn{width:100%}
  .formulaList>div{grid-template-columns:90px 1fr}
}

/* STEP 46 — CAR and Eligible text values */
.verifyTable td:nth-child(4) .vMatch,
.verifyTable td:nth-child(4) .vDiff{white-space:nowrap}

/* STEP 47 — Backtest */
.btCard{margin-bottom:14px}
.btStepTitle{font-size:16px;font-weight:900;margin-bottom:12px}
.btUniverseChoices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btChoice{display:flex;gap:10px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:12px;padding:13px;background:#fff;cursor:pointer}
.btChoice:hover{background:#f8fafc}
.btChoice span{display:flex;flex-direction:column;gap:3px}
.btChoice small{color:#64748b}
.btToolbar{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:14px}
.btAddWrap{display:grid;grid-template-columns:1fr auto;gap:8px}
.btCountLine{display:flex;justify-content:space-between;padding:10px 0;color:#64748b}
.btStockTableWrap{border:1px solid #e2e8f0;border-radius:10px;max-height:320px;overflow:auto}
.btStockTable{width:100%;border-collapse:collapse;font-size:13px}
.btStockTable th{position:sticky;top:0;background:#f8fafc;padding:10px;border-bottom:1px solid #e2e8f0;text-align:left}
.btStockTable td{padding:10px;border-bottom:1px solid #eef2f7}
.btSettingsGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.btSettingsGrid label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;color:#64748b;margin-bottom:6px}
.btSettingsGrid input{width:100%;box-sizing:border-box}
.btFixedRules{display:flex;flex-wrap:wrap;gap:8px 22px;color:#64748b;padding:13px 0}
.btFixedRules b{color:#0f172a}
.btRunButton{width:100%;margin-top:4px}
.btKpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.btKpis>div{border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:12px}
.btKpis span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#64748b}
.btKpis b{display:block;font-size:18px;margin-top:5px}
.btBadgeOk{background:#dcfce7!important;color:#166534!important}
.btBadgeError{background:#fee2e2!important;color:#b91c1c!important}
.btResultTableWrap{overflow:auto}
.btDataTable{width:100%;border-collapse:collapse;font-size:12px;min-width:700px}
.btDataTable th{background:#f8fafc;color:#64748b;text-transform:uppercase;font-size:10px;text-align:left;padding:9px;border-bottom:1px solid #e2e8f0}
.btDataTable td{padding:8px 9px;border-bottom:1px solid #eef2f7}
.btFootnote{padding-top:8px}
@media(max-width:850px){
  .btUniverseChoices,.btSettingsGrid{grid-template-columns:1fr}
  .btToolbar{grid-template-columns:1fr}
  .btKpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
  .btAddWrap{grid-template-columns:1fr}
  .btKpis{grid-template-columns:1fr 1fr}
}

.btDataTable{width:100%;border-collapse:collapse;font-size:12px;min-width:700px}
.btDataTable th{background:#f8fafc;color:#64748b;text-transform:uppercase;font-size:10px;text-align:left;padding:9px;border-bottom:1px solid #e2e8f0}
.btDataTable td{padding:8px 9px;border-bottom:1px solid #eef2f7}

/* STEP 52 — progress + advanced metrics */
.btProgressPanel{margin-top:12px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.btProgressHeader{display:flex;justify-content:space-between;font-size:12px;font-weight:800}
.btProgressTrack{height:9px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:9px 0}
.btProgressBar{height:100%;width:0%;background:#2563eb;transition:width .3s ease}
.btProgressCounts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btProgressCounts>div{display:flex;justify-content:space-between;padding:8px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}
.btProgressCounts span{color:#64748b;font-size:11px}
.btProgressCounts b{font-size:12px}
.btMetricGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.btMetricGrid>div{padding:11px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.btMetricGrid span{display:block;font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.4px}
.btMetricGrid b{display:block;font-size:16px;margin-top:4px}
@media(max-width:1000px){.btMetricGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.btMetricGrid{grid-template-columns:1fr 1fr}.btProgressCounts{grid-template-columns:1fr}}

.btExportBar{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.secondaryBtn{background:#fff!important;border:1px solid #cbd5e1!important;color:#334155!important}

.btRiskControls{margin:14px 0;padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}
.btRiskTitle{font-size:11px;font-weight:900;text-transform:uppercase;color:#64748b;margin-bottom:8px}
.btRiskRow{display:flex;align-items:center;gap:8px;margin:7px 0;font-size:12px}
.btRiskRow input[type=number]{width:90px}
.btCheck{display:flex!important;align-items:center;gap:6px!important;font-size:12px!important;text-transform:none!important;font-weight:700!important;color:#0f172a!important;margin:0!important}


/* ==========================================================
   PRO 61 — SIMPLE PROFESSIONAL UI + BACKTEST CARD SLIDER
   ========================================================== */

:root{
  --pro-bg:#f6f7f9;
  --pro-card:#ffffff;
  --pro-border:#e5e7eb;
  --pro-text:#111827;
  --pro-muted:#6b7280;
  --pro-dark:#111827;
  --pro-soft:#f9fafb;
  --pro-green:#15803d;
  --pro-red:#b91c1c;
}

body{
  background:var(--pro-bg);
  color:var(--pro-text);
}

.app{
  max-width:1240px;
}

.page{
  padding:14px 16px 84px;
}

.card,.stat,.heroCard{
  background:var(--pro-card);
  border:1px solid var(--pro-border);
  border-radius:14px;
  box-shadow:0 1px 2px rgba(17,24,39,.04);
}

.card{
  padding:15px;
  margin:10px 0;
}

.sectionHeader{
  margin:6px 0 10px;
}

.sectionHeader h1{
  font-size:23px;
  letter-spacing:-.35px;
}

.sectionTitle h2{
  font-size:17px;
  letter-spacing:-.15px;
}

.meta,.muted{
  color:var(--pro-muted)!important;
}

input,select{
  border:1px solid #d1d5db!important;
  border-radius:9px!important;
  min-height:38px;
  background:#fff;
}

.smallBtn{
  background:var(--pro-dark)!important;
  border:1px solid var(--pro-dark)!important;
  color:#fff!important;
  border-radius:9px!important;
  min-height:38px;
  font-weight:800;
  box-shadow:none!important;
}

.smallBtn:hover{
  opacity:.92;
}

.proPill{
  display:inline-flex;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  background:#ecfdf5;
  color:#166534;
  font-size:10px;
  font-weight:900;
  letter-spacing:.5px;
  white-space:nowrap;
}

.compactHeader{
  align-items:center;
}

/* Dashboard risk exit */
.statusExit{
  display:inline-block;
  padding:4px 8px;
  border-radius:10px;
  font-size:10px;
  font-weight:900;
  background:#fee2e2;
  color:#991b1b;
}

.dashboardExitBox{
  margin-top:10px;
  padding-top:10px;
}

.dashboardExitList{
  font-weight:700;
}

.exitItem{
  padding:9px 11px;
  border:1px solid #fecaca;
  background:#fff7f7;
  border-radius:10px;
  margin-bottom:7px;
  color:#991b1b;
}

.exitItem small{
  display:block;
  margin-top:3px;
  color:#7f1d1d;
  font-weight:600;
}

.riskExitItem{
  border-left:4px solid #dc2626;
}

.stockHeader{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.holdingRiskBadge{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  background:#fee2e2;
  color:#991b1b;
  font-size:10px;
  font-weight:900;
}

/* Backtest setup */
#tab-backtest{
  overflow-x:hidden;
}

.btControlCard{
  padding:15px;
}

.btControlTop{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}

.compactChoices{
  gap:8px;
}

.btChoice{
  border-radius:10px;
  padding:10px 11px;
  background:#fff;
}

.btChoice small{
  font-size:11px;
}

.compactSettings{
  margin-top:11px;
}

.v14RuleStrip{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:10px 0 4px;
  scrollbar-width:thin;
}

.v14RuleStrip span{
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#f9fafb;
  color:#374151;
  font-size:11px;
  font-weight:800;
}

.fixedRisk{
  margin:10px 0;
  padding:10px;
  background:#fafafa;
}

.btRiskInline{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}

.btRiskInline input[type=number]{
  width:64px!important;
  min-height:32px!important;
}

.btRiskInline input:disabled{
  opacity:1;
  color:#111827;
  background:#f3f4f6;
}

.btRunButton{
  margin-top:5px;
}

/* Backtest horizontal result slider */
.btSliderToolbar{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0 8px;
  padding:9px 11px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:rgba(246,247,249,.96);
  backdrop-filter:blur(8px);
}

.btSliderToolbar>div:first-child{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.btSliderNav{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}

.btSliderNav span{
  min-width:150px;
  text-align:center;
  color:#374151;
  font-size:11px;
  font-weight:800;
}

.sliderBtn{
  width:34px;
  height:34px;
  border-radius:9px;
  border:1px solid #d1d5db;
  background:#fff;
  color:#111827;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.sliderBtn:disabled{
  opacity:.35;
  cursor:not-allowed;
}

.btResultsSlider{
  display:flex;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:1px 1px 10px;
  scrollbar-width:thin;
  scrollbar-color:#9ca3af #e5e7eb;
}

.btResultsSlider::-webkit-scrollbar{
  height:8px;
}

.btResultsSlider::-webkit-scrollbar-thumb{
  background:#9ca3af;
  border-radius:99px;
}

.btResultsSlider::-webkit-scrollbar-track{
  background:#e5e7eb;
  border-radius:99px;
}

.btSlide{
  flex:0 0 calc(100% - 2px);
  width:calc(100% - 2px);
  min-width:calc(100% - 2px);
  height:520px;
  margin:0!important;
  scroll-snap-align:start;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.slideTitle{
  flex:0 0 auto;
  padding-bottom:10px;
  border-bottom:1px solid #eef2f7;
}

.btSlideBody{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-top:10px;
  scrollbar-width:thin;
}

.btResultTableWrap{
  max-height:410px;
  overflow:auto;
  border:1px solid #eef2f7;
  border-radius:10px;
  background:#fff;
}

.btDataTable th{
  position:sticky;
  top:0;
  z-index:2;
}

.btMetricGrid{
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}

.btMetricGrid>div,
.btKpis>div,
.btTaxSummary>div{
  background:#fafafa!important;
  border:1px solid #e5e7eb!important;
  border-radius:10px!important;
  padding:10px!important;
}

.btMetricGrid b{
  font-size:15px;
}

.btKpis{
  gap:8px;
}

.btKpis b{
  font-size:17px;
}

.btTaxSummary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-bottom:10px;
}

.btTaxSummary span{
  display:block;
  font-size:10px;
  color:#6b7280;
  text-transform:uppercase;
}

.btTaxSummary b{
  display:block;
  margin-top:4px;
}

.compactScroller{
  max-height:230px;
}

/* General compactness */
.heroCards,.cards{
  gap:8px;
}

.metricRows>div,.settingRows>div{
  padding:8px 0;
}

.twoCol{
  gap:10px;
}

@media(max-width:900px){
  .btMetricGrid{
    grid-template-columns:repeat(2,1fr);
  }

  .btTaxSummary{
    grid-template-columns:repeat(2,1fr);
  }

  .btSlide{
    height:500px;
  }
}

@media(max-width:650px){
  .page{
    padding-left:10px;
    padding-right:10px;
  }

  .btSliderToolbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .btSliderNav{
    width:100%;
    justify-content:space-between;
  }

  .btSliderNav span{
    flex:1;
  }

  .btMetricGrid{
    grid-template-columns:1fr 1fr;
  }

  .btTaxSummary{
    grid-template-columns:1fr 1fr;
  }

  .btSlide{
    height:480px;
  }
}


/* ==========================================================
   PRO 62 — AUTO REFRESH / ALERT / BACKUP
   ========================================================== */

.suggestionTimeBlock{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  text-align:right;
}

.latestTimestamp{
  color:#6b7280;
  font-size:10px;
  font-weight:700;
}

.automationCard,.backupCard{
  overflow:hidden;
}

.automationRows{
  display:grid;
  gap:0;
  margin-top:8px;
  border:1px solid #e5e7eb;
  border-radius:11px;
  overflow:hidden;
  background:#fff;
}

.automationToggleRow,
.automationSelectRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 12px;
  border-bottom:1px solid #eef2f7;
}

.automationRows>*:last-child{
  border-bottom:0;
}

.automationToggleRow>span,
.automationSelectRow>span{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.automationToggleRow small,
.automationSelectRow small{
  color:#6b7280;
  font-size:11px;
}

.automationToggleRow input[type=checkbox]{
  width:20px;
  height:20px;
  flex:0 0 auto;
}

.automationSelectRow select{
  width:auto;
  min-width:150px;
}

.automationButtons,
.backupActions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.automationStatusGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

.automationStatusGrid>div{
  padding:9px 10px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fafafa;
}

.automationStatusGrid span{
  display:block;
  color:#6b7280;
  font-size:10px;
  text-transform:uppercase;
  font-weight:800;
}

.automationStatusGrid b{
  display:block;
  margin-top:4px;
  font-size:12px;
}

.backupNote{
  margin-top:9px;
  line-height:1.45;
}

@media(max-width:650px){
  .suggestionTimeBlock{
    align-items:flex-start;
    text-align:left;
    margin-top:5px;
  }

  .automationToggleRow,
  .automationSelectRow{
    align-items:flex-start;
  }

  .automationStatusGrid{
    grid-template-columns:1fr;
  }

  .automationSelectRow{
    flex-direction:column;
  }

  .automationSelectRow select{
    width:100%;
  }
}


/* PRO63 — strategy refresh safety note */
.strategyRefreshNote{
  margin-top:10px;
  padding:10px 11px;
  border:1px solid #dbeafe;
  border-radius:10px;
  background:#f8fbff;
  color:#374151;
  font-size:11px;
  line-height:1.5;
}
.strategyRefreshNote b{
  color:#111827;
}


/* ================================================================
   Suggestion History
   ================================================================ */
.historySearchRow{
  display:flex;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.historySearchBox{
  flex:1 1 260px;
}
.historySearchBox label{
  display:block;
  font-size:12px;
  font-weight:800;
  color:#64748b;
  margin-bottom:6px;
}
.historySearchBox input{
  width:100%;
  box-sizing:border-box;
}
.historySummary{
  font-weight:800;
  color:#0f172a;
  margin:8px 0 10px;
}
.historyNote{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:9px 10px;
  margin-bottom:12px;
  font-size:12px;
  color:#475569;
}
#suggestionHistoryTable td,
#suggestionHistoryTable th{
  white-space:nowrap;
}
#suggestionHistoryTable .historyStock{
  font-weight:900;
}
#suggestionHistoryTable .historyPrice{
  font-variant-numeric:tabular-nums;
}
@media (max-width:700px){
  .historySearchRow{
    align-items:stretch;
  }
  .historySearchRow .smallBtn{
    width:100%;
  }
}
