.pullback-workspace {
  --pb-red: #ff5265;
  --pb-green: #1dd8a1;
  --pb-blue: #8493ff;
  display: grid;
  gap: 18px;
  padding: 22px 0 10px;
}

.pullback-loading,
.pullback-error {
  min-height: 300px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--text-soft);
  background: var(--card-soft);
}

.pullback-error { color: var(--pb-red); }
.pullback-head,
.pullback-panel,
.pullback-story {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
  box-shadow: var(--shadow-soft);
}
.pullback-head { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding: 26px; }
.pullback-head p, .pullback-section-title p { margin: 0 0 6px; color: var(--pb-blue); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.pullback-head h2 { margin: 0; font-size: clamp(25px, 3vw, 42px); letter-spacing: -.035em; }
.pullback-head-price { text-align: right; }
.pullback-head-price span, .pullback-head-price small { display: block; color: var(--text-soft); }
.pullback-head-price strong { display: block; margin: 4px 0; font-size: 29px; }
.pullback-positive { color: var(--pb-green) !important; }.pullback-negative { color: var(--pb-red) !important; }
.pullback-controls { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--card-soft); color: var(--text-soft); font-size: 12px; }
.pullback-controls input { flex: 1; accent-color: var(--pb-blue); }
.pullback-controls strong { min-width: 38px; color: var(--text); }
.pullback-summary { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.pullback-stat { min-height: 105px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: var(--card); }
.pullback-stat span, .pullback-stat small { display: block; color: var(--text-soft); font-size: 11px; }
.pullback-stat strong { display: block; margin: 12px 0 4px; font-size: 22px; letter-spacing: -.02em; }
.pullback-stat.red strong { color: var(--pb-red); }.pullback-stat.green strong { color: var(--pb-green); }
.pullback-entry-panel { padding:24px; border:1px solid rgba(132,147,255,.28); border-radius:18px; background:linear-gradient(135deg,rgba(132,147,255,.09),rgba(29,216,161,.035)); box-shadow:var(--shadow-soft); }
.pullback-entry-status { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:6px 11px; border-radius:999px; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.pullback-entry-status i { width:8px; height:8px; border-radius:50%; }
.pullback-entry-status.active { color:var(--pb-green); background:rgba(29,216,161,.11); }.pullback-entry-status.active i { background:var(--pb-green); box-shadow:0 0 12px var(--pb-green); }
.pullback-entry-status.wait { color:#f0b64b; background:rgba(240,182,75,.1); }.pullback-entry-status.wait i { background:#f0b64b; }
.pullback-entry-status.risk { color:var(--pb-red); background:rgba(255,82,101,.1); }.pullback-entry-status.risk i { background:var(--pb-red); }
.pullback-entry-now { display:grid; grid-template-columns:180px 1fr; gap:20px; align-items:center; margin:4px 0 16px; padding:16px; border-radius:14px; background:rgba(5,8,20,.34); }
.pullback-entry-now span,.pullback-entry-now small { display:block; color:var(--text-soft); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.pullback-entry-now strong { display:block; margin:3px 0; font-size:23px; }.pullback-entry-now p { margin:0; color:var(--text-soft); line-height:1.6; }.pullback-entry-now p strong { display:inline; color:var(--text); font-size:inherit; }
.pullback-level-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.pullback-level-grid article { min-height:115px; padding:15px; border:1px solid var(--line); border-radius:13px; background:var(--card-soft); }
.pullback-level-grid article span,.pullback-level-grid article small { display:block; color:var(--text-soft); font-size:10px; }.pullback-level-grid article span { font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.pullback-level-grid article strong { display:block; margin:12px 0 7px; font-size:17px; }.pullback-level-grid .entry strong,.pullback-level-grid .confirm strong { color:var(--pb-blue); }.pullback-level-grid .profit strong { color:var(--pb-green); }.pullback-level-grid .risk strong { color:var(--pb-red); }
.pullback-entry-rules { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px; color:var(--text-soft); font-size:10px; line-height:1.55; }
.pullback-entry-rules span { padding-left:10px; border-left:2px solid var(--line); }.pullback-entry-rules b { display:block; margin-bottom:3px; color:var(--text); font-size:11px; }
.pullback-panel, .pullback-story { padding: 22px; }
.pullback-section-title { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 18px; }
.pullback-section-title h3 { margin: 0; font-size: 22px; }
.pullback-chart-tools { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.pullback-chart-toggle { display:inline-flex; gap:3px; padding:3px; border:1px solid var(--line); border-radius:10px; background:var(--card-soft); }
.pullback-chart-toggle button { width:auto !important; min-width:70px; min-height:31px; margin:0 !important; padding:5px 10px !important; border:0 !important; border-radius:7px !important; color:var(--text-soft) !important; background:transparent !important; box-shadow:none !important; font-size:10px !important; font-weight:900 !important; cursor:pointer; }
.pullback-chart-toggle button.active { color:#fff !important; background:#697cff !important; box-shadow:0 5px 14px rgba(105,124,255,.25) !important; }
.pullback-ledger-title { align-items:center; }
.pullback-ledger-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; color:var(--text-soft); }
.pullback-ledger-tabs { display:inline-flex; flex-wrap:wrap; gap:5px; padding:4px; border:1px solid var(--line); border-radius:999px; background:var(--card-soft); }
.pullback-ledger-tabs button { width:auto !important; min-height:28px; margin:0 !important; padding:5px 11px !important; border:0 !important; border-radius:999px !important; color:var(--text-soft) !important; background:transparent !important; box-shadow:none !important; font-size:10px !important; font-weight:900 !important; cursor:pointer; }
.pullback-ledger-tabs button.active { color:#fff !important; background:linear-gradient(135deg,#697cff,#18a7bf) !important; box-shadow:0 8px 18px rgba(105,124,255,.22) !important; }
.pullback-legend { display: flex; gap: 14px; color: var(--text-soft); font-size: 11px; }
.pullback-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 2px; }
.pullback-legend .red i { background: var(--pb-red); }.pullback-legend .green i { background: var(--pb-green); }.pullback-legend .blue i { background: var(--pb-blue); }
.pullback-chart { position:relative; height:390px; overflow:hidden; border-radius:14px; background:rgba(5,8,20,.55); cursor:crosshair; touch-action:pan-y; }
.pullback-chart svg { display: block; width: 100%; height: 100%; }
.pullback-chart-price-tag { position:absolute; z-index:6; min-width:76px; padding:5px 8px; border:1px solid rgba(132,147,255,.5); border-radius:7px; color:#fff; background:rgba(9,13,28,.92); box-shadow:0 8px 18px rgba(0,0,0,.28); font-size:11px; font-weight:900; text-align:center; pointer-events:none; }
.pullback-chart-price-tag[hidden] { display:none; }
.pullback-grid { color:#dfe5ff; }
.pullback-candle { shape-rendering:geometricPrecision; }
.pullback-chart-tooltip { position:static; width:100%; margin:0 0 12px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--card-soft); box-shadow:none; pointer-events:auto; }
.pullback-chart-tooltip .pullback-tooltip-head { padding-bottom:7px; }
.pullback-chart-tooltip .pullback-tooltip-prices { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px 12px; margin:9px 0; }
.pullback-chart-tooltip .pullback-tooltip-reason { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pullback-chart-inspection-empty { margin:0; color:var(--text-soft); font-size:11px; text-align:center; }
.pullback-story { display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; }
.pullback-story h3 { margin: 4px 0 10px; font-size: 24px; }
.pullback-story p { margin: 0; color: var(--text-soft); line-height: 1.7; }
.pullback-rhythm-row { display: grid; grid-template-columns: 95px 1fr 60px; gap: 10px; align-items: center; margin: 13px 0; font-size: 12px; }
.pullback-rhythm-track { height: 9px; border-radius: 99px; overflow: hidden; background: var(--card-soft); }
.pullback-rhythm-track i { display: block; height: 100%; border-radius: inherit; }
.pullback-rhythm-row.red i { background: var(--pb-red); }.pullback-rhythm-row.green i { background: var(--pb-green); }
.pullback-heatmap-shell { position: relative; width: 100%; overflow: visible; }
.pullback-heatmap {
  display: grid;
  grid-template-columns: repeat(var(--pullback-heat-columns, 50), minmax(0, 1fr));
  grid-template-rows: repeat(5, 24px);
  column-gap: 5px;
  row-gap: 5px;
  width: 100%;
  min-height: 140px;
  overflow: visible;
}
.pullback-heat {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
  cursor: help;
  transition: border-color .14s ease, box-shadow .14s ease;
}
.pullback-heat:hover, .pullback-heat:focus-visible, .pullback-heat.is-active { z-index: 2; outline: none; border-color: rgba(255,255,255,.9) !important; box-shadow: 0 0 0 2px rgba(132,147,255,.45), 0 8px 20px rgba(0,0,0,.3); }
.pullback-heat[data-level="-2"] { background:#c72f46 !important }.pullback-heat[data-level="-1"] { background:#74313f !important }.pullback-heat[data-level="0"] { background:#343747 !important }.pullback-heat[data-level="1"] { background:#176d59 !important }.pullback-heat[data-level="2"] { background:#1fc997 !important }
.pullback-heatmap-legend { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:14px; color:var(--text-soft); font-size:11px; }
.pullback-heatmap-legend span { display:inline-flex; align-items:center; gap:6px; }
.pullback-heatmap-legend i { width:9px; height:9px; border-radius:3px; }
.pullback-heatmap-legend .sharp-fall i { background:#c72f46; }
.pullback-heatmap-legend .fall i { background:#74313f; }
.pullback-heatmap-legend .flat i { background:#343747; }
.pullback-heatmap-legend .rise i { background:#176d59; }
.pullback-heatmap-legend .strong-rise i { background:#1fc997; }
.pullback-heat-tooltip { position: fixed; z-index: 10020; width: min(300px, calc(100vw - 24px)); padding: 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; color: #f7f8ff; background: rgba(7,10,23,.97); box-shadow: 0 20px 55px rgba(0,0,0,.5); pointer-events: none; }
.pullback-heat-tooltip[hidden] { display: none; }
.pullback-tooltip-head { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.1); }
.pullback-tooltip-head strong { font-size: 14px; }.pullback-tooltip-head span { font-size: 12px; font-weight: 850; }
.pullback-tooltip-head span.red { color: var(--pb-red); }.pullback-tooltip-head span.green { color: var(--pb-green); }.pullback-tooltip-head span.flat { color: #b3b7c8; }
.pullback-tooltip-prices { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 14px; margin: 12px 0; }
.pullback-tooltip-prices span { color: #aeb2c2; font-size: 10px; text-transform: uppercase; }
.pullback-tooltip-prices strong { display: block; margin-top: 2px; color: white; font-size: 13px; }
.pullback-tooltip-reason { margin: 0; color: #c6c9d5; font-size: 11px; line-height: 1.55; }
.pullback-cycles { display: grid; grid-template-columns: 1fr; gap: 10px; }
.pullback-cycle { display: grid; grid-template-columns: 38px minmax(0,1fr) 24px minmax(0,1fr); gap: 12px; align-items: center; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: var(--card-soft); }
.pullback-cycle-number { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; color:var(--pb-red); background:rgba(255,82,101,.12); font-weight:900; }
.pullback-cycle-stage { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,.6fr); gap:14px; align-items:stretch; padding:11px 12px; border-radius:11px; }
.pullback-cycle-stage.fall { background:rgba(255,82,101,.07); border-left:3px solid var(--pb-red); }
.pullback-cycle-stage.recovery { background:rgba(29,216,161,.07); border-left:3px solid var(--pb-green); }
.pullback-stage-label { display:block; margin-bottom:6px; font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.pullback-cycle-stage.fall .pullback-stage-label, .pullback-cycle-stage.fall b { color:var(--pb-red); }
.pullback-cycle-stage.recovery .pullback-stage-label, .pullback-cycle-stage.recovery b { color:var(--pb-green); }
.pullback-cycle-stage strong, .pullback-cycle-stage small, .pullback-cycle-stage b, .pullback-cycle-stage em { display:block; }
.pullback-cycle-stage strong { font-size:14px; }
.pullback-cycle-stage small { margin-top:3px; color:var(--text-soft); font-size:10px; }
.pullback-cycle-stage b { margin-top:8px; font-size:13px; }
.pullback-cycle-stage em { margin-top:3px; color:var(--text-soft); font-size:10px; font-style:normal; }
.pullback-stage-main { align-self:center; min-width:0; }
.pullback-event-action { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:10px 12px; border-radius:9px; background:rgba(5,8,20,.3); }
.pullback-event-action span,.pullback-event-action small,.pullback-event-action em { display:block; }
.pullback-event-action span { color:var(--text-soft); font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.pullback-event-action strong { display:block; margin:5px 0 3px; font-size:16px; }
.pullback-event-action small,.pullback-event-action em { color:var(--text-soft); font-size:9px; line-height:1.45; font-style:normal; }
.pullback-event-action.entry { border:1px solid rgba(255,82,101,.16); }.pullback-event-action.entry strong { color:var(--pb-red); }
.pullback-event-action.exit { border:1px solid rgba(29,216,161,.16); }.pullback-event-action.exit strong { color:var(--pb-green); }
.pullback-cycle-arrow { color:var(--text-soft); text-align:center; font-size:20px; }
.pullback-note { color: var(--text-soft); font-size: 11px; line-height: 1.65; }

html[data-theme="light"] .pullback-head,
html[data-theme="light"] .pullback-panel,
html[data-theme="light"] .pullback-story,
html[data-theme="light"] .pullback-entry-panel {
  background:#ffffff;
  border-color:#d8e2f2;
  box-shadow:0 14px 35px rgba(39,61,105,.07);
}
html[data-theme="light"] .pullback-stat,
html[data-theme="light"] .pullback-cycle,
html[data-theme="light"] .pullback-level-grid article {
  background:#f9fbff;
  border-color:#d7e2f3;
}
html[data-theme="light"] .pullback-controls { background:#f7f9fd; border-color:#d7e2f3; }
html[data-theme="light"] .pullback-entry-now,
html[data-theme="light"] .pullback-event-action { background:#ffffff; }
html[data-theme="light"] .pullback-cycle-stage.fall { background:#fff3f5; }
html[data-theme="light"] .pullback-cycle-stage.recovery { background:#effcf8; }
html[data-theme="light"] .pullback-chart { background:#f7f9fe; border:1px solid #d7e2f3; }
html[data-theme="light"] .pullback-grid { color:#334155; }
html[data-theme="light"] .pullback-chart-toggle { background:#eef2f8; border-color:#d3ddec; }
html[data-theme="light"] .pullback-chart-tooltip { color:#172033; background:#ffffff; border-color:#d7e2f3; }
html[data-theme="light"] .pullback-chart-tooltip .pullback-tooltip-prices strong { color:#172033; }
html[data-theme="light"] .pullback-chart-tooltip .pullback-tooltip-prices span,
html[data-theme="light"] .pullback-chart-tooltip .pullback-tooltip-reason { color:#59657a; }
html[data-theme="light"] .pullback-heat-tooltip { color:#f7f8ff; background:rgba(10,14,28,.97); }
html[data-theme="dark"] .pullback-head,
html[data-theme="dark"] .pullback-panel,
html[data-theme="dark"] .pullback-story,
html[data-theme="dark"] .pullback-entry-panel { background:linear-gradient(145deg,rgba(17,21,42,.98),rgba(10,13,28,.96)); }
html[data-theme="dark"] .pullback-chart { background:#070a17; }

@media (max-width: 1050px) {
  .pullback-summary { grid-template-columns: repeat(3, 1fr); }
  .pullback-level-grid { grid-template-columns:repeat(2,1fr); }
  .pullback-story { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .pullback-head, .pullback-section-title { align-items: stretch; flex-direction: column; }
  .pullback-chart-tools { align-items:flex-start; justify-content:flex-start; }
  .pullback-head-price { text-align: left; }
  .pullback-entry-now { grid-template-columns:1fr; }
  .pullback-entry-rules { grid-template-columns:1fr; }
  .pullback-summary { grid-template-columns: repeat(2, 1fr); }
  .pullback-chart { height: 300px; }
  .pullback-chart-tooltip .pullback-tooltip-prices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pullback-chart-tooltip .pullback-tooltip-reason { white-space:normal; }
  .pullback-heatmap { grid-template-rows: repeat(5, 22px); min-height: 130px; column-gap: 3px; row-gap: 4px; }
  .pullback-heat { height: 22px !important; min-height: 22px !important; }
  .pullback-cycle { grid-template-columns: 34px 1fr; }
  .pullback-cycle-stage { grid-column:2; }
  .pullback-cycle-stage { grid-template-columns:1fr; }
  .pullback-cycle-arrow { grid-column:2; transform:rotate(90deg); }
}
@media (max-width: 470px) { .pullback-summary { grid-template-columns: 1fr; } }
@media (max-width: 470px) { .pullback-level-grid { grid-template-columns:1fr; } }
