:root {
  --background: #f8f9fa;
  --foreground: #0c0c1d;
  --card: #ffffff;
  --card-foreground: #0c0c1d;
  --popover: #ffffff;
  --popover-foreground: #0c0c1d;
  --primary: #ff00c8;
  --primary-foreground: #ffffff;
  --secondary: #f0f0ff;
  --secondary-foreground: #0c0c1d;
  --muted: #f0f0ff;
  --muted-foreground: #0c0c1d;
  --accent: #00ffcc;
  --accent-foreground: #0c0c1d;
  --destructive: #ff3d00;
  --destructive-foreground: #ffffff;
  --border: #dfe6e9;
  --input: #dfe6e9;
  --ring: #ff00c8;
  --chart-1: oklch(0.6726 0.2904 341.4084);
  --chart-2: oklch(0.5488 0.2944 299.0954);
  --chart-3: oklch(0.8442 0.1457 209.2851);
  --chart-4: oklch(0.8903 0.1739 171.2690);
  --chart-5: oklch(0.9168 0.1915 101.4070);
  --sidebar: oklch(0.9595 0.0200 286.0164);
  --sidebar-foreground: oklch(0.1649 0.0352 281.8285);
  --sidebar-primary: oklch(0.6726 0.2904 341.4084);
  --sidebar-primary-foreground: oklch(1.0000 0 0);
  --sidebar-accent: oklch(0.8903 0.1739 171.2690);
  --sidebar-accent-foreground: oklch(0.1649 0.0352 281.8285);
  --sidebar-border: oklch(0.9205 0.0086 225.0878);
  --sidebar-ring: oklch(0.6726 0.2904 341.4084);
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: Fira Code, monospace;
  --radius: 0.5rem;
  --shadow-2xs: 0px 4px 8px -2px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0px 4px 8px -2px hsl(0 0% 0% / 0.05);
  --shadow-sm: 0px 4px 8px -2px hsl(0 0% 0% / 0.10), 0px 1px 2px -3px hsl(0 0% 0% / 0.10);
  --shadow: 0px 4px 8px -2px hsl(0 0% 0% / 0.10), 0px 1px 2px -3px hsl(0 0% 0% / 0.10);
  --shadow-md: 0px 4px 8px -2px hsl(0 0% 0% / 0.15), 0px 2px 4px -3px hsl(0 0% 0% / 0.15);
  --shadow-lg: 0px 4px 8px -2px hsl(0 0% 0% / 0.20), 0px 4px 6px -3px hsl(0 0% 0% / 0.20);
  --shadow-xl: 0px 4px 8px -2px hsl(0 0% 0% / 0.10), 0px 8px 10px -3px hsl(0 0% 0% / 0.10);
  --shadow-2xl: 0px 4px 8px -2px hsl(0 0% 0% / 0.25);

  /* Derived utility variables */
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);

  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  --shadow-2xs: var(--shadow-2xs);
  --shadow-xs: var(--shadow-xs);
  --shadow-sm: var(--shadow-sm);
  --shadow: var(--shadow);
  --shadow-md: var(--shadow-md);
  --shadow-lg: var(--shadow-lg);
  --shadow-xl: var(--shadow-xl);
  --shadow-2xl: var(--shadow-2xl);
}

