/* assets/css/store-components.css — Phase A Bootstrap-compatible subset.
 *
 * Visual components: buttons, forms, badges, alerts, cards, tables,
 * breadcrumb, pagination, list-group. Rules copied verbatim from the
 * self-hosted assets/vendor/bootstrap/bootstrap.min.css (Bootstrap 5.3.2),
 * filtered to classes actually used by the store frontend — see
 * assets/css/store-framework.css header for the full extraction method.
 *
 * Depends on the :root custom-property block defined in
 * store-framework.css (var(--bs-*) references throughout) — load that
 * file's rules before or alongside this one, never instead of it.
 *
 * form-check-input / form-select include their exact Bootstrap SVG
 * data-URI backgrounds (checkbox tick, radio dot, select chevron) —
 * these are the pieces most likely to silently regress if hand-retyped,
 * which is why this file is generated from the real source, not memory.
 */

/* ===== Buttons / Forms / Badges / Alerts / Cards / Tables / Breadcrumb / Pagination / List-group ===== */

/* ---- buttons ---- */
.btn {
  --bs-btn-padding-x:0.75rem;
  --bs-btn-padding-y:0.375rem;
  --bs-btn-font-family:;
  --bs-btn-font-size:1rem;
  --bs-btn-font-weight:500;
  --bs-btn-line-height:1.5;
  --bs-btn-color:var(--bs-body-color);
  --bs-btn-bg:transparent;
  --bs-btn-border-width:var(--bs-border-width);
  --bs-btn-border-color:transparent;
  --bs-btn-border-radius:var(--bs-border-radius);
  --bs-btn-hover-border-color:transparent;
  --bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity:0.65;
  --bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display:inline-block;
  padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family:var(--bs-btn-font-family);
  font-size:var(--bs-btn-font-size);
  font-weight:var(--bs-btn-font-weight);
  line-height:var(--bs-btn-line-height);
  color:var(--bs-btn-color);
  text-align:center;
  text-decoration:none;
  vertical-align:middle;
  cursor:pointer;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
  border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius:var(--bs-btn-border-radius);
  background-color:var(--bs-btn-bg);
  transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
  .btn {
    transition:none;
  }
}
.btn:hover {
  color:var(--bs-btn-hover-color);
  background-color:var(--bs-btn-hover-bg);
  border-color:var(--bs-btn-hover-border-color);
}
.btn:focus-visible {
  color:var(--bs-btn-hover-color);
  background-color:var(--bs-btn-hover-bg);
  border-color:var(--bs-btn-hover-border-color);
  outline:0;
  box-shadow:var(--bs-btn-focus-box-shadow);
}
.btn.active,.btn.show,.btn:first-child:active {
  color:var(--bs-btn-active-color);
  background-color:var(--bs-btn-active-bg);
  border-color:var(--bs-btn-active-border-color);
}
.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible {
  box-shadow:var(--bs-btn-focus-box-shadow);
}
.btn.disabled,.btn:disabled,fieldset:disabled .btn {
  color:var(--bs-btn-disabled-color);
  pointer-events:none;
  background-color:var(--bs-btn-disabled-bg);
  border-color:var(--bs-btn-disabled-border-color);
  opacity:var(--bs-btn-disabled-opacity);
}
.btn-primary {
  --bs-btn-color:var(--color-brand-contrast);
  --bs-btn-bg:var(--color-brand-text);
  --bs-btn-border-color:var(--color-brand-text);
  --bs-btn-hover-color:var(--color-brand-contrast);
  --bs-btn-hover-bg:var(--color-brand-hover);
  --bs-btn-hover-border-color:var(--color-brand-active);
  --bs-btn-focus-shadow-rgb:var(--color-brand-text-rgb);
  --bs-btn-active-color:var(--color-brand-contrast);
  --bs-btn-active-bg:var(--color-brand-active);
  --bs-btn-active-border-color:var(--color-brand-active);
  --bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color:var(--color-brand-contrast);
  --bs-btn-disabled-bg:var(--color-brand-text);
  --bs-btn-disabled-border-color:var(--color-brand-text);
}
.btn-success {
  --bs-btn-color:var(--color-success-contrast);
  --bs-btn-bg:var(--color-success);
  --bs-btn-border-color:var(--color-success);
  --bs-btn-hover-color:var(--color-success-contrast);
  --bs-btn-hover-bg:var(--color-success-hover);
  --bs-btn-hover-border-color:var(--color-success-text);
  --bs-btn-focus-shadow-rgb:var(--color-success-focus-rgb);
  --bs-btn-active-color:var(--color-success-contrast);
  --bs-btn-active-bg:var(--color-success-text);
  --bs-btn-active-border-color:var(--color-success-active-border);
  --bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color:var(--color-success-contrast);
  --bs-btn-disabled-bg:var(--color-success);
  --bs-btn-disabled-border-color:var(--color-success);
}
.btn-outline-primary {
  --bs-btn-color:var(--color-brand-on-light);
  --bs-btn-border-color:var(--color-brand-on-light);
  --bs-btn-hover-color:var(--color-brand-contrast);
  --bs-btn-hover-bg:var(--color-brand-text);
  --bs-btn-hover-border-color:var(--color-brand-text);
  --bs-btn-focus-shadow-rgb:var(--color-brand-text-rgb);
  --bs-btn-active-color:var(--color-brand-contrast);
  --bs-btn-active-bg:var(--color-brand-active);
  --bs-btn-active-border-color:var(--color-brand-active);
  --bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color:var(--color-brand-on-light);
  --bs-btn-disabled-bg:transparent;
  --bs-btn-disabled-border-color:var(--color-brand-on-light);
  --bs-gradient:none;
}
.btn-outline-secondary {
  --bs-btn-color:#6c757d;
  --bs-btn-border-color:#6c757d;
  --bs-btn-hover-color:var(--color-success-contrast);
  --bs-btn-hover-bg:#6c757d;
  --bs-btn-hover-border-color:#6c757d;
  --bs-btn-focus-shadow-rgb:108,117,125;
  --bs-btn-active-color:#fff;
  --bs-btn-active-bg:#6c757d;
  --bs-btn-active-border-color:#6c757d;
  --bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color:#6c757d;
  --bs-btn-disabled-bg:transparent;
  --bs-btn-disabled-border-color:#6c757d;
  --bs-gradient:none;
}
.btn-outline-success {
  --bs-btn-color:var(--color-success);
  --bs-btn-border-color:var(--color-success);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:var(--color-success);
  --bs-btn-hover-border-color:var(--color-success);
  --bs-btn-focus-shadow-rgb:var(--color-success-rgb);
  --bs-btn-active-color:var(--color-success-contrast);
  --bs-btn-active-bg:var(--color-success);
  --bs-btn-active-border-color:var(--color-success);
  --bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color:var(--color-success);
  --bs-btn-disabled-bg:transparent;
  --bs-btn-disabled-border-color:var(--color-success);
  --bs-gradient:none;
}
.btn-outline-danger {
  --bs-btn-color:var(--color-danger);
  --bs-btn-border-color:var(--color-danger);
  --bs-btn-hover-color:var(--color-danger-contrast);
  --bs-btn-hover-bg:var(--color-danger);
  --bs-btn-hover-border-color:var(--color-danger);
  --bs-btn-focus-shadow-rgb:var(--color-danger-rgb);
  --bs-btn-active-color:var(--color-danger-contrast);
  --bs-btn-active-bg:var(--color-danger);
  --bs-btn-active-border-color:var(--color-danger);
  --bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color:var(--color-danger);
  --bs-btn-disabled-bg:transparent;
  --bs-btn-disabled-border-color:var(--color-danger);
  --bs-gradient:none;
}
.btn-link {
  --bs-btn-font-weight:400;
  --bs-btn-color:var(--bs-link-color);
  --bs-btn-bg:transparent;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-color:var(--bs-link-hover-color);
  --bs-btn-hover-border-color:transparent;
  --bs-btn-active-color:var(--bs-link-hover-color);
  --bs-btn-active-border-color:transparent;
  --bs-btn-disabled-color:#6c757d;
  --bs-btn-disabled-border-color:transparent;
  --bs-btn-box-shadow:0 0 0 #000;
  --bs-btn-focus-shadow-rgb:172,92,25;
  text-decoration:underline;
}
.btn-link:focus-visible {
  color:var(--bs-btn-color);
}
.btn-link:hover {
  color:var(--bs-btn-hover-color);
}
.btn-lg {
  --bs-btn-padding-y:0.5rem;
  --bs-btn-padding-x:1rem;
  --bs-btn-font-size:1.25rem;
  --bs-btn-border-radius:var(--bs-border-radius-lg);
}
.btn-sm {
  --bs-btn-padding-y:0.25rem;
  --bs-btn-padding-x:0.5rem;
  --bs-btn-font-size:0.875rem;
  --bs-btn-border-radius:var(--bs-border-radius-sm);
}
.btn-group {
  position:relative;
  display:inline-flex;
  vertical-align:middle;
}
.btn-group>.btn {
  position:relative;
  flex:1 1 auto;
}
.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover {
  z-index:1;
}
.btn-group {
  border-radius:var(--bs-border-radius);
}
.btn-group>.btn-group:not(:first-child) {
  margin-left:calc(var(--bs-border-width) * -1);
}
.btn-group>.btn-group:not(:last-child)>.btn {
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}
.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3) {
  border-top-left-radius:0;
  border-bottom-left-radius:0;
}
.btn .badge {
  position:relative;
  top:-1px;
}

