.cttm-wrap{
  --bg-base:#17191A; --bg-panel:#212426; --bg-raised:#2A2E30; --line:#3A3E40;
  --yellow:#F2B705; --rust:#B5482A; --green:#7FA65C; --text:#EDEBE4; --muted:#9B9D9C;
  font-family: 'IBM Plex Sans', -apple-system, sans-serif;
  color: var(--text);
  max-width: 1080px;
  margin: 0 auto;
}
.cttm-wrap *{ box-sizing:border-box; }

.cttm-plate{
  border:1px solid var(--line);
  background:linear-gradient(180deg, #24272a, #1c1f21);
  border-radius:6px; padding:16px 20px; margin-bottom:16px;
  position:relative; overflow:hidden;
}
.cttm-plate::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:8px;
  background:repeating-linear-gradient(-45deg, var(--yellow) 0 10px, #1c1f21 10px 20px);
}
.cttm-eyebrow{ font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:.16em; color:var(--muted); padding-left:16px; }
.cttm-h1{ font-size:24px; letter-spacing:.02em; margin:2px 0 2px 16px; text-transform:uppercase; color:var(--text); }
.cttm-sub{ padding-left:16px; color:var(--muted); font-size:13.5px; max-width:640px; margin:0; }

.cttm-toolbar{
  display:flex; flex-wrap:wrap; gap:14px; background:var(--bg-panel);
  border:1px solid var(--line); border-radius:6px; padding:14px 16px; margin-bottom:16px;
}
.cttm-field-inline{ display:flex; flex-direction:column; gap:4px; font-size:12.5px; }
.cttm-field-inline select, .cttm-field-inline input[type=text]{
  background:var(--bg-raised); border:1px solid var(--line); color:var(--text);
  padding:7px 8px; border-radius:4px; font-family:'IBM Plex Mono', monospace; font-size:13px;
}

.cttm-grid{ display:grid; grid-template-columns: 1.15fr 0.85fr; gap:16px; }
@media (max-width: 860px){ .cttm-grid{ grid-template-columns:1fr; } }

.cttm-card{ background:var(--bg-panel); border:1px solid var(--line); border-radius:6px; padding:18px 20px; }
.cttm-card h3{ font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--yellow); margin:0 0 4px 0; }
.cttm-desc{ color:var(--muted); font-size:12px; margin:0 0 14px 0; }

.cttm-field{ margin-bottom:12px; }
.cttm-field label{ display:flex; justify-content:space-between; align-items:baseline; font-size:12.5px; margin-bottom:5px; }
.cttm-val{ font-family:'IBM Plex Mono', monospace; color:var(--yellow); font-size:12.5px; }

.cttm-input-row{ display:flex; align-items:center; gap:8px; }
.cttm-input-row input[type=range]{ flex:1 1 auto; accent-color:var(--yellow); min-width:0; }
.cttm-input-row input[type=number]{ width:110px; flex:0 0 auto; }
.cttm-input-row input[type=number].pct{ width:64px; }

.cttm-field input[type=number]{
  background:var(--bg-raised); border:1px solid var(--line); color:var(--text);
  font-family:'IBM Plex Mono', monospace; font-size:12.5px; padding:7px 8px; border-radius:4px;
}
.cttm-hint{ font-size:11px; color:var(--muted); margin:6px 0 4px; }
.cttm-divider{ border:none; border-top:1px dashed var(--line); margin:16px 0; }

.cttm-gauge-wrap{ text-align:center; }
.cttm-gauge-value{ font-family:'IBM Plex Mono', monospace; font-size:32px; font-weight:600; color:var(--yellow); margin-top:-14px; }
.cttm-gauge-label{ font-size:11px; letter-spacing:.12em; color:var(--muted); text-transform:uppercase; }

.cttm-stat-row{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:13px; }
.cttm-stat-row:last-child{ border-bottom:none; }
.cttm-num{ font-family:'IBM Plex Mono', monospace; font-weight:600; }
.cttm-num.pos{ color:var(--green); }
.cttm-num.cost{ color:var(--rust); }
.cttm-num.rate{ color:var(--yellow); }

.cttm-btn{
  margin-top:16px; width:100%; padding:11px; border:none; border-radius:4px;
  background:var(--yellow); color:#1c1f21; font-weight:600; letter-spacing:.03em;
  cursor:pointer; font-size:13.5px;
}
.cttm-btn:hover{ filter:brightness(1.08); }
.cttm-save-msg{ font-size:12px; color:var(--green); margin-top:8px; min-height:16px; }

.cttm-table{ width:100%; border-collapse:collapse; font-size:13px; }
.cttm-table th, .cttm-table td{ text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); }
.cttm-table th{ color:var(--muted); font-weight:500; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; }
.cttm-table td.num{ font-family:'IBM Plex Mono', monospace; }