.dark {
  --background: #0c0c1d;
  --foreground: #f8f9fa;
  --card: #1a1a2a;
  --card-foreground: #f8f9fa;
  --popover: #1a1a2a;
  --popover-foreground: #f8f9fa;
  --primary: #ff00c8;
  --primary-foreground: #ffffff;
  --secondary: #292940;
  --secondary-foreground: #f8f9fa;
  --muted: #292940;
  --muted-foreground: #c5c5d6;
  --accent: #00ffcc;
  --accent-foreground: #0c0c1d;
  --destructive: #ff3d00;
  --destructive-foreground: #ffffff;
  --border: #44475a;
  --input: #44475a;
  --ring: #ff00c8;
  --chart-1: oklch(0.6726 0.2904 341.4084);
  --chart-2: oklch(0.5488 0.2944 299.0954);
  --chart-3: oklch(0.8442 0.1457 209.2851);
  --chart-4: oklch(0.8903 0.1739 171.2690);
  --chart-5: oklch(0.9168 0.1915 101.4070);
  --sidebar: oklch(0.1649 0.0352 281.8285);
  --sidebar-foreground: oklch(0.9513 0.0074 260.7315);
  --sidebar-primary: oklch(0.6726 0.2904 341.4084);
  --sidebar-primary-foreground: oklch(1.0000 0 0);
  --sidebar-accent: oklch(0.8903 0.1739 171.2690);
  --sidebar-accent-foreground: oklch(0.1649 0.0352 281.8285);
  --sidebar-border: oklch(0.3279 0.0832 280.7890);
  --sidebar-ring: oklch(0.6726 0.2904 341.4084);
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: Fira Code, monospace;
  --radius: 0.5rem;
  --shadow-2xs: 0px 4px 8px -2px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0px 4px 8px -2px hsl(0 0% 0% / 0.05);
  --shadow-sm: 0px 4px 8px -2px hsl(0 0% 0% / 0.10), 0px 1px 2px -3px hsl(0 0% 0% / 0.10);
  --shadow: 0px 4px 8px -2px hsl(0 0% 0% / 0.10), 0px 1px 2px -3px hsl(0 0% 0% / 0.10);
  --shadow-md: 0px 4px 8px -2px hsl(0 0% 0% / 0.15), 0px 2px 4px -3px hsl(0 0% 0% / 0.15);
  --shadow-lg: 0px 4px 8px -2px hsl(0 0% 0% / 0.20), 0px 4px 6px -3px hsl(0 0% 0% / 0.20);
  --shadow-xl: 0px 4px 8px -2px hsl(0 0% 0% / 0.10), 0px 8px 10px -3px hsl(0 0% 0% / 0.10);
  --shadow-2xl: 0px 4px 8px -2px hsl(0 0% 0% / 0.25);

  /* Derived utility variables */
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);

  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  --shadow-2xs: var(--shadow-2xs);
  --shadow-xs: var(--shadow-xs);
  --shadow-sm: var(--shadow-sm);
  --shadow: var(--shadow);
  --shadow-md: var(--shadow-md);
  --shadow-lg: var(--shadow-lg);
  --shadow-xl: var(--shadow-xl);
  --shadow-2xl: var(--shadow-2xl);
}


/* Basic styles using the theme variables */
body {
  background-color: var(--color-background);
  color: var(--color-foreground);
  font-family: var(--font-sans);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.text-primary {
  color: var(--color-primary);
}

.border-primary {
  border-color: var(--color-primary);
}

.bg-primary {
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
}

.bg-muted {
  background-color: var(--color-muted);
  color: var(--color-muted-foreground);
}

.bg-card {
  background-color: var(--color-card);
  color: var(--color-card-foreground);
}

.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
  padding: 0.5rem 1rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background-color .3s, transform .3s;
}

.btn-primary:hover {
  filter: brightness(90%);
  transform: scale(1.05);
}

.btn-primary:disabled {
  background-color: #d1d5db;
  color: #6b7280;
  cursor: not-allowed;
  filter: none;
}

.btn-secondary {
  background-color: var(--color-secondary);
  color: var(--color-secondary-foreground);
  padding: 0.5rem 1rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background-color .3s, transform .3s;
}

.btn-secondary:hover {
  filter: brightness(95%);
  transform: scale(1.05);
}

.tab-active {
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
  border-radius: var(--radius-sm);
}

.card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  transition: box-shadow .2s ease, transform .2s ease;
}

