/* Form input styles — used in settings and modals */ .form-group { margin-bottom: var(--space-md); } .form-label { display: block; font-size: var(--font-size-sm); font-weight: 600; color: var(--text); margin-bottom: 6px; } .form-label-sub { font-size: var(--font-size-xs); color: var(--text-muted); font-weight: 400; margin-left: 4px; } .form-input { width: 100%; padding: 8px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: var(--font-size-base); font-family: var(--font); color: var(--text); background: var(--card-bg); outline: none; transition: border-color 0.15s; } .form-input:focus { border-color: var(--cobalt); box-shadow: 0 0 0 3px rgba(76,0,255,0.08); } .form-input:disabled { background: var(--ecru); color: var(--text-muted); cursor: not-allowed; } .form-input.error { border-color: var(--error); } .form-input-mono { font-family: var(--font-mono); font-size: var(--font-size-sm); } .form-hint { font-size: var(--font-size-xs); color: var(--text-muted); margin-top: 4px; } .form-error { font-size: var(--font-size-xs); color: var(--error); margin-top: 4px; min-height: 16px; } /* ── Toggle setting row ── */ .setting-row { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--border); } .setting-row:last-child { border-bottom: none; } .setting-body { flex: 1; } .setting-label { font-weight: 600; font-size: var(--font-size-base); } .setting-desc { font-size: var(--font-size-sm); color: var(--text-muted); margin-top: 2px; line-height: 1.5; } .setting-control { flex-shrink: 0; } /* ── Settings section ── */ .settings-section { background: var(--card-bg); border: 1px solid var(--border); border-radius: var(--radius-md); margin-bottom: var(--space-md); overflow: hidden; } .settings-section-header { padding: 14px 20px; border-bottom: 1px solid var(--border); background: #FAFBFC; } .settings-section-title { font-size: var(--font-size-md); font-weight: 700; } .settings-section-sub { font-size: var(--font-size-sm); color: var(--text-muted); margin-top: 2px; } .settings-section-body { padding: 6px 20px; } /* ── Connection info card ── */ .conn-info-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); font-size: var(--font-size-base); } .conn-info-row:last-child { border-bottom: none; } .conn-info-label { width: 160px; color: var(--text-muted); font-size: var(--font-size-sm); flex-shrink: 0; } .conn-info-value { flex: 1; font-family: var(--font-mono); font-size: var(--font-size-sm); } .conn-info-status { flex-shrink: 0; } /* ── Number input ── */ input[type="number"].form-input { -moz-appearance: textfield; } input[type="number"].form-input::-webkit-outer-spin-button, input[type="number"].form-input::-webkit-inner-spin-button { -webkit-appearance: none; }