@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Inter:wght@400;500;600&display=swap");

:root {
  --diin-ink: #2b303a;
  --diin-clay: #d64933;
  --diin-green: #0c7c59;
  --diin-soft: #f6f7f8;
  --diin-border: #e5e8ec;
  --diin-muted: #68717d;
}

body {
  background:
    linear-gradient(135deg, rgba(12, 124, 89, 0.08), rgba(214, 73, 51, 0.05) 42%, rgba(43, 48, 58, 0.04)),
    var(--diin-soft) !important;
  color: var(--diin-ink);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.form-label,
.control-label {
  color: var(--diin-ink);
}

h1,
h2,
h3,
h4,
h5,
h6,
.fw-500,
.form-label,
.control-label {
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
  color: var(--diin-green);
}

a:hover {
  color: #095f44;
}

.register-shell {
  min-height: 100vh;
}

.register-container {
  width: 80%;
  max-width: 1180px;
}

.register-logo {
  height: 64px;
  width: auto;
}

.register-card {
  border: 1px solid rgba(43, 48, 58, 0.08) !important;
  border-radius: 8px;
  box-shadow: 0 1.5rem 4rem rgba(43, 48, 58, 0.12) !important;
}

.register-card::before {
  display: block;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--diin-green), var(--diin-clay));
  border-radius: 8px 8px 0 0;
  content: "";
}

.text-muted {
  color: var(--diin-muted) !important;
}

.btn-teal,
.btn-primary,
.btn-brand {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--diin-green);
  --bs-btn-border-color: var(--diin-green);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #095f44;
  --bs-btn-hover-border-color: #095f44;
  --bs-btn-focus-shadow-rgb: 12, 124, 89;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #084f39;
  --bs-btn-active-border-color: #084f39;
  border-radius: 8px;
  color: #fff;
}

.btn-teal:hover,
.btn-primary:hover,
.btn-brand:hover,
.btn-teal:focus,
.btn-primary:focus,
.btn-brand:focus,
.btn-teal:active,
.btn-primary:active,
.btn-brand:active {
  color: #fff;
}

.btn-outline-secondary {
  --bs-btn-color: var(--diin-ink);
  --bs-btn-border-color: #cbd0d6;
  --bs-btn-hover-bg: var(--diin-ink);
  --bs-btn-hover-border-color: var(--diin-ink);
  --bs-btn-hover-color: #fff;
  border-radius: 8px;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
  color: #fff;
}

.form-control,
.form-select,
.form-control-solid {
  border-color: var(--diin-border);
  border-radius: 8px;
  background-color: #fbfcfd;
  color: var(--diin-ink);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--diin-green);
  box-shadow: 0 0 0 0.2rem rgba(12, 124, 89, 0.14);
}

.register-step {
  border: 1px solid var(--diin-border);
  border-radius: 8px;
  background: #fff;
  color: var(--diin-muted);
}

.register-step.is-current {
  border-color: var(--diin-ink);
  background: var(--diin-ink);
  color: #fff;
}

.register-step.is-current .fw-500,
.register-step.is-current * {
  color: #fff;
}

.register-step.is-complete {
  border-color: var(--diin-green);
  background: rgba(12, 124, 89, 0.11);
  color: var(--diin-green);
}

.brand-panel {
  border: 1px solid var(--diin-border);
  border-left: 4px solid var(--diin-clay);
  border-radius: 8px;
  background: #fff;
}

.brand-summary {
  border: 1px solid var(--diin-border);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f9fafb);
}

.plan-option {
  border: 1px solid var(--diin-border) !important;
  border-radius: 8px;
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.plan-option:hover,
.plan-option:has(.form-check-input:checked) {
  border-color: var(--diin-green) !important;
  box-shadow: 0 1rem 2rem rgba(12, 124, 89, 0.12) !important;
  transform: translateY(-1px);
}

.form-check-input:checked {
  background-color: var(--diin-green);
  border-color: var(--diin-green);
}

.alert-success {
  border-color: rgba(12, 124, 89, 0.22);
  background-color: rgba(12, 124, 89, 0.09);
  color: #095f44;
}

.icon-stack.bg-teal,
.icon-stack.bg-primary {
  background-color: var(--diin-green) !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  .register-container {
    width: 94%;
  }

  .register-logo {
    height: 52px;
  }
}