.card-primary {
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

footer {
  background-color: var(--color-muted);
  color: var(--color-muted-foreground);
}

/* Sidebar layout */
.sidebar {
  background-color: var(--color-sidebar);
  color: var(--color-sidebar-foreground);
  min-height: 100vh;
}

@media (min-width: 768px) {
  .sidebar {
    border-right: 1px solid var(--color-sidebar-border);
  }
}
.sidebar a {
  display: block;
  color: inherit;
  text-decoration: none;
  border-radius: var(--radius-sm);
}
.sidebar a:hover {
  background-color: var(--color-sidebar-accent);
  color: var(--color-sidebar-accent-foreground);
}
.sidebar a.active {
  background-color: var(--color-sidebar-accent);
  color: var(--color-sidebar-accent-foreground);
}

/* Sub-items inside the sidebar */
.sidebar-subitem {
  padding-left: 1.5rem;
  font-size: 0.875rem;
}

.sidebar-footer {
  background-color: var(--color-muted);
  color: var(--color-muted-foreground);
  cursor: pointer;
}

.sidebar-footer:hover {
  background-color: var(--color-sidebar-accent);
  color: var(--color-sidebar-accent-foreground);
}
.sidebar-account-block {
  background-color: #F3F3F6;
  color: #000;
  padding: 1rem;
  font-weight: 600;
  border-radius: var(--radius-sm);
}

/* Onboarding layout */
.onboarding-bg {
  background: linear-gradient(135deg, #fdf1ff 0%, #f0f9ff 100%);
}

.onboarding-card {
  background-color: var(--color-card);
  color: var(--color-card-foreground);
  border-radius: 1.5rem;
  box-shadow: var(--shadow-2xl);
  padding: 2rem;
}

.onboarding-progress {
  height: 0.5rem;
  background-color: #e5e7eb;
  border-radius: 9999px;
  overflow: hidden;
}

.onboarding-progress-inner {
  height: 100%;
  background-image: linear-gradient(90deg, var(--color-primary), var(--color-accent));
  width: 0;
  border-radius: inherit;
  transition: width .6s ease-out;
}

.progress {
  height: 0.5rem;
  background-color: #e5e7eb;
  border-radius: 9999px;
  overflow: hidden;
}

.progress-inner {
  height: 100%;
  background-image: linear-gradient(90deg, var(--color-primary), var(--color-accent));
  width: 0;
  border-radius: inherit;
  transition: width .6s ease-out;
}

.danger-progress {
  height: 0.5rem;
  background-color: #e5e7eb;
  border-radius: 9999px;
  overflow: hidden;
}

.danger-progress-inner {
  height: 100%;
  width: 0;
  border-radius: inherit;
  transition: width .6s ease-out;
}

.danger-score-text {
  font-size: 0.75rem;
  font-weight: 500;
}

.onboarding-step-label {
  margin-top: 0.5rem;
  text-align: center;
  font-weight: 500;
}

.onboarding-input {
  width: 100%;
  border: 1px solid var(--color-input);
  border-radius: var(--radius-sm);
  padding: 0.5rem;
  transition: box-shadow .2s, border-color .2s;
}

.onboarding-input:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-ring);
  border-color: var(--color-ring);
}

.onboarding-input.valid {
  border-color: #16a34a;
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="%2316a34a"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 1rem;
  padding-right: 2rem;
}

.onboarding-input.invalid {
  border-color: var(--color-destructive);
}

.btn-cta {
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  transition: transform .2s, box-shadow .2s, filter .2s;
}

.btn-cta svg {
  transition: transform .2s;
}

.btn-cta:hover {
  filter: brightness(90%);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.btn-cta:hover svg {
  transform: translateX(4px);
}

.btn-cta:disabled {
  background-color: #d1d5db;
  color: #6b7280;
  cursor: not-allowed;
  filter: none;
}

.btn-add {
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
  padding: 0.5rem;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-xs);
  font-weight: bold;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s, box-shadow .2s, filter .2s;
}

