.settings-group {
  margin: 0 0 25px;
  padding: 0 0 22px;
  border-bottom: 1px solid #edebe9;
}
.settings-group:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.settings-group h4 {
  margin: 0 0 15px;
  color: #323130;
  font-size: 12px;
  font-weight: 600;
}
.settings-group label:last-child { margin-bottom: 0; }

.mvwizos-connection input {
  color: #242424;
  background: #fff;
}
.settings-secret-field {
  display: flex;
  gap: 8px;
  min-width: 0;
}
.settings-secret-field input { flex: 1; min-width: 0; }
.settings-secret-field button {
  flex: 0 0 auto;
  padding: 0 12px;
  border: 1px solid #a4262c;
  border-radius: 2px;
  color: #a4262c;
  background: #fff;
  font: 600 11px "Segoe UI", sans-serif;
  cursor: pointer;
}
.settings-secret-field button:hover { color: #fff; background: #a4262c; }
.settings-check-field {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #484644;
  font-weight: 400;
}
.settings-content .settings-check-field input { width: 16px; height: 16px; margin: 0; }
.model-setting-description {
  margin: -7px 0 18px 198px;
  padding: 9px 11px;
  border-left: 3px solid #8a8886;
  color: #605e5c;
  background: #faf9f8;
  font-size: 11px;
  line-height: 1.5;
}
.mvwizos-connection-state {
  margin: 4px 0 18px 198px;
  color: #605e5c;
  font-size: 12px;
}
.mvwizos-connection-state.configured { color: #107c10; }
.mvwizos-connection-state.error { color: #a4262c; }
.mvwizos-connection code {
  color: #005a9e;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}
.mvwizos-disconnect-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-left: 198px;
  padding: 12px;
  border: 1px solid #f1c7c9;
  background: #fff7f7;
}
.settings-content .mvwizos-disconnect-row p { margin: 0; color: #605e5c; line-height: 1.5; }
.mvwizos-disconnect-row button {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid #a4262c;
  border-radius: 2px;
  color: #a4262c;
  background: #fff;
  font: 600 11px "Segoe UI", sans-serif;
  cursor: pointer;
}
.mvwizos-disconnect-row button:hover { color: #fff; background: #a4262c; }
.mvwizos-disconnect-row button:disabled { opacity: .5; cursor: default; }
.settings-modal-footer span.error { color: #a4262c; }
@media(max-width:650px) {
  .mvwizos-connection-state { margin-left: 0; }
  .settings-secret-field { width: 100%; }
  .model-setting-description { margin-left: 0; }
  .mvwizos-disconnect-row { align-items: flex-start; flex-direction: column; margin-left: 0; }
}

.settings-modal { width:min(1040px,calc(100vw - 40px)); height:min(720px,calc(100vh - 40px)); }
.settings-modal-body { grid-template-columns:220px 1fr; }
.settings-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.settings-panel-heading p { margin-bottom:0; }
.settings-primary { padding:8px 13px; border:1px solid #0078d4; border-radius:2px; color:#fff; background:#0078d4; font:600 12px "Segoe UI",sans-serif; cursor:pointer; white-space:nowrap; }
.settings-primary:hover { background:#106ebe; }
.settings-primary:disabled { opacity:.55; cursor:default; }
.app-server-form { margin:0 0 22px; padding:18px; border:1px solid #c7e0f4; background:#f5f9fd; }
.app-server-form[hidden] { display:none; }
.app-server-form h4 { margin:0 0 18px; font-size:13px; }
.app-server-model-status { display:block; min-height:16px; margin:-8px 0 16px 198px; color:#605e5c; font-size:11px; }
.app-server-model-status.warning { color:#986f0b; }
.app-server-model-status.error { color:#a4262c; }
.app-server-form-actions { display:flex; justify-content:flex-end; gap:8px; }
.app-server-form-actions button { padding:8px 14px; border:1px solid #c8c6c4; border-radius:2px; background:#fff; cursor:pointer; }
.app-server-form-actions .settings-primary { border-color:#0078d4; color:#fff; background:#0078d4; }
.settings-content .settings-inline-check { display:flex; grid-template-columns:none; gap:9px; margin-left:198px; }
.settings-content .settings-inline-check input { width:16px; height:16px; margin:0; }
.app-server-list,.user-agent-list { display:grid; gap:10px; }
.settings-empty { padding:28px 18px; border:1px dashed #c8c6c4; color:#797775; background:#faf9f8; font-size:12px; text-align:center; }
.app-server-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:15px 16px; border:1px solid #edebe9; background:#fff; }
.app-server-card.disabled { opacity:.68; background:#faf9f8; }
.app-server-summary { display:grid; gap:5px; min-width:0; }
.app-server-summary>div { display:flex; align-items:center; gap:8px; }
.app-server-summary strong { font-size:13px; }
.app-server-summary code { overflow:hidden; color:#005a9e; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.app-server-summary small { color:#605e5c; font-size:11px; }
.app-server-summary .server-last-error { color:#a4262c; white-space:normal; }
.server-status { padding:2px 6px; border-radius:10px; background:#edebe9; font-size:9px; font-weight:700; }
.server-status.online { color:#0b6a0b; background:#dff6dd; }
.server-status.offline { color:#a4262c; background:#fde7e9; }
.app-server-actions { display:flex; gap:6px; }
.app-server-actions button { padding:6px 9px; border:1px solid #c8c6c4; border-radius:2px; color:#323130; background:#fff; font-size:11px; cursor:pointer; }
.app-server-actions button:hover { background:#f3f2f1; }
.app-server-actions button.danger { color:#a4262c; }
.app-server-usage { grid-column:1/-1; display:grid; gap:10px; padding-top:13px; border-top:1px solid #edebe9; opacity:1; }
.app-server-usage>header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.app-server-usage>header strong { font-size:11px; }
.app-server-usage>header button { padding:3px 7px; border:1px solid #c8c6c4; border-radius:2px; color:#605e5c; background:#fff; font-size:10px; cursor:pointer; }
.app-server-usage>header button:disabled { opacity:.5; cursor:default; }
.app-server-usage-body { display:grid; gap:12px; }
.app-server-usage-state { margin:0; color:#797775; font-size:11px; }
.app-server-usage-state.error { color:#a4262c; }
.usage-bucket { display:grid; gap:8px; }
.usage-bucket-title { color:#323130; font-size:11px; }
.usage-window { display:grid; grid-template-columns:minmax(150px,1fr) minmax(180px,2fr) minmax(210px,auto); gap:10px; align-items:center; }
.usage-window-labels { display:flex; justify-content:space-between; gap:8px; color:#605e5c; font-size:10px; }
.usage-window-labels b { color:#107c10; white-space:nowrap; }
.usage-track { overflow:hidden; height:9px; border-radius:8px; background:#edebe9; }
.usage-fill { display:block; height:100%; border-radius:inherit; background:#107c10; transition:width .25s ease; }
.usage-fill.medium { background:#ffb900; }
.usage-fill.low { background:#d13438; }
.usage-window small,.usage-reset-credits { color:#797775; font-size:9px; }
.usage-reset-credits { display:block; }
.user-agent-card { display:grid; grid-template-columns:150px minmax(220px,1fr) 190px auto; gap:16px; align-items:start; padding:16px; border:1px solid #edebe9; }
.user-agent-card header div { display:grid; gap:3px; }
.user-agent-card header strong { font-size:13px; }
.user-agent-card header small { color:#797775; font-size:10px; }
.user-agent-choices { display:grid; gap:7px; }
.settings-content .user-agent-choices label { display:flex; grid-template-columns:none; gap:7px; margin:0; font-weight:400; }
.settings-content .user-agent-choices input { width:15px; height:15px; margin:0; }
.settings-content .user-agent-default { display:grid; grid-template-columns:1fr; gap:5px; margin:0; font-size:10px; }
.user-agent-card>.settings-primary { align-self:end; }
@media(max-width:850px) {
  .user-agent-card { grid-template-columns:1fr; }
  .app-server-card { grid-template-columns:1fr; }
  .app-server-actions { flex-wrap:wrap; }
  .usage-window { grid-template-columns:1fr; gap:5px; }
}
@media(max-width:650px) {
  .settings-panel-heading { display:grid; }
  .settings-content .settings-inline-check { margin-left:0; }
  .app-server-model-status { margin-left:0; }
  .settings-modal-body { grid-template-columns:1fr; }
}
