.back-to-top {
  position: fixed;
  right: clamp(1rem, 3vw, 2.25rem);
  bottom: clamp(1rem, 3vw, 2.25rem);
  z-index: 1035;
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  color: #fff;
  background: #16834f;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(22, 131, 79, .28);
  cursor: pointer;
  opacity: 0;
  transform: translateY(1rem) scale(.92);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.back-to-top.is-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.back-to-top:hover, .back-to-top:focus-visible { color: #fff; background: #0e6b3e; box-shadow: 0 10px 26px rgba(14, 107, 62, .36); }
.back-to-top:focus-visible { outline: 3px solid var(--pm-focus); outline-offset: 3px; }
.mobile-glass-nav { display: none; }
#header.navbar .dropdown-menu, #header.navbar .dropdown-menu.show { border-top-color: #198754 !important; }
html.dark-mode { color-scheme: dark; }
html.dark-mode body, html.dark-mode .bg-light, html.dark-mode .bg-white, html.dark-mode .card, html.dark-mode .card-header, html.dark-mode .form-control, html.dark-mode .form-select { background-color: #10251b !important; color: #e7f3eb !important; }
html.dark-mode .text-muted, html.dark-mode .form-text, html.dark-mode .link-secondary { color: #aec4b6 !important; }
html.dark-mode .form-label, html.dark-mode .week-rule-fields label, html.dark-mode .week-rule-fields .small { color: #d6eee0 !important; }
html.dark-mode .border, html.dark-mode .border-top, html.dark-mode .card, html.dark-mode .form-control, html.dark-mode .form-select { border-color: rgba(202, 231, 211, .18) !important; }
html.dark-mode header#header { background-color: #10251b !important; box-shadow: 0 0 6px rgba(0,0,0,.4) !important; }
html.dark-mode .navbar-brand span[style*="color: #222"] { color: #e7f3eb !important; }
html.dark-mode a:not(.btn):not(.link-light) { color: #68d69b; }
html.dark-mode h1, html.dark-mode h2, html.dark-mode h3, html.dark-mode h4, html.dark-mode h5, html.dark-mode h6, html.dark-mode .h1, html.dark-mode .h2, html.dark-mode .h3, html.dark-mode .h4, html.dark-mode .h5, html.dark-mode .h6, html.dark-mode p, html.dark-mode .table { color: #e7f3eb !important; }
html.dark-mode .table > :not(caption) > * > *, html.dark-mode .list-group-item, html.dark-mode .dropdown-menu, html.dark-mode .modal-content { color: #e7f3eb !important; background-color: #132c20 !important; border-color: rgba(202, 231, 211, .16) !important; }
html.dark-mode .table > thead, html.dark-mode .table > thead > tr > th { color: #dff7e7 !important; background-color: #0a1b12 !important; border-color: rgba(202, 231, 211, .22) !important; }
html.dark-mode .table-hover > tbody > tr:hover > * { color: #fff !important; background-color: #1b422e !important; }
html.dark-mode .list-group-item-action:hover, html.dark-mode .dropdown-item:hover { color: #fff !important; background-color: #1b422e !important; }
html.dark-mode .btn-primary, html.dark-mode .btn-success { color: #061a10 !important; background-color: #78dca1 !important; border-color: #78dca1 !important; }
html.dark-mode .btn-primary:hover, html.dark-mode .btn-success:hover { color: #fff !important; background-color: #258855 !important; border-color: #258855 !important; }
html.dark-mode .btn-outline-primary, html.dark-mode .btn-outline-success, html.dark-mode .btn-outline-secondary { color: #9ae8ba !important; border-color: #5bbd82 !important; }
html.dark-mode .btn-outline-primary:hover, html.dark-mode .btn-outline-success:hover, html.dark-mode .btn-outline-secondary:hover { color: #061a10 !important; background-color: #78dca1 !important; border-color: #78dca1 !important; }
html.dark-mode .badge.bg-soft-primary, html.dark-mode .badge.bg-soft-success, html.dark-mode .bg-soft-primary, html.dark-mode .bg-soft-success { color: #a9efc5 !important; background-color: rgba(51, 165, 94, .2) !important; }
html.dark-mode .alert-success { color: #d9f8e4 !important; background-color: #123d27 !important; border-color: #286b43 !important; }
html.dark-mode .alert-warning { color: #fff0bf !important; background-color: #4a3810 !important; border-color: #876518 !important; }
html.dark-mode .alert-danger { color: #ffe0e3 !important; background-color: #4a2028 !important; border-color: #8e3d4a !important; }
html.dark-mode .form-control::placeholder { color: #93ad9e !important; opacity: 1; }
html.dark-mode .form-control:focus, html.dark-mode .form-select:focus { border-color: #78dca1 !important; box-shadow: 0 0 0 .2rem rgba(120, 220, 161, .18) !important; }
html.dark-mode .pagination .page-link { color: #a9efc5; background: #132c20; border-color: rgba(202, 231, 211, .18); }
html.dark-mode footer.bg-primary { background-color: #061a10 !important; }
html.dark-mode footer .text-white-50 { color: #afc7b8 !important; }
html.dark-mode .article, html.dark-mode .blog-post, html.dark-mode [class*="blog"] .card-body { color: #e7f3eb !important; }
html.dark-mode #navbarNavDropdownNav, html.dark-mode #navbarNavDropdownNav .nav-link, html.dark-mode .navbar-collapse { color: #e7f3eb !important; background-color: #10251b !important; }
html.dark-mode .exchange-stream { background: #0d2117 !important; border: 1px solid rgba(202, 231, 211, .2) !important; }
html.dark-mode .exchange-message { color: #e7f3eb !important; background: #173b28 !important; border-color: rgba(202, 231, 211, .2) !important; }
html.dark-mode .exchange-message.own { background: #245a3c !important; }
html.dark-mode .monthly-calendar, html.dark-mode .monthly-calendar .month-week, html.dark-mode .monthly-calendar .month-day, html.dark-mode .monthly-calendar .month-weekdays > div { color: #e7f3eb !important; background: #10251b !important; border-color: rgba(202, 231, 211, .2) !important; }
html.dark-mode .monthly-calendar .month-day.outside { color: #819b8b !important; background: #0b1a12 !important; }
html.dark-mode .monthly-calendar .month-day.outside .month-day-number { color: #819b8b !important; }
html.dark-mode .monthly-calendar .month-day.today { border-color: #78dca1 !important; box-shadow: inset 0 0 0 1px rgba(120, 220, 161, .24); }
html.dark-mode .monthly-calendar .month-event { color: #dff7e7 !important; background: #1f5c3b !important; border-color: rgba(170, 239, 196, .28) !important; }
html.dark-mode .modal-header, html.dark-mode .modal-body, html.dark-mode .modal-footer { color: #e7f3eb !important; background: #132c20 !important; border-color: rgba(202, 231, 211, .18) !important; }
html.dark-mode .modal .text-dark, html.dark-mode .modal .text-body, html.dark-mode .modal label, html.dark-mode .modal .form-check-label { color: #e7f3eb !important; }
html.dark-mode .modal .btn-close { filter: invert(1) grayscale(1) brightness(2); }
@media (max-width: 991.98px) {
  #header .navbar-collapse { width: 100%; margin-top: .75rem; padding: .35rem; border: 1px solid rgba(25, 135, 84, .14); border-radius: 1rem; background: rgba(247, 252, 249, .94); box-shadow: 0 14px 30px rgba(11, 68, 38, .12); }
  #header #navbarNavDropdownNav { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; padding: 0 !important; text-align: left; }
  #header #navbarNavDropdownNav > .nav-item { width: auto; margin: 0 !important; }
  #header #navbarNavDropdownNav .nav-link, #header #navbarNavDropdownNav .btn { display: flex; align-items: center; justify-content: flex-start; width: 100%; min-height: 2.75rem; padding: .65rem .75rem; border: 1px solid rgba(25, 135, 84, .12); border-radius: .75rem; background: rgba(255, 255, 255, .7); color: #146c43; font-size: .82rem; line-height: 1.2; }
  #header #navbarNavDropdownNav .btn { justify-content: center; }
  #header #navbarNavDropdownNav #botao-cta-menu { margin-top: 0; }
  #header #navbarNavDropdownNav #botao-cta-menu .btn { color: #fff; border-color: #198754; background: #198754; }
  #header #navbarNavDropdownNav #doctorLogoutMenu .btn { color: #b4233a; border-color: rgba(180, 35, 58, .24); background: rgba(255, 240, 242, .88); }
  #header #navbarNavDropdownNav .nav-item.dropdown, #header #navbarNavDropdownNav .nav-item.dropdown::before, #header #navbarNavDropdownNav .nav-item.dropdown::after { border-left: 0 !important; }
  #header.navbar .navbar-nav .dropdown-menu, #header.navbar .navbar-nav .dropdown-menu.show { position: static; width: 100%; margin: .35rem 0 0; padding: .3rem; border: 1px solid rgba(25, 135, 84, .18); border-top: 3px solid #198754 !important; border-top-color: #198754 !important; border-radius: .75rem; box-shadow: none; }
  #header #navbarNavDropdownNav .dropdown-menu::before, #header #navbarNavDropdownNav .dropdown-menu::after, #header #navbarNavDropdownNav .dropdown-menu > li::before, #header #navbarNavDropdownNav .dropdown-menu > li::after { display: none !important; content: none !important; }
  #header #navbarNavDropdownNav .dropdown-item { padding: .6rem .65rem; border-radius: .5rem; color: #146c43; font-size: .8rem; }
  html.dark-mode #header .navbar-collapse { border-color: rgba(166, 230, 188, .22); background: #10251b !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .35); }
  html.dark-mode #header #navbarNavDropdownNav .nav-link, html.dark-mode #header #navbarNavDropdownNav .btn { color: #c6f5d7 !important; border-color: rgba(166, 230, 188, .18); background: rgba(93, 169, 119, .11) !important; }
  html.dark-mode #header #navbarNavDropdownNav #doctorLogoutMenu .btn { color: #ffb7c0 !important; border-color: rgba(255, 183, 192, .24); background: rgba(120, 35, 48, .3) !important; }
  html.dark-mode #header #navbarNavDropdownNav .dropdown-menu { border-color: rgba(166, 230, 188, .18); border-top-color: #78dca1 !important; background: #132c20 !important; }
  html.dark-mode #header #navbarNavDropdownNav .dropdown-item { color: #c6f5d7; }
  body.has-mobile-nav { padding-bottom: 5.75rem; }
  .mobile-glass-nav { position: fixed; display: flex; isolation: isolate; overflow: hidden; left: .75rem; right: .75rem; bottom: .75rem; z-index: 1040; justify-content: space-around; padding: .48rem; border: 1px solid rgba(255,255,255,.7); border-radius: 1.35rem; background: linear-gradient(135deg, rgba(255,255,255,.84), rgba(216, 248, 228, .54)); box-shadow: 0 16px 38px rgba(5, 55, 28, .26), inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter: blur(28px) saturate(190%); -webkit-backdrop-filter: blur(28px) saturate(190%); }
  .mobile-glass-nav::before { position: absolute; z-index: -1; top: -80%; left: 12%; width: 48%; height: 170%; border-radius: 50%; background: rgba(255,255,255,.6); filter: blur(18px); content: ""; }
  .mobile-glass-nav a, .mobile-glass-nav button { display: grid; min-width: 3.7rem; gap: .12rem; place-items: center; padding: .38rem .25rem; color: #146c43; background: rgba(255,255,255,.26); border: 1px solid transparent; border-radius: .9rem; font-size: .68rem; text-decoration: none; transition: transform .2s ease, background-color .2s ease, border-color .2s ease; }
  .mobile-glass-nav a { flex: 1 1 0; min-width: 0; }
  .mobile-glass-nav a:active, .mobile-glass-nav button:active { transform: scale(.94); background: rgba(255,255,255,.68); border-color: rgba(22,131,79,.22); }
  .mobile-glass-nav i { font-size: 1.18rem; }
  .back-to-top { right: 1rem; bottom: 6.55rem; z-index: 1039; }
  html.dark-mode .mobile-glass-nav { gap: .42rem; background: linear-gradient(135deg, rgba(23, 59, 39, .9), rgba(7, 28, 17, .8)); border-color: rgba(166, 230, 188, .28); box-shadow: 0 16px 38px rgba(0,0,0,.42), inset 0 1px 0 rgba(206,255,222,.12); }
  html.dark-mode .mobile-glass-nav::before { background: rgba(114, 229, 154, .14); }
  html.dark-mode .mobile-glass-nav a, html.dark-mode .mobile-glass-nav button { color: #a5efc4; background: transparent; border-color: rgba(166, 230, 188, .17); }
}
@media (max-width: 767.98px) {
  .auth-login-page { min-height: calc(100svh - 4rem) !important; align-items: flex-start !important; }
  .auth-login-page .auth-login-container { padding-top: 3.5rem !important; padding-bottom: 3rem !important; }
  .week-rule-fields .d-flex { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem !important; }
  .week-rule-fields .form-check { display: flex; align-items: center; min-height: 2.65rem; margin: 0; padding: .6rem .65rem; border: 1px solid rgba(25, 135, 84, .22); border-radius: .65rem; }
  .week-rule-fields .form-check-input { width: 1.1rem; height: 1.1rem; margin: 0 .5rem 0 0; flex: 0 0 auto; }
  .week-rule-fields .form-check:last-child { grid-column: span 2; }
  .week-rule-fields .form-control { min-height: 2.9rem; font-size: 1rem; }
}
