/* Sector Rotation page styles */
.sr-pill{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  background:var(--surface-soft);color:var(--ink-2);font-size:12px;font-weight:500;
  border:1px solid var(--border-soft);
}

.sr-skel{background:linear-gradient(90deg,var(--surface-soft) 0%,var(--surface) 50%,var(--surface-soft) 100%);
  background-size:200% 100%;animation:sr-shimmer 1.5s ease-in-out infinite;border-radius:8px;width:100%;}
@keyframes sr-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* KPI strip */
.sr-kpi-strip{
  display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0 24px;
}
@media (max-width:1100px){.sr-kpi-strip{grid-template-columns:repeat(3,1fr)}}
@media (max-width:680px){.sr-kpi-strip{grid-template-columns:repeat(2,1fr)}}
.sr-kpi{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;
  padding:14px 16px;display:flex;flex-direction:column;gap:4px;
}
.sr-kpi .lbl{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.sr-kpi .val{font-size:18px;font-weight:700;color:var(--ink-1);font-variant-numeric:tabular-nums}
.sr-kpi .delta{font-size:11px;font-variant-numeric:tabular-nums}
.sr-kpi .delta.pos{color:#069467}
.sr-kpi .delta.neg{color:#d4365b}

/* Tabs */
.sr-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-soft);margin-bottom:18px;overflow-x:auto}
.sr-tab{
  background:transparent;border:0;padding:10px 16px;color:var(--ink-3);cursor:pointer;
  font-size:13px;font-weight:600;border-bottom:2px solid transparent;
  transition:all .15s;white-space:nowrap;
}
.sr-tab:hover{color:var(--ink-2)}
.sr-tab.active{color:var(--accent);border-bottom-color:var(--accent)}

.sr-pane{display:none;animation:sr-fade .25s ease-out}
.sr-pane.active{display:block}
@keyframes sr-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* Cards */
.sr-card{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;
  padding:18px 20px;margin-bottom:16px;
}
.sr-card h2{margin:0 0 4px;font-size:15px;color:var(--ink-1);font-weight:700}
.sr-card h3{margin:0 0 4px;font-size:13px;color:var(--ink-1);font-weight:700}
.sr-card .sub{font-size:12px;color:var(--ink-3);margin:0 0 14px;line-height:1.4}
.sr-intro{background:linear-gradient(135deg,rgba(99,102,241,0.08) 0%,rgba(99,102,241,0.02) 100%);border-color:rgba(99,102,241,0.25)}

/* Bento grid */
.sr-bento{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:18px}
.sr-tile{
  background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;
  padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;
  transition:transform .15s,border-color .15s;
}
.sr-tile:hover{transform:translateY(-2px);border-color:var(--ink-3)}
.sr-tile.bull{border-left:4px solid #069467}
.sr-tile.bear{border-left:4px solid #d4365b}
.sr-tile.neutral{border-left:4px solid #cca227}
.sr-tile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.sr-tile-code{font-size:11px;color:var(--ink-3);font-weight:600;letter-spacing:.4px}
.sr-tile-name{font-size:15px;font-weight:700;color:var(--ink-1);line-height:1.2}
.sr-tile-verdict{font-size:18px}
.sr-tile-weight{font-size:10px;color:var(--ink-3);padding:3px 7px;border-radius:999px;background:var(--surface-soft);font-weight:600}
.sr-tile-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:11px}
.sr-tile-stat{display:flex;flex-direction:column;gap:1px}
.sr-tile-stat .k{color:var(--ink-3);font-size:10px;text-transform:uppercase;letter-spacing:.3px;font-weight:600}
.sr-tile-stat .v{color:var(--ink-1);font-variant-numeric:tabular-nums;font-weight:600;font-size:12px}
.sr-tile-stat .v.pos{color:#069467}.sr-tile-stat .v.neg{color:#d4365b}
.sr-tile-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.sr-tile-tag{font-size:9.5px;padding:2px 6px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.sr-tile-tag.q-leading{background:rgba(6,148,103,.15);color:#069467}
.sr-tile-tag.q-improving{background:rgba(99,102,241,.15);color:#6366f1}
.sr-tile-tag.q-weakening{background:rgba(204,162,39,.15);color:#a07a18}
.sr-tile-tag.q-lagging{background:rgba(212,54,91,.15);color:#d4365b}
.sr-tile-tag.smart-buy{background:rgba(6,148,103,.15);color:#069467}
.sr-tile-tag.smart-sell{background:rgba(212,54,91,.15);color:#d4365b}
.sr-tile-tag.smart-neutral{background:var(--surface-soft);color:var(--ink-3)}
.sr-tile-conflict{font-size:10.5px;padding:6px 8px;background:rgba(212,54,91,.08);border-radius:6px;color:#a32a4b;font-weight:600;border-left:3px solid #d4365b;line-height:1.3}
.sr-tile-zones{font-size:11px;color:var(--ink-2);line-height:1.4;border-top:1px dashed var(--border-soft);padding-top:8px;margin-top:2px}
.sr-tile-zones .zk{color:var(--ink-3);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.3px}
.sr-tile-conc{font-size:10px;background:rgba(204,162,39,.12);color:#856710;padding:4px 7px;border-radius:6px;font-weight:600;border-left:2px solid #cca227}

/* Conflict box */
.sr-conflict-box{border-color:rgba(212,54,91,.35);background:linear-gradient(135deg,rgba(212,54,91,.04) 0%,transparent 100%)}
#sr-conflict-list .conflict-row{padding:10px 0;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:10px;font-size:13px}
#sr-conflict-list .conflict-row:last-child{border-bottom:0}
#sr-conflict-list .cb-code{font-weight:700;color:var(--ink-1);min-width:100px}
#sr-conflict-list .cb-msg{color:var(--ink-2)}

/* Concentration */
#sr-concentration-list .conc-row{padding:8px 0;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
#sr-concentration-list .conc-row:last-child{border-bottom:0}
.conc-bar{height:6px;background:var(--surface-soft);border-radius:999px;overflow:hidden;flex:1;max-width:220px}
.conc-bar-fill{height:100%;background:linear-gradient(90deg,#cca227,#d4365b);border-radius:999px}

/* Weight chart */
.sr-chart-wrap{margin-top:6px}
.sr-bar-row{display:grid;grid-template-columns:140px 1fr 110px;gap:10px;align-items:center;padding:7px 0;border-bottom:1px dashed var(--border-soft);font-size:13px}
.sr-bar-row:last-child{border-bottom:0}
.sr-bar-label{font-weight:600;color:var(--ink-1);font-size:12px}
.sr-bar-label .nm{color:var(--ink-3);font-size:10.5px;font-weight:500;display:block;margin-top:1px}
.sr-bar-track{height:14px;background:var(--surface-soft);border-radius:999px;overflow:hidden;position:relative}
.sr-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#3aa6ff);border-radius:999px;display:flex;align-items:center;padding-left:8px;color:white;font-size:10.5px;font-weight:700}
.sr-bar-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-1);font-weight:700;font-size:12px}

/* Contribution table */
.sr-contrib-table{width:100%;border-collapse:collapse;font-size:12px}
.sr-contrib-table th,.sr-contrib-table td{padding:8px 10px;border-bottom:1px solid var(--border-soft);text-align:right;font-variant-numeric:tabular-nums}
.sr-contrib-table th{font-size:10px;color:var(--ink-3);font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:var(--surface-soft)}
.sr-contrib-table th:first-child,.sr-contrib-table td:first-child{text-align:left}
.sr-contrib-table td.code{font-weight:700;color:var(--ink-1)}
.sr-contrib-table td.pos{color:#069467}.sr-contrib-table td.neg{color:#d4365b}
.sr-contrib-table tr.total{font-weight:700;border-top:2px solid var(--ink-3)}
.sr-contrib-table tr.total td{padding-top:10px;color:var(--ink-1)}

/* Correlation matrix heatmap */
.sr-matrix{display:grid;gap:2px;font-size:10.5px}
.sr-matrix .mhead{font-weight:700;color:var(--ink-1);padding:4px;text-align:center;writing-mode:vertical-rl;text-orientation:mixed}
.sr-matrix .mrow-label{font-weight:700;color:var(--ink-1);padding:4px 6px;text-align:right;font-size:11px}
.sr-matrix .mcell{padding:6px 4px;text-align:center;color:white;font-weight:600;font-variant-numeric:tabular-nums;border-radius:3px;font-size:10.5px}

/* Beta chart */
.sr-beta-row{display:grid;grid-template-columns:140px 1fr 1fr 1fr;gap:10px;padding:7px 0;border-bottom:1px dashed var(--border-soft);font-size:12px;align-items:center}
.sr-beta-row.head{font-weight:700;color:var(--ink-3);font-size:10px;text-transform:uppercase;letter-spacing:.3px}
.sr-beta-row:last-child{border-bottom:0}
.sr-beta-cell{display:flex;align-items:center;gap:8px}
.sr-beta-bar{height:10px;background:var(--surface-soft);border-radius:999px;flex:1;position:relative}
.sr-beta-bar-fill{height:100%;background:#6366f1;border-radius:999px}
.sr-beta-bar.up .sr-beta-bar-fill{background:#069467}
.sr-beta-bar.down .sr-beta-bar-fill{background:#d4365b}
.sr-beta-val{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-1);min-width:46px;text-align:right;font-size:11.5px}

/* Broker flow */
.sr-broker-table{width:100%;border-collapse:collapse;font-size:12px}
.sr-broker-table th,.sr-broker-table td{padding:8px 10px;border-bottom:1px solid var(--border-soft);text-align:right;font-variant-numeric:tabular-nums}
.sr-broker-table th{font-size:10px;color:var(--ink-3);font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:var(--surface-soft)}
.sr-broker-table th:first-child,.sr-broker-table td:first-child{text-align:left}
.sr-broker-table td.code{font-weight:700;color:var(--ink-1)}
.sr-broker-table td.signal{font-size:11px;color:var(--ink-2);font-weight:500}

/* Breadth bars */
.sr-breadth-row{display:grid;grid-template-columns:140px 1fr 1fr;gap:10px;padding:7px 0;border-bottom:1px dashed var(--border-soft);font-size:12px;align-items:center}
.sr-breadth-row.head{font-weight:700;color:var(--ink-3);font-size:10px;text-transform:uppercase;letter-spacing:.3px}
.sr-breadth-row:last-child{border-bottom:0}
.sr-breadth-bar{height:12px;background:var(--surface-soft);border-radius:999px;flex:1;position:relative}
.sr-breadth-bar-fill{height:100%;border-radius:999px}

/* Vol regime tags */
.sr-vol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.sr-vol-tile{padding:10px 12px;border-radius:8px;border:1px solid var(--border-soft);background:var(--surface)}
.sr-vol-tile .code{font-weight:700;color:var(--ink-1);font-size:12px}
.sr-vol-tile .meta{font-size:10px;color:var(--ink-3);margin-top:2px}
.sr-vol-tile .badge{font-size:9.5px;padding:2px 6px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-top:4px;display:inline-block}
.sr-vol-tile .badge.STRESS{background:rgba(212,54,91,.15);color:#d4365b}
.sr-vol-tile .badge.elevated{background:rgba(204,162,39,.15);color:#a07a18}
.sr-vol-tile .badge.normal{background:var(--surface-soft);color:var(--ink-2)}
.sr-vol-tile .badge.low{background:rgba(99,102,241,.12);color:#6366f1}
.sr-vol-tile .badge.QUIET{background:rgba(6,148,103,.15);color:#069467}

/* Granger list */
#sr-granger ul{list-style:none;padding:0;margin:0}
#sr-granger li{padding:6px 0;border-bottom:1px dashed var(--border-soft);font-size:12.5px;display:flex;align-items:center;gap:8px}
#sr-granger li:last-child{border-bottom:0}
#sr-granger .lg-leader{font-weight:700;color:var(--ink-1);min-width:120px}
#sr-granger .lg-arrow{color:var(--ink-3)}
#sr-granger .lg-follower{font-weight:700;color:var(--ink-1);min-width:120px}
#sr-granger .lg-p{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto}
#sr-granger .lg-sig{color:#069467;font-weight:700}

/* Seasonality heatmap */
.sr-season-table{width:100%;border-collapse:separate;border-spacing:2px;font-size:11px;font-variant-numeric:tabular-nums}
.sr-season-table th{font-size:10px;color:var(--ink-3);font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:4px;text-align:center}
.sr-season-table th:first-child{text-align:left}
.sr-season-table td{padding:5px 4px;text-align:center;border-radius:4px;font-weight:600;color:white}
.sr-season-table td.label{background:transparent;color:var(--ink-1);text-align:left;font-weight:700;padding-left:6px;font-size:11.5px}
.sr-season-table td.nodata{background:var(--surface-soft);color:var(--ink-3)}
.sr-season-table td.sig::after{content:"*";font-size:9px;margin-left:1px}

/* Detail view */
.sr-detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sr-select{padding:8px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface);color:var(--ink-1);font-size:13px;font-weight:600;cursor:pointer;min-width:200px}
.sr-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media (max-width:900px){.sr-detail-grid{grid-template-columns:1fr}}
.sr-detail-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;padding:14px}
.sr-detail-card h3{margin:0 0 8px;font-size:13px;color:var(--ink-1);font-weight:700}
.sr-detail-statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;font-size:12px}
.sr-detail-statgrid .st{display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--surface-soft);border-radius:6px}
.sr-detail-statgrid .st .k{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.3px;font-weight:600}
.sr-detail-statgrid .st .v{font-size:14px;color:var(--ink-1);font-weight:700;font-variant-numeric:tabular-nums}
.sr-detail-statgrid .st .v.pos{color:#069467}.sr-detail-statgrid .st .v.neg{color:#d4365b}
.sr-const-table{width:100%;border-collapse:collapse;font-size:12px}
.sr-const-table th,.sr-const-table td{padding:7px 10px;border-bottom:1px solid var(--border-soft);text-align:right;font-variant-numeric:tabular-nums}
.sr-const-table th{font-size:10px;color:var(--ink-3);font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:var(--surface-soft)}
.sr-const-table th:first-child,.sr-const-table td:first-child{text-align:left}
.sr-const-table td.ticker{font-weight:700;color:var(--ink-1)}
.sr-const-table td.pos{color:#069467}.sr-const-table td.neg{color:#d4365b}

/* Chart SVG */
.sr-svg-chart{width:100%;height:260px;display:block}
.sr-svg-chart .grid line{stroke:var(--border-soft);stroke-width:1;stroke-dasharray:2 4}
.sr-svg-chart .axis-text{fill:var(--ink-3);font-size:9.5px}
.sr-svg-chart .line-index{stroke:#6366f1;stroke-width:2;fill:none}
.sr-svg-chart .line-ma50{stroke:#cca227;stroke-width:1.4;fill:none;stroke-dasharray:3 3}
.sr-svg-chart .line-ma200{stroke:#d4365b;stroke-width:1.4;fill:none;stroke-dasharray:5 3}
.sr-svg-chart .line-rs{stroke:#069467;stroke-width:1.6;fill:none}
.sr-legend{display:flex;gap:10px;font-size:11px;color:var(--ink-3);justify-content:center;margin-top:6px}
.sr-legend span{display:inline-flex;align-items:center;gap:4px}
.sr-legend .dot{width:10px;height:3px;border-radius:2px}

/* utilities */
.sr-num{font-variant-numeric:tabular-nums}
.sr-pos{color:#069467!important}.sr-neg{color:#d4365b!important}

/* === v2 (2026-05-30): Minimalist Ringkasan + Modal === */

/* Hero summary */
.sr-hero { background: var(--surface); border: 1px solid var(--border-soft); border-radius: 14px; padding: 18px 22px; margin-bottom: 16px; }
.sr-hero-grid { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; }
@media (max-width:720px){ .sr-hero-grid{ grid-template-columns: 1fr; } }
.sr-hero-mood { display: flex; align-items: center; gap: 16px; }
.sr-hero-emoji { font-size: 32px; }
.sr-hero-title { font-size: 18px; font-weight: 700; color: var(--ink-1); line-height: 1.25; }
.sr-hero-sub { font-size: 12.5px; color: var(--ink-3); margin-top: 3px; font-variant-numeric: tabular-nums; }
.sr-hero-counts { display: grid; grid-template-columns: repeat(3, auto); gap: 10px; }
.sr-hero-count { padding: 10px 16px; border-radius: 10px; text-align: center; min-width: 90px; }
.sr-hero-count .n { font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1; }
.sr-hero-count .l { font-size: 10.5px; color: var(--ink-3); margin-top: 4px; }
.sr-hero-count.buy { background: rgba(6,148,103,.08); }
.sr-hero-count.buy .n { color: #069467; }
.sr-hero-count.neutral { background: var(--surface-soft); }
.sr-hero-count.neutral .n { color: var(--ink-2); }
.sr-hero-count.sell { background: rgba(212,54,91,.08); }
.sr-hero-count.sell .n { color: #d4365b; }

/* Card tight + header */
.sr-card-tight { padding: 16px 18px; }
.sr-card-tight .sr-card-head { display: flex; flex-direction: column; gap: 2px; margin-bottom: 12px; }
.sr-card-tight .sr-card-head h2 { margin: 0; font-size: 14px; }
.sr-card-tight .sr-sub { font-size: 11.5px; color: var(--ink-3); }

/* Impact chart */
.sr-impact-wrap { display: flex; flex-direction: column; gap: 4px; }
.sr-impact-row { display: grid; grid-template-columns: 200px 1fr 70px; gap: 12px; align-items: center; padding: 6px 8px; border-radius: 6px; cursor: pointer; transition: background .15s; }
.sr-impact-row:hover { background: var(--surface-soft); }
.sr-impact-label { font-size: 12px; }
.sr-impact-label .code { font-weight: 700; color: var(--ink-1); }
.sr-impact-label .name { color: var(--ink-3); margin-left: 6px; font-size: 11px; }
.sr-impact-bar { height: 14px; background: var(--surface-soft); border-radius: 999px; position: relative; overflow: hidden; }
.sr-impact-bar::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--ink-4); opacity: .2; }
.sr-impact-fill { position: absolute; top: 0; height: 100%; border-radius: 999px; }
.sr-impact-fill.pos { background: #069467; right: 50%; }
.sr-impact-fill.neg { background: #d4365b; left: 50%; }
.sr-impact-val { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; font-size: 12px; }
.sr-impact-val.pos { color: #069467; }
.sr-impact-val.neg { color: #d4365b; }

/* Minimalist 11-sektor list */
.sr-mini-grid { display: flex; flex-direction: column; gap: 8px; }
.sr-mini { display: grid; grid-template-columns: 1fr auto; gap: 18px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--border-soft); border-radius: 10px; cursor: pointer; transition: all .15s; text-align: left; font: inherit; width: 100%; }
.sr-mini:hover { border-color: var(--ink-4); transform: translateX(2px); }
.sr-mini.buy { border-left: 3px solid #069467; }
.sr-mini.sell { border-left: 3px solid #d4365b; }
.sr-mini.neutral { border-left: 3px solid #cca227; }
.sr-mini-left { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.sr-mini-name { font-size: 15px; font-weight: 700; color: var(--ink-1); }
.sr-mini-code { font-size: 10.5px; color: var(--ink-3); font-weight: 600; letter-spacing: .3px; }
.sr-mini-pills { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.sr-mini-pill { font-size: 11px; padding: 3px 8px; border-radius: 999px; font-weight: 500; line-height: 1.3; }
.sr-mini-pill.buy { background: rgba(6,148,103,.10); color: #069467; }
.sr-mini-pill.sell { background: rgba(212,54,91,.10); color: #d4365b; }
.sr-mini-pill.warn { background: rgba(204,162,39,.12); color: #a07a18; }
.sr-mini-pill.neutral { background: var(--surface-soft); color: var(--ink-2); }
.sr-mini-warn { font-size: 11px; padding: 3px 8px; border-radius: 999px; background: rgba(204,162,39,.15); color: #856710; font-weight: 600; }
.sr-mini-conflict { font-size: 11px; padding: 3px 8px; border-radius: 999px; background: rgba(212,54,91,.12); color: #a32a4b; font-weight: 600; }
.sr-mini-right { text-align: right; min-width: 140px; }
.sr-mini-verdict-row { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }
.sr-mini-emoji { font-size: 14px; }
.sr-mini-verdict { font-size: 12px; font-weight: 700; color: var(--ink-1); }
.sr-mini-mom { font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; margin-top: 3px; }
.sr-mini-mom.pos { color: #069467; }
.sr-mini-mom.neg { color: #d4365b; }
.sr-mini-weight { font-size: 11px; color: var(--ink-3); margin-top: 2px; }
.sr-mini-cta { font-size: 10.5px; color: var(--accent); margin-top: 5px; font-weight: 600; opacity: .7; }

/* Concentration warning card */
.sr-warn-card { background: linear-gradient(135deg, rgba(204,162,39,.04) 0%, transparent 100%); border-color: rgba(204,162,39,.3); }
.sr-conc-row { display: grid; grid-template-columns: 100px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--border-soft); cursor: pointer; transition: background .12s; align-items: start; padding-left: 8px; padding-right: 8px; border-radius: 6px; }
.sr-conc-row:hover { background: var(--surface-soft); }
.sr-conc-row:last-child { border-bottom: 0; }
.sr-conc-code { font-weight: 700; color: var(--ink-1); font-size: 12px; }
.sr-conc-msg { font-size: 12.5px; color: var(--ink-2); line-height: 1.45; }

/* MODAL */
.sr-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.sr-modal-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.55); backdrop-filter: blur(4px); animation: sr-fadein .18s ease-out; }
@keyframes sr-fadein { from { opacity: 0; } to { opacity: 1; } }
.sr-modal-panel { position: relative; background: var(--surface); border-radius: 16px; max-width: 880px; width: 100%; max-height: calc(100vh - 48px); overflow-y: auto; box-shadow: 0 20px 60px rgba(15,23,42,.25); animation: sr-rise .22s ease-out; }
@keyframes sr-rise { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.sr-modal-close { position: absolute; top: 14px; right: 16px; z-index: 10; background: transparent; border: 0; font-size: 28px; cursor: pointer; color: var(--ink-3); line-height: 1; padding: 6px 10px; border-radius: 50%; transition: all .15s; }
.sr-modal-close:hover { background: var(--surface-soft); color: var(--ink-1); }
.sr-modal-content { padding: 28px 32px; }

.sr-modal-head { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: start; padding-bottom: 18px; border-bottom: 1px solid var(--border-soft); margin-bottom: 18px; }
.sr-modal-eyebrow { font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .4px; font-weight: 600; }
.sr-modal-head h2 { margin: 4px 0 8px; font-size: 24px; font-weight: 700; color: var(--ink-1); }
.sr-modal-verdict { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.sr-modal-verdict.buy { background: rgba(6,148,103,.10); color: #069467; }
.sr-modal-verdict.sell { background: rgba(212,54,91,.10); color: #d4365b; }
.sr-modal-verdict.neutral { background: var(--surface-soft); color: var(--ink-2); }
.sr-modal-weight { text-align: right; }
.sr-modal-weight .n { font-size: 28px; font-weight: 700; color: var(--ink-1); font-variant-numeric: tabular-nums; line-height: 1; }
.sr-modal-weight .l { font-size: 11px; color: var(--ink-3); margin-top: 2px; }

.sr-modal-warn { background: rgba(212,54,91,.08); border-left: 3px solid #d4365b; padding: 12px 14px; border-radius: 8px; font-size: 13px; color: #a32a4b; margin-bottom: 14px; line-height: 1.5; }
.sr-modal-warn.warn { background: rgba(204,162,39,.10); border-left-color: #cca227; color: #856710; }

.sr-modal-section { margin-bottom: 22px; }
.sr-modal-section h3 { margin: 0 0 10px; font-size: 14px; color: var(--ink-1); font-weight: 700; }
.sr-modal-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width:640px){ .sr-modal-2col{ grid-template-columns: 1fr; } }

.sr-cond-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.sr-cond { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--ink-1); padding: 8px 12px; background: var(--surface-soft); border-radius: 8px; }
.sr-cond .dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.sr-cond .dot.buy { background: #069467; }
.sr-cond .dot.sell { background: #d4365b; }
.sr-cond .dot.warn { background: #cca227; }
.sr-cond .dot.neutral { background: var(--ink-3); }

.sr-modal-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
@media (max-width:640px){ .sr-modal-stats{ grid-template-columns: repeat(2, 1fr); } }
.sr-modal-stat { background: var(--surface-soft); border-radius: 8px; padding: 10px 12px; }
.sr-modal-stat .k { font-size: 10.5px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .3px; font-weight: 600; }
.sr-modal-stat .v { font-size: 16px; font-weight: 700; color: var(--ink-1); font-variant-numeric: tabular-nums; margin-top: 2px; }
.sr-modal-stat .h { font-size: 10.5px; color: var(--ink-3); margin-top: 4px; line-height: 1.4; }

.sr-modal-sm { background: var(--surface-soft); border-radius: 10px; padding: 14px 16px; }
.sr-modal-sm-h { font-size: 13px; font-weight: 700; margin-bottom: 8px; color: var(--ink-1); }
.sr-modal-sm-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px dashed var(--border-soft); font-size: 13px; font-variant-numeric: tabular-nums; font-weight: 600; }
.sr-modal-sm-row:last-of-type { border-bottom: 0; }
.sr-modal-sm-row span.pos { color: #069467; }
.sr-modal-sm-row span.neg { color: #d4365b; }
.sr-modal-sm-sig { font-size: 12px; color: var(--ink-2); margin-top: 8px; padding: 8px 10px; background: var(--surface); border-radius: 6px; font-style: italic; }

.sr-modal-zones { background: var(--surface-soft); border-radius: 10px; padding: 14px 16px; }
.sr-modal-zones-h { font-size: 13px; font-weight: 700; margin-bottom: 8px; color: var(--ink-1); }
.sr-zone-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; border-radius: 6px; margin-bottom: 5px; font-size: 12.5px; }
.sr-zone-row .lbl { color: var(--ink-2); font-weight: 600; }
.sr-zone-row .val { color: var(--ink-1); font-weight: 600; font-variant-numeric: tabular-nums; }
.sr-zone-row.buy { background: rgba(6,148,103,.08); }
.sr-zone-row.buy .lbl { color: #069467; }
.sr-zone-row.sell { background: rgba(212,54,91,.08); }
.sr-zone-row.sell .lbl { color: #d4365b; }
.sr-zone-row.neutral { background: rgba(204,162,39,.10); }
.sr-zone-row.neutral .lbl { color: #a07a18; }

.sr-modal-const-h { font-size: 13px; font-weight: 700; margin-bottom: 8px; color: var(--ink-1); }
.sr-modal-tbl { width: 100%; border-collapse: collapse; font-size: 12px; }
.sr-modal-tbl th, .sr-modal-tbl td { padding: 8px 10px; text-align: right; border-bottom: 1px solid var(--border-soft); font-variant-numeric: tabular-nums; }
.sr-modal-tbl th { font-size: 10px; font-weight: 700; color: var(--ink-3); text-transform: uppercase; letter-spacing: .3px; background: var(--surface-soft); }
.sr-modal-tbl th:first-child, .sr-modal-tbl td:first-child { text-align: left; }
.sr-modal-tbl td.t { font-weight: 700; color: var(--ink-1); }
.sr-modal-tbl td.pos { color: #069467; }
.sr-modal-tbl td.neg { color: #d4365b; }
