/* Forms */
.form-control,
.form-select,
input.form-control,
select.form-select,
textarea.form-control {
  min-height: 46px !important;
  border-radius: 12px !important;
  border-color: var(--msp-border) !important;
  font-size: 14px !important;
  padding: 0.65rem 0.9rem !important;
  background: #fff !important;
  color: var(--msp-text) !important;
  box-shadow: none !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

textarea.form-control {
  min-height: 110px !important;
}

.form-control:focus,
.form-select:focus {
  border-color: #93C5FD !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
}

.form-label,
label.form-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  margin-bottom: 6px !important;
}

.form-check-input {
  border-radius: 6px !important;
  border-color: #CBD5E1 !important;
}

.form-check-input:checked {
  background-color: var(--msp-primary) !important;
  border-color: var(--msp-primary) !important;
}

.msp-filter-bar {
  background: #fff;
  border: 1px solid var(--msp-border);
  border-radius: var(--msp-radius);
  padding: 16px;
  box-shadow: var(--msp-shadow);
  margin-bottom: 16px;
}

.msp-input-icon {
  position: relative;
}

.msp-input-icon > i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--msp-muted);
  z-index: 2;
}

.msp-input-icon .form-control {
  padding-left: 40px !important;
}

/* Auth pages */
.msp-auth-wrap {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 16px;
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(37, 99, 235, 0.12), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(22, 163, 74, 0.08), transparent 55%),
    var(--msp-bg);
}

.msp-auth-card {
  width: min(440px, 100%);
  background: #fff;
  border: 1px solid var(--msp-border);
  border-radius: 20px;
  box-shadow: var(--msp-shadow-hover);
  padding: 32px;
}

.msp-auth-card--wide { width: min(640px, 100%); }

.msp-auth-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.msp-auth-brand__logo {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, #3B82F6, #2563EB);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
}
