/* Bootstrap owns components; this file only adapts Django markup and mobile tables. */
:root { --bs-link-color: #198754; --bs-link-color-rgb: 25, 135, 84; --bs-link-hover-color-rgb: 20, 108, 67; --bs-link-hover-color: #146c43; --bs-body-font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; }
body { min-height: 100vh; }
a { text-decoration: none; }
.min-width-0 { min-width: 0; }
.campus-sidebar { --bs-offcanvas-width: 280px; flex: 0 0 240px; }
.navbar { min-height: 64px; }
.btn, .form-control, .form-select, .dropdown-item { min-height: 44px; }
.form-check:not(.form-switch) .form-check-input { width: 1.15em; height: 1.15em; }
.list-group-item svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; }
.campus-form { max-width: 800px; }
.breadcrumbs { font-size: .875rem; margin-bottom: 20px; color: var(--bs-secondary-color); }
.errorlist { color: var(--bs-danger); padding-left: 1.2rem; margin: .5rem 0; }
.errornote { padding: 1rem; border-radius: var(--bs-border-radius); background: var(--bs-danger-bg-subtle); color: var(--bs-danger-text-emphasis); }
.help, .helptext { font-size: .875rem; color: var(--bs-secondary-color); margin-top: .5rem; }
.help ul { padding-left: 1.2rem; }
.related-widget-wrapper { width: 100%; }
.related-widget-wrapper-link { display: none; }
.datetime { display: flex; flex-wrap: wrap; gap: .5rem; }
.datetime input { flex: 1 1 180px; min-width: 0; }
.readonly { overflow-wrap: anywhere; padding: .5rem 0; }
.hidden { display: none !important; }
.results { overflow-x: auto; }
.results table { width: 100%; }
.results th, .results td { vertical-align: middle; padding: .625rem; }
.results th { white-space: nowrap; font-size: .875rem; }
.results td { font-size: .875rem; }
.results .action-checkbox, .results .action-checkbox-column { width: 40px; }
.results .field-cancel_link a, .results .field-manage_links a { white-space: nowrap; }
.results img { width: 16px; height: 16px; }
.results .cell-value { overflow-wrap: anywhere; }
.paginator { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: 1rem 0; font-size: .875rem; color: var(--bs-secondary-color); }
.paginator a, .paginator .this-page { padding: .5rem .75rem; border-radius: var(--bs-border-radius); background: white; border: 1px solid var(--bs-border-color); }
.paginator .this-page { background: var(--bs-success); color: white; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.actions label { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.actions .action-counter { font-size: .875rem; color: var(--bs-secondary-color); }

.venue-editor { max-width: 100% !important; }
.venue-editor .ql-toolbar { background: var(--bs-tertiary-bg); }
@media (min-width: 992px) { .campus-sidebar { min-height: calc(100vh - 64px); } }
@media (max-width: 767.98px) {
  .results { overflow: visible; }
  .results table, .results tbody { display: block; }
  .results thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .results tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1rem; gap: .75rem 1rem; background: white; border: 1px solid var(--bs-border-color); border-radius: var(--bs-border-radius); margin-bottom: .75rem; position: relative; }
  .results tbody th, .results tbody td { display: block; padding: 0; border: 0; background: transparent; box-shadow: none; white-space: normal; }
  .results tbody th { grid-column: 1 / -1; font-size: 1rem; }
  .results td::before { content: attr(data-label); display: block; font-size: .75rem; color: var(--bs-secondary-color); margin-bottom: .2rem; }
  .results .field-event, .results .field-manage_links, .results .field-cancel_link { grid-column: 1 / -1; }
  .results .field-manage_links, .results .field-cancel_link { padding-top: .5rem; border-top: 1px solid var(--bs-border-color); }
  .results .field-manage_links::before, .results .field-cancel_link::before, .results .action-checkbox::before { display: none; }
  .results .action-checkbox { width: auto; position: absolute; right: 1rem; top: 1rem; }
  .results .field-cancel_link a, .results .field-manage_links a { display: inline-flex; align-items: center; min-height: 44px; }
}
