/* css/style.css */

/* --- Root Variables (Light Mode Defaults) --- */
:root {
  --fv-primary-rgb: 60, 214, 209; /* #3cd6d1 */
  --fv-primary: #3cd6d1;
  --fv-primary-dark-rgb: 30, 137, 143; /* #1e928f */
  --fv-primary-dark: #1e928f;
  --fv-primary-hover-rgb: 42, 169, 164; /* #2aa9a4 */
  --fv-primary-hover: #2aa9a4;

  --fv-secondary-rgb: 244, 156, 212; /* #f49cd4 */
  --fv-secondary: #f49cd4;

  --fv-accent-rgb: 254, 162, 127; /* #fea27f */
  --fv-accent: #fea27f;
  --fv-accent-dark-rgb: 255, 105, 35; /* #ff6923 */
  --fv-accent-dark: #ff6923;
  --fv-accent-hover-rgb: 253, 140, 96; /* #fd8c60 */
  --fv-accent-hover: #fd8c60;

  --fv-body-bg: #f8f9fa;
  --fv-body-color: #212529;
  --fv-card-bg: #ffffff;
  /* Removed sidebar specific variables */
  --fv-footer-bg: #212529;
  --fv-footer-text: #adb5bd;
}

/* --- Dark Mode Variables --- */
[data-bs-theme="dark"] {
  --fv-primary: #4fd1cc;
  --fv-primary-dark: #3cd6d1;
  --fv-primary-hover: #5cd8d3;

  --fv-secondary: #f5aecf;
  --fv-accent: #fda990;
  --fv-accent-dark: #fea27f;
  --fv-accent-hover: #fdb4a1;

  --fv-body-bg: #212529;
  --fv-body-color: #dee2e6;
  --fv-card-bg: #2b3035;
  /* Removed sidebar specific variables */
  --fv-footer-bg: #1c1f23;
  --fv-footer-text: #adb5bd;

  .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
  }
  .form-control, .form-select {
    background-color: #2b3035;
    color: var(--fv-body-color);
    border-color: #495057;
  }
  .form-control:focus, .form-select:focus {
    border-color: var(--fv-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--fv-primary-rgb), 0.35);
  }
  .card {
    background-color: var(--fv-card-bg);
    border-color: #495057;
  }
  .alert-success.fv-bg-primary {
    background-color: var(--fv-primary) !important;
    color: var(--fv-body-bg) !important; /* Adjusted for better contrast on primary bg in dark mode */
  }
  .alert-danger.fv-bg-accent {
    background-color: var(--fv-accent) !important;
    color: #fff !important;
  }
}

/* --- Fonts --- */
body {
  font-family: "Noto Sans Hanifi Rohingya", sans-serif;
  background-color: var(--fv-body-bg);
  color: var(--fv-body-color);
}

.fv-font-heading {
  font-family: "Noto Sans Bamum", sans-serif;
}

/* --- Custom Theme Colors using CSS Variables --- */
/* Backgrounds */
.fv-bg-primary { background-color: var(--fv-primary) !important; }
.fv-bg-secondary { background-color: var(--fv-secondary) !important; }
.fv-bg-accent { background-color: var(--fv-accent) !important; }

/* Text Colors */
.fv-text-primary { color: var(--fv-primary) !important; }
.fv-text-primary-dark { color: var(--fv-primary-dark) !important; }
.fv-text-secondary { color: var(--fv-secondary) !important; }
.fv-text-accent { color: var(--fv-accent) !important; }
.fv-text-accent-dark { color: var(--fv-accent-dark) !important; }

/* Buttons */
.btn-fv-primary {
  background-color: var(--fv-primary);
  border-color: var(--fv-primary);
  color: #fff;
}
.btn-fv-primary:hover, .btn-fv-primary:focus {
  background-color: var(--fv-primary-hover);
  border-color: var(--fv-primary-hover);
  color: #fff;
}
[data-bs-theme="dark"] .btn-fv-primary {
  color: var(--fv-body-bg); /* Dark text on light primary in dark mode */
}
[data-bs-theme="dark"] .btn-fv-primary:hover,
[data-bs-theme="dark"] .btn-fv-primary:focus {
  color: var(--fv-body-bg);
}

.btn-fv-accent {
  background-color: var(--fv-accent);
  border-color: var(--fv-accent);
  color: #fff;
}
.btn-fv-accent:hover, .btn-fv-accent:focus {
  background-color: var(--fv-accent-hover);
  border-color: var(--fv-accent-hover);
  color: #fff;
}

/* Links */
a.fv-link-primary, .fv-link-primary {
  color: var(--fv-primary);
  text-decoration: none;
}
a.fv-link-primary:hover, .fv-link-primary:hover {
  color: var(--fv-primary-hover);
  text-decoration: underline;
}

/* Navbar */
.navbar.fv-bg-primary .navbar-brand,
.navbar.fv-bg-primary .nav-link {
  color: #fff !important;
}
[data-bs-theme="dark"] .navbar.fv-bg-primary .navbar-brand,
[data-bs-theme="dark"] .navbar.fv-bg-primary .nav-link {
  color: var(--fv-body-bg) !important; /* Dark text on primary bg in dark mode */
}
.navbar.fv-bg-primary .nav-link:hover,
.navbar.fv-bg-primary .navbar-brand:hover {
  opacity: 0.85;
}
.navbar.fv-bg-primary .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.5);
}
.navbar.fv-bg-primary .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3csvg%3e") !important;
}
[data-bs-theme="dark"] .navbar.fv-bg-primary .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28var(--fv-body-bg-rgb), 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3csvg%3e") !important; /* Assuming fv-body-bg-rgb is defined if needed */
}

/* Main Content Area */
.main-content-area {
    flex-grow: 1; /* For sticky footer */
    background-color: var(--fv-card-bg); /* Or var(--fv-body-bg) if you prefer */
    /* No margin-left needed anymore */
    /* Padding will be applied by .container or .container-fluid within this area */
}

/* Auth Page Centering & Card */
.auth-container {
    min-height: calc(100vh - 56px - 72px); /* Adjust if nav/footer heights change */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem; /* Padding for the auth container itself */
    /* background-color: var(--fv-body-bg); /* Already on body */
}
.auth-card {
    width: 100%;
    max-width: 420px;
    border-radius: 0.375rem;
    background-color: var(--fv-card-bg);
}

/* Form Controls */
.form-control, .form-select {
    border-radius: 0.375rem;
}

/* General Card Styling */
.card {
  border-radius: 0.375rem;
}

/* Utility for consistent border radius */
.rounded-fv {
  border-radius: 0.375rem !important;
}

/* Footer */
footer { /* Removed .bg-dark to use variables */
    background-color: var(--fv-footer-bg) !important;
    color: var(--fv-footer-text) !important;
    /* mt-auto is handled by body flex layout */
}

/* REMOVED ALL SIDEBAR SPECIFIC STYLES: */
/* .fv-sidebar, #mainLayout.sidebar-collapsed, #sidebarToggle, etc. */