/* ---- forms ---- */
.form-label {
  margin-bottom:.5rem;
}
.form-text {
  margin-top:.25rem;
  font-size:.875em;
  color:var(--bs-secondary-color);
}
.form-control {
  display:block;
  width:100%;
  padding:.375rem .75rem;
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
  color:var(--bs-body-color);
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-color:var(--bs-body-bg);
  background-clip:padding-box;
  border:var(--bs-border-width) solid var(--bs-border-color);
  border-radius:var(--bs-border-radius);
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
  .form-control {
    transition:none;
  }
}
.form-control[type=file] {
  overflow:hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor:pointer;
}
.form-control:focus {
  color:var(--bs-body-color);
  background-color:var(--bs-body-bg);
  border-color:var(--color-focus-border);
  outline:0;
  box-shadow:0 0 0 .25rem var(--color-focus-ring);
}
.form-control::-webkit-date-and-time-value {
  min-width:85px;
  height:1.5em;
  margin:0;
}
.form-control::-webkit-datetime-edit {
  display:block;
  padding:0;
}
.form-control::-moz-placeholder {
  color:var(--bs-secondary-color);
  opacity:1;
}
.form-control::placeholder {
  color:var(--bs-secondary-color);
  opacity:1;
}
.form-control:disabled {
  background-color:var(--bs-secondary-bg);
  opacity:1;
}
.form-control::-webkit-file-upload-button {
  padding:.375rem .75rem;
  margin:-.375rem -.75rem;
  -webkit-margin-end:.75rem;
  margin-inline-end:.75rem;
  color:var(--bs-body-color);
  background-color:var(--bs-tertiary-bg);
  pointer-events:none;
  border-color:inherit;
  border-style:solid;
  border-width:0;
  border-inline-end-width:var(--bs-border-width);
  border-radius:0;
  -webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-control::file-selector-button {
  padding:.375rem .75rem;
  margin:-.375rem -.75rem;
  -webkit-margin-end:.75rem;
  margin-inline-end:.75rem;
  color:var(--bs-body-color);
  background-color:var(--bs-tertiary-bg);
  pointer-events:none;
  border-color:inherit;
  border-style:solid;
  border-width:0;
  border-inline-end-width:var(--bs-border-width);
  border-radius:0;
  transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
  .form-control::-webkit-file-upload-button {
    -webkit-transition:none;
    transition:none;
  }
  .form-control::file-selector-button {
    transition:none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color:var(--bs-secondary-bg);
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color:var(--bs-secondary-bg);
}
.form-control-sm {
  min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));
  padding:.25rem .5rem;
  font-size:.875rem;
  border-radius:var(--bs-border-radius-sm);
}
.form-control-sm::-webkit-file-upload-button {
  padding:.25rem .5rem;
  margin:-.25rem -.5rem;
  -webkit-margin-end:.5rem;
  margin-inline-end:.5rem;
}
.form-control-sm::file-selector-button {
  padding:.25rem .5rem;
  margin:-.25rem -.5rem;
  -webkit-margin-end:.5rem;
  margin-inline-end:.5rem;
}
textarea.form-control {
  min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));
}
.form-select {
  --bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display:block;
  width:100%;
  padding:.375rem 2.25rem .375rem .75rem;
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
  color:var(--bs-body-color);
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-color:var(--bs-body-bg);
  background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);
  background-repeat:no-repeat;
  background-position:right .75rem center;
  background-size:16px 12px;
  border:var(--bs-border-width) solid var(--bs-border-color);
  border-radius:var(--bs-border-radius);
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
  .form-select {
    transition:none;
  }
}
.form-select:focus {
  border-color:var(--color-focus-border);
  outline:0;
  box-shadow:0 0 0 .25rem var(--color-focus-ring);
}
.form-select[multiple],.form-select[size]:not([size="1"]) {
  padding-right:.75rem;
  background-image:none;
}
.form-select:disabled {
  background-color:var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color:transparent;
  text-shadow:0 0 0 var(--bs-body-color);
}
.form-select-sm {
  padding-top:.25rem;
  padding-bottom:.25rem;
  padding-left:.5rem;
  font-size:.875rem;
  border-radius:var(--bs-border-radius-sm);
}
.form-check {
  display:block;
  min-height:1.5rem;
  padding-left:1.5em;
  margin-bottom:.125rem;
}
.form-check .form-check-input {
  float:left;
  margin-left:-1.5em;
}
.form-check-input {
  --bs-form-check-bg:var(--bs-body-bg);
  flex-shrink:0;
  width:1em;
  height:1em;
  margin-top:.25em;
  vertical-align:top;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-color:var(--bs-form-check-bg);
  background-image:var(--bs-form-check-bg-image);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  border:var(--bs-border-width) solid var(--bs-border-color);
  -webkit-print-color-adjust:exact;
  color-adjust:exact;
  print-color-adjust:exact;
}
.form-check-input[type=checkbox] {
  border-radius:.25em;
}
.form-check-input[type=radio] {
  border-radius:50%;
}
.form-check-input:active {
  filter:brightness(90%);
}
.form-check-input:focus {
  border-color:var(--color-focus-border);
  outline:0;
  box-shadow:0 0 0 .25rem var(--color-focus-ring);
}
.form-check-input:checked {
  background-color:var(--color-brand-text);
  border-color:var(--color-brand-text);
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color:var(--color-brand-text);
  border-color:var(--color-brand-text);
  --bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events:none;
  filter:none;
  opacity:.5;
}
.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label {
  cursor:default;
  opacity:.5;
}
.valid-feedback {
  display:none;
  width:100%;
  margin-top:.25rem;
  font-size:.875em;
  color:var(--bs-form-valid-color);
}
.is-valid~.valid-feedback {
  display:block;
}
.form-control.is-valid {
  border-color:var(--bs-form-valid-border-color);
  padding-right:calc(1.5em + .75rem);
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:right calc(.375em + .1875rem) center;
  background-size:calc(.75em + .375rem) calc(.75em + .375rem);
}
.form-control.is-valid:focus {
  border-color:var(--bs-form-valid-border-color);
  box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25);
}
textarea.form-control.is-valid {
  padding-right:calc(1.5em + .75rem);
  background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);
}
.form-select.is-valid {
  border-color:var(--bs-form-valid-border-color);
}
.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  padding-right:4.125rem;
  background-position:right .75rem center,center right 2.25rem;
  background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);
}
.form-select.is-valid:focus {
  border-color:var(--bs-form-valid-border-color);
  box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25);
}
.form-check-input.is-valid {
  border-color:var(--bs-form-valid-border-color);
}
.form-check-input.is-valid:checked {
  background-color:var(--bs-form-valid-color);
}
.form-check-input.is-valid:focus {
  box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25);
}
.form-check-input.is-valid~.form-check-label {
  color:var(--bs-form-valid-color);
}
.invalid-feedback {
  display:none;
  width:100%;
  margin-top:.25rem;
  font-size:.875em;
  color:var(--bs-form-invalid-color);
}
.is-invalid~.invalid-feedback {
  display:block;
}
.form-control.is-invalid {
  border-color:var(--bs-form-invalid-border-color);
  padding-right:calc(1.5em + .75rem);
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat:no-repeat;
  background-position:right calc(.375em + .1875rem) center;
  background-size:calc(.75em + .375rem) calc(.75em + .375rem);
}
.form-control.is-invalid:focus {
  border-color:var(--bs-form-invalid-border-color);
  box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25);
}
textarea.form-control.is-invalid {
  padding-right:calc(1.5em + .75rem);
  background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);
}
.form-select.is-invalid {
  border-color:var(--bs-form-invalid-border-color);
}
.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  padding-right:4.125rem;
  background-position:right .75rem center,center right 2.25rem;
  background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);
}
.form-select.is-invalid:focus {
  border-color:var(--bs-form-invalid-border-color);
  box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25);
}
.form-check-input.is-invalid {
  border-color:var(--bs-form-invalid-border-color);
}
.form-check-input.is-invalid:checked {
  background-color:var(--bs-form-invalid-color);
}
.form-check-input.is-invalid:focus {
  box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25);
}
.form-check-input.is-invalid~.form-check-label {
  color:var(--bs-form-invalid-color);
}

