.gm2-dashboard-settings {
  display: grid;
  gap: 14px;
  margin-top: 14px;
  container-type: inline-size;
}
.overlay-settings-status-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid #35333e;
  border-radius: 10px;
  background: #101015;
}
.overlay-settings-status-pill { font-size: 12px; font-weight: 700; color: #817b87; }
.overlay-settings-status-pill[data-status="saving"] { color: #ffd27a; }
.overlay-settings-status-pill[data-status="saved"] { color: #7fe3a8; }
.overlay-settings-status-pill[data-status="error"] { color: #ff8b8b; }
.overlay-settings-reset-btn {
  margin-left: auto;
  min-height: 30px;
  padding: 6px 12px;
  border: 1px solid #5a2c38;
  border-radius: 6px;
  background: transparent;
  color: #ff9bbd;
  font-size: 12px;
  cursor: pointer;
}
.overlay-settings-reset-btn:hover:not(:disabled) { background: #35252e; }
.overlay-settings-reset-btn:disabled { opacity: .5; cursor: wait; }
.gm2-stale-bar {
  padding: 9px 12px;
  border: 1px solid rgba(255, 196, 87, .4);
  border-radius: 10px;
  background: rgba(255, 196, 87, .1);
  color: #ffd27a;
  font-size: 12px;
  font-weight: 700;
}
.gm2-stale-bar[hidden] { display: none; }
.overlay-settings-stale-bar {
  padding: 9px 12px;
  border: 1px solid rgba(255, 196, 87, .4);
  border-radius: 10px;
  background: rgba(255, 196, 87, .1);
  color: #ffd27a;
  font-size: 12px;
  font-weight: 700;
}
.overlay-settings-stale-bar[hidden] { display: none; }
.gm2-dashboard-section {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #35333e;
  border-radius: 12px;
  background: #17161c;
}
.gm2-dashboard-section > h4 {
  margin: 0;
  color: #fff;
  font-size: 14px;
}
.gm2-dashboard-section > p {
  margin: -4px 0 0;
  color: #918d9c;
  font-size: 11px;
  line-height: 1.45;
}
.gm2-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.gm2-dashboard-field {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.gm2-dashboard-field > label {
  display: block;
  margin: 0;
  color: #aaa6b4;
  font-size: 11px;
  line-height: 1.35;
}
.gm2-dashboard-field input[type="text"],
.gm2-dashboard-field select {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 11px;
  border: 1px solid #403d49;
  border-radius: 8px;
  background: #0f0e13;
  color: #fff;
}
.gm2-dashboard-color {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 7px;
  align-items: center;
}
.gm2-dashboard-color input[type="color"] {
  width: 44px;
  height: 40px;
  padding: 3px;
  border: 1px solid #403d49;
  border-radius: 8px;
  background: #0f0e13;
}
.gm2-dashboard-range {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  gap: 8px;
  align-items: center;
}
.gm2-dashboard-range input { width: 100%; accent-color: #ff3979; }
.gm2-dashboard-range output { color: #d5d1dc; font-size: 11px; text-align: right; }
.gm2-catalog-picker { position: relative; }
.gm2-catalog-trigger {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid #403d49;
  border-radius: 9px;
  background: #0e0d12;
  color: #f7f4fa;
  font: 700 12px "Noto Sans Thai", Tahoma, sans-serif;
  text-align: left;
  cursor: pointer;
}
.gm2-catalog-trigger:hover,
.gm2-catalog-trigger[aria-expanded="true"] { border-color: #ff3979; }
.gm2-catalog-trigger:focus-visible,
.gm2-catalog-option:focus-visible { outline: 2px solid #25f4ee; outline-offset: 2px; }
.gm2-catalog-trigger > span {
  color: inherit;
  font: inherit;
  word-break: normal;
}
.gm2-chevron { flex: 0 0 auto; }
.gm2-catalog-panel {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 9px;
  margin-top: 7px;
  padding: 10px;
  border: 1px solid #474250;
  border-radius: 10px;
  background: #101014;
  box-shadow: 0 12px 28px rgba(0,0,0,.34);
}
.gm2-catalog-panel[hidden],
.gm2-selected-panel[hidden] { display: none; }
.gm2-catalog-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.gm2-catalog-head strong { color: #fff; font-size: 12px; }
.gm2-catalog-head span { color: #8f8a98; font: 500 10px "Noto Sans Thai", Tahoma, sans-serif; }
.gm2-catalog-panel input[type="search"] {
  width: 100%;
  height: 40px;
  padding: 0 11px;
  border: 1px solid #ff3979;
  border-radius: 8px;
  background: #09090c;
  color: #fff;
}
.gm2-catalog-options {
  display: grid;
  gap: 4px;
  max-height: 330px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.gm2-catalog-option {
  width: 100%;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.gm2-catalog-option:hover { border-color: #4a4553; background: #19171e; }
.gm2-catalog-option:disabled { opacity: .42; cursor: default; }
.gm2-catalog-option img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}
.gm2-catalog-option strong,
.gm2-catalog-option small { display: block; }
.gm2-catalog-option strong { color: #fff; font-size: 12px; }
.gm2-catalog-option small { margin-top: 2px; color: #85e9ff; font-size: 10px; }
.gm2-selected-trigger { margin-top: 2px; }
.gm2-selected-panel {
  max-height: 560px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid #393541;
  border-radius: 10px;
  background: #0d0c10;
  scrollbar-width: thin;
}
.gm2-item-list { display: grid; gap: 7px; }
.gm2-item-card {
  display: grid;
  gap: 10px;
  padding: 10px;
  border: 1px solid #383541;
  border-radius: 10px;
  background: #151319;
}
.gm2-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  padding-bottom: 9px;
  border-bottom: 1px solid #302d36;
}
.gm2-item-identity {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-width: 0;
}
.gm2-item-identity > img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  border-radius: 50%;
  background: #28232f;
}
.gm2-item-meta { min-width: 0; }
.gm2-item-body { display: grid; gap: 10px; min-width: 0; }
.gm2-item-name {
  overflow: hidden;
  color: #f4f1f7;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gm2-item-price { margin-top: 2px; color: #75dbf0; font-size: 10px; }
.studio-settings-panel .gm2-item-body .gm2-dashboard-field input[type="text"] {
  height: 36px;
  min-height: 36px;
  margin: 0;
}
.gm2-item-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 4px;
}
.gm2-item-actions .small-btn {
  min-width: 31px;
  height: 31px;
  padding: 0 8px;
  border-radius: 7px;
}
.gm2-item-actions .small-btn:disabled {
  opacity: .32;
  cursor: default;
}
.gm2-audio-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  align-items: center;
}
.studio-settings-panel .gm2-audio-row select,
.studio-settings-panel .gm2-audio-row button {
  width: 100%;
  min-width: 0;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 0 9px;
  border-radius: 7px;
}
.gm2-audio-toggle {
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid #403d49;
  border-radius: 7px;
  background: #0f0e13;
  color: #c8c3cf;
  font-size: 11px;
  white-space: nowrap;
}
.gm2-audio-toggle input {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  min-height: 0;
  margin: 0;
  padding: 0;
  accent-color: #ff3979;
}
.gm2-sound-test:nth-child(3) { grid-column: 1 / -1; }
.gm2-volume-field {
  padding-top: 7px;
  border-top: 1px solid #302d36;
}
.studio-settings-panel .gm2-volume-field input[type="range"] {
  min-height: 28px;
  margin: 0;
  padding: 0;
}
.gm2-audio-file { display: none; }
.gm2-preview-frame {
  display: block;
  width: 100%;
  height: 330px;
  border: 1px solid #34313b;
  border-radius: 12px;
  background: repeating-conic-gradient(#25242b 0 25%, #1e1d23 0 50%) 50% / 14px 14px;
}
.gm2-empty {
  padding: 12px;
  border: 1px dashed #403c48;
  border-radius: 9px;
  color: #918d9c;
  font-size: 12px;
  text-align: center;
}
@container (max-width: 440px) {
  .gm2-dashboard-grid { grid-template-columns: 1fr; }
  .gm2-item-identity { grid-template-columns: 40px minmax(0, 1fr); }
  .gm2-item-identity > img { width: 40px; height: 40px; }
}
@media (max-width: 680px) {
  .gm2-dashboard-grid { grid-template-columns: 1fr; }
}
