body {
  font-family: 'Roboto';
}

.cta-button {
  padding: 12px 30px;
  font-size: 1rem;
}

.pin-input {
  max-width: 450px;
  /* Limit width of PIN input */
  margin: 0 auto 1rem auto;
  /* Center input */
}

.section-padding {
  padding: 50px 0;
}

.section-heading {
  margin-bottom: 40px;
  text-align: center;
  font-weight: bold;
  color: #4A90E2;
}

.benefit-icon {
  /* Add styles for icons if you use them */
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #4A90E2;
  /* Bootstrap primary color */
}

.notes-card {
  background-color: #fffbeb;
  /* Light yellow for notes */
  border-left: 5px solid #ffc107;
  /* Warning color border */
}

/* Style flashed messages better */
.flashes p {
  margin-bottom: 0;
}

footer {
  background-color: #e9ecef;
  padding: 30px 0;
  margin-top: 40px;
  font-size: 0.9rem;
  text-align: center;
}

footer a {
  color: #4A90E2;
}

:root {
  /* Define default variables */
  --chart-size: 150px;
  /* Control the overall size */
  --chart-border-width: 15px;
  /* Control the thickness of the ring */
  --filled-color: var(--bs-primary);
  /* Use Bootstrap primary color */
  --unfilled-color: #e9ecef;
  /* A light grey for the unfilled part */
  --background-color: var(--bs-body-bg);
  /* Use Bootstrap body background */
  --text-color: var(--bs-body-color);
  /* Use Bootstrap text color */
}

.radial-chart {
  width: var(--chart-size);
  height: var(--chart-size);
  border-radius: 50%;
  position: relative;
  background-image: conic-gradient(var(--filled-color) 0% var(--progress),
      var(--unfilled-color) var(--progress) 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  /* Prevent charts from shrinking weirdly in flex context */
}

.radial-chart-inner {
  width: calc(var(--chart-size) - (var(--chart-border-width) * 2));
  height: calc(var(--chart-size) - (var(--chart-border-width) * 2));
  background-color: var(--background-color);
  border-radius: 50%;
  /* Centering handled by d-flex justify-content-center align-items-center */
  /* p-1 added in HTML provides internal padding */
}

.radial-chart-text {
  /* --- ADJUSTED FONT STYLING --- */
  font-size: 1.2rem;
  /* Much smaller fixed font size - adjust as needed */
  /* OR use a calculation, but might need to be smaller: */
  /* font-size: calc(var(--chart-size) / 12); */
  color: var(--text-color);
  text-align: center;
  /* Center text lines if they wrap */
  line-height: 1.2;
  /* Adjust line spacing if text wraps */
  max-width: 90%;
  /* Prevent text from hitting the very edges */
  display: inline-block;
  /* Helps with centering and max-width */
}


/* --- Optional: Modifier class for different colors --- */
.radial-chart.chart-warning {
  --filled-color: var(--bs-warning);
}

.radial-chart.chart-success {
  --filled-color: var(--bs-success);
}

.radial-chart.chart-danger {
  --filled-color: var(--bs-danger);
}

/* --- Optional: Media query for larger screens --- */
/* If you want slightly larger text on bigger displays */
@media (min-width: 768px) {
  .radial-chart-text {
    /* font-size: 0.8rem; Slightly larger on medium screens and up */
  }
}

.icon {
  color: #4A90E2;
}

/* New styles */
.navbar-brand {
  /* Ensure the anchor itself is a flex container */
  display: flex;
  align-items: center;
  /* Vertically aligns image and the text block */
}

.brand-text-stack {
  display: flex;
  flex-direction: column;
  /* Stacks spans vertically */
  justify-content: center;
  /* Useful if image is taller than text block */
  /* Optional: Adjust line height for closer text lines */
  line-height: 1.3;
  /* Optional: Adjust font size if needed */
  /* font-size: 0.9rem; */
}