/* ---- badges ---- */
.badge {
  --bs-badge-padding-x:0.65em;
  --bs-badge-padding-y:0.35em;
  --bs-badge-font-size:0.75em;
  --bs-badge-font-weight:700;
  --bs-badge-color:#fff;
  --bs-badge-border-radius:var(--bs-border-radius);
  display:inline-block;
  padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size:var(--bs-badge-font-size);
  font-weight:var(--bs-badge-font-weight);
  line-height:1;
  color:var(--bs-badge-color);
  text-align:center;
  white-space:nowrap;
  vertical-align:baseline;
  border-radius:var(--bs-badge-border-radius);
}
.badge:empty {
  display:none;
}

/* ---- alerts ---- */
.alert {
  --bs-alert-bg:transparent;
  --bs-alert-padding-x:1rem;
  --bs-alert-padding-y:1rem;
  --bs-alert-margin-bottom:1rem;
  --bs-alert-color:inherit;
  --bs-alert-border-color:transparent;
  --bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius:var(--bs-border-radius);
  --bs-alert-link-color:inherit;
  position:relative;
  padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom:var(--bs-alert-margin-bottom);
  color:var(--bs-alert-color);
  background-color:var(--bs-alert-bg);
  border:var(--bs-alert-border);
  border-radius:var(--bs-alert-border-radius);
}
.alert-success {
  --bs-alert-color:var(--bs-success-text-emphasis);
  --bs-alert-bg:var(--bs-success-bg-subtle);
  --bs-alert-border-color:var(--bs-success-border-subtle);
  --bs-alert-link-color:var(--bs-success-text-emphasis);
}
.alert-warning {
  --bs-alert-color:var(--bs-warning-text-emphasis);
  --bs-alert-bg:var(--bs-warning-bg-subtle);
  --bs-alert-border-color:var(--bs-warning-border-subtle);
  --bs-alert-link-color:var(--bs-warning-text-emphasis);
}
.alert-danger {
  --bs-alert-color:var(--bs-danger-text-emphasis);
  --bs-alert-bg:var(--bs-danger-bg-subtle);
  --bs-alert-border-color:var(--bs-danger-border-subtle);
  --bs-alert-link-color:var(--bs-danger-text-emphasis);
}
.alert-light {
  --bs-alert-color:var(--bs-light-text-emphasis);
  --bs-alert-bg:var(--bs-light-bg-subtle);
  --bs-alert-border-color:var(--bs-light-border-subtle);
  --bs-alert-link-color:var(--bs-light-text-emphasis);
}

