.dm12-wrap { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
.dm12-card {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
  margin: 12px 0;
}
.dm12-head h2 { margin: 0 0 6px 0; }
.dm12-sub { opacity: .8; font-size: 13px; }
label { display:block; font-size: 12px; opacity: .8; margin-bottom: 4px; }

input[type="text"], input[type="number"], select {
  width: 100%;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 10px;
  padding: 10px;
  font-size: 14px;
  background: #fff;
}
.dm12-actions { display:flex; gap: 8px; justify-content: flex-end; align-items: end; }
.dm12-grid3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 10px;
  align-items: end;
}
@media (max-width: 980px) {
  .dm12-grid3 { grid-template-columns: 1fr; }
}

.dm12-btn {
  border: 1px solid rgba(0,0,0,.18);
  background: #111;
  color:#fff;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  font-size: 14px;
}
.dm12-btn:hover { opacity: .92; }
.dm12-btn-ghost { background: #fff; color:#111; }
.dm12-btn-danger { background: #b00020; }

.dm12-status { margin-top: 10px; font-size: 12px; opacity: .8; }

.dm12-tabs { display:flex; gap: 8px; flex-wrap: wrap; }
.dm12-tab {
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  font-size: 14px;
}
.dm12-tab.is-active { background: #111; color: #fff; }

.dm12-panels-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 980px) { .dm12-panels-grid { grid-template-columns: 1fr; } }

.dm12-section h3 { margin: 0 0 10px 0; }

.dm12-ui { display:grid; gap: 10px; }
.dm12-slider {
  display: grid;
  grid-template-columns: 1fr 1.6fr 56px;
  gap: 10px;
  align-items: center;
}
.dm12-slider input[type="range"] { width: 100%; }
.dm12-val { text-align:right; font-variant-numeric: tabular-nums; opacity: .85; }

.dm12-row { display:flex; gap: 10px; align-items:center; flex-wrap: wrap; margin-top: 10px; }
.dm12-note { opacity: .8; font-size: 12px; margin-top: 10px; }
hr { border: 0; border-top: 1px solid rgba(0,0,0,.10); margin: 14px 0; }

.dm12-checks { display:flex; gap: 14px; flex-wrap: wrap; margin-top: 10px; }
.dm12-empty { opacity: .75; padding: 6px 2px; }

.dm12-list { display:grid; gap: 10px; margin-top: 10px; }
.dm12-item {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 10px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
}
.dm12-name { font-weight: 650; }
.dm12-meta { font-size: 12px; opacity: .75; margin-top: 2px; }
.dm12-btns { display:flex; gap: 8px; flex-wrap: wrap; justify-content:flex-end; }