.btn-add:hover {
  filter: brightness(90%);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

.tag-input {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.tag-input .chip {
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
  border-radius: var(--radius-sm);
  padding: 0.25rem 0.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
}

.tag-input .chip button {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font-weight: bold;
  line-height: 1;
}

.suggest-chip {
  background-color: var(--secondary);
  color: var(--foreground);
  border-radius: var(--radius-sm);
  padding: 0.25rem 0.5rem;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
}

.idea-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background-color: var(--muted);
  color: var(--muted-foreground);
  border-radius: var(--radius-sm);
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
}

.toast {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%) translateY(100%);
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
  padding: 0.75rem 1rem;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  opacity: 0;
  transition: transform .3s, opacity .3s;
  pointer-events: none;
  z-index: 50;
}

.toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

.instructions-icon {
  position: relative;
}
.instructions-icon::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--color-primary);
  border-radius: 9999px;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-2px); }
  to { opacity: 1; transform: translateY(0); }
}

.error-message {
  color: var(--color-destructive);
  animation: fadeIn .3s ease-out;
}

/* Highlighted success notice */
.notice-success {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--color-accent);
  color: var(--color-accent-foreground);
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 1rem;
}

/* Trial countdown banner */
.notice-trial {
  background-color: var(--color-primary);
  color: var(--color-primary-foreground);
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 60;
}

.modal {
  background-color: var(--color-card);
  color: var(--color-card-foreground);
  padding: 1.5rem;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  max-width: 24rem;
  width: 90%;
}

/* Form elements */
select {
  background-color: var(--color-card);
  color: var(--color-foreground);
  border: 1px solid var(--color-input);
  border-radius: var(--radius-sm);
  padding: 0.25rem 0.5rem;
}

.dark select {
  background-color: var(--color-card);
  color: var(--color-card-foreground);
}

select option {
  color: var(--color-foreground);
  background-color: var(--color-card);
}

.dark select option {
  color: var(--color-card-foreground);
  background-color: var(--color-card);
}

@keyframes pop-in {
  0% { opacity: 0; transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1); }
}
.animate-pop {
  animation: pop-in .5s ease forwards;
}

/* KPI specific styles */
.kpi-icon {
  font-size: 2.25rem;
  line-height: 1;
  margin-bottom: 0.25rem;
}

.kpi-desc {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-muted-foreground);
}

@keyframes badge-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

.badge-pulse {
  animation: badge-pulse 1s infinite;
}

.kpi-card {
  box-shadow: var(--shadow-md);
  transition: transform .2s, box-shadow .2s;
}

.kpi-card:hover {
  transform: scale(1.04);
  box-shadow: var(--shadow-lg);
}

.fade-out{opacity:0;transition:opacity .3s ease-out;}

.plan-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background-color: var(--color-card);
  cursor: pointer;
  transition: box-shadow .2s, transform .2s;
  position: relative;
}
.plan-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.plan-card.selected {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-ring);
}
.plan-card.selected::after {
  content: '✓';
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: var(--color-primary);
  color: var(--color-primary-foreground);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
}

.idea-option {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: 0.5rem;
  cursor: pointer;
  transition: box-shadow .2s, transform .2s;
}
.idea-option:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.idea-option.selected {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-ring);
}
.plan-card.popular {
  border-width: 2px;
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  background-image: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  color: var(--color-primary-foreground);
}
.plan-card.popular h3,
.plan-card.popular p,
.plan-card.popular li {
  color: inherit;
}
.plan-card.popular:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 0 0 3px var(--color-ring), var(--shadow-lg);
}
.popular-badge {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  background: var(--color-primary);
  color: var(--color-primary-foreground);
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  border-radius: var(--radius-sm);
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
.spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--color-border);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fade-in .3s ease-out; }

@keyframes fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fade-up .4s ease-out; }
.calendar-today {
  background-color: var(--color-accent);
  color: var(--color-accent-foreground);
}

.planner-grid {
  grid-template-columns: repeat(7, minmax(140px, 1fr));
}

.planner-cell {
  min-height: 8rem;
  display: flex;
  flex-direction: column;
}

/* Reusable form label */
.form-label {
  font-weight: 700;
}
