/* Cache Cluster — 5 panes. Wave 1 ships 3; 2 are placeholders. */

.cache-cluster h2.cluster-title { margin:0 0 12px; }

.cluster-grid {
  display:grid; gap:16px;
  grid-template-columns: repeat(6, 1fr);
}
.cluster-pane {
  background:var(--panel2); border:1px solid var(--border); border-radius:10px;
  padding:14px; display:flex; flex-direction:column; gap:8px;
  min-height:200px;
}
.cluster-pane h3 {
  margin:0; font-size:11px; font-weight:600; color:var(--muted);
  text-transform:uppercase; letter-spacing:.5px;
}
.cluster-pane .pane-sub { font-size:11px; color:var(--muted); }

/* Pane spans */
.pane-split { grid-column: span 4; }
.pane-gauge { grid-column: span 2; }
.pane-pill  { grid-column: span 3; }
.pane-waste { grid-column: span 3; }
.pane-amort { grid-column: span 6; }

@media (max-width: 1100px){
  .cluster-grid { grid-template-columns: 1fr 1fr; }
  .pane-split, .pane-gauge, .pane-pill, .pane-waste, .pane-amort { grid-column: span 2; }
}
@media (max-width: 680px){
  .cluster-grid { grid-template-columns: 1fr; }
  .pane-split, .pane-gauge, .pane-pill, .pane-waste, .pane-amort { grid-column: span 1; }
}

.cluster-pane.disabled {
  opacity: 0.55; background: repeating-linear-gradient(45deg, var(--panel2), var(--panel2) 8px, var(--panel) 8px, var(--panel) 16px);
}
.cluster-pane .coming-badge {
  display:inline-block; font-size:10px; letter-spacing:.5px; text-transform:uppercase;
  color:var(--warn); border:1px solid #eab30844; padding:2px 6px; border-radius:999px;
  background:#eab30811; align-self:flex-start;
}

/* Priya pill — big friendly number */
.priya-pill .hero {
  font-size: 28px; font-weight: 700; color: var(--good); line-height:1.1;
}
.priya-pill .msg {
  font-size: 13px; color: var(--text); line-height:1.45;
}
.priya-pill .sub-line { font-size:11px; color:var(--muted); }

/* Marcus gauge */
.marcus-gauge { position:relative; display:flex; align-items:center; justify-content:center; padding:8px 0; }
.marcus-gauge svg { width: 100%; max-width: 180px; height:auto; }
.marcus-gauge .hero {
  position:absolute; top:55%; left:50%; transform:translate(-50%,-50%);
  font-size:22px; font-weight:700; color:var(--text);
}
.marcus-gauge .hero-sub {
  position:absolute; top:72%; left:50%; transform:translate(-50%,-50%);
  font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.5px;
}

/* Split chart */
.split-chart-wrap { position:relative; height:220px; }

/* WASTE pane (F13) */
.pane-waste .waste-head {
  display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap;
}
.pane-waste .waste-controls { display:flex; gap:4px; }
.pane-waste .btn.small {
  font-size:10px; padding:3px 8px; border-radius:6px;
  background:var(--panel); color:var(--muted); border:1px solid var(--border); cursor:pointer;
}
.pane-waste .btn.small.active {
  color:var(--accent); border-color:var(--accent); background:var(--panel2);
}
.pane-waste .waste-summary {
  font-size:12px; color:var(--text); background:var(--panel);
  border-left:3px solid var(--warn); padding:6px 10px; border-radius:4px;
}
.pane-waste .waste-empty {
  padding:16px 8px; color:var(--good); font-size:12px;
  background:#22c55e11; border:1px dashed #22c55e44; border-radius:6px;
}
.pane-waste .waste-table {
  width:100%; border-collapse:collapse; font-size:12px; margin-top:4px;
}
.pane-waste .waste-table th, .pane-waste .waste-table td {
  padding:6px 8px; border-bottom:1px solid var(--border); text-align:left;
}
.pane-waste .waste-table th {
  color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.4px;
}
.pane-waste .waste-table td.num, .pane-waste .waste-table th.num {
  text-align:right; font-variant-numeric:tabular-nums;
}
.pane-waste .waste-row { cursor:pointer; transition: background .15s; }
.pane-waste .waste-row:hover { background: var(--panel); }
.pane-waste .waste-row code { font-size:11px; color:var(--muted); }

/* Amortization pane (F14) */
.pane-amort .amort-empty {
  padding:16px 8px; color:var(--muted); font-size:12px;
  background:var(--panel); border:1px dashed var(--border); border-radius:6px;
  text-align:center;
}
.pane-amort .amort-table {
  width:100%; border-collapse:collapse; font-size:12px; margin-top:4px;
}
.pane-amort .amort-table th, .pane-amort .amort-table td {
  padding:6px 8px; border-bottom:1px solid var(--border); text-align:left;
}
.pane-amort .amort-table th {
  color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.4px;
}
.pane-amort .amort-table td.num, .pane-amort .amort-table th.num {
  text-align:right; font-variant-numeric:tabular-nums;
}
.pane-amort .pill { display:inline-block; padding:2px 8px; border-radius:999px; font-size:10px; }
.pane-amort .pill.good { color:var(--good); border:1px solid #22c55e44; background:#22c55e11; }
.pane-amort .pill.warn { color:var(--warn); border:1px solid #eab30844; background:#eab30811; }
.pane-amort .pill.bad  { color:var(--bad);  border:1px solid #ef444444; background:#ef444411; }

