
  
.modal-body .form-label {
    font-weight: bold;
}

    :root{
      --brand:#179CCE;
      --brand-dark:#0f7f9f;
      --bg:#f7fbfd;
      --card:#ffffff;
      --soft:#e9f6fb;
      --text:#22313f;
      --muted:#6c7a86;
      --border:#d9e8ee;
    }
    body{
      font-family: Georgia, serif;
      background: var(--bg);
      color: var(--text);
      min-height: 100vh;
    }
    .navbar{
      background:#fff;
      border-bottom:1px solid var(--border);
      box-shadow:0 4px 18px rgba(0,0,0,.04);
    }
    .brand-badge{
      width:42px;height:42px;border-radius:10px;background:var(--brand);
      display:inline-flex;align-items:center;justify-content:center;color:#fff;
      font-size:1.2rem;font-weight:700;margin-right:.6rem;
    }
    .page-wrap{ padding-top: 96px; padding-bottom: 110px; }
    .hero-card, .panel-card, .calendar-card, .event-card {
      background:var(--card);
      border:1px solid var(--border);
      border-radius:18px;
      box-shadow:0 10px 30px rgba(0,0,0,.04);
    }
    .hero-card{ background:linear-gradient(135deg, #ffffff, #f1fbff); }
    .calendar-grid{ display:grid; grid-template-columns:repeat(7, 1fr); gap:8px; }
    .dow{
      background:var(--soft);
      border:1px solid var(--border);
      border-radius:12px;
      padding:.7rem .35rem;
      text-align:center;
      font-weight:700;
      color:var(--brand-dark);
    }
    .day-cell{
      min-height:118px;
      background:#fff;
      border:1px solid var(--border);
      border-radius:14px;
      padding:.55rem;
      position:relative;
      transition:.2s ease;
      cursor:pointer;
      overflow:hidden;
    }
    .day-cell:hover{ transform:translateY(-2px); box-shadow:0 8px 16px rgba(0,0,0,.05); }
    .day-cell.other-month{ background:#f9fcfd; opacity:.55; }
    .day-cell.active-day{ border:2px solid var(--brand); }
    .day-num{
      font-weight:700;
      color:#22313f;
      margin-bottom:.35rem;
      display:flex;
      justify-content:space-between;
      align-items:center;
    }
    .today-ring{
      width:10px;height:10px;border-radius:50%;background:var(--brand);
      display:inline-block;
    }
    .mini-event{
      font-size:.74rem;
      line-height:1.15;
      background:#eef8fc;
      color:#0f6f8a;
      border-left:4px solid var(--brand);
      border-radius:8px;
      padding:.22rem .35rem;
      margin-bottom:.25rem;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      cursor:pointer;
    }
    .mini-more{ font-size:.72rem; color:var(--muted); font-style:italic; }
    .toolbar .btn, .toolbar .form-select, .toolbar .form-control{ border-radius:12px; }
    .section-title{
      color:var(--brand-dark);
      font-size:1.15rem;
      font-weight:700;
    }
    .event-card{ padding:1rem; margin-bottom:.8rem; }
    .event-title{ font-size:1rem; font-weight:700; margin-bottom:.25rem; }
    .event-meta{ color:var(--muted); font-size:.9rem; margin-bottom:.45rem; }
    .badge-soft{
      background:#e9f7fc;
      color:var(--brand-dark);
      border:1px solid #cfeaf5;
      font-weight:700;
    }
    .legend-dot{
      width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:.45rem;
      background:var(--brand);
      vertical-align:middle;
    }
    .footer{
      position:fixed;left:0;right:0;bottom:0;
      background:#fff;
      border-top:1px solid var(--border);
      padding:.9rem 0;
      box-shadow:0 -4px 18px rgba(0,0,0,.04);
      z-index:1000;
    }
    .form-control, .form-select, textarea{
      border-radius:12px !important;
      border-color:#cfe3ea !important;
    }
    .btn-primary{ background:var(--brand); border-color:var(--brand); }
    .btn-primary:hover{ background:var(--brand-dark); border-color:var(--brand-dark); }
    .small-note{ color:var(--muted); font-size:.88rem; }
    .empty-state{
      padding:2rem 1rem;
      text-align:center;
      color:var(--muted);
      border:1px dashed var(--border);
      border-radius:16px;
      background:#fbfeff;
    }
    .month-heading{ min-width: 180px; text-align:center; }

    .auth-badge{
      border:1px solid var(--border);
      background:#fff;
      color:var(--brand-dark);
      border-radius:999px;
      padding:.35rem .75rem;
      font-size:.85rem;
      font-weight:700;
      margin-right:.5rem;
    }
    .login-note{
      background:#f8fcfe;
      border:1px dashed var(--border);
      border-radius:14px;
      padding:.85rem;
      color:var(--muted);
      font-size:.9rem;
    }
    .hidden-by-acl{ display:none !important; }
	
    .admin-link{
      color:#000000;
	  font-size:15px;
	  text-decoration: none;
      /* font-weight:700; */
      padding:.35rem .15rem;
      display:inline-block;
    }
	
    .admin-link:hover{ text-decoration:none; color:var(--brand-dark); }

    @media (max-width: 991px){
      .calendar-grid{ gap:6px; }
      .day-cell{ min-height:95px; }
      .page-wrap{ padding-bottom:130px; }
    }
    @media (max-width: 767px){
      .calendar-grid{ grid-template-columns:repeat(7, minmax(42px,1fr)); }
      .day-cell{ min-height:80px; padding:.35rem; }
      .mini-event{ font-size:.62rem; }
      .day-num{ font-size:.85rem; }
    }
	
	
	.hero-card .row.align-items-center { /* Remove Spaces */
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

  

/* Colored Bootstrap notification modals */
.message-modal-content .modal-header{border-bottom:0;color:#fff;}
.message-modal-content.modal-success .modal-header{background:#198754;}
.message-modal-content.modal-danger .modal-header{background:#dc3545;}
.message-modal-content.modal-warning .modal-header{background:#ffc107;color:#332701;}
.message-modal-content.modal-info .modal-header{background:var(--brand);}
.message-modal-content.modal-success .modal-body{background:#f0fff7;border-left:5px solid #198754;}
.message-modal-content.modal-danger .modal-body{background:#fff5f6;border-left:5px solid #dc3545;}
.message-modal-content.modal-warning .modal-body{background:#fffaf0;border-left:5px solid #ffc107;}
.message-modal-content.modal-info .modal-body{background:#f1fbff;border-left:5px solid var(--brand);}
.modal-confirm .modal-header{background:#dc3545;color:#fff;border-bottom:0;}
.modal-confirm .modal-body{background:#fff5f6;border-left:5px solid #dc3545;}
.modal-header .btn-close{filter:none;background-color:rgba(255,255,255,.85);border-radius:50%;padding:.65rem;}
.form-label i,.section-title i{color:var(--brand-dark);min-width:1.1rem;text-align:center;}
.go-top-btn{position:fixed;right:22px;bottom:82px;width:46px;height:46px;border:0;border-radius:50%;background:var(--brand);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:1100;opacity:0;visibility:hidden;transform:translateY(12px);transition:.2s ease;}
.go-top-btn.show{opacity:1;visibility:visible;transform:translateY(0);}
.go-top-btn:hover{background:var(--brand-dark);}
.event-detail-list dt,.event-detail-list dd{padding-top:.65rem;padding-bottom:.65rem;border-bottom:1px solid var(--border);}
.accordion-button i{color:var(--brand-dark);}
@media(max-width:767px){.go-top-btn{right:14px;bottom:105px;}}


/* Consistent colored headers for all standard calendar modals */
#eventModal .modal-header,
#detailsModal .modal-header,
#loginModal .modal-header{
  background:var(--brand);
  color:#fff;
  border-bottom:0 !important;
  padding:1rem 1.25rem !important;
  border-top-left-radius:1rem;
  border-top-right-radius:1rem;
}
#eventModal .modal-header .brand-badge,
#detailsModal .modal-header .brand-badge,
#loginModal .modal-header .brand-badge{
  background:rgba(255,255,255,.18);
}
#eventModal .modal-header i,
#detailsModal .modal-header i,
#loginModal .modal-header i{color:#fff;}

/* Keep the long Events listing go-to-top control easy to discover */
body.events-page .go-top-btn{right:22px;bottom:88px;width:auto;min-width:126px;padding:0 1rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;}
body.events-page .go-top-btn::after{content:'Go to Top';font-family:Georgia,serif;font-weight:700;white-space:nowrap;}
@media(max-width:767px){body.events-page .go-top-btn{right:14px;bottom:108px;min-width:116px;padding:0 .8rem;}}
.events-page .hero-card .btn { border-radius:12px; }
.events-page .event-card .btn { white-space:nowrap; }

/* FAQ management */
#faqEntryModal .modal-header{background:var(--brand);color:#fff;border-bottom:0!important;padding:1rem 1.25rem!important;border-top-left-radius:1rem;border-top-right-radius:1rem;}
#faqEntryModal .modal-header i{color:#fff;}
.faq-answer{white-space:normal;line-height:1.65;}
.accordion-item{border-color:var(--border);}
.accordion-button:not(.collapsed){background:var(--soft);color:var(--brand-dark);}