/* ---- cards ---- */
.card {
  --bs-card-spacer-y:1rem;
  --bs-card-spacer-x:1rem;
  --bs-card-title-spacer-y:0.5rem;
  --bs-card-title-color:;
  --bs-card-subtitle-color:;
  --bs-card-border-width:var(--bs-border-width);
  --bs-card-border-color:var(--bs-border-color-translucent);
  --bs-card-border-radius:var(--bs-border-radius);
  --bs-card-box-shadow:;
  --bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y:0.5rem;
  --bs-card-cap-padding-x:1rem;
  --bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color:;
  --bs-card-height:;
  --bs-card-color:;
  --bs-card-bg:var(--bs-body-bg);
  --bs-card-img-overlay-padding:1rem;
  --bs-card-group-margin:0.75rem;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  height:var(--bs-card-height);
  color:var(--bs-body-color);
  word-wrap:break-word;
  background-color:var(--bs-card-bg);
  background-clip:border-box;
  border:var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius:var(--bs-card-border-radius);
}
.card>hr {
  margin-right:0;
  margin-left:0;
}
.card>.list-group {
  border-top:inherit;
  border-bottom:inherit;
}
.card>.list-group:first-child {
  border-top-width:0;
  border-top-left-radius:var(--bs-card-inner-border-radius);
  border-top-right-radius:var(--bs-card-inner-border-radius);
}
.card>.list-group:last-child {
  border-bottom-width:0;
  border-bottom-right-radius:var(--bs-card-inner-border-radius);
  border-bottom-left-radius:var(--bs-card-inner-border-radius);
}
.card>.card-header+.list-group {
  border-top:0;
}
.card-body {
  flex:1 1 auto;
  padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color:var(--bs-card-color);
}
.card-header {
  padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom:0;
  color:var(--bs-card-cap-color);
  background-color:var(--bs-card-cap-bg);
  border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}
