/* Official UDOY palette, taken from the supplied emblem. */
body.admin-body {
  background: #f7f8fc;
  color: #17233d;
  font-family: 'Hind Siliguri', 'UDOY Bangla', sans-serif;
  --bs-success-rgb: 38, 34, 100;
  --bs-primary-rgb: 38, 34, 100;
}
@font-face {
  font-family: "UDOY Bangla";
  src: url("/fonts/HindSiliguri-Regular.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}
:root {
  --admin-sidebar-bg: #211f53;
  --admin-sidebar-hover: #34316c;
  --admin-sidebar-active: #ffffff14;
  --admin-ink: #17233d;
  --admin-muted: #68738a;
  --admin-border: #e4e8f1;
}
.official-updates {
  display: flex;
  align-items: center;
  gap: 26px;
  background: #fff;
  padding: 32px;
  border: 1px solid #e4e8f1;
  border-radius: 18px;
}
.official-updates > i {
  font-size: 36px;
  color: #262264;
}
.official-updates h3 {
  font-size: 23px;
  margin: 0 0 8px;
}
.official-updates p {
  margin: 0;
  color: #68738a;
}
.official-updates > .btn {
  margin-left: auto;
  flex-shrink: 0;
}
.admin-body .sidebar-link.active i {
  color: #ffb371;
}
.admin-body .btn-udoy-primary:hover,
.admin-body .btn-success:hover {
  background: #191747;
  border-color: #191747;
}
.admin-body {
  --bs-success-rgb: 38, 34, 100;
  --bs-primary-rgb: 38, 34, 100;
}
.admin-body .table thead th,
.admin-body .modal-header,
.admin-body .modal-footer,
.overview-item {
  background: #f5f6fb;
}
.auth-shell {
  background: #f5f6fb;
}
.auth-wordmark .official-logo {
  width: 70px;
  height: 70px;
}
.home-hero .hero-eyebrow {
  font-size: 10px;
  letter-spacing: 0.12em;
  line-height: 1.7;
}
.hero-values {
  color: #667187;
}
.hero-values .status-dot,
.status-dot {
  background: #ff8d22;
}
.public-form-shell .form-control:focus,
.form-control:focus {
  border-color: #8b89bd;
  box-shadow: 0 0 0 0.2rem #26226412;
}
@media (max-width: 767px) {
  .official-updates {
    flex-wrap: wrap;
    padding: 24px;
    gap: 18px;
  }
  .official-updates > div {
    flex: 1;
    min-width: 200px;
  }
  .official-updates > .btn {
    margin: 0;
  }
  .official-updates h3 {
    font-size: 21px;
  }
}
:root {
  --udoy-primary: #262264;
  --udoy-primary-dark: #191747;
  --udoy-accent: #ff8d22;
  --udoy-dark: #17233d;
  --udoy-muted: #68738a;
  --udoy-light: #f5f7fc;
  --udoy-border: #e4e8f1;
  --bs-success-rgb: 38, 34, 100;
  --bs-link-color: #262264;
  --bs-link-hover-color: #008c95;
  --bs-body-color: #17233d;
  --bs-border-color: #e4e8f1;
  --admin-primary: #262264;
  --admin-bg: #f5f7fc;
}
body,
.admin-body {
  background: #f7f8fc;
  color: #17233d;
}
a:hover {
  color: #008c95;
}
.official-logo {
  object-fit: contain;
  background: #fff;
  flex-shrink: 0;
  border-radius: 50%;
}
.navbar-brand-logo {
  gap: 12px;
}
.brand-text-main {
  color: #262264;
}
.brand-period {
  color: #f57921;
}
.brand-text-sub {
  color: #667187;
}
.logo-badge {
  background: #262264;
  color: #ff8d22;
}
.top-notice-bar {
  background: #262264;
}
.udoy-navbar {
  background: #fff;
  border-bottom: 1px solid #e6e9f1;
  box-shadow: none;
}
.navbar-brand-logo .official-logo {
  width: 68px;
  height: 68px;
}
.navbar-brand-logo .brand-text-main {
  font-size: 31px;
}
.home-hero {
  background: linear-gradient(135deg, #f6f7fc 0%, #fff 75%);
  padding: 80px 0;
}
.home-hero h1 {
  font-size: clamp(2.35rem, 4.7vw, 4.3rem);
  letter-spacing: -0.035em;
  line-height: 1.3;
  color: #262264;
  max-width: 680px;
}
.hero-subtitle {
  max-width: 580px;
  color: #667187;
}
.hero-eyebrow {
  color: #00848c;
}
.hero-values {
  border-color: #e3e6f1;
}
.hero-values i {
  color: #f57921;
}
.official-cover {
  background: #fff;
  border: 1px solid #e4e8f1;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 60px #2622640a;
  transform: none;
  padding: 0;
}
.official-cover > img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  margin: 0;
}
.official-caption {
  padding: 24px 28px;
  border-top: 1px solid #e4e8f1;
  display: grid;
  gap: 8px;
}
.official-caption strong {
  font-family: var(--udoy-font-en);
  font-size: 16px;
  line-height: 1.6;
  color: #262264;
}
.official-caption a {
  color: #00838c;
  font-size: 13px;
}
.official-caption .section-tag {
  color: #ce5d00;
  font-size: 11px;
}
.stats-banner {
  background: #fff;
  border-block: 1px solid #e4e8f1;
}
.stats-card {
  border-color: #e4e8f1;
}
.stats-number {
  color: #262264;
}
.stats-line-icon {
  color: #008c95;
}
.section-tag {
  color: #b95500;
  letter-spacing: 0.1em;
}
.section-space {
  padding: 76px 0;
}
.program-card {
  background: #fff;
  border-color: #e4e8f1;
  box-shadow: none;
  border-radius: 18px;
}
.program-card:hover {
  border-color: #b9badb;
  box-shadow: 0 14px 36px #2622640a;
  transform: translateY(-3px);
}
.activity-icon-box {
  background: #eeedf8;
  color: #262264;
}
.program-color-1 .activity-icon-box {
  background: #fff2e5;
  color: #ac4e00;
}
.program-color-2 .activity-icon-box {
  background: #e6f5f5;
  color: #007c84;
}
.program-color-3 .activity-icon-box {
  background: #edf1fb;
  color: #3456a0;
}
.program-join {
  background: #262264;
  color: #fff;
}
.program-join h3,
.program-join .text-action {
  color: #fff;
}
.program-join .section-tag {
  color: #ffbd7a;
}
.btn-udoy-primary {
  background: #262264;
  border-color: #262264;
  color: #fff;
  box-shadow: none;
}
.btn-udoy-primary:hover {
  background: #191747;
  border-color: #191747;
  color: #fff;
}
.btn-udoy-outline {
  color: #262264;
  border-color: #b6b5d1;
}
.btn-udoy-outline:hover {
  background: #262264;
  border-color: #262264;
  color: #fff;
}
.btn-udoy-accent {
  background: #ff8d22;
  color: #17233d;
}
.progress-fill {
  background: #008c95;
}
.project-category-badge {
  color: #262264;
  background: #fff;
}
.about-strip {
  background: #efeff8;
}
.scholarship-highlight {
  background: #eef4fb;
  border: 1px solid #e0e6f0;
}
.community-cta,
.udoy-footer {
  background: #1b1a48;
}
.community-cta .cta-inner {
  background: #262264;
  border-color: #494581;
}
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.footer-brand .official-logo {
  width: 64px;
  height: 64px;
}
.footer-brand span {
  color: #ff8d22;
}
.page-header[style],
.page-header {
  background: linear-gradient(120deg, #262264, #34467e) !important;
}
.page-header h1,
.page-header p {
  color: #fff;
}
.page-header .section-tag {
  color: #ffc08a;
}
.sidebar-header,
.admin-sidebar {
  background: #211f53;
}
.sidebar-link.active {
  background: #ffffff14;
  color: #fff;
  border-color: #ff8d22;
}
.sidebar-link:hover {
  background: #ffffff0d;
  color: #fff;
}
.sidebar-brand img {
  object-fit: contain;
  background: #fff;
  border-radius: 50%;
}
.admin-topbar {
  border-color: #e4e8f1;
  box-shadow: none;
}
.admin-content-area {
  max-width: 1800px;
}
.admin-body .card,
.admin-table-card {
  border-color: #e4e8f1;
  box-shadow: 0 4px 16px #26226403;
}
.auth-story {
  background: linear-gradient(145deg, #262264, #34467e);
}
.auth-story .logo-badge {
  background: #fff;
}
.auth-story .logo-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.badge-udoy-success {
  background: #e6f5f4;
  color: #00767d;
}
.document-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: 20px;
}
.document-card {
  padding: 28px;
  background: #fff;
  border: 1px solid #e4e8f1;
  border-radius: 18px;
}
.document-card h2 {
  font-size: 20px;
}
.document-card p {
  overflow-wrap: anywhere;
}
.admin-body code {
  overflow-wrap: anywhere;
}
.no-fake-image {
  background: #f1f3f9;
}
@media (max-width: 991px) {
  .home-hero {
    padding: 44px 0;
  }
  .official-cover {
    max-width: 640px;
    margin: 12px auto 0;
  }
  .section-space {
    padding: 50px 0;
  }
  .hero-copy {
    max-width: 720px;
  }
  .home-hero h1 {
    max-width: 600px;
  }
  .official-caption {
    padding: 20px;
  }
  .navbar-brand-logo .official-logo {
    width: 56px;
    height: 56px;
  }
  .navbar-brand-logo .brand-text-sub {
    font-size: 10px;
  }
}
@media (max-width: 575px) {
  .home-hero {
    padding: 32px 0;
  }
  .home-hero h1 {
    font-size: 2.4rem;
  }
  .hero-subtitle {
    font-size: 16px;
  }
  .navbar-brand-logo .brand-text-main {
    font-size: 25px;
  }
  .navbar-brand-logo .brand-text-sub {
    max-width: 185px;
    white-space: normal;
  }
  .hero-values {
    gap: 14px;
    font-size: 12px;
  }
  .official-cover {
    border-radius: 16px;
  }
  .official-caption strong {
    font-size: 13px;
  }
  .program-grid {
    gap: 12px;
  }
  .program-card {
    padding: 22px;
  }
  .document-card {
    padding: 22px;
  }
}
@media print {
  .no-print,
  .udoy-navbar,
  .top-notice-bar,
  .udoy-footer,
  .back-to-top {
    display: none !important;
  }
  body {
    background: #fff;
  }
  .official-logo {
    print-color-adjust: exact;
  }
  .section-space {
    padding: 0;
  }
}
