/* CanvasApp SaaS — Bootstrap 5 overrides */

.ca-navbar { background: #1e1e2e !important; }

/* Left sidebar */
.ca-sidebar {
  padding: 1rem 0;
  position: sticky;
  top: 0;
  height: calc(100vh - 56px);
  overflow-y: auto;
}
.ca-sidebar .sidebar-label {
  display: block;
  font-size: .7rem; letter-spacing: .6px; text-transform: uppercase;
  color: rgba(255,255,255,.55); padding: .5rem 1rem .15rem;
}
.ca-sidebar .nav-link {
  padding: .35rem 1rem; border-radius: .25rem; font-size: .9rem;
  color: rgba(255,255,255,.75) !important;
}
.ca-sidebar .nav-link:hover  { background: rgba(255,255,255,.08); color: #fff !important; }
.ca-sidebar .nav-link.active { background: rgba(255,255,255,.15); color: #fff !important; }

/* form.as_p field spacing */
form p { margin-bottom: 0.875rem; }
form p > label { display: block; margin-bottom: 0.25rem; font-weight: 500; }
ul.errorlist { list-style: none; padding: 0; margin: 0.25rem 0 0; }
ul.errorlist li { color: #dc3545; font-size: 0.875rem; }

/* alert-debug fallback (Django DEBUG messages) */
.alert-debug { background: #f0f4ff; border-color: #c7d2fe; color: #3730a3; }

/* allauth pages that still use bundled {% element %} markup inside our chrome */
.allauth-page h1 { font-size: 1.5rem; margin-bottom: 0.75rem; }
.allauth-page button:not(.btn) {
  display: inline-block;
  padding: 0.375rem 0.75rem;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  background-color: #0d6efd;
  color: #fff;
}

/* Grade-edit feedback: grow with content instead of a 2-row scrollbox */
textarea.feedback-textbox {
  field-sizing: content;
  height: auto;
  min-height: 2.5em;
  max-height: 40vh;
  overflow-y: auto;
}