.card-img-top {
  width:100%;
}
.card-img-top {
  border-top-left-radius:var(--bs-card-inner-border-radius);
  border-top-right-radius:var(--bs-card-inner-border-radius);
}

/* ---- tables ---- */
.table {
  --bs-table-color-type:initial;
  --bs-table-bg-type:initial;
  --bs-table-color-state:initial;
  --bs-table-bg-state:initial;
  --bs-table-color:var(--bs-emphasis-color);
  --bs-table-bg:var(--bs-body-bg);
  --bs-table-border-color:var(--bs-border-color);
  --bs-table-accent-bg:transparent;
  --bs-table-striped-color:var(--bs-emphasis-color);
  --bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color:var(--bs-emphasis-color);
  --bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color:var(--bs-emphasis-color);
  --bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);
  width:100%;
  margin-bottom:1rem;
  vertical-align:top;
  border-color:var(--bs-table-border-color);
}
.table>:not(caption)>*>* {
  padding:.5rem .5rem;
  color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));
  background-color:var(--bs-table-bg);
  border-bottom-width:var(--bs-border-width);
  box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)));
}
.table>tbody {
  vertical-align:inherit;
}
.table>thead {
  vertical-align:bottom;
}
.table-light {
  --bs-table-color:#000;
  --bs-table-bg:#f8f9fa;
  --bs-table-border-color:#c6c7c8;
  --bs-table-striped-bg:#ecedee;
  --bs-table-striped-color:#000;
  --bs-table-active-bg:#dfe0e1;
  --bs-table-active-color:#000;
  --bs-table-hover-bg:#e5e6e7;
  --bs-table-hover-color:#000;
  color:var(--bs-table-color);
  border-color:var(--bs-table-border-color);
}
.table-responsive {
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.align-middle {
  vertical-align:middle!important;
}

/* ---- breadcrumb ---- */
.breadcrumb {
  --bs-breadcrumb-padding-x:0;
  --bs-breadcrumb-padding-y:0;
  --bs-breadcrumb-margin-bottom:1rem;
  --bs-breadcrumb-bg:;
  --bs-breadcrumb-border-radius:;
  --bs-breadcrumb-divider-color:var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x:0.5rem;
  --bs-breadcrumb-item-active-color:var(--bs-secondary-color);
  display:flex;
  flex-wrap:wrap;
  padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom:var(--bs-breadcrumb-margin-bottom);
  font-size:var(--bs-breadcrumb-font-size);
  list-style:none;
  background-color:var(--bs-breadcrumb-bg);
  border-radius:var(--bs-breadcrumb-border-radius);
}
.breadcrumb-item+.breadcrumb-item {
  padding-left:var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item+.breadcrumb-item::before {
  float:left;
  padding-right:var(--bs-breadcrumb-item-padding-x);
  color:var(--bs-breadcrumb-divider-color);
  content:var(--bs-breadcrumb-divider, "/");
}
.breadcrumb-item.active {
  color:var(--bs-breadcrumb-item-active-color);
}

/* ---- pagination ---- */
.pagination {
  --bs-pagination-padding-x:0.75rem;
  --bs-pagination-padding-y:0.375rem;
  --bs-pagination-font-size:1rem;
  --bs-pagination-color:var(--bs-link-color);
  --bs-pagination-bg:var(--bs-body-bg);
  --bs-pagination-border-width:var(--bs-border-width);
  --bs-pagination-border-color:var(--bs-border-color);
  --bs-pagination-border-radius:var(--bs-border-radius);
  --bs-pagination-hover-color:var(--bs-link-hover-color);
  --bs-pagination-hover-bg:var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color:var(--bs-border-color);
  --bs-pagination-focus-color:var(--bs-link-hover-color);
  --bs-pagination-focus-bg:var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow:0 0 0 0.25rem var(--color-focus-ring);
  --bs-pagination-active-color:#fff;
  --bs-pagination-active-bg:var(--color-brand-text);
  --bs-pagination-active-border-color:var(--color-brand-text);
  --bs-pagination-disabled-color:var(--bs-secondary-color);
  --bs-pagination-disabled-bg:var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color:var(--bs-border-color);
  display:flex;
  padding-left:0;
  list-style:none;
}
.page-link {
  position:relative;
  display:block;
  padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size:var(--bs-pagination-font-size);
  color:var(--bs-pagination-color);
  text-decoration:none;
  background-color:var(--bs-pagination-bg);
  border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
@media (prefers-reduced-motion:reduce) {
  .page-link {
    transition:none;
  }
}
.page-link:hover {
  z-index:2;
  color:var(--bs-pagination-hover-color);
  background-color:var(--bs-pagination-hover-bg);
  border-color:var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index:3;
  color:var(--bs-pagination-focus-color);
  background-color:var(--bs-pagination-focus-bg);
  outline:0;
  box-shadow:var(--bs-pagination-focus-box-shadow);
}
.active>.page-link,.page-link.active {
  z-index:3;
  color:var(--bs-pagination-active-color);
  background-color:var(--bs-pagination-active-bg);
  border-color:var(--bs-pagination-active-border-color);
}
.disabled>.page-link,.page-link.disabled {
  color:var(--bs-pagination-disabled-color);
  pointer-events:none;
  background-color:var(--bs-pagination-disabled-bg);
  border-color:var(--bs-pagination-disabled-border-color);
}
.page-item:not(:first-child) .page-link {
  margin-left:calc(var(--bs-border-width) * -1);
}
.page-item:first-child .page-link {
  border-top-left-radius:var(--bs-pagination-border-radius);
  border-bottom-left-radius:var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius:var(--bs-pagination-border-radius);
  border-bottom-right-radius:var(--bs-pagination-border-radius);
}
.pagination-sm {
  --bs-pagination-padding-x:0.5rem;
  --bs-pagination-padding-y:0.25rem;
  --bs-pagination-font-size:0.875rem;
  --bs-pagination-border-radius:var(--bs-border-radius-sm);
}

/* ---- list-group ---- */
.list-group {
  --bs-list-group-color:var(--bs-body-color);
  --bs-list-group-bg:var(--bs-body-bg);
  --bs-list-group-border-color:var(--bs-border-color);
  --bs-list-group-border-width:var(--bs-border-width);
  --bs-list-group-border-radius:var(--bs-border-radius);
  --bs-list-group-item-padding-x:1rem;
  --bs-list-group-item-padding-y:0.5rem;
  --bs-list-group-action-color:var(--bs-secondary-color);
  --bs-list-group-action-hover-color:var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg:var(--bs-tertiary-bg);
  --bs-list-group-action-active-color:var(--bs-body-color);
  --bs-list-group-action-active-bg:var(--bs-secondary-bg);
  --bs-list-group-disabled-color:var(--bs-secondary-color);
  --bs-list-group-disabled-bg:var(--bs-body-bg);
  --bs-list-group-active-color:#fff;
  --bs-list-group-active-bg:var(--color-brand-text);
  --bs-list-group-active-border-color:var(--color-brand-text);
  display:flex;
  flex-direction:column;
  padding-left:0;
  margin-bottom:0;
  border-radius:var(--bs-list-group-border-radius);
}
.list-group-item-action {
  width:100%;
  color:var(--bs-list-group-action-color);
  text-align:inherit;
}
.list-group-item-action:focus,.list-group-item-action:hover {
  z-index:1;
  color:var(--bs-list-group-action-hover-color);
  text-decoration:none;
  background-color:var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:active {
  color:var(--bs-list-group-action-active-color);
  background-color:var(--bs-list-group-action-active-bg);
}
.list-group-item {
  position:relative;
  display:block;
  padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color:var(--bs-list-group-color);
  text-decoration:none;
  background-color:var(--bs-list-group-bg);
  border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
  border-top-left-radius:inherit;
  border-top-right-radius:inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius:inherit;
  border-bottom-left-radius:inherit;
}
.list-group-item.disabled,.list-group-item:disabled {
  color:var(--bs-list-group-disabled-color);
  pointer-events:none;
  background-color:var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index:2;
  color:var(--bs-list-group-active-color);
  background-color:var(--bs-list-group-active-bg);
  border-color:var(--bs-list-group-active-border-color);
}
.list-group-item+.list-group-item {
  border-top-width:0;
}
.list-group-item+.list-group-item.active {
  margin-top:calc(-1 * var(--bs-list-group-border-width));
  border-top-width:var(--bs-list-group-border-width);
}
.list-group-flush {
  border-radius:0;
}
.list-group-flush>.list-group-item {
  border-width:0 0 var(--bs-list-group-border-width);
}
.list-group-flush>.list-group-item:last-child {
  border-bottom-width:0;
}
