.sound-settings {
  display: grid;
  grid-template-columns: minmax(230px, .75fr) 1.4fr;
  gap: 26px;
  align-items: center;
}
.rule-head, .rule-row {
  grid-template-columns: 43px 1.1fr .64fr .64fr .78fr .86fr .66fr .88fr 62px 32px;
}
.settings-card { width: min(1280px, 96vw); }
.rule-check { display: grid; place-items: center; }
.rule-check input { position: absolute; opacity: 0; pointer-events: none; }
.rule-check span {
  width: 20px; height: 20px; border: 1px solid #3b4963; border-radius: 6px;
  background: #0c1320; cursor: pointer; position: relative;
}
.rule-check input:checked + span { background: #6255df; border-color: #776af1; }
.rule-check input:checked + span:after {
  content: "✓"; position: absolute; inset: 0; display: grid; place-items: center;
  color: white; font-size: 13px; font-weight: 800;
}
.event-title .symbol {
  padding: 0; border: 0; background: transparent; color: #eef3ff;
  font-weight: 750; text-align: left; cursor: copy;
}
.event-title .symbol:hover { color: #a99fff; text-decoration: underline; }
.sound-copy { display: flex; gap: 13px; align-items: flex-start; }
.sound-icon {
  display: grid; place-items: center; flex: 0 0 auto;
  width: 37px; height: 37px; border-radius: 10px;
  background: #2a254a; color: #a99fff; font-size: 20px;
}
.sound-controls {
  display: grid;
  grid-template-columns: auto minmax(210px, 1fr);
  gap: 10px; align-items: center;
}
.four-hour-settings {
  grid-column: 2; display: grid; grid-template-columns: minmax(250px, 1fr) minmax(190px, .65fr);
  gap: 18px; align-items: center; padding: 4px 0;
}
.four-hour-settings .toggle-row { border-bottom: 0; }
.four-hour-settings .compact-field { gap: 12px; margin: 0; }
.four-hour-sound-row { display: grid; grid-template-columns: minmax(150px, 1fr) auto; gap: 8px; align-items: center; }
.four-hour-sound-row button { border: 0; border-radius: 7px; padding: 8px 9px; background: #292447; color: #dcd8ff; cursor: pointer; }
.four-hour-settings select {
  width: 100%; background: #0c1320; color: #eaf0fc; border: 1px solid #2a3650;
  border-radius: 7px; padding: 8px; outline: none;
}
.upload-sound input { display: none; }
.upload-sound span {
  display: block; background: #6859e6; color: #fff; border-radius: 8px;
  padding: 9px 13px; font-weight: 700; white-space: nowrap; cursor: pointer;
}
.volume-control {
  display: grid; grid-template-columns: auto 1fr 38px; gap: 8px;
  align-items: center; color: #9ca8bc; font-size: 12px;
}
.volume-control input { accent-color: #7365f5; min-width: 70px; }
.volume-control output { color: #d9e0ee; }
.sound-library { grid-column: 2; display: grid; gap: 7px; }
.sound-empty { color: #77849a; padding: 10px 0; }
.sound-item {
  display: grid; grid-template-columns:minmax(100px,1fr) auto auto auto;
  gap: 8px; align-items: center; padding: 9px 10px;
  border: 1px solid #2a3650; background: #101726; border-radius: 9px;
}
.sound-item-info { display:flex; flex-direction:column; min-width:0; }
.sound-item-info b, .sound-item-info small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sound-item-info small { color:#77849a; margin-top:3px; }
.sound-item button { border:0; border-radius:7px; padding:7px 9px; cursor:pointer; }
.sound-play { background:#292447; color:#dcd8ff; }
.sound-delete { background:transparent; color:#ff6c83; }
.sound-permission { grid-column: 2; margin-top: -12px !important; font-size: 11px; }
.danger { color: #ff6c83 !important; }
.monitor-tools #sound-toggle.sound-off { color: #ff6c83; }
.profile-list { display: grid; gap: 9px; }
.network-hint { margin: -4px 0 14px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.user-profile {
  display: grid; grid-template-columns: minmax(120px, .7fr) minmax(220px, 1.5fr) auto;
  gap: 10px; align-items: center; padding: 11px;
  border: 1px solid #2a3650; background: #101726; border-radius: 9px;
}
.user-profile-info { display: flex; flex-direction: column; gap: 4px; }
.user-profile-info small { color: #7d899f; }
.user-profile-codes { display: grid; gap: 5px; min-width: 0; }
.user-profile-codes code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #aaa1ff; }
.user-profile-actions { display: flex; gap: 6px; }
.user-profile-actions button { border: 0; border-radius: 7px; padding: 7px 9px; background: #292447; color: #dcd8ff; cursor: pointer; }
@media (max-width: 1050px) {
  .sound-settings { grid-template-columns: 1fr; }
  .sound-controls { grid-template-columns: auto 1fr; }
  .volume-control { grid-column: 1 / -1; }
  .sound-permission { grid-column: 1; }
  .sound-library { grid-column: 1; }
  .four-hour-settings { grid-column: 1; }
}
@media (max-width: 620px) {
  .sound-controls { grid-template-columns: 1fr 1fr; }
  .volume-control { grid-column: 1 / -1; }
  .upload-sound span { text-align: center; }
  .user-profile { grid-template-columns: 1fr; }
  .four-hour-settings { grid-template-columns: 1fr; gap: 4px; }
}
