
/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #4e8c72;
  --bs-secondary: #7a8aa6;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 78, 140, 114;
  --bs-secondary-rgb: 122, 138, 166;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: rgb(31.2, 56, 45.6);
  --bs-secondary-text-emphasis: rgb(48.8, 55.2, 66.4);
  --bs-success-text-emphasis: rgb(10, 54, 33.6);
  --bs-info-text-emphasis: rgb(5.2, 80.8, 96);
  --bs-warning-text-emphasis: rgb(102, 77.2, 2.8);
  --bs-danger-text-emphasis: rgb(88, 21.2, 27.6);
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: rgb(219.6, 232, 226.8);
  --bs-secondary-bg-subtle: rgb(228.4, 231.6, 237.2);
  --bs-success-bg-subtle: rgb(209, 231, 220.8);
  --bs-info-bg-subtle: rgb(206.6, 244.4, 252);
  --bs-warning-bg-subtle: rgb(255, 242.6, 205.4);
  --bs-danger-bg-subtle: rgb(248, 214.6, 217.8);
  --bs-light-bg-subtle: rgb(251.5, 252, 252.5);
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: rgb(184.2, 209, 198.6);
  --bs-secondary-border-subtle: rgb(201.8, 208.2, 219.4);
  --bs-success-border-subtle: rgb(163, 207, 186.6);
  --bs-info-border-subtle: rgb(158.2, 233.8, 249);
  --bs-warning-border-subtle: rgb(255, 230.2, 155.8);
  --bs-danger-border-subtle: rgb(241, 174.2, 180.6);
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 0.96875rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #5d6b81;
  --bs-body-color-rgb: 93, 107, 129;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(93, 107, 129, 0.75);
  --bs-secondary-color-rgb: 93, 107, 129;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(93, 107, 129, 0.5);
  --bs-tertiary-color-rgb: 93, 107, 129;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: #4a5565;
  --bs-link-color: #356d57;
  --bs-link-color-rgb: 53, 109, 87;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #4e8c72;
  --bs-link-hover-color-rgb: 78, 140, 114;
  --bs-code-color: #d63384;
  --bs-highlight-color: #5d6b81;
  --bs-highlight-bg: rgb(255, 242.6, 205.4);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(78, 140, 114, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: rgb(148.8, 186, 170.4);
  --bs-secondary-text-emphasis: rgb(175.2, 184.8, 201.6);
  --bs-success-text-emphasis: rgb(117, 183, 152.4);
  --bs-info-text-emphasis: rgb(109.8, 223.2, 246);
  --bs-warning-text-emphasis: rgb(255, 217.8, 106.2);
  --bs-danger-text-emphasis: rgb(234, 133.8, 143.4);
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: rgb(15.6, 28, 22.8);
  --bs-secondary-bg-subtle: rgb(24.4, 27.6, 33.2);
  --bs-success-bg-subtle: rgb(5, 27, 16.8);
  --bs-info-bg-subtle: rgb(2.6, 40.4, 48);
  --bs-warning-bg-subtle: rgb(51, 38.6, 1.4);
  --bs-danger-bg-subtle: rgb(44, 10.6, 13.8);
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: rgb(46.8, 84, 68.4);
  --bs-secondary-border-subtle: rgb(73.2, 82.8, 99.6);
  --bs-success-border-subtle: rgb(15, 81, 50.4);
  --bs-info-border-subtle: rgb(7.8, 121.2, 144);
  --bs-warning-border-subtle: rgb(153, 115.8, 4.2);
  --bs-danger-border-subtle: rgb(132, 31.8, 41.4);
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: rgb(148.8, 186, 170.4);
  --bs-link-hover-color: rgb(170.04, 199.8, 187.32);
  --bs-link-color-rgb: 149, 186, 170;
  --bs-link-hover-color-rgb: 170, 200, 187;
  --bs-code-color: rgb(230.4, 132.6, 181.2);
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: rgb(102, 77.2, 2.8);
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: rgb(117, 183, 152.4);
  --bs-form-valid-border-color: rgb(117, 183, 152.4);
  --bs-form-invalid-color: rgb(234, 133.8, 143.4);
  --bs-form-invalid-border-color: rgb(234, 133.8, 143.4);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.3671875rem + 1.40625vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.421875rem;
  }
}

h2, .h2 {
  font-size: calc(1.31875rem + 0.825vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 1.9375rem;
  }
}

h3, .h3 {
  font-size: calc(1.29453125rem + 0.534375vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.6953125rem;
  }
}

h4, .h4 {
  font-size: calc(1.2703125rem + 0.24375vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.453125rem;
  }
}

h5, .h5 {
  font-size: 1.2109375rem;
}

h6, .h6 {
  font-size: 0.96875rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: 1.2109375rem;
  font-weight: 300;
}

.display-1 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.575rem + 3.9vw);
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.2109375rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.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: 0.5rem 0.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-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: rgb(219.6, 232, 226.8);
  --bs-table-border-color: rgb(175.68, 185.6, 181.44);
  --bs-table-striped-bg: rgb(208.62, 220.4, 215.46);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(197.64, 208.8, 204.12);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(203.13, 214.6, 209.79);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: rgb(228.4, 231.6, 237.2);
  --bs-table-border-color: rgb(182.72, 185.28, 189.76);
  --bs-table-striped-bg: rgb(216.98, 220.02, 225.34);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(205.56, 208.44, 213.48);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(211.27, 214.23, 219.41);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: rgb(209, 231, 220.8);
  --bs-table-border-color: rgb(167.2, 184.8, 176.64);
  --bs-table-striped-bg: rgb(198.55, 219.45, 209.76);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(188.1, 207.9, 198.72);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(193.325, 213.675, 204.24);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: rgb(206.6, 244.4, 252);
  --bs-table-border-color: rgb(165.28, 195.52, 201.6);
  --bs-table-striped-bg: rgb(196.27, 232.18, 239.4);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(185.94, 219.96, 226.8);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(191.105, 226.07, 233.1);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: rgb(255, 242.6, 205.4);
  --bs-table-border-color: rgb(204, 194.08, 164.32);
  --bs-table-striped-bg: rgb(242.25, 230.47, 195.13);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(229.5, 218.34, 184.86);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(235.875, 224.405, 189.995);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: rgb(248, 214.6, 217.8);
  --bs-table-border-color: rgb(198.4, 171.68, 174.24);
  --bs-table-striped-bg: rgb(235.6, 203.87, 206.91);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(223.2, 193.14, 196.02);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(229.4, 198.505, 201.465);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: rgb(198.4, 199.2, 200);
  --bs-table-striped-bg: rgb(235.6, 236.55, 237.5);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(223.2, 224.1, 225);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(229.4, 230.325, 231.25);
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: rgb(77.4, 80.6, 83.8);
  --bs-table-striped-bg: rgb(44.1, 47.9, 51.7);
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: rgb(55.2, 58.8, 62.4);
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: rgb(49.65, 53.35, 57.05);
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.42rem + var(--bs-border-width));
  padding-bottom: calc(0.42rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.58rem + var(--bs-border-width));
  padding-bottom: calc(0.58rem + var(--bs-border-width));
  font-size: 1rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.84765625rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.42rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  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 0.15s ease-in-out, box-shadow 0.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: rgb(166.5, 197.5, 184.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(78, 140, 114, 0.25);
}
.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::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.42rem 0.75rem;
  margin: -0.42rem -0.75rem;
  margin-inline-end: 0.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 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.42rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.84765625rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1.16rem + calc(var(--bs-border-width) * 2));
  padding: 0.58rem 0.95rem;
  font-size: 1rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.58rem 0.95rem;
  margin: -0.58rem -0.95rem;
  margin-inline-end: 0.95rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.84rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1.16rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.84rem + calc(var(--bs-border-width) * 2));
  padding: 0.42rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1.16rem + 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: 0.42rem 2.25rem 0.42rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  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 0.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 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: rgb(166.5, 197.5, 184.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(78, 140, 114, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.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: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.84765625rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.58rem;
  padding-bottom: 0.58rem;
  padding-left: 0.95rem;
  font-size: 1rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .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='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.453125rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  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);
  print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: rgb(166.5, 197.5, 184.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(78, 140, 114, 0.25);
}
.form-check-input:checked {
  background-color: #4e8c72;
  border-color: #4e8c72;
}
.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: #4e8c72;
  border-color: #4e8c72;
  --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: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%28166.5, 197.5, 184.5%29'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(78, 140, 114, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(78, 140, 114, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: #4e8c72;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: rgb(201.9, 220.5, 212.7);
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #4e8c72;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: rgb(201.9, 220.5, 212.7);
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  color: rgba(var(--bs-body-color-rgb), 0.65);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
  padding-left: 0.75rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.42rem 0.75rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.58rem 0.95rem;
  font-size: 1rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.84765625rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(-1 * var(--bs-border-width));
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.84765625rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.84rem);
  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.1'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.21rem) center;
  background-size: calc(0.75em + 0.42rem) calc(0.75em + 0.42rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.84rem);
  background-position: top calc(0.375em + 0.21rem) right calc(0.375em + 0.21rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .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.1'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.42rem) calc(0.75em + 0.42rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.84rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.84765625rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.84rem);
  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(0.375em + 0.21rem) center;
  background-size: calc(0.75em + 0.42rem) calc(0.75em + 0.42rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.84rem);
  background-position: top calc(0.375em + 0.21rem) right calc(0.375em + 0.21rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .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 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.42rem) calc(0.75em + 0.42rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.84rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.42rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 0.9375rem;
  --bs-btn-font-weight: 400;
  --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;
  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 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.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-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-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-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  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: #000;
  --bs-btn-bg: #4e8c72;
  --bs-btn-border-color: #4e8c72;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(104.55, 157.25, 135.15);
  --bs-btn-hover-border-color: rgb(95.7, 151.5, 128.1);
  --bs-btn-focus-shadow-rgb: 66, 119, 97;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(113.4, 163, 142.2);
  --bs-btn-active-border-color: rgb(95.7, 151.5, 128.1);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #4e8c72;
  --bs-btn-disabled-border-color: #4e8c72;
}

.btn-secondary {
  --bs-btn-color: #000;
  --bs-btn-bg: #7a8aa6;
  --bs-btn-border-color: #7a8aa6;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(141.95, 155.55, 179.35);
  --bs-btn-hover-border-color: rgb(135.3, 149.7, 174.9);
  --bs-btn-focus-shadow-rgb: 104, 117, 141;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(148.6, 161.4, 183.8);
  --bs-btn-active-border-color: rgb(135.3, 149.7, 174.9);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #7a8aa6;
  --bs-btn-disabled-border-color: #7a8aa6;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(21.25, 114.75, 71.4);
  --bs-btn-hover-border-color: rgb(20, 108, 67.2);
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(20, 108, 67.2);
  --bs-btn-active-border-color: rgb(18.75, 101.25, 63);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(49.3, 209.95, 242.25);
  --bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(61.4, 212.6, 243);
  --bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(255, 202.3, 44.2);
  --bs-btn-hover-border-color: rgb(255, 199.2, 31.8);
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(255, 205.4, 56.6);
  --bs-btn-active-border-color: rgb(255, 199.2, 31.8);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(187, 45.05, 58.65);
  --bs-btn-hover-border-color: rgb(176, 42.4, 55.2);
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(176, 42.4, 55.2);
  --bs-btn-active-border-color: rgb(165, 39.75, 51.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: rgb(210.8, 211.65, 212.5);
  --bs-btn-hover-border-color: rgb(198.4, 199.2, 200);
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: rgb(198.4, 199.2, 200);
  --bs-btn-active-border-color: rgb(186, 186.75, 187.5);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(66.3, 69.7, 73.1);
  --bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(77.4, 80.6, 83.8);
  --bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
  --bs-btn-color: #4e8c72;
  --bs-btn-border-color: #4e8c72;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #4e8c72;
  --bs-btn-hover-border-color: #4e8c72;
  --bs-btn-focus-shadow-rgb: 78, 140, 114;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #4e8c72;
  --bs-btn-active-border-color: #4e8c72;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #4e8c72;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #4e8c72;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #7a8aa6;
  --bs-btn-border-color: #7a8aa6;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #7a8aa6;
  --bs-btn-hover-border-color: #7a8aa6;
  --bs-btn-focus-shadow-rgb: 122, 138, 166;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #7a8aa6;
  --bs-btn-active-border-color: #7a8aa6;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #7a8aa6;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #7a8aa6;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #198754;
  --bs-btn-active-border-color: #198754;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #198754;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0dcaf0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --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: 83, 131, 112;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.58rem;
  --bs-btn-padding-x: 0.95rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.84765625rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 0.96875rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #4e8c72;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.84765625rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #4e8c72;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(-1 * var(--bs-border-width));
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.7125rem;
  padding-left: 0.7125rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(-1 * var(--bs-border-width));
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(78, 140, 114, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #4e8c72;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: #5d6b81;
  --bs-navbar-hover-color: #4a5565;
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: #4a5565;
  --bs-navbar-brand-padding-y: 0.4390625rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.05rem;
  --bs-navbar-brand-color: #4a5565;
  --bs-navbar-brand-hover-color: #4a5565;
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.2109375rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2893, 107, 129, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}

.navbar-collapse {
  flex-grow: 1;
  flex-basis: 100%;
  align-items: center;
}

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

[data-bs-theme=dark] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.card {
  --bs-card-spacer-y: 0.95rem;
  --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.475rem;
  --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,
.card > .list-group + .card-footer {
  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-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}

.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-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-top,
  .card-group > .card:not(:last-child) > .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-bottom,
  .card-group > .card:not(:last-child) > .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-top,
  .card-group > .card:not(:first-child) > .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-bottom,
  .card-group > .card:not(:first-child) > .card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235d6b81' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgb%2831.2, 56, 45.6%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(78, 140, 114, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 0.96875rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28148.8, 186, 170.4%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28148.8, 186, 170.4%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}

.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, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 0.96875rem;
  --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 rgba(78, 140, 114, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #4e8c72;
  --bs-pagination-active-border-color: #4e8c72;
  --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 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.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);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  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(-1 * var(--bs-border-width));
}
.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-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.2109375rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.84765625rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

.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;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.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-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

.alert-dismissible {
  padding-right: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.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-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-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);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--bs-progress-height);
  }
}
.progress,
.progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.7265625rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #4e8c72;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--bs-progress-height) var(--bs-progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.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.75rem;
  --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: #4e8c72;
  --bs-list-group-active-border-color: #4e8c72;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.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-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  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:not(.active):active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-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;
}

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(78, 140, 114, 0.25);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
  filter: var(--bs-btn-close-filter);
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

:root,
[data-bs-theme=light] {
  --bs-btn-close-filter: ;
}

[data-bs-theme=dark] {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.84765625rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.84765625rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 0.96875rem;
  --bs-popover-header-color: #4a5565;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  filter: var(--bs-carousel-control-icon-filter);
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/;
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/;
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: var(--bs-carousel-indicator-active-bg);
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: var(--bs-carousel-caption-color);
  text-align: center;
}

.carousel-dark {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-bs-theme=light] {
  --bs-carousel-indicator-active-bg: #fff;
  --bs-carousel-caption-color: #fff;
  --bs-carousel-control-icon-filter: ;
}

[data-bs-theme=dark] {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  flex-shrink: 0;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
  margin-left: auto;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #000 !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #000 !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(113, 163, 142, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(113, 163, 142, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(149, 161, 184, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(149, 161, 184, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: left !important;
}

.float-end {
  float: right !important;
}

.float-none {
  float: none !important;
}

.object-fit-contain {
  object-fit: contain !important;
}

.object-fit-cover {
  object-fit: cover !important;
}

.object-fit-fill {
  object-fit: fill !important;
}

.object-fit-scale {
  object-fit: scale-down !important;
}

.object-fit-none {
  object-fit: none !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  left: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.start-100 {
  left: 100% !important;
}

.end-0 {
  right: 0 !important;
}

.end-50 {
  right: 50% !important;
}

.end-100 {
  right: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.row-gap-3 {
  row-gap: 1rem !important;
}

.row-gap-4 {
  row-gap: 1.5rem !important;
}

.row-gap-5 {
  row-gap: 3rem !important;
}

.column-gap-0 {
  column-gap: 0 !important;
}

.column-gap-1 {
  column-gap: 0.25rem !important;
}

.column-gap-2 {
  column-gap: 0.5rem !important;
}

.column-gap-3 {
  column-gap: 1rem !important;
}

.column-gap-4 {
  column-gap: 1.5rem !important;
}

.column-gap-5 {
  column-gap: 3rem !important;
}

.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.3671875rem + 1.40625vw) !important;
}

.fs-2 {
  font-size: calc(1.31875rem + 0.825vw) !important;
}

.fs-3 {
  font-size: calc(1.29453125rem + 0.534375vw) !important;
}

.fs-4 {
  font-size: calc(1.2703125rem + 0.24375vw) !important;
}

.fs-5 {
  font-size: 1.2109375rem !important;
}

.fs-6 {
  font-size: 0.96875rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.5 !important;
}

.lh-lg {
  line-height: 2 !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}

.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}

.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !important;
}

.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --bs-text-opacity: 0.25;
}

.text-opacity-50 {
  --bs-text-opacity: 0.5;
}

.text-opacity-75 {
  --bs-text-opacity: 0.75;
}

.text-opacity-100 {
  --bs-text-opacity: 1;
}

.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}

.link-opacity-10 {
  --bs-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

.link-opacity-25 {
  --bs-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

.link-opacity-50 {
  --bs-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

.link-opacity-75 {
  --bs-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

.link-opacity-100 {
  --bs-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-success {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-info {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-warning {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-danger {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-light {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-dark {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bs-bg-opacity: 1;
}

.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.421875rem !important;
  }
  .fs-2 {
    font-size: 1.9375rem !important;
  }
  .fs-3 {
    font-size: 1.6953125rem !important;
  }
  .fs-4 {
    font-size: 1.453125rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
:root {
  --iti-hover-color: rgba(0, 0, 0, 0.05);
  --iti-border-color: #ccc;
  --iti-dialcode-color: #999;
  --iti-dropdown-bg: white;
  --iti-search-icon-color: #999;
  --iti-spacer-horizontal: 8px;
  --iti-flag-height: 12px;
  --iti-flag-width: 16px;
  --iti-border-width: 1px;
  --iti-arrow-height: 4px;
  --iti-arrow-width: 6px;
  --iti-triangle-border: calc(var(--iti-arrow-width) / 2);
  --iti-arrow-padding: 6px;
  --iti-arrow-color: #555;
  --iti-flag-sprite-width: 3904px;
  --iti-flag-sprite-height: 12px;
  --iti-mobile-popup-margin: 30px;
}

.iti {
  position: relative;
  display: inline-block;
}

.iti * {
  box-sizing: border-box;
}

.iti__a11y-text {
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  position: absolute;
}

.iti input.iti__tel-input,
.iti input.iti__tel-input[type=text],
.iti input.iti__tel-input[type=tel] {
  position: relative;
  z-index: 0;
  margin: 0 !important;
}

.iti__country-container {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  padding: var(--iti-border-width);
}

.iti__selected-country {
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border-radius: 0;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
}

.iti__selected-country-primary {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 var(--iti-arrow-padding) 0 var(--iti-spacer-horizontal);
}

.iti__arrow {
  margin-left: var(--iti-arrow-padding);
  width: 0;
  height: 0;
  border-left: var(--iti-triangle-border) solid transparent;
  border-right: var(--iti-triangle-border) solid transparent;
  border-top: var(--iti-arrow-height) solid var(--iti-arrow-color);
}

.iti__arrow--up {
  border-top: none;
  border-bottom: var(--iti-arrow-height) solid var(--iti-arrow-color);
}

.iti__dropdown-content {
  border-radius: 3px;
  background-color: var(--iti-dropdown-bg);
}

.iti--inline-dropdown .iti__dropdown-content {
  position: absolute;
  z-index: 2;
  margin-top: 3px;
  margin-left: calc(var(--iti-border-width) * -1);
  border: var(--iti-border-width) solid var(--iti-border-color);
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}

.iti__search-input {
  width: 100%;
  border-width: 0;
  border-radius: 3px;
  padding-left: 30px;
  padding-right: 28px;
}

[dir=rtl] .iti__search-input {
  padding-left: inherit;
  padding-right: 30px;
  background-position: right 8px center;
}

.iti__search-input + .iti__country-list {
  border-top: 1px solid var(--iti-border-color);
}

.iti__search-input::-webkit-search-cancel-button {
  appearance: none;
}

.iti__search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.iti__search-icon {
  position: absolute;
  left: 8px;
  display: flex;
  pointer-events: none;
}

[dir=rtl] .iti__search-icon {
  left: auto;
  right: 8px;
}

.iti__search-icon-svg {
  stroke: var(--iti-search-icon-color);
  fill: none;
  stroke-width: 3;
}

.iti__search-clear {
  position: absolute;
  right: 4px;
  background: transparent;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s ease;
  width: 24px;
  height: 24px;
}

.iti__search-clear .iti__search-clear-x {
  stroke-width: 2;
}

.iti__search-clear .iti__search-clear-bg {
  fill: var(--iti-search-icon-color);
}

[dir=rtl] .iti__search-clear {
  right: auto;
  left: 4px;
}

.iti__search-clear:hover, .iti__search-clear:focus-visible {
  background: var(--iti-hover-color);
  outline: none;
}

.iti__no-results {
  text-align: center;
  padding: 30px 0;
}

.iti__country-list {
  list-style: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.iti--inline-dropdown .iti__country-list {
  max-height: 185px;
}

.iti--flexible-dropdown-width .iti__country-list {
  white-space: nowrap;
}

@media (max-width: 500px) {
  .iti--flexible-dropdown-width .iti__country-list {
    white-space: normal;
  }
}
.iti__country {
  display: flex;
  align-items: center;
  padding: 8px var(--iti-spacer-horizontal);
  outline: none;
}

.iti__dial-code {
  color: var(--iti-dialcode-color);
}

.iti__country.iti__highlight {
  background-color: var(--iti-hover-color);
}

.iti__country-list .iti__flag, .iti__country-name {
  margin-right: var(--iti-spacer-horizontal);
}

[dir=rtl] .iti__country-list .iti__flag, [dir=rtl] .iti__country-name {
  margin-right: 0;
  margin-left: var(--iti-spacer-horizontal);
}

.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) button.iti__selected-country {
  cursor: pointer;
}

.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,
.iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:hover) .iti__selected-country-primary {
  background-color: var(--iti-hover-color);
}

.iti .iti__selected-dial-code {
  margin-left: 4px;
}

.iti--container {
  position: fixed;
  top: -1000px;
  left: -1000px;
  z-index: 1060;
  padding: var(--iti-border-width);
}

.iti--container:hover {
  cursor: pointer;
}

.iti__hide {
  display: none;
}

.iti__v-hide {
  visibility: hidden;
}

.iti--fullscreen-popup.iti--container {
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  padding: var(--iti-mobile-popup-margin);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.iti--fullscreen-popup .iti__dropdown-content {
  display: flex;
  flex-direction: column;
  max-height: 100%;
  position: relative;
}

.iti--fullscreen-popup .iti__country {
  padding: 10px 10px;
  line-height: 1.5em;
}

.iti__flag {
  --iti-flag-offset: 100px;
  height: var(--iti-flag-height);
  width: var(--iti-flag-width);
  border-radius: 1px;
  box-shadow: 0px 0px 1px 0px #888;
  background-image: var(--iti-path-flags-1x);
  background-repeat: no-repeat;
  background-position: var(--iti-flag-offset) 0;
  background-size: var(--iti-flag-sprite-width) var(--iti-flag-sprite-height);
}

.iti__ac {
  --iti-flag-offset: 0px;
}

.iti__ad {
  --iti-flag-offset: -16px;
}

.iti__ae {
  --iti-flag-offset: -32px;
}

.iti__af {
  --iti-flag-offset: -48px;
}

.iti__ag {
  --iti-flag-offset: -64px;
}

.iti__ai {
  --iti-flag-offset: -80px;
}

.iti__al {
  --iti-flag-offset: -96px;
}

.iti__am {
  --iti-flag-offset: -112px;
}

.iti__ao {
  --iti-flag-offset: -128px;
}

.iti__ar {
  --iti-flag-offset: -144px;
}

.iti__as {
  --iti-flag-offset: -160px;
}

.iti__at {
  --iti-flag-offset: -176px;
}

.iti__au {
  --iti-flag-offset: -192px;
}

.iti__aw {
  --iti-flag-offset: -208px;
}

.iti__ax {
  --iti-flag-offset: -224px;
}

.iti__az {
  --iti-flag-offset: -240px;
}

.iti__ba {
  --iti-flag-offset: -256px;
}

.iti__bb {
  --iti-flag-offset: -272px;
}

.iti__bd {
  --iti-flag-offset: -288px;
}

.iti__be {
  --iti-flag-offset: -304px;
}

.iti__bf {
  --iti-flag-offset: -320px;
}

.iti__bg {
  --iti-flag-offset: -336px;
}

.iti__bh {
  --iti-flag-offset: -352px;
}

.iti__bi {
  --iti-flag-offset: -368px;
}

.iti__bj {
  --iti-flag-offset: -384px;
}

.iti__bl {
  --iti-flag-offset: -400px;
}

.iti__bm {
  --iti-flag-offset: -416px;
}

.iti__bn {
  --iti-flag-offset: -432px;
}

.iti__bo {
  --iti-flag-offset: -448px;
}

.iti__bq {
  --iti-flag-offset: -464px;
}

.iti__br {
  --iti-flag-offset: -480px;
}

.iti__bs {
  --iti-flag-offset: -496px;
}

.iti__bt {
  --iti-flag-offset: -512px;
}

.iti__bw {
  --iti-flag-offset: -528px;
}

.iti__by {
  --iti-flag-offset: -544px;
}

.iti__bz {
  --iti-flag-offset: -560px;
}

.iti__ca {
  --iti-flag-offset: -576px;
}

.iti__cc {
  --iti-flag-offset: -592px;
}

.iti__cd {
  --iti-flag-offset: -608px;
}

.iti__cf {
  --iti-flag-offset: -624px;
}

.iti__cg {
  --iti-flag-offset: -640px;
}

.iti__ch {
  --iti-flag-offset: -656px;
}

.iti__ci {
  --iti-flag-offset: -672px;
}

.iti__ck {
  --iti-flag-offset: -688px;
}

.iti__cl {
  --iti-flag-offset: -704px;
}

.iti__cm {
  --iti-flag-offset: -720px;
}

.iti__cn {
  --iti-flag-offset: -736px;
}

.iti__co {
  --iti-flag-offset: -752px;
}

.iti__cr {
  --iti-flag-offset: -768px;
}

.iti__cu {
  --iti-flag-offset: -784px;
}

.iti__cv {
  --iti-flag-offset: -800px;
}

.iti__cw {
  --iti-flag-offset: -816px;
}

.iti__cx {
  --iti-flag-offset: -832px;
}

.iti__cy {
  --iti-flag-offset: -848px;
}

.iti__cz {
  --iti-flag-offset: -864px;
}

.iti__de {
  --iti-flag-offset: -880px;
}

.iti__dj {
  --iti-flag-offset: -896px;
}

.iti__dk {
  --iti-flag-offset: -912px;
}

.iti__dm {
  --iti-flag-offset: -928px;
}

.iti__do {
  --iti-flag-offset: -944px;
}

.iti__dz {
  --iti-flag-offset: -960px;
}

.iti__ec {
  --iti-flag-offset: -976px;
}

.iti__ee {
  --iti-flag-offset: -992px;
}

.iti__eg {
  --iti-flag-offset: -1008px;
}

.iti__eh {
  --iti-flag-offset: -1024px;
}

.iti__er {
  --iti-flag-offset: -1040px;
}

.iti__es {
  --iti-flag-offset: -1056px;
}

.iti__et {
  --iti-flag-offset: -1072px;
}

.iti__fi {
  --iti-flag-offset: -1088px;
}

.iti__fj {
  --iti-flag-offset: -1104px;
}

.iti__fk {
  --iti-flag-offset: -1120px;
}

.iti__fm {
  --iti-flag-offset: -1136px;
}

.iti__fo {
  --iti-flag-offset: -1152px;
}

.iti__fr {
  --iti-flag-offset: -1168px;
}

.iti__ga {
  --iti-flag-offset: -1184px;
}

.iti__gb {
  --iti-flag-offset: -1200px;
}

.iti__gd {
  --iti-flag-offset: -1216px;
}

.iti__ge {
  --iti-flag-offset: -1232px;
}

.iti__gf {
  --iti-flag-offset: -1248px;
}

.iti__gg {
  --iti-flag-offset: -1264px;
}

.iti__gh {
  --iti-flag-offset: -1280px;
}

.iti__gi {
  --iti-flag-offset: -1296px;
}

.iti__gl {
  --iti-flag-offset: -1312px;
}

.iti__gm {
  --iti-flag-offset: -1328px;
}

.iti__gn {
  --iti-flag-offset: -1344px;
}

.iti__gp {
  --iti-flag-offset: -1360px;
}

.iti__gq {
  --iti-flag-offset: -1376px;
}

.iti__gr {
  --iti-flag-offset: -1392px;
}

.iti__gt {
  --iti-flag-offset: -1408px;
}

.iti__gu {
  --iti-flag-offset: -1424px;
}

.iti__gw {
  --iti-flag-offset: -1440px;
}

.iti__gy {
  --iti-flag-offset: -1456px;
}

.iti__hk {
  --iti-flag-offset: -1472px;
}

.iti__hn {
  --iti-flag-offset: -1488px;
}

.iti__hr {
  --iti-flag-offset: -1504px;
}

.iti__ht {
  --iti-flag-offset: -1520px;
}

.iti__hu {
  --iti-flag-offset: -1536px;
}

.iti__id {
  --iti-flag-offset: -1552px;
}

.iti__ie {
  --iti-flag-offset: -1568px;
}

.iti__il {
  --iti-flag-offset: -1584px;
}

.iti__im {
  --iti-flag-offset: -1600px;
}

.iti__in {
  --iti-flag-offset: -1616px;
}

.iti__io {
  --iti-flag-offset: -1632px;
}

.iti__iq {
  --iti-flag-offset: -1648px;
}

.iti__ir {
  --iti-flag-offset: -1664px;
}

.iti__is {
  --iti-flag-offset: -1680px;
}

.iti__it {
  --iti-flag-offset: -1696px;
}

.iti__je {
  --iti-flag-offset: -1712px;
}

.iti__jm {
  --iti-flag-offset: -1728px;
}

.iti__jo {
  --iti-flag-offset: -1744px;
}

.iti__jp {
  --iti-flag-offset: -1760px;
}

.iti__ke {
  --iti-flag-offset: -1776px;
}

.iti__kg {
  --iti-flag-offset: -1792px;
}

.iti__kh {
  --iti-flag-offset: -1808px;
}

.iti__ki {
  --iti-flag-offset: -1824px;
}

.iti__km {
  --iti-flag-offset: -1840px;
}

.iti__kn {
  --iti-flag-offset: -1856px;
}

.iti__kp {
  --iti-flag-offset: -1872px;
}

.iti__kr {
  --iti-flag-offset: -1888px;
}

.iti__kw {
  --iti-flag-offset: -1904px;
}

.iti__ky {
  --iti-flag-offset: -1920px;
}

.iti__kz {
  --iti-flag-offset: -1936px;
}

.iti__la {
  --iti-flag-offset: -1952px;
}

.iti__lb {
  --iti-flag-offset: -1968px;
}

.iti__lc {
  --iti-flag-offset: -1984px;
}

.iti__li {
  --iti-flag-offset: -2000px;
}

.iti__lk {
  --iti-flag-offset: -2016px;
}

.iti__lr {
  --iti-flag-offset: -2032px;
}

.iti__ls {
  --iti-flag-offset: -2048px;
}

.iti__lt {
  --iti-flag-offset: -2064px;
}

.iti__lu {
  --iti-flag-offset: -2080px;
}

.iti__lv {
  --iti-flag-offset: -2096px;
}

.iti__ly {
  --iti-flag-offset: -2112px;
}

.iti__ma {
  --iti-flag-offset: -2128px;
}

.iti__mc {
  --iti-flag-offset: -2144px;
}

.iti__md {
  --iti-flag-offset: -2160px;
}

.iti__me {
  --iti-flag-offset: -2176px;
}

.iti__mf {
  --iti-flag-offset: -2192px;
}

.iti__mg {
  --iti-flag-offset: -2208px;
}

.iti__mh {
  --iti-flag-offset: -2224px;
}

.iti__mk {
  --iti-flag-offset: -2240px;
}

.iti__ml {
  --iti-flag-offset: -2256px;
}

.iti__mm {
  --iti-flag-offset: -2272px;
}

.iti__mn {
  --iti-flag-offset: -2288px;
}

.iti__mo {
  --iti-flag-offset: -2304px;
}

.iti__mp {
  --iti-flag-offset: -2320px;
}

.iti__mq {
  --iti-flag-offset: -2336px;
}

.iti__mr {
  --iti-flag-offset: -2352px;
}

.iti__ms {
  --iti-flag-offset: -2368px;
}

.iti__mt {
  --iti-flag-offset: -2384px;
}

.iti__mu {
  --iti-flag-offset: -2400px;
}

.iti__mv {
  --iti-flag-offset: -2416px;
}

.iti__mw {
  --iti-flag-offset: -2432px;
}

.iti__mx {
  --iti-flag-offset: -2448px;
}

.iti__my {
  --iti-flag-offset: -2464px;
}

.iti__mz {
  --iti-flag-offset: -2480px;
}

.iti__na {
  --iti-flag-offset: -2496px;
}

.iti__nc {
  --iti-flag-offset: -2512px;
}

.iti__ne {
  --iti-flag-offset: -2528px;
}

.iti__nf {
  --iti-flag-offset: -2544px;
}

.iti__ng {
  --iti-flag-offset: -2560px;
}

.iti__ni {
  --iti-flag-offset: -2576px;
}

.iti__nl {
  --iti-flag-offset: -2592px;
}

.iti__no {
  --iti-flag-offset: -2608px;
}

.iti__np {
  --iti-flag-offset: -2624px;
}

.iti__nr {
  --iti-flag-offset: -2640px;
}

.iti__nu {
  --iti-flag-offset: -2656px;
}

.iti__nz {
  --iti-flag-offset: -2672px;
}

.iti__om {
  --iti-flag-offset: -2688px;
}

.iti__pa {
  --iti-flag-offset: -2704px;
}

.iti__pe {
  --iti-flag-offset: -2720px;
}

.iti__pf {
  --iti-flag-offset: -2736px;
}

.iti__pg {
  --iti-flag-offset: -2752px;
}

.iti__ph {
  --iti-flag-offset: -2768px;
}

.iti__pk {
  --iti-flag-offset: -2784px;
}

.iti__pl {
  --iti-flag-offset: -2800px;
}

.iti__pm {
  --iti-flag-offset: -2816px;
}

.iti__pr {
  --iti-flag-offset: -2832px;
}

.iti__ps {
  --iti-flag-offset: -2848px;
}

.iti__pt {
  --iti-flag-offset: -2864px;
}

.iti__pw {
  --iti-flag-offset: -2880px;
}

.iti__py {
  --iti-flag-offset: -2896px;
}

.iti__qa {
  --iti-flag-offset: -2912px;
}

.iti__re {
  --iti-flag-offset: -2928px;
}

.iti__ro {
  --iti-flag-offset: -2944px;
}

.iti__rs {
  --iti-flag-offset: -2960px;
}

.iti__ru {
  --iti-flag-offset: -2976px;
}

.iti__rw {
  --iti-flag-offset: -2992px;
}

.iti__sa {
  --iti-flag-offset: -3008px;
}

.iti__sb {
  --iti-flag-offset: -3024px;
}

.iti__sc {
  --iti-flag-offset: -3040px;
}

.iti__sd {
  --iti-flag-offset: -3056px;
}

.iti__se {
  --iti-flag-offset: -3072px;
}

.iti__sg {
  --iti-flag-offset: -3088px;
}

.iti__sh {
  --iti-flag-offset: -3104px;
}

.iti__si {
  --iti-flag-offset: -3120px;
}

.iti__sj {
  --iti-flag-offset: -3136px;
}

.iti__sk {
  --iti-flag-offset: -3152px;
}

.iti__sl {
  --iti-flag-offset: -3168px;
}

.iti__sm {
  --iti-flag-offset: -3184px;
}

.iti__sn {
  --iti-flag-offset: -3200px;
}

.iti__so {
  --iti-flag-offset: -3216px;
}

.iti__sr {
  --iti-flag-offset: -3232px;
}

.iti__ss {
  --iti-flag-offset: -3248px;
}

.iti__st {
  --iti-flag-offset: -3264px;
}

.iti__sv {
  --iti-flag-offset: -3280px;
}

.iti__sx {
  --iti-flag-offset: -3296px;
}

.iti__sy {
  --iti-flag-offset: -3312px;
}

.iti__sz {
  --iti-flag-offset: -3328px;
}

.iti__tc {
  --iti-flag-offset: -3344px;
}

.iti__td {
  --iti-flag-offset: -3360px;
}

.iti__tg {
  --iti-flag-offset: -3376px;
}

.iti__th {
  --iti-flag-offset: -3392px;
}

.iti__tj {
  --iti-flag-offset: -3408px;
}

.iti__tk {
  --iti-flag-offset: -3424px;
}

.iti__tl {
  --iti-flag-offset: -3440px;
}

.iti__tm {
  --iti-flag-offset: -3456px;
}

.iti__tn {
  --iti-flag-offset: -3472px;
}

.iti__to {
  --iti-flag-offset: -3488px;
}

.iti__tr {
  --iti-flag-offset: -3504px;
}

.iti__tt {
  --iti-flag-offset: -3520px;
}

.iti__tv {
  --iti-flag-offset: -3536px;
}

.iti__tw {
  --iti-flag-offset: -3552px;
}

.iti__tz {
  --iti-flag-offset: -3568px;
}

.iti__ua {
  --iti-flag-offset: -3584px;
}

.iti__ug {
  --iti-flag-offset: -3600px;
}

.iti__us {
  --iti-flag-offset: -3616px;
}

.iti__uy {
  --iti-flag-offset: -3632px;
}

.iti__uz {
  --iti-flag-offset: -3648px;
}

.iti__va {
  --iti-flag-offset: -3664px;
}

.iti__vc {
  --iti-flag-offset: -3680px;
}

.iti__ve {
  --iti-flag-offset: -3696px;
}

.iti__vg {
  --iti-flag-offset: -3712px;
}

.iti__vi {
  --iti-flag-offset: -3728px;
}

.iti__vn {
  --iti-flag-offset: -3744px;
}

.iti__vu {
  --iti-flag-offset: -3760px;
}

.iti__wf {
  --iti-flag-offset: -3776px;
}

.iti__ws {
  --iti-flag-offset: -3792px;
}

.iti__xk {
  --iti-flag-offset: -3808px;
}

.iti__ye {
  --iti-flag-offset: -3824px;
}

.iti__yt {
  --iti-flag-offset: -3840px;
}

.iti__za {
  --iti-flag-offset: -3856px;
}

.iti__zm {
  --iti-flag-offset: -3872px;
}

.iti__zw {
  --iti-flag-offset: -3888px;
}

.iti__globe {
  background-image: var(--iti-path-globe-1x);
  background-size: contain;
  background-position: right;
  box-shadow: none;
  height: 19px;
}

@media (min-resolution: 2x) {
  .iti__flag {
    background-image: var(--iti-path-flags-2x);
  }
  .iti__globe {
    background-image: var(--iti-path-globe-2x);
  }
}
:root {
  --iti-path-flags-1x: url(/../img/flags.webp);
  --iti-path-flags-2x: url(/../img/flags@2x.webp);
  --iti-path-globe-1x: url(/../img/globe.webp);
  --iti-path-globe-2x: url(/../img/globe@2x.webp);
}

:root {
  --iti-path-flags-1x: url(/intl-tel-input/flags.webp);
  --iti-path-flags-2x: url(/intl-tel-input/flags@2x.webp);
  --iti-path-globe-1x: url(/intl-tel-input/globe.webp);
  --iti-path-globe-2x: url(/intl-tel-input/globe@2x.webp);
}

.ratelo-phone-field,
.ratelo-phone-field .iti {
  width: 100%;
}

.ratelo-phone-field .iti {
  display: block;
}

.ratelo-phone-field .iti input.iti__tel-input {
  width: 100%;
  min-height: calc(1.45em + 0.84rem + 2px);
  border: 1px solid rgba(124, 135, 159, 0.18);
  border-radius: var(--ratelo-form-radius);
  background: linear-gradient(180deg, rgba(251, 252, 254, 0.98) 0%, rgba(243, 247, 251, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 0.45rem 1.1rem rgba(15, 23, 42, 0.03);
  color: #314154;
  font-size: 0.9rem;
  line-height: 1.45;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.ratelo-phone-field .iti input.iti__tel-input:hover {
  border-color: rgba(124, 135, 159, 0.28);
}

.ratelo-phone-field .iti input.iti__tel-input:focus {
  border-color: rgba(124, 135, 159, 0.42);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 0 0 0.24rem rgba(124, 135, 159, 0.12), 0 0.6rem 1.35rem rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.88);
  outline: none;
}

.ratelo-phone-field .iti__country-container {
  padding: 0;
}

.ratelo-phone-field .iti__selected-country {
  border-top-left-radius: var(--ratelo-form-radius);
  border-bottom-left-radius: var(--ratelo-form-radius);
}

.ratelo-phone-field .iti__selected-country-primary {
  padding: 0 0.55rem 0 0.85rem;
  border-right: 1px solid rgba(124, 135, 159, 0.18);
  transition: background-color 0.18s ease;
}

.ratelo-phone-field .iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country-primary:hover,
.ratelo-phone-field .iti--allow-dropdown .iti__country-container:not(:has(+ input[disabled])):not(:has(+ input[readonly])) .iti__selected-country:has(+ .iti__dropdown-content:not(.iti__hide)) .iti__selected-country-primary {
  background-color: rgba(124, 135, 159, 0.08);
}

.ratelo-phone-field .iti__arrow {
  margin-left: 0.45rem;
  border-top-color: #64748b;
}

.ratelo-phone-field .iti__arrow--up {
  border-bottom-color: #64748b;
}

.ratelo-phone-field .iti--inline-dropdown .iti__dropdown-content {
  margin-top: 4px;
  min-width: 18rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.75rem;
  box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.1);
  overflow: hidden;
}

.ratelo-phone-field .iti__search-input-wrapper {
  padding: 0.55rem 0.65rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  background: rgba(248, 250, 252, 0.7);
}

.ratelo-phone-field .iti__search-input {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.6rem;
  padding: 0.4rem 2rem 0.4rem 2.1rem;
  min-height: calc(1.35em + 0.7rem + 2px);
  font-size: 0.9rem;
  background: #fff;
}

.ratelo-phone-field .iti__search-input:focus {
  outline: none;
  border-color: rgba(124, 135, 159, 0.42);
  box-shadow: 0 0 0 0.2rem rgba(124, 135, 159, 0.12);
}

.ratelo-phone-field .iti__search-icon {
  left: 1.1rem;
}

.ratelo-phone-field .iti__search-clear {
  right: 0.95rem;
}

.ratelo-phone-field .iti__country-list {
  max-height: 16rem;
  padding: 0.35rem 0;
}

.ratelo-phone-field .iti__country {
  padding: 0.5rem 0.85rem;
  font-size: 0.9375rem;
  color: #314154;
  gap: 0.55rem;
}

.ratelo-phone-field .iti__country .iti__country-name,
.ratelo-phone-field .iti__country .iti__dial-code {
  margin-right: 0;
}

.ratelo-phone-field .iti__country.iti__highlight {
  background-color: var(--ratelo-accent-soft);
  color: var(--ratelo-accent-deep);
}

.ratelo-phone-field .iti__country.iti__highlight .iti__dial-code {
  color: var(--ratelo-accent-deep);
}

.ratelo-phone-field .iti__no-results {
  padding: 1.25rem 0.85rem;
  color: var(--ratelo-ink-300);
  font-size: 0.9rem;
}

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle;
}

.select2-container .select2-selection--single {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 28px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  display: block;
  padding-left: 8px;
  padding-right: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.select2-container .select2-selection--single .select2-selection__clear {
  background-color: transparent;
  border: none;
  font-size: 1em;
}

.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px;
}

.select2-container .select2-selection--multiple {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  min-height: 32px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline;
  list-style: none;
  padding: 0;
}

.select2-container .select2-selection--multiple .select2-selection__clear {
  background-color: transparent;
  border: none;
  font-size: 1em;
}

.select2-container .select2-search--inline .select2-search__field {
  box-sizing: border-box;
  border: none;
  font-size: 100%;
  margin-top: 5px;
  margin-left: 5px;
  padding: 0;
  max-width: 100%;
  resize: none;
  height: 18px;
  vertical-align: bottom;
  font-family: sans-serif;
  overflow: hidden;
  word-break: keep-all;
}

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051;
}

.select2-results {
  display: block;
}

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0;
}

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none;
}

.select2-results__option--selectable {
  cursor: pointer;
}

.select2-container--open .select2-dropdown {
  left: 0;
}

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-search--dropdown {
  display: block;
  padding: 4px;
}

.select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  box-sizing: border-box;
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.select2-search--dropdown.select2-search--hide {
  display: none;
}

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0);
}

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  height: 26px;
  margin-right: 20px;
  padding-right: 0px;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto;
}

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  padding-bottom: 5px;
  padding-right: 5px;
  position: relative;
}

.select2-container--default .select2-selection--multiple.select2-selection--clearable {
  padding-right: 25px;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  font-weight: bold;
  height: 20px;
  margin-right: 10px;
  margin-top: 5px;
  position: absolute;
  right: 0;
  padding: 1px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: inline-block;
  margin-left: 5px;
  margin-top: 5px;
  padding: 0;
  padding-left: 20px;
  position: relative;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  cursor: default;
  padding-left: 2px;
  padding-right: 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  background-color: transparent;
  border: none;
  border-right: 1px solid #aaa;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  color: #999;
  cursor: pointer;
  font-size: 1em;
  font-weight: bold;
  padding: 0 4px;
  position: absolute;
  left: 0;
  top: 0;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover, .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus {
  background-color: #f1f1f1;
  color: #333;
  outline: none;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__display {
  padding-left: 5px;
  padding-right: 2px;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
  border-left: 1px solid #aaa;
  border-right: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__clear {
  float: left;
  margin-left: 10px;
  margin-right: auto;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0;
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none;
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
}

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield;
}

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em;
}

.select2-container--default .select2-results__option--group {
  padding: 0;
}

.select2-container--default .select2-results__option--disabled {
  color: #999;
}

.select2-container--default .select2-results__option--selected {
  background-color: #ddd;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #5897fb;
  color: white;
}

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
}

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px;
}

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  height: 26px;
  margin-right: 20px;
}

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999;
}

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0);
}

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear {
  float: left;
}

.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0);
}

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0;
  padding-bottom: 5px;
  padding-right: 5px;
}

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  display: inline-block;
  margin-left: 5px;
  margin-top: 5px;
  padding: 0;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__display {
  cursor: default;
  padding-left: 2px;
  padding-right: 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  background-color: transparent;
  border: none;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  color: #888;
  cursor: pointer;
  font-size: 1em;
  font-weight: bold;
  padding: 0 4px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555;
  outline: none;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__display {
  padding-left: 5px;
  padding-right: 2px;
}

.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0;
}

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none;
}

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent;
}

.select2-container--classic .select2-dropdown--above {
  border-bottom: none;
}

.select2-container--classic .select2-dropdown--below {
  border-top: none;
}

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
}

.select2-container--classic .select2-results__option--group {
  padding: 0;
}

.select2-container--classic .select2-results__option--disabled {
  color: grey;
}

.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #3875d7;
  color: white;
}

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px;
}

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb;
}

.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
  box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
}

.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}

.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}

.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  left: 22px;
}

.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}

.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}

.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}

.flatpickr-calendar:focus {
  outline: 0;
}

.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}

.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}

.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  left: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  right: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}

.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}

.numInputWrapper {
  position: relative;
  height: auto;
}

.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}

.numInputWrapper input {
  width: 100%;
}

.numInputWrapper input::-ms-clear {
  display: none;
}

.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}

.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}

.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6);
  top: 26%;
}

.numInputWrapper span.arrowDown {
  top: 50%;
}

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6);
  top: 40%;
}

.numInputWrapper span svg {
  width: inherit;
  height: auto;
}

.numInputWrapper span svg path {
  fill: rgba(0, 0, 0, 0.5);
}

.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}

.numInputWrapper:hover span {
  opacity: 1;
}

.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}

.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0 ;
  display: inline-block;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0, 0, 0, 0.9);
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0, 0, 0, 0.9);
}

.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}

.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.5);
  background: transparent;
  pointer-events: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}

.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 28px;
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder;
}

.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 307.875px;
}

.flatpickr-days:focus {
  outline: 0;
}

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}

.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
  box-shadow: -1px 0 0 #e6e6e6;
}

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}

.flatpickr-day.today {
  border-color: #959ea9;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}

.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
  box-shadow: -10px 0 0 #569ff7;
}

.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}

.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57, 57, 57, 0.1);
}

.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
  box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}

.flatpickr-day.hidden {
  visibility: hidden;
}

.rangeMode .flatpickr-day {
  margin-top: 1px;
}

.flatpickr-weekwrapper {
  float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
  box-shadow: 1px 0 0 #e6e6e6;
}

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}

.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}

.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}

.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}

.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}

.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}

.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}

.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}

.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}

.flatpickr-input[readonly] {
  cursor: pointer;
}

@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
:root {
  --ratelo-ink-900: #22303f;
  --ratelo-ink-700: #4a5565;
  --ratelo-ink-500: #5d6b81;
  --ratelo-ink-300: #8894a8;
  --ratelo-ink-100: #d2d8e4;
  --ratelo-surface: #ffffff;
  --ratelo-surface-muted: #f5f7fa;
  --ratelo-surface-sunken: #eceff5;
  --ratelo-border-soft: rgba(74, 85, 101, 0.14);
  --ratelo-border-strong: rgba(74, 85, 101, 0.24);
  --ratelo-cta: #e27564;
  --ratelo-cta-deep: #b84f3f;
  --ratelo-cta-soft: #fdeeea;
  --ratelo-cta-soft-2: rgba(226, 117, 100, 0.14);
  --ratelo-cta-contrast: #ffffff;
  --ratelo-primary: #4e8c72;
  --ratelo-primary-deep: #356d57;
  --ratelo-primary-soft: #e4efe9;
  --ratelo-primary-soft-2: rgba(78, 140, 114, 0.12);
  --ratelo-primary-contrast: #ffffff;
  --ratelo-secondary: #7a8aa6;
  --ratelo-secondary-deep: #4a5565;
  --ratelo-secondary-soft: #eef1f7;
  --ratelo-secondary-soft-2: rgba(122, 138, 166, 0.14);
  --ratelo-success: #3e9577;
  --ratelo-success-deep: #27755a;
  --ratelo-success-soft: #deefe7;
  --ratelo-info: #7a8aa6;
  --ratelo-info-deep: #4a5565;
  --ratelo-info-soft: #eef1f7;
  --ratelo-warning: #d98c3f;
  --ratelo-warning-deep: #a66321;
  --ratelo-warning-soft: #fbeccd;
  --ratelo-danger: #d05664;
  --ratelo-danger-deep: #a83b48;
  --ratelo-danger-soft: #fbe1e4;
  --ratelo-grad-page:
    linear-gradient(180deg, #f7f9fc 0%, #eff2f7 100%);
  --ratelo-grad-card-chrome:
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
  --ratelo-grad-form:
    radial-gradient(circle at top right, rgba(122, 138, 166, 0.10), rgba(122, 138, 166, 0) 40%),
    linear-gradient(180deg, #ffffff 0%, #f2f5fa 100%);
  --ratelo-grad-signup-hero:
    radial-gradient(circle at top right, rgba(122, 138, 166, 0.18), rgba(122, 138, 166, 0) 36%),
    radial-gradient(circle at bottom left, rgba(98, 147, 123, 0.10), rgba(98, 147, 123, 0) 34%),
    linear-gradient(180deg, #fbfcfe 0%, #f0f4fa 100%);
  --ratelo-grad-button-cta:
    linear-gradient(180deg, #eb8876 0%, #b84f3f 100%);
  --ratelo-grad-button-primary:
    linear-gradient(180deg, #5ea589 0%, #356d57 100%);
  --ratelo-grad-button-secondary:
    linear-gradient(180deg, #8b9ab5 0%, #4a5565 100%);
  --ratelo-grad-button-success:
    linear-gradient(180deg, #4ca98c 0%, #27755a 100%);
  --ratelo-grad-button-warning:
    linear-gradient(180deg, #e5a060 0%, #a66321 100%);
  --ratelo-grad-button-danger:
    linear-gradient(180deg, #de6f7d 0%, #a83b48 100%);
  --ratelo-grad-ambient-sage:
    radial-gradient(circle at 65% 35%, rgba(98, 147, 123, 0.16), rgba(98, 147, 123, 0) 42%);
  --ratelo-grad-ambient-slate:
    radial-gradient(circle at 25% 75%, rgba(122, 138, 166, 0.12), rgba(122, 138, 166, 0) 38%);
  --ratelo-grad-divider-x:
    linear-gradient(90deg, rgba(122, 138, 166, 0) 0%, rgba(122, 138, 166, 0.26) 50%, rgba(122, 138, 166, 0) 100%);
  --ratelo-grad-divider-y:
    linear-gradient(180deg, rgba(122, 138, 166, 0) 0%, rgba(122, 138, 166, 0.26) 50%, rgba(122, 138, 166, 0) 100%);
  --ratelo-grad-gold-trim:
    linear-gradient(180deg, rgba(200, 146, 80, 0.24) 0%, rgba(163, 109, 45, 0.18) 100%);
  --ratelo-grad-gold-pill:
    linear-gradient(180deg, #e2b275 0%, #b8741e 100%);
  --ratelo-card-shadow: 0 0.55rem 1.35rem rgba(47, 61, 79, 0.06);
  --ratelo-surface-radius: 1rem;
  --ratelo-card-padding: 1.5rem;
  --ratelo-button-radius: 999px;
  --ratelo-button-min-height: 2.2rem;
  --ratelo-button-padding-y: 0.46rem;
  --ratelo-button-padding-x: 0.95rem;
  --ratelo-button-font-size: 0.88rem;
  --ratelo-form-radius: 0.82rem;
  --ratelo-stack-gap: 0.85rem;
  --ratelo-accent: var(--ratelo-primary);
  --ratelo-accent-deep: var(--ratelo-primary-deep);
  --ratelo-accent-soft: var(--ratelo-primary-soft);
  --ratelo-secondary-accent: var(--ratelo-secondary);
  --ratelo-page-bg: var(--ratelo-surface-muted);
  --ratelo-card-border: var(--ratelo-border-strong);
}

body {
  background-color: var(--ratelo-surface-muted);
  color: var(--ratelo-ink-500);
  font-size: 0.96875rem;
  line-height: 1.5;
  letter-spacing: -0.01em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ratelo-app-shell {
  padding-top: 0.15rem;
  padding-bottom: 0.65rem;
}

.ratelo-app-shell .d-grid {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

main {
  --bs-gutter-y: 0.5rem;
  padding-bottom: 0.5rem;
}

.card,
.navbar:not(.ratelo-topbar),
section.bg-white.border.rounded-4.shadow-sm,
section.bg-white.border.rounded-4.shadow-sm.p-4,
section.bg-white.border.rounded-4.shadow-sm.p-4.p-lg-5 {
  background-color: #fff;
  border-color: var(--ratelo-card-border) !important;
  box-shadow: var(--ratelo-card-shadow) !important;
  border-radius: var(--ratelo-surface-radius) !important;
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.card {
  border-radius: var(--ratelo-surface-radius);
}

.card > .card-body,
.page-card,
.ratelo-action-card,
section.bg-white.border.rounded-4.shadow-sm,
section.bg-white.border.rounded-4.shadow-sm.p-4,
section.bg-white.border.rounded-4.shadow-sm.p-4.p-lg-5 {
  padding: var(--ratelo-card-padding) !important;
}

.navbar {
  --bs-navbar-padding-y: 0.4rem;
  border-radius: var(--ratelo-surface-radius) !important;
}

.ratelo-topbar {
  position: relative;
  z-index: 1040;
  overflow: visible;
  padding-top: 0.3rem !important;
  padding-bottom: 0.3rem !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.1) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 999px !important;
  box-shadow: 0 0.45rem 1rem rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
}

.ratelo-topbar .container-fluid, .ratelo-topbar .container-sm, .ratelo-topbar .container-md, .ratelo-topbar .container-lg, .ratelo-topbar .container-xl, .ratelo-topbar .container-xxl {
  align-items: center;
  gap: 0.75rem;
  overflow: visible;
}

.ratelo-topbar:has(.ratelo-topbar-trailing) {
  padding-inline-end: 0 !important;
}

.ratelo-topbar-trailing {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding-inline-end: max(0.6rem, env(safe-area-inset-right, 0px));
}

.ratelo-topbar-trailing .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.2;
  padding-top: 0.44rem;
  padding-bottom: 0.44rem;
}

.ratelo-topbar-trailing .btn .ph-icon {
  width: 1.0625rem;
  height: 1.0625rem;
  flex-shrink: 0;
}

.ratelo-step {
  color: rgba(90, 109, 127, 0.85);
  cursor: pointer;
  transition: color 160ms ease;
}
.ratelo-step:hover, .ratelo-step:focus-visible {
  color: var(--ratelo-secondary-deep);
  outline: none;
}
.ratelo-step:hover .ratelo-step-marker, .ratelo-step:focus-visible .ratelo-step-marker {
  border-color: rgba(111, 148, 129, 0.55);
}
.ratelo-step.is-active:not(.is-complete) {
  color: var(--ratelo-accent-deep);
}
.ratelo-step.is-active:not(.is-complete) .ratelo-step-marker {
  border: 2px solid var(--ratelo-accent);
  color: var(--ratelo-accent-deep);
  box-shadow: 0 0 0 4px rgba(111, 148, 129, 0.14);
}
.ratelo-step.is-complete {
  color: var(--ratelo-accent-deep);
}
.ratelo-step.is-complete .ratelo-step-marker {
  background: linear-gradient(135deg, var(--ratelo-accent) 0%, var(--ratelo-accent-deep) 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 0.25rem 0.7rem rgba(73, 106, 90, 0.18);
}
.ratelo-step.is-complete.is-active .ratelo-step-marker {
  box-shadow: 0 0 0 4px rgba(111, 148, 129, 0.22), 0 0.25rem 0.7rem rgba(73, 106, 90, 0.18);
}

.ratelo-step-marker {
  width: 2.6rem;
  height: 2.6rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(124, 135, 159, 0.32);
  font-size: 1.15rem;
  line-height: 1;
  transition: all 160ms ease;
}

.ratelo-step-line {
  height: 2px;
  margin-top: 1.3rem;
  background: rgba(124, 135, 159, 0.28);
  border-radius: 999px;
  min-width: 2rem;
}

@keyframes ratelo-step-panel-slide-right {
  from {
    transform: translateX(36px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes ratelo-step-panel-slide-left {
  from {
    transform: translateX(-36px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.ratelo-step-panel--enter-right {
  animation: ratelo-step-panel-slide-right 280ms cubic-bezier(0.2, 0, 0.2, 1) both;
}

.ratelo-step-panel--enter-left {
  animation: ratelo-step-panel-slide-left 280ms cubic-bezier(0.2, 0, 0.2, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  .ratelo-step-panel--enter-right,
  .ratelo-step-panel--enter-left {
    animation: none;
  }
}
.ratelo-topbar-mobile-leading {
  flex-shrink: 0;
  gap: 0.35rem !important;
}

.ratelo-topbar .navbar-brand {
  display: inline-flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  margin-right: 0.55rem;
  color: var(--ratelo-accent-deep);
  letter-spacing: -0.015em;
}

.ratelo-brand-link {
  gap: 0.75rem;
  line-height: 1;
  padding-right: 0.2rem;
}

.ratelo-brand-link-mobile {
  gap: 0.3rem;
  padding-right: 0;
}

.ratelo-brand-mark,
.ratelo-brand-wordmark {
  display: block;
  width: auto;
}

.ratelo-brand-mark {
  height: 2.35rem;
  transform: translateY(0.02rem) scale(1.14);
  transform-origin: left center;
}

.ratelo-brand-wordmark {
  height: 2.5rem;
  width: 13.4rem;
  transform: translateY(0.04rem);
  transform-origin: left center;
  object-fit: contain;
  object-position: left center;
}

/* Primary nav row: even spacing between pills and between icon + label */
.ratelo-topbar .ratelo-topbar-main-nav {
  align-items: center;
  column-gap: 0.2rem;
}

.ratelo-topbar .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  padding: 0.44rem 0.85rem;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  color: #526a5c;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.ratelo-topbar .navbar-nav .nav-link > .ph-icon {
  width: 1.0625rem;
  height: 1.0625rem;
  flex-shrink: 0;
}

.ratelo-topbar .nav-link:hover,
.ratelo-topbar .nav-link:focus-visible {
  background: rgba(255, 255, 255, 0.38);
  color: var(--ratelo-accent-deep);
}

.ratelo-topbar .nav-link.active {
  background: rgba(255, 255, 255, 0.42);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3);
  color: var(--ratelo-accent-deep);
}

.ratelo-nav-messages-label {
  position: relative;
  display: inline-block;
}

/* Unread indicator: small dot, top-right on “Messages” (no count). */
.ratelo-nav-messages-badge {
  position: absolute;
  top: -0.1rem;
  right: -0.4rem;
  width: 0.48rem;
  height: 0.48rem;
  padding: 0;
  margin: 0;
  border-radius: 999px;
  background: var(--ratelo-accent-strong, #c94b4b);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.92);
  pointer-events: none;
}

.ratelo-topbar-offcanvas-nav .ratelo-nav-messages-badge {
  top: -0.06rem;
  right: -0.36rem;
}

.ratelo-topbar .btn-outline-secondary {
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.34);
  color: var(--ratelo-accent-deep);
}

.ratelo-topbar .btn-outline-secondary:hover,
.ratelo-topbar .btn-outline-secondary:focus-visible {
  background: rgba(255, 255, 255, 0.44);
  border-color: rgba(255, 255, 255, 0.42);
  color: var(--ratelo-accent-deep);
}

.ratelo-topbar-user {
  flex-shrink: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
}

.ratelo-topbar-user-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  margin: 0;
  min-height: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  line-height: 0;
  transition: opacity 0.15s ease, transform 0.12s ease;
}

.ratelo-topbar-user-trigger:hover {
  opacity: 0.92;
}

.ratelo-topbar-user-trigger:focus-visible {
  outline: 2px solid rgba(111, 148, 129, 0.45);
  outline-offset: 3px;
}

.ratelo-topbar-avatar {
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(47, 61, 79, 0.12);
}

.ratelo-topbar-avatar--large {
  width: 2.1rem;
  height: 2.1rem;
}

.ratelo-topbar-avatar--initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ratelo-primary-soft);
  color: var(--ratelo-primary-deep);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}

.ratelo-topbar-avatar--large.ratelo-topbar-avatar--initials {
  font-size: 0.62rem;
}

.ratelo-topbar .ratelo-topbar-user-dropdown.dropdown-menu {
  z-index: 1060;
  min-width: 16rem;
  padding: 0.35rem 0;
  border-radius: 0.95rem;
  margin-top: 0.4rem !important;
  line-height: 1.5;
}

.ratelo-topbar-user-dropdown .dropdown-item,
.ratelo-topbar-user-dropdown-header,
.ratelo-topbar-user-dropdown-header * {
  line-height: 1.35;
}

.ratelo-topbar-user-dropdown-header {
  max-width: 18rem;
}

.ratelo-topbar-user-dropdown .dropdown-item.text-danger:hover,
.ratelo-topbar-user-dropdown .dropdown-item.text-danger:focus {
  background: rgba(208, 86, 100, 0.08);
}

.ratelo-topbar-profile-warning {
  position: relative;
  overflow: hidden;
  border: 0;
  color: #7e5c12;
  white-space: nowrap;
  box-shadow: 0 0.35rem 0.85rem rgba(204, 162, 53, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  background: linear-gradient(180deg, rgba(251, 231, 170, 0.96) 0%, rgba(246, 214, 120, 0.93) 100%);
}

.ratelo-topbar-profile-warning > * {
  position: relative;
  z-index: 1;
}

.ratelo-topbar-profile-warning::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 48%;
  border-radius: inherit;
  background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0.08) 40%, rgba(255, 255, 255, 0.72) 50%, rgba(255, 255, 255, 0.08) 60%, transparent 100%);
  transform: translateX(-115%);
  animation: ratelo-topbar-complete-shine-sweep 2.65s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

@keyframes ratelo-topbar-complete-shine-sweep {
  0%, 14% {
    transform: translateX(-115%);
  }
  48% {
    transform: translateX(230%);
  }
  100% {
    transform: translateX(230%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ratelo-topbar-profile-warning::after {
    animation: none;
    display: none;
  }
}
.ratelo-topbar-profile-warning:hover,
.ratelo-topbar-profile-warning:focus-visible {
  color: #714f0c;
  box-shadow: 0 0.4rem 0.95rem rgba(204, 162, 53, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.ratelo-topbar .navbar-toggler {
  padding: 0.3rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ratelo-topbar .navbar-toggler:focus {
  box-shadow: none;
}

.ratelo-topbar .ratelo-topbar-mobile-controls {
  overflow: visible;
  padding-inline-end: max(0.85rem, env(safe-area-inset-right, 0px));
}

.ratelo-topbar .ratelo-topbar-mobile-sell {
  white-space: nowrap;
}

.ratelo-topbar .ratelo-topbar-mobile-controls .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 600;
}

.ratelo-topbar .ratelo-topbar-mobile-controls .btn .ph-icon {
  width: 1.0625rem;
  height: 1.0625rem;
  flex-shrink: 0;
}

.ratelo-topbar .navbar-collapse {
  gap: 0.85rem;
  overflow: visible;
}

.ratelo-topbar .navbar-collapse > .d-flex {
  overflow: visible;
}

.ratelo-topbar-offcanvas {
  --bs-offcanvas-width: 60vw;
  width: 60vw;
  max-width: 60vw;
  border-right: 1px solid rgba(124, 135, 159, 0.16);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, rgba(243, 245, 247, 0.98) 100%);
}

.ratelo-topbar-offcanvas .offcanvas-header {
  align-items: center;
  padding: 1rem 1rem 0.75rem;
}

.ratelo-topbar-offcanvas .offcanvas-body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.35rem 1rem 1rem;
}

.ratelo-topbar-offcanvas-brand {
  display: inline-flex;
  align-items: center;
  color: var(--ratelo-accent-deep);
  text-decoration: none;
}

.ratelo-topbar-offcanvas-mark {
  display: block;
  width: auto;
  height: 2.8rem;
  transform: none;
}

.ratelo-topbar-offcanvas-nav {
  display: grid;
  gap: 0.2rem;
}

.ratelo-topbar-offcanvas .ratelo-topbar-offcanvas-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  border-radius: 0.85rem;
  padding: 0.55rem 0.65rem;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--ratelo-accent-deep);
  background: transparent;
  border: 0;
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
}

.ratelo-topbar-offcanvas .ratelo-topbar-offcanvas-link > .ph-icon {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}

.ratelo-topbar-offcanvas .ratelo-topbar-offcanvas-link:hover,
.ratelo-topbar-offcanvas .ratelo-topbar-offcanvas-link:focus-visible {
  color: var(--ratelo-accent-deep);
  background: transparent;
  transform: translateX(1px);
}

.ratelo-topbar-offcanvas .ratelo-topbar-offcanvas-link.active {
  color: var(--ratelo-accent-deep);
  background: transparent;
  font-weight: 700;
}

.ratelo-topbar-offcanvas .ratelo-topbar-offcanvas-link:not(.active) {
  opacity: 0.86;
}

.ratelo-topbar-offcanvas-primary {
  padding-top: 0.15rem;
}

.ratelo-topbar-offcanvas-primary .btn {
  width: 100%;
  justify-content: center;
}

.ratelo-topbar-offcanvas-actions {
  display: grid;
  gap: 0.6rem;
  margin-top: auto;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(124, 135, 159, 0.14);
}

.ratelo-topbar-offcanvas-actions .button_to,
.ratelo-topbar-offcanvas-actions .btn {
  width: 100%;
}

.ratelo-topbar-offcanvas-actions .btn {
  justify-content: center;
}

.ratelo-topbar-offcanvas-account {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.ratelo-topbar-offcanvas-account-identity {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  max-width: 100%;
}

.ratelo-topbar-offcanvas-account-identity-avatar {
  flex: 0 0 auto;
}

.ratelo-topbar-offcanvas-account-identity-text {
  flex: 1 1 0;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.ratelo-topbar-offcanvas-account-identity-text > * {
  white-space: nowrap;
}

.ratelo-seller-pass-button,
.ratelo-seller-pass-button-outline,
.ratelo-verification-button,
.ratelo-verification-button-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border-radius: var(--ratelo-button-radius);
  font-weight: 600;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.ratelo-seller-pass-button:hover,
.ratelo-seller-pass-button:focus-visible,
.ratelo-verification-button:hover,
.ratelo-verification-button:focus-visible {
  transform: translateY(-1px);
}

.ratelo-seller-pass-button {
  border-color: transparent;
  background: linear-gradient(135deg, #d39a63 0%, #b96f57 100%);
  color: #fff;
  box-shadow: 0 0.8rem 1.6rem rgba(185, 111, 87, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.ratelo-seller-pass-button:hover,
.ratelo-seller-pass-button:focus-visible {
  border-color: transparent;
  background: linear-gradient(135deg, #dcab79 0%, #bf735a 100%);
  color: #fff;
  box-shadow: 0 1rem 1.9rem rgba(185, 111, 87, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.ratelo-seller-pass-button-outline {
  border-color: rgba(185, 111, 87, 0.18);
  background: rgba(255, 239, 226, 0.86);
  color: #895b47;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.ratelo-seller-pass-button-outline:hover,
.ratelo-seller-pass-button-outline:focus-visible {
  border-color: rgba(185, 111, 87, 0.26);
  background: rgba(255, 232, 214, 0.96);
  color: #7a5341;
}

.ratelo-verification-button {
  border-color: transparent;
  background: linear-gradient(135deg, #7799cf 0%, #5b81b7 100%);
  color: #fff;
  box-shadow: 0 0.8rem 1.6rem rgba(91, 129, 183, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.ratelo-verification-button:hover,
.ratelo-verification-button:focus-visible {
  border-color: transparent;
  background: linear-gradient(135deg, #86a5d7 0%, #6489bc 100%);
  color: #fff;
  box-shadow: 0 1rem 1.9rem rgba(91, 129, 183, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.ratelo-verification-button-outline {
  border-color: rgba(91, 129, 183, 0.16);
  background: rgba(235, 242, 251, 0.94);
  color: #4f6f9d;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.ratelo-verification-button-outline:hover,
.ratelo-verification-button-outline:focus-visible {
  border-color: rgba(91, 129, 183, 0.24);
  background: rgba(225, 236, 249, 0.98);
  color: #466691;
}

@media (max-width: 575.98px) {
  .workflow-card-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .workflow-card-actions .btn.ratelo-verification-button,
  .workflow-card-actions .btn.ratelo-verification-button-outline,
  .workflow-card-actions .btn.ratelo-seller-pass-button,
  .workflow-card-actions .btn.ratelo-seller-pass-button-outline,
  .identity-verification-status-actions .btn.ratelo-verification-button,
  .identity-verification-status-actions .btn.ratelo-verification-button-outline,
  .identity-verification-status-actions .btn.ratelo-seller-pass-button,
  .identity-verification-status-actions .btn.ratelo-seller-pass-button-outline {
    width: 100%;
    justify-content: center;
  }
  .listing-form-protection-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .listing-form-protection-cta-actions > .btn {
    width: 100%;
    justify-content: center;
  }
  .purchase-request-buyer-verify-upsell .d-grid > a.btn,
  .purchase-request-buyer-verify-upsell .d-grid > button.btn {
    width: 100%;
    justify-content: center;
  }
}
.ratelo-auth-card-body {
  display: grid;
  gap: 1rem;
}

.ratelo-signup-shell {
  position: relative;
  align-items: stretch;
}

.ratelo-auth-page--signup.ratelo-auth-page-vertical-center {
  min-height: calc(100dvh - 8.35rem);
  padding-block: clamp(0.35rem, 1.4vh, 1.25rem);
}

.ratelo-auth-page--signup .ratelo-signup-aside {
  padding-block: 0.25rem 0;
}

.ratelo-auth-page--signup .ratelo-signup-copy {
  font-size: 0.98rem;
  line-height: 1.45;
}

.ratelo-auth-page-vertical-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100dvh - 10.5rem);
  padding-block: clamp(1rem, 4vh, 2.5rem);
}

.ratelo-auth-page-vertical-center > .row {
  width: 100%;
}

@media (max-width: 991.98px) {
  main > .col-12.col-xl-10 {
    min-width: 0;
  }
  .ratelo-auth-page-vertical-center {
    min-width: 0;
    width: 100%;
    justify-content: flex-start;
    min-height: 0;
    padding-block: 0.35rem 1.25rem;
  }
  .ratelo-auth-page--signup.ratelo-auth-page-vertical-center {
    padding-block: 0 0.6rem;
  }
  .ratelo-auth-page--signup .ratelo-signup-aside {
    gap: 1rem;
    align-content: start;
    min-height: 0;
    padding-block: 0;
  }
  .ratelo-auth-page--signup .ratelo-signup-feature-list {
    gap: 0.72rem;
  }
  .ratelo-auth-page--signup .ratelo-signup-side-note {
    padding-top: 0.1rem;
  }
}
.ratelo-signup-card {
  border: 1px solid var(--ratelo-border-soft);
  background: var(--ratelo-grad-signup-hero);
  box-shadow: 0 1rem 2.2rem rgba(47, 61, 79, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.ratelo-signup-card--compact-form .ratelo-auth-card-body {
  gap: 0.55rem;
}

.ratelo-signup-card--compact-form .ratelo-signup-form-intro {
  max-width: 28rem;
}

.ratelo-signup-form-intro {
  max-width: 30rem;
}

.ratelo-signup-form-kicker,
.ratelo-signup-eyebrow {
  display: inline-flex;
  color: var(--ratelo-secondary);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ratelo-signup-aside {
  position: relative;
  display: grid;
  align-content: center;
  gap: 1.4rem;
  min-height: 100%;
  padding: clamp(0.75rem, 2vw, 1.5rem) 0;
}

.ratelo-signup-aside::before {
  content: "";
  position: absolute;
  inset: 0.5rem 0 auto auto;
  width: min(18rem, 48%);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, var(--ratelo-primary-soft-2) 0%, transparent 68%);
  pointer-events: none;
  filter: blur(6px);
}

.ratelo-signup-title {
  position: relative;
  z-index: 1;
  max-width: 32rem;
  color: var(--ratelo-ink-700);
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -0.05em;
  line-height: 1.02;
}

.ratelo-signup-copy {
  position: relative;
  z-index: 1;
  max-width: 34rem;
  color: var(--ratelo-ink-500);
  font-size: 1.02rem;
}

.ratelo-signup-feature-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1rem;
}

.ratelo-signup-feature {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.95rem;
  align-items: start;
  padding-left: 0.1rem;
}

.ratelo-signup-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.95rem;
  background: linear-gradient(135deg, var(--ratelo-secondary-soft-2), rgba(122, 138, 166, 0.04));
  color: var(--ratelo-ink-500);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.ratelo-signup-feature-copy h3, .ratelo-signup-feature-copy .h3 {
  color: var(--ratelo-ink-700);
}

.ratelo-signup-feature-copy p,
.ratelo-signup-side-note {
  color: var(--ratelo-ink-500);
}

.ratelo-signup-side-note {
  position: relative;
  z-index: 1;
  max-width: 32rem;
  padding-top: 0.35rem;
}

.ratelo-social-auth-stack {
  display: grid;
  gap: 1rem;
}

.ratelo-social-auth-stack--oauth-rows {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.55rem;
  align-items: stretch;
}

.ratelo-oauth-provider-button--row {
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.65rem;
  min-height: 2.75rem;
  padding: 0.55rem 1rem;
  border-radius: 0.5rem;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(15, 23, 42, 0.22);
  font-weight: 600;
  font-size: 0.9rem;
}

.ratelo-oauth-provider-button--row .ratelo-oauth-provider-brand {
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.ratelo-oauth-provider-button--row .ratelo-oauth-brand-icon {
  pointer-events: none;
}
.ratelo-oauth-provider-button--row .ratelo-oauth-brand-icon img {
  -webkit-user-drag: none;
}

.ratelo-oauth-brand-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  line-height: 0;
}
.ratelo-oauth-brand-icon svg,
.ratelo-oauth-brand-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ratelo-oauth-brand-icon.ratelo-oauth-provider-icon--apple {
  width: 1.68rem;
  height: 1.68rem;
}

.ratelo-oauth-provider-icon {
  line-height: 0;
  flex-shrink: 0;
}

.ratelo-oauth-provider-brand {
  color: #334155;
}

.ratelo-oauth-provider-button--row.is-disabled .ratelo-oauth-provider-brand {
  color: #64748b;
}

.ratelo-oauth-provider-button--row.is-disabled .ratelo-oauth-provider-icon {
  opacity: 0.55;
}

.ratelo-oauth-provider-form,
.ratelo-google-auth-form {
  margin: 0;
}

.ratelo-oauth-provider-button,
.ratelo-google-auth-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.62rem;
  width: 100%;
  min-height: 2.8rem;
  padding: 0.6rem 0.95rem;
  border-color: rgba(124, 135, 159, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(246, 248, 251, 0.98) 100%);
  color: #334155;
  font-size: 0.9rem;
  box-shadow: 0 0.6rem 1.35rem rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.ratelo-oauth-provider-button:hover,
.ratelo-oauth-provider-button:focus-visible,
.ratelo-google-auth-button:hover,
.ratelo-google-auth-button:focus-visible {
  border-color: rgba(124, 135, 159, 0.26);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(241, 245, 250, 0.99) 100%);
  color: #1f2937;
}

.ratelo-oauth-provider-button.is-disabled,
.ratelo-oauth-provider-button.is-disabled:hover,
.ratelo-oauth-provider-button.is-disabled:focus-visible,
.ratelo-google-auth-button.is-disabled,
.ratelo-google-auth-button.is-disabled:hover,
.ratelo-google-auth-button.is-disabled:focus-visible {
  cursor: not-allowed;
  opacity: 0.76;
  border-color: rgba(124, 135, 159, 0.14);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, rgba(242, 246, 250, 0.96) 100%);
  color: #64748b;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  transform: none;
}

.ratelo-oauth-provider-button__mark,
.ratelo-google-auth-button-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffffff 0%, #edf2f7 100%);
  border: 1px solid rgba(124, 135, 159, 0.18);
  color: #2563eb;
  font-size: 0.85rem;
  font-weight: 700;
  box-shadow: 0 0.25rem 0.7rem rgba(15, 23, 42, 0.06);
}

.ratelo-oauth-provider-button__mark--google {
  color: #2563eb;
}

.ratelo-oauth-provider-button__mark--apple {
  background: #0f0f0f;
  border-color: rgba(15, 15, 15, 0.35);
  color: #ffffff;
  box-shadow: 0 0.25rem 0.7rem rgba(15, 15, 15, 0.18);
}

.ratelo-oauth-provider-button__mark-apple-glyph {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #ffffff;
}

.ratelo-oauth-provider-button__mark--facebook {
  background: linear-gradient(135deg, #ffffff 0%, #eef4ff 100%);
  border-color: rgba(24, 119, 242, 0.22);
  color: #1877f2;
}

.ratelo-oauth-provider-button__mark-facebook-glyph {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1;
  text-transform: lowercase;
  color: #1877f2;
}

.ratelo-oauth-provider-note,
.ratelo-google-auth-note {
  margin-top: -0.2rem;
  color: #7c879f;
  font-size: 0.82rem;
  line-height: 1.5;
}

.ratelo-social-auth-divider {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7c879f;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-social-auth-divider::before,
.ratelo-social-auth-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: linear-gradient(90deg, rgba(124, 135, 159, 0) 0%, rgba(124, 135, 159, 0.22) 100%);
}

.ratelo-social-auth-divider::after {
  background: linear-gradient(90deg, rgba(124, 135, 159, 0.22) 0%, rgba(124, 135, 159, 0) 100%);
}

.ratelo-social-auth-divider span {
  padding: 0 0.85rem;
}

@media (max-width: 991.98px) {
  .ratelo-signup-aside {
    padding-top: 0;
  }
  .ratelo-topbar {
    border-radius: 1.5rem !important;
  }
  .ratelo-topbar .nav-link {
    width: 100%;
    justify-content: flex-start;
  }
  .ratelo-topbar .ratelo-topbar-mobile-controls {
    flex-shrink: 0;
  }
  .ratelo-topbar .ratelo-brand-link-mobile .ratelo-brand-mark {
    height: 2.15rem;
  }
}
@media (max-width: 767.98px) {
  .ratelo-signup-title {
    font-size: 2.1rem;
  }
  .ratelo-auth-page--signup .ratelo-signup-title {
    font-size: clamp(1.58rem, 5.8vw, 2.05rem);
    line-height: 1.07;
  }
  .ratelo-signup-feature {
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: start;
  }
  .ratelo-signup-feature-icon {
    width: 2.35rem;
    height: 2.35rem;
  }
}
.navbar-brand,
.nav-link,
.form-control,
.form-select,
.input-group-text {
  font-size: 0.9375rem;
}

.trix-content {
  color: var(--ratelo-accent-deep);
  line-height: 1.6;
}

.trix-content > :first-child {
  margin-top: 0;
}

.trix-content > :last-child {
  margin-bottom: 0;
}

.trix-content h1, .trix-content .h1 {
  margin-bottom: 0.55rem;
  font-size: 1.2rem;
  line-height: 1.25;
  color: var(--ratelo-accent-deep);
}

.trix-content p,
.trix-content ul,
.trix-content ol,
.trix-content blockquote {
  margin-bottom: 0.7rem;
}

.trix-content ul,
.trix-content ol {
  padding-left: 1.2rem;
}

.trix-content a {
  color: var(--ratelo-accent);
  text-decoration-thickness: 0.08em;
}

.trix-content blockquote {
  margin-left: 0;
  padding-left: 0.9rem;
  border-left: 3px solid rgba(111, 148, 129, 0.22);
  color: #5d7466;
}

.trix-content pre {
  padding: 0.8rem 0.95rem;
  background: rgba(241, 245, 249, 0.96);
  border-radius: 0.85rem;
  color: #475569;
}

.form-control,
.form-select,
.input-group-text {
  min-height: calc(1.45em + 0.84rem + 2px);
}

.form-label {
  margin-bottom: 0.32rem;
  color: #5f6d81;
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.form-check-label {
  color: #5f6d81;
  font-size: 0.83rem;
}

.form-control,
.form-select {
  padding: 0.56rem 0.8rem;
  border: 1px solid rgba(124, 135, 159, 0.18);
  border-radius: var(--ratelo-form-radius);
  background: linear-gradient(180deg, rgba(251, 252, 254, 0.98) 0%, rgba(243, 247, 251, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 0.45rem 1.1rem rgba(15, 23, 42, 0.03);
  color: #314154;
  font-size: 0.9rem;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.form-select {
  min-height: 2.72rem;
  padding-right: 2.6rem;
  line-height: 1.45;
  background-position: right 0.9rem center;
  background-size: 0.9rem 0.7rem;
  font-size: 0.94rem;
  text-overflow: ellipsis;
}

.form-select option {
  color: #314154;
  font-size: 0.94rem;
  line-height: 1.45;
}

.form-select-sm {
  min-height: 2.25rem;
  padding-top: 0.42rem;
  padding-bottom: 0.42rem;
  padding-left: 0.72rem;
  padding-right: 2.25rem;
  font-size: 0.88rem;
  line-height: 1.35;
  background-position: right 0.72rem center;
  background-size: 0.82rem 0.62rem;
}

.form-select-lg {
  min-height: 3.05rem;
  padding-right: 2.8rem;
  font-size: 1rem;
}

.form-control::placeholder {
  color: #98a3b6;
}

.form-control:hover,
.form-select:hover {
  border-color: rgba(124, 135, 159, 0.28);
  background: linear-gradient(180deg, rgba(252, 253, 255, 0.99) 0%, rgba(246, 249, 252, 0.98) 100%);
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(124, 135, 159, 0.42);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 0 0 0.24rem rgba(124, 135, 159, 0.12), 0 0.6rem 1.35rem rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.88);
  transform: translateY(-1px);
}

textarea.form-control {
  min-height: 7.2rem;
  resize: vertical;
}

.input-group-text {
  border-color: rgba(124, 135, 159, 0.18);
  border-radius: var(--ratelo-form-radius);
  background: linear-gradient(180deg, rgba(248, 250, 253, 0.98) 0%, rgba(240, 245, 249, 0.96) 100%);
  color: #617084;
  font-size: 0.9rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .input-group-text,
.input-group > .btn {
  border-radius: var(--ratelo-form-radius);
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(-1 * var(--bs-border-width));
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.ratelo-password-field {
  position: relative;
}

.ratelo-password-input {
  padding-right: 3rem;
}

.ratelo-password-toggle {
  position: absolute;
  top: 50%;
  right: 0.55rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #7c879f;
  transform: translateY(-50%);
  transition: color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.ratelo-password-toggle:hover,
.ratelo-password-toggle:focus-visible,
.password-visibility-wrapper[data-password-visibility-visible=true] .ratelo-password-toggle {
  color: #557261;
}

.ratelo-password-toggle:hover,
.ratelo-password-toggle:focus-visible {
  background: rgba(111, 148, 129, 0.08);
}

.ratelo-password-toggle:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(124, 135, 159, 0.14);
}

.ratelo-password-toggle .ph-icon {
  font-size: 1rem;
}

.form-check-input {
  width: 1rem;
  height: 1rem;
  margin-top: 0.18rem;
  border: 1px solid rgba(124, 135, 159, 0.28);
  border-radius: 0.28rem;
  background-color: rgba(251, 252, 254, 0.98);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.form-check-input:checked {
  border-color: var(--bs-primary);
  background-color: var(--bs-primary);
}

.form-check-input:focus {
  border-color: rgba(124, 135, 159, 0.4);
  box-shadow: 0 0 0 0.2rem rgba(124, 135, 159, 0.14);
}

.form-control-lg,
.form-select-lg,
.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text {
  font-size: 1rem;
}

.lead {
  font-size: 1.05rem;
  line-height: 1.55;
}

.display-6 {
  font-size: clamp(1.8rem, 1.35rem + 1.5vw, 2.5rem);
}

.form-text,
.small,
small {
  font-size: 0.825rem;
}

.text-accent {
  color: var(--ratelo-accent-deep) !important;
}

.icon-accent {
  color: var(--ratelo-accent-deep);
}

.icon-secondary {
  color: var(--ratelo-secondary-deep);
}

.ph-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.14em;
  flex-shrink: 0;
  overflow: visible;
}

.navbar-brand .ph-icon,
.nav-link .ph-icon,
.btn .ph-icon,
.badge .ph-icon {
  vertical-align: -0.16em;
}

.btn {
  --btn-shadow-color: 47, 61, 79;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: var(--ratelo-button-min-height);
  padding: var(--ratelo-button-padding-y) var(--ratelo-button-padding-x);
  font-size: var(--ratelo-button-font-size);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  border-radius: var(--ratelo-button-radius);
  border: 1px solid transparent;
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease, box-shadow 160ms ease, filter 140ms ease;
}

.btn-sm, .btn-group-sm > .btn,
.btn-lg,
.btn-group-lg > .btn {
  min-height: var(--ratelo-button-min-height);
  padding: var(--ratelo-button-padding-y) var(--ratelo-button-padding-x);
  font-size: var(--ratelo-button-font-size);
  line-height: 1.25;
  border-radius: var(--ratelo-button-radius);
}

.btn-chip {
  min-height: 1.75rem;
  padding: 0.2rem 0.65rem;
  font-size: 0.78rem;
  gap: 0.3rem;
}

.btn:focus-visible {
  outline: 2px solid rgba(var(--btn-shadow-color), 0.28);
  outline-offset: 2px;
  box-shadow: none;
}

.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  --btn-shadow-color: 47, 96, 75;
  background-color: var(--ratelo-primary);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 1px 1px rgba(var(--btn-shadow-color), 0.08);
}

.btn-primary:hover {
  background-color: var(--ratelo-primary-deep);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 2px 6px rgba(var(--btn-shadow-color), 0.18);
}

.btn-primary:disabled,
.btn-primary.disabled {
  background-color: var(--ratelo-primary);
  border-color: transparent;
  color: #fff;
  opacity: 0.5;
  box-shadow: none;
}

.btn-cta,
.btn-cta:focus,
.btn-cta:active {
  --btn-shadow-color: 184, 79, 63;
  background-color: var(--ratelo-cta);
  border-color: transparent;
  color: var(--ratelo-cta-contrast);
  box-shadow: 0 1px 2px rgba(var(--btn-shadow-color), 0.14);
}

.btn-cta:hover {
  background-color: var(--ratelo-cta-deep);
  border-color: transparent;
  color: var(--ratelo-cta-contrast);
  box-shadow: 0 4px 12px rgba(var(--btn-shadow-color), 0.24);
}

.btn-cta.active {
  background-color: var(--ratelo-cta-deep);
  filter: brightness(0.96);
}

.btn-cta:disabled,
.btn-cta.disabled {
  background-color: var(--ratelo-cta);
  border-color: transparent;
  color: var(--ratelo-cta-contrast);
  opacity: 0.5;
  box-shadow: none;
}

.btn-protection,
.btn-protection:focus,
.btn-protection:active {
  border-color: rgba(184, 116, 30, 0.45);
  color: #ffffff;
  background: linear-gradient(180deg, #e0a039 0%, #b8741e 100%);
  box-shadow: 0 0.3rem 0.7rem rgba(184, 116, 30, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.btn-protection:hover,
.btn-protection:focus-visible {
  color: #ffffff;
  filter: brightness(1.04);
  background: linear-gradient(180deg, #e0a039 0%, #b8741e 100%);
  border-color: rgba(184, 116, 30, 0.6);
  box-shadow: 0 0.5rem 1rem rgba(184, 116, 30, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.btn-protection:disabled,
.btn-protection.disabled {
  opacity: 0.5;
  box-shadow: none;
}

.btn-outline-cta {
  color: var(--ratelo-cta-deep);
  background: transparent;
  border: 1px solid var(--ratelo-cta);
  box-shadow: none;
}

.btn-outline-cta:hover,
.btn-outline-cta:focus-visible {
  color: var(--ratelo-cta-contrast);
  background: var(--ratelo-cta);
  border-color: var(--ratelo-cta);
  box-shadow: 0 2px 6px rgba(184, 79, 63, 0.18);
}

.btn-outline-secondary {
  color: var(--ratelo-ink-700);
  background: var(--ratelo-surface);
  border: 1px solid var(--ratelo-border-strong);
  box-shadow: 0 1px 1px rgba(47, 61, 79, 0.04);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible {
  color: var(--ratelo-ink-900);
  background: var(--ratelo-surface);
  border-color: var(--ratelo-ink-500);
  box-shadow: 0 2px 6px rgba(47, 61, 79, 0.1);
}

.btn-outline-secondary:active,
.btn-outline-secondary.active {
  background: var(--ratelo-surface-muted);
  border-color: var(--ratelo-ink-500);
  color: var(--ratelo-ink-900);
}

.btn-outline-primary {
  --btn-shadow-color: 47, 96, 75;
  color: var(--ratelo-primary-deep);
  background: transparent;
  border: 1px solid var(--ratelo-primary);
  box-shadow: none;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
  color: #fff;
  background: var(--ratelo-primary);
  border-color: var(--ratelo-primary);
  box-shadow: 0 2px 6px rgba(var(--btn-shadow-color), 0.16);
}

.btn-danger,
.btn-danger:focus {
  --btn-shadow-color: 168, 59, 72;
  background-color: var(--ratelo-danger);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 1px 1px rgba(var(--btn-shadow-color), 0.1);
}

.btn-danger:hover {
  background-color: var(--ratelo-danger-deep);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 2px 6px rgba(var(--btn-shadow-color), 0.2);
}

.btn-outline-danger {
  --btn-shadow-color: 168, 59, 72;
  color: var(--ratelo-danger-deep);
  background: transparent;
  border: 1px solid var(--ratelo-danger);
  box-shadow: none;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus-visible {
  color: #fff;
  background: var(--ratelo-danger);
  border-color: var(--ratelo-danger);
  box-shadow: 0 2px 6px rgba(var(--btn-shadow-color), 0.18);
}

.card-title,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: -0.01em;
}

.h1,
h1 {
  font-size: calc(1.28rem + 0.9vw);
}

.h2,
h2 {
  font-size: calc(1.15rem + 0.55vw);
}

.h3,
h3 {
  font-size: calc(1.05rem + 0.35vw);
}

.h4,
h4 {
  font-size: 1.125rem;
}

.h5,
h5 {
  font-size: 1rem;
}

.h6,
h6 {
  font-size: 0.9rem;
}

.listing-card {
  min-height: 16.9rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
  border-color: rgba(15, 23, 42, 0.08) !important;
  border-radius: 1.1rem;
  box-shadow: 0 0.85rem 1.9rem rgba(15, 23, 42, 0.08) !important;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.listing-card:hover {
  border-color: rgba(111, 148, 129, 0.35);
  box-shadow: 0 0.95rem 2.1rem rgba(15, 23, 42, 0.11) !important;
  transform: translateY(-2px);
}

.listing-card--promoted {
  border-color: rgba(204, 162, 70, 0.28) !important;
  box-shadow: 0 1rem 2.2rem rgba(173, 129, 38, 0.12) !important;
}

.listing-card-shell {
  display: grid;
  grid-template-areas: "media" "content";
  grid-template-rows: 8.55rem auto;
  height: 100%;
}

.listing-card-media {
  grid-area: media;
  background: linear-gradient(180deg, #eef2f4 0%, #dbe5e8 100%);
}

.listing-card-content {
  grid-area: content;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}

.listing-card-image,
.listing-card-image-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.listing-card-image {
  transition: transform 0.28s ease;
}

.listing-card:hover .listing-card-image {
  transform: scale(1.03);
}

.listing-card-image-placeholder {
  background: linear-gradient(180deg, #eef2f4 0%, #dfe7ea 100%);
}

.listing-card-placeholder-icon {
  color: rgba(15, 23, 42, 0.2);
  font-size: 1.7rem;
}

.listing-card-overlay-top,
.listing-card-overlay-bottom {
  position: absolute;
  left: 0.6rem;
  right: 0.6rem;
  z-index: 3;
  pointer-events: none;
}

.listing-card-overlay-top {
  top: 0.6rem;
}

.listing-card-overlay-bottom {
  bottom: 0.6rem;
  display: flex;
  justify-content: flex-end;
}

.listing-card-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.32rem 0.56rem;
  font-size: 0.68rem;
  font-weight: 600;
  color: #0f172a;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  backdrop-filter: blur(10px);
  box-shadow: 0 0.35rem 0.9rem rgba(15, 23, 42, 0.08);
}

.listing-card-badge-primary {
  color: var(--ratelo-accent-deep);
  background: rgba(237, 244, 240, 0.94);
  border-color: rgba(111, 148, 129, 0.18);
}

.listing-card-badge-subtle {
  color: #334155;
}

.listing-card-badge-promoted {
  color: #6a4d0e;
  background: rgba(255, 244, 214, 0.95);
  border-color: rgba(206, 164, 70, 0.26);
}

.listing-card-badge-promoted--standard,
.listing-card-badge-promoted--quick {
  color: #2f7456;
  background: rgba(230, 244, 237, 0.95);
  border-color: rgba(47, 116, 86, 0.22);
}

.listing-card-badge-promoted--priority {
  color: #a43f35;
  background: rgba(255, 240, 236, 0.95);
  border-color: rgba(164, 63, 53, 0.22);
}

.listing-card-badge-promoted--spotlight {
  color: #9b651a;
  background: rgba(255, 243, 216, 0.95);
  border-color: rgba(155, 101, 26, 0.22);
}

.listing-card-badge-promoted--top {
  color: #9c3150;
  background: rgba(252, 232, 238, 0.95);
  border-color: rgba(156, 49, 80, 0.22);
}

.listing-card-control {
  width: 2.2rem;
  opacity: 0.58;
  z-index: 4;
  transition: opacity 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
  .listing-card-control {
    opacity: 0;
  }
  .listing-card:hover .listing-card-control,
  .listing-card:focus-within .listing-card-control {
    opacity: 0.95;
  }
}
.listing-card-control .carousel-control-prev-icon,
.listing-card-control .carousel-control-next-icon {
  width: 1.78rem;
  height: 1.78rem;
  border-radius: 999px;
  background-color: rgba(15, 23, 42, 0.5);
  background-size: 45%;
}

.listing-card-body {
  padding: 0.62rem 0.65rem 0.22rem;
}

.listing-card-heading {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  min-width: 0;
}

.listing-card-category-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.listing-card-category-glyph {
  display: block;
  width: 1.08rem;
  height: 1.08rem;
  flex-shrink: 0;
  color: var(--ratelo-accent-deep);
}

.listing-card-title-stack {
  min-width: 0;
}

.listing-card-location {
  display: flex;
  align-items: center;
  gap: 0.32rem;
  min-width: 0;
  font-size: 0.72rem;
  line-height: 1.25;
  color: #64748b;
}

.listing-card-location-sep {
  flex-shrink: 0;
  padding: 0 0.12rem;
  font-weight: 600;
  color: #94a3b8;
}

.listing-card-location-pin,
.listing-card-location-condition-icon {
  flex-shrink: 0;
  width: 0.82rem;
  height: 0.82rem;
  color: #94a3b8;
}

.listing-card-promo-mobile .listing-card-badge {
  max-width: 100%;
}

.listing-card-copy {
  min-height: 3rem;
}

.listing-card-pricing {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
  padding: 0 0.65rem 0.65rem;
  margin-top: auto;
}

.listing-card-pricing-item {
  min-width: 0;
  padding: 0.52rem 0.58rem;
  background: rgba(248, 250, 252, 0.92);
  border-radius: 0.8rem;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.listing-card-pricing-item--asking {
  background: rgba(237, 244, 240, 0.96);
  border: 1px solid rgba(111, 148, 129, 0.42);
  box-shadow: 0 0.15rem 0.55rem rgba(47, 116, 86, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.65);
}
.listing-card-pricing-item--asking .listing-card-pricing-label {
  color: #3d5a47;
}
.listing-card-pricing-item--asking .listing-price {
  color: var(--ratelo-accent-deep);
}

.listing-card-pricing-label {
  display: block;
  margin-bottom: 0.14rem;
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.listing-card-pricing-item--installments {
  background: rgba(237, 244, 252, 0.96);
  border: 1px solid rgba(95, 133, 191, 0.38);
  box-shadow: 0 0.15rem 0.55rem rgba(63, 111, 174, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.65);
}
.listing-card-pricing-item--installments .listing-card-pricing-label {
  color: #5f85bf;
}
.listing-card-pricing-item--installments .listing-installment-value {
  color: #365f9d;
  font-weight: 700;
}

.listing-card-multi-hint {
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.22rem;
  min-width: 1.65rem;
  height: 1.4rem;
  padding: 0 0.38rem 0 0.3rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1;
  color: #f8fafc;
  pointer-events: none;
  background: rgba(15, 23, 42, 0.6);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.18);
}

.listing-card-multi-hint-icon {
  flex-shrink: 0;
  font-size: 0.78rem;
  opacity: 0.92;
}

.listing-card-multi-hint-count {
  font-variant-numeric: tabular-nums;
}

.page-card {
  background-color: #fff;
  border: 1px solid var(--ratelo-card-border);
  border-radius: var(--ratelo-surface-radius);
  box-shadow: var(--ratelo-card-shadow);
}

.page-header-shell {
  position: relative;
  margin-bottom: 0;
}

.page-header-card {
  position: sticky;
  top: 0.35rem;
  z-index: 24;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 1.2rem;
  box-shadow: none;
  margin: 0;
  padding: 0.06rem 0.08rem 0.03rem !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, backdrop-filter 0.2s ease, -webkit-backdrop-filter 0.2s ease;
}

.page-header-card.is-stuck {
  position: fixed;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.1) 100%);
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: 0 0.45rem 1rem rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
}

.page-header-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.35rem 0.55rem;
}

.page-header-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.page-header-main--with-back {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.page-header-copy {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}

/* Back arrow alone in the left column; title then breadcrumb/kicker in the right column; arrow vertically centered between them */
.page-header-copy-with-back {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 0.5rem;
  min-width: 0;
}

.page-header-copy-body {
  display: grid;
  gap: 0.06rem;
  min-width: 0;
}

.page-header-topline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.45rem;
  margin-top: 0.06rem;
}

.page-header-back {
  padding: 0;
  line-height: 1;
  box-shadow: 0 0.15rem 0.45rem rgba(15, 23, 42, 0.06);
}

.page-header-back--column {
  width: 2.5rem;
  height: 2.5rem;
}

.page-header-back--column .page-header-back-icon {
  font-size: 1.1rem;
  transition: transform 0.18s ease-out;
  will-change: transform;
}

.page-header-back:hover .page-header-back-icon,
.page-header-back:focus-visible .page-header-back-icon {
  transform: translateX(-3px);
}

.page-header-back:active .page-header-back-icon {
  transform: translateX(-2px);
  transition-duration: 0.08s;
}

@media (prefers-reduced-motion: reduce) {
  .page-header-back--column .page-header-back-icon {
    transition: none;
  }
  .page-header-back:hover .page-header-back-icon,
  .page-header-back:focus-visible .page-header-back-icon,
  .page-header-back:active .page-header-back-icon {
    transform: none;
  }
}
@media (min-width: 768px) {
  .page-header-copy-with-back {
    column-gap: 0.55rem;
  }
  .page-header-back--column {
    width: 2.35rem;
    height: 2.35rem;
  }
  .page-header-back--column .page-header-back-icon {
    font-size: 1.05rem;
  }
}
.page-header-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.4rem;
  flex-shrink: 0;
}

.page-header-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #7b8799;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
}

.page-header-kicker-icon {
  font-size: 0.76rem;
  color: #8b96a7;
}

.page-header-title {
  font-size: clamp(1.02rem, 0.96rem + 0.75vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.04;
  color: var(--ratelo-accent-deep);
  text-wrap: balance;
}

.page-header-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.page-header-actions .button_to {
  display: flex;
}

.page-header-actions-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.page-header-actions .page-header-action-secondary {
  order: 1;
}

.page-header-actions .page-header-action-primary {
  order: 2;
}

@media (min-width: 768px) {
  .page-header-card {
    margin: 0;
    padding: 0.07rem 0.1rem 0.04rem !important;
  }
  .page-header-layout {
    align-items: center;
    gap: 0.45rem 0.75rem;
  }
  .page-header-topline {
    margin-top: 0.06rem;
  }
  .page-header-side {
    justify-content: center;
  }
  .page-header-title {
    font-size: clamp(1.1rem, 1rem + 0.9vw, 1.45rem);
  }
  .page-header-copy-with-back .page-header-title {
    font-size: clamp(1.05rem, 0.98rem + 0.55vw, 1.32rem);
    line-height: 1.06;
  }
  .page-header-kicker {
    font-size: 0.68rem;
  }
}
@media (min-width: 992px) {
  .page-header-card {
    padding: 0.12rem 0.28rem 0.1rem !important;
  }
  .page-header-card.is-stuck {
    padding: 0.22rem 0.42rem 0.18rem !important;
  }
}
.page-header-nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  min-height: 2.15rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ratelo-accent-deep);
}

.page-header-nav-toggle .ph-icon {
  font-size: 1.15rem;
}

.page-header-card.is-stuck .page-header-nav-toggle {
  display: inline-flex;
}

.page-header-actions-toggle {
  width: 2.3rem;
  min-height: 2.3rem;
  padding-inline: 0;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(124, 135, 159, 0.16);
  color: var(--ratelo-accent-deep);
}

.page-header-offcanvas {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
  border-color: rgba(124, 135, 159, 0.16);
  background: rgba(248, 250, 252, 0.98);
}

.page-header-offcanvas .offcanvas-header {
  padding-bottom: 0.5rem;
}

.page-header-offcanvas .offcanvas-body {
  padding-top: 0.25rem;
}

.page-header-offcanvas-actions {
  display: grid;
  gap: 0.75rem;
}

.page-header-offcanvas-actions .page-header-action-primary {
  order: 1;
}

.page-header-offcanvas-actions .page-header-action-secondary {
  order: 2;
}

.page-header-offcanvas-actions .button_to,
.page-header-offcanvas-actions .btn {
  width: 100%;
}

.page-header-offcanvas-actions .btn {
  justify-content: center;
  text-align: center;
}

.toastify {
  position: fixed;
  display: inline-block;
  max-width: calc(50% - 20px);
  opacity: 0;
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 2147483647;
}

.toastify.on {
  opacity: 1;
}

.toastify-right {
  right: 15px;
}

.toastify-left {
  left: 15px;
}

.toastify-top {
  top: -150px;
}

.toastify-bottom {
  bottom: -150px;
}

.toastify-center {
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: fit-content;
}

@media only screen and (max-width: 360px) {
  .toastify-right,
  .toastify-left {
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    max-width: fit-content;
  }
}
.toastify.ratelo-toast {
  width: min(24rem, 100vw - 1.5rem);
  max-width: min(24rem, 100vw - 1.5rem);
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit;
}

.ratelo-toast__content {
  display: grid;
  grid-template-columns: 0.35rem minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 248, 250, 0.96) 100%);
  box-shadow: 0 1rem 2.4rem rgba(15, 23, 42, 0.16), 0 0.3rem 0.7rem rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.ratelo-toast__accent {
  background: linear-gradient(180deg, var(--ratelo-accent) 0%, var(--ratelo-accent-deep) 100%);
}

.ratelo-toast__body {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 2.75rem 0.95rem 0.95rem;
}

.ratelo-toast__label {
  color: var(--ratelo-accent-deep);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-toast__message {
  color: #4f6458;
  font-size: 0.92rem;
  line-height: 1.45;
}

.toastify.ratelo-toast .toast-close {
  position: absolute;
  top: 0.65rem;
  right: 0.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  padding: 0;
  border: 0;
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  box-shadow: none;
  color: transparent;
  font-size: 0;
  line-height: 1;
  opacity: 0.72;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.toastify.ratelo-toast .toast-close::before,
.toastify.ratelo-toast .toast-close::after {
  content: "";
  position: absolute;
  width: 0.72rem;
  height: 1.5px;
  border-radius: 999px;
  background: #607569;
}

.toastify.ratelo-toast .toast-close::before {
  transform: rotate(45deg);
}

.toastify.ratelo-toast .toast-close::after {
  transform: rotate(-45deg);
}

.toastify.ratelo-toast .toast-close:hover,
.toastify.ratelo-toast .toast-close:focus-visible {
  background: transparent;
  box-shadow: none;
  opacity: 1;
  transform: scale(1.04);
}

.toastify.ratelo-toast .toast-close:focus-visible {
  outline: none;
}

.toastify.ratelo-toast.ratelo-toast--success .ratelo-toast__accent {
  background: var(--ratelo-grad-button-success);
}

.toastify.ratelo-toast.ratelo-toast--error .ratelo-toast__accent {
  background: var(--ratelo-grad-button-danger);
}

.toastify.ratelo-toast.ratelo-toast--warning .ratelo-toast__accent {
  background: var(--ratelo-grad-button-warning);
}

.toastify.ratelo-toast.ratelo-toast--info .ratelo-toast__accent {
  background: var(--ratelo-grad-button-secondary);
}

/* In-app message alerts: distinct from success “Done”, red accent, stronger presence */
.toastify.ratelo-toast.ratelo-toast--messages .ratelo-toast__accent {
  background: linear-gradient(180deg, #ef6a6a 0%, #c53030 55%, #a52323 100%);
}

/* Inline callout (e.g. fast-track credit note): same left accent as flash toasts */
.ratelo-callout {
  display: grid;
  grid-template-columns: 0.35rem minmax(0, 1fr);
  overflow: hidden;
}

.ratelo-callout__accent {
  min-height: 100%;
}

.ratelo-callout--success .ratelo-callout__accent {
  background: var(--ratelo-grad-button-success);
}

.toastify.ratelo-toast.ratelo-toast--messages .ratelo-toast__content {
  border-color: rgba(180, 48, 48, 0.42);
  box-shadow: 0 1.15rem 2.65rem rgba(165, 35, 35, 0.22), 0 0.35rem 0.85rem rgba(15, 23, 42, 0.12);
}

.toastify.ratelo-toast.ratelo-toast--messages .ratelo-toast__label {
  color: #8f2424;
  letter-spacing: 0.1em;
}

.toastify.ratelo-toast.ratelo-toast--messages .ratelo-toast__message {
  color: #334155;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .page-header-card {
    margin: 0;
    padding: 0.05rem 0.02rem 0.02rem !important;
  }
  .page-header-card.is-stuck {
    padding: 0.29rem 0.54rem 0.26rem !important;
    border-radius: 1.2rem;
  }
  .page-header-layout {
    gap: 0.4rem 0.55rem;
  }
  .page-header-card.is-stuck .page-header-main {
    gap: 0.66rem;
  }
  .page-header-topline {
    margin-top: 0.06rem;
    gap: 0.36rem 0.48rem;
  }
  /* Unified typography across with/without back so the header feels consistent on mobile */
  .page-header-kicker,
  .page-header-copy-with-back .page-header-kicker {
    max-width: 100%;
    font-size: 0.7rem;
  }
  .page-header-kicker-icon,
  .page-header-copy-with-back .page-header-kicker-icon {
    font-size: 0.8rem;
  }
  .page-header-title,
  .page-header-copy-with-back .page-header-title {
    font-size: 1.15rem;
    line-height: 1.08;
  }
  /* With back: keep copy vertically centered next to the back button (same size = same midline) */
  .page-header-main--with-back {
    align-items: center;
  }
  .page-header-layout--with-back .page-header-copy-with-back {
    align-items: center;
  }
  .page-header-layout--with-back .page-header-side {
    margin-top: 0;
    align-self: center;
  }
  /* Uniform 2.5rem circle for every mobile header button so they all share the same footprint */
  .page-header-actions-mobile .page-header-actions-toggle.btn {
    width: 2.5rem;
    height: 2.5rem;
    min-height: 2.5rem;
    min-width: 2.5rem;
    padding: 0;
    border-radius: 50%;
  }
  .page-header-actions-mobile .page-header-actions-toggle.btn .ph-icon {
    font-size: 1.1rem;
  }
  .page-header-nav-toggle {
    width: 2.5rem;
    height: 2.5rem;
    min-height: 2.5rem;
    align-self: center;
  }
  .page-header-nav-toggle .ph-icon {
    font-size: 1.2rem;
  }
  .toastify.ratelo-toast {
    width: min(22rem, 100vw - 1.25rem);
    max-width: min(22rem, 100vw - 1.25rem);
  }
}
.ratelo-soft-note {
  background: linear-gradient(180deg, rgba(247, 249, 252, 0.96) 0%, rgba(241, 245, 249, 0.98) 100%);
  border-color: rgba(124, 135, 159, 0.18) !important;
  color: var(--ratelo-secondary-deep);
  border-radius: var(--ratelo-surface-radius) !important;
  box-shadow: none !important;
}

.profile-company-about {
  display: grid;
  gap: 0.35rem;
  padding: 0.75rem 1rem;
  border-radius: var(--ratelo-surface-radius);
  background: linear-gradient(180deg, rgba(247, 249, 252, 0.96) 0%, rgba(241, 245, 249, 0.98) 100%);
  border: 1px solid rgba(124, 135, 159, 0.18);
  color: var(--ratelo-secondary-deep);
}

.profile-company-about-text {
  font-size: 0.95rem;
  line-height: 1.5;
}

.profile-company-about-text.trix-content > :first-child {
  margin-top: 0;
}

.profile-company-about-text.trix-content > :last-child {
  margin-bottom: 0;
}

.profile-company-about-meta {
  font-size: 0.85rem;
  color: rgba(90, 109, 127, 0.95);
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
}

.ratelo-select2-remote-primary {
  font-weight: 600;
  color: var(--ratelo-secondary-deep);
  line-height: 1.15;
}

.ratelo-select2-remote-secondary {
  display: block;
  line-height: 1.2;
}

.ratelo-soft-note .ph-icon {
  color: #718096;
}

.dashboard-stat-card .card-body {
  display: grid;
  align-content: center;
  gap: 0.45rem;
}

.dashboard-stat-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #607080;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.dashboard-stat-icon {
  color: var(--ratelo-secondary-deep);
  font-size: 1rem;
}

.dashboard-stat-value {
  display: block;
  font-size: clamp(1.75rem, 1.3rem + 1.1vw, 2.35rem);
  line-height: 1.05;
  color: var(--ratelo-accent-deep);
}

.dashboard-stat-value-text {
  font-size: clamp(1.2rem, 1rem + 0.5vw, 1.55rem);
}

.dashboard-stat-meta {
  color: #607080;
  font-size: 0.84rem;
  font-weight: 500;
}

.profile-review-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.1rem;
}

.profile-private-contact-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 100%;
  text-align: center;
}

.profile-stammdaten-card {
  padding: 0.5rem 1rem 0.9rem;
  background-image: linear-gradient(90deg, rgba(111, 148, 129, 0) 0%, rgba(111, 148, 129, 0.32) 50%, rgba(111, 148, 129, 0) 100%);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: bottom left;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  text-align: center;
}

.profile-stammdaten-row {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1.1rem;
  row-gap: 0.45rem;
  flex-wrap: wrap;
}

.profile-stammdaten-item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.profile-stammdaten-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-width: 0;
}

.profile-stammdaten-icon {
  flex-shrink: 0;
  font-size: 0.92rem;
  color: #7e8aa0;
}

.profile-stammdaten-link,
.profile-stammdaten-value {
  min-width: 0;
  color: var(--ratelo-secondary-deep);
  font-size: 0.93rem;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
}

.profile-stammdaten-link:hover {
  color: var(--ratelo-accent-deep);
}

.profile-private-contact-item .profile-private-contact-icon {
  flex-shrink: 0;
}

.profile-private-contact-item .profile-private-contact-link,
.profile-private-contact-item .profile-private-contact-value {
  min-width: 0;
}

.profile-private-contact-icon {
  font-size: 1.05rem;
  color: var(--ratelo-secondary-deep);
}

.profile-private-contact-link,
.profile-private-contact-value {
  color: var(--ratelo-secondary-deep);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  word-break: break-word;
}

.profile-private-contact-link:hover {
  color: var(--ratelo-accent-deep);
}

@media (min-width: 992px) {
  .profile-stammdaten-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .profile-stammdaten-item {
    flex-shrink: 0;
  }
}
.profile-review-summary-copy {
  min-width: 0;
}

.profile-review-summary-overall {
  display: grid;
  justify-items: end;
  gap: 0.35rem;
  flex-shrink: 0;
}

.profile-review-summary-score {
  font-size: 1.7rem;
  line-height: 1;
  color: var(--ratelo-accent-deep);
}

.profile-review-metrics {
  display: grid;
  gap: 0.85rem;
}

.profile-review-metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 0.95rem;
  background: rgba(244, 247, 250, 0.92);
  box-shadow: inset 0 0 0 1px rgba(124, 135, 159, 0.14);
}

.profile-review-metric-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  width: 100%;
}

.profile-review-metric-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--ratelo-secondary-deep);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.profile-review-metric-icon {
  font-size: 0.95rem;
}

.profile-review-metric-main .ratelo-rating-display {
  margin-left: auto;
  flex-shrink: 0;
}

.profile-review-metric-value {
  color: var(--ratelo-accent-deep);
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
}

.profile-public-review-snippet {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ratelo-rating-display {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
}

.ratelo-rating-display-star {
  color: #c7d0dc;
  font-size: 1.05rem;
  line-height: 1;
}

.ratelo-rating-display-star--active {
  color: #e3ac35;
}

.ratelo-action-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.18), rgba(124, 135, 159, 0) 34%), linear-gradient(180deg, rgba(248, 250, 253, 0.98) 0%, rgba(241, 245, 250, 0.98) 100%);
  border: 1px solid rgba(124, 135, 159, 0.2);
  border-radius: var(--ratelo-surface-radius);
  box-shadow: 0 0.85rem 1.9rem rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.ratelo-action-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 45%);
}

.ratelo-action-card.is-trust {
  background: radial-gradient(circle at top right, rgba(232, 243, 236, 0.9), rgba(232, 243, 236, 0) 34%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 248, 0.98) 100%);
  border-color: rgba(111, 148, 129, 0.18);
}

.ratelo-action-card.is-revenue {
  background: radial-gradient(circle at top right, rgba(255, 236, 214, 0.5), rgba(255, 236, 214, 0) 34%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 248, 245, 0.98) 100%);
  border-color: rgba(157, 143, 121, 0.16);
}

.ratelo-action-card.is-verified-summary {
  border-color: rgba(111, 148, 129, 0.22);
  background: linear-gradient(135deg, #ebf5ef 0%, #dcebe2 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 0.4rem 1rem rgba(73, 106, 90, 0.07);
}

.ratelo-action-card-header {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  row-gap: 0.35rem;
}

.ratelo-action-card h2, .ratelo-action-card .h2,
.ratelo-action-card h2 .ph-icon,
.ratelo-action-card .h2 .ph-icon {
  color: var(--ratelo-secondary-deep);
}

.ratelo-action-card-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.ratelo-action-card-title-main {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
}

.ratelo-action-card-title-icon {
  flex: 0 0 auto;
  margin-top: 0.1rem;
}

.ratelo-action-card-kicker-row .ratelo-workflow-card-info {
  margin-top: 0;
}

.ratelo-workflow-card-info {
  line-height: 1;
  margin-top: 0.1rem;
  min-width: 1.75rem;
  min-height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  text-decoration: none !important;
}

.ratelo-workflow-card-info:hover,
.ratelo-workflow-card-info:focus-visible {
  color: var(--ratelo-secondary-deep) !important;
  background: rgba(124, 135, 159, 0.1);
}

.ratelo-workflow-card-info-icon {
  font-size: 1.15rem;
  display: block;
}

.ratelo-action-card.is-compact .ratelo-workflow-card-info-icon {
  font-size: 1.1rem;
}

.ratelo-workflow-card-manage {
  line-height: 1;
  margin-top: 0.1rem;
  min-width: 1.75rem;
  min-height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #7b8799;
  text-decoration: none !important;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.ratelo-workflow-card-manage:hover,
.ratelo-workflow-card-manage:focus-visible {
  color: var(--ratelo-accent-deep) !important;
  background: rgba(111, 148, 129, 0.12);
}

.ratelo-workflow-card-manage-icon {
  font-size: 1.1rem;
  display: block;
}

.ratelo-action-card.is-compact .ratelo-workflow-card-manage-icon {
  font-size: 1.05rem;
}

/* Bootstrap Popover — tuned to Ratelo cards / soft surfaces */
.popover.ratelo-workflow-popover {
  --bs-popover-border-color: rgba(124, 135, 159, 0.2);
  --bs-popover-bg: rgba(255, 255, 255, 0.98);
  max-width: min(22rem, 92vw);
  border-radius: calc(var(--ratelo-surface-radius) * 0.85);
  box-shadow: 0 0.4rem 1rem rgba(15, 23, 42, 0.08), 0 0 0 1px rgba(255, 255, 255, 0.6) inset;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 1080;
}

.popover.ratelo-workflow-popover .popover-arrow::before {
  border-width: 0.5rem;
}
.popover.ratelo-workflow-popover .popover-arrow::after {
  border-width: 0.5rem;
}

.popover.ratelo-workflow-popover .popover-body {
  padding: 0.65rem 0.75rem;
  color: var(--ratelo-secondary-deep);
}

.popover.ratelo-workflow-popover .ratelo-workflow-popover-list {
  margin-bottom: 0;
  padding-left: 0;
  font-size: 0.84rem;
  line-height: 1.48;
  color: #4a5a6b;
}

.popover.ratelo-workflow-popover .ratelo-workflow-popover-check {
  flex: 0 0 auto;
  margin-top: 0.12rem;
  font-size: 1rem;
  color: #6f9481;
}

.popover.ratelo-workflow-popover .ratelo-workflow-popover-list li + li {
  margin-top: 0.4rem;
}

.ratelo-card-watermark {
  --ratelo-card-watermark-color: rgba(255, 255, 255, 0.58);
  position: absolute;
  top: 50%;
  right: -3%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40%;
  color: var(--ratelo-card-watermark-color);
  pointer-events: none;
  transform: translateY(-50%) rotate(14deg);
  z-index: 0;
  opacity: 1;
}

.ratelo-card-watermark-icon {
  width: 100%;
  height: auto;
  filter: none;
}

.ratelo-action-card.is-trust h2, .ratelo-action-card.is-trust .h2,
.ratelo-action-card.is-trust h2 .ph-icon,
.ratelo-action-card.is-trust .h2 .ph-icon {
  color: #547060;
}

.ratelo-action-card.is-revenue h2, .ratelo-action-card.is-revenue .h2,
.ratelo-action-card.is-revenue h2 .ph-icon,
.ratelo-action-card.is-revenue .h2 .ph-icon {
  color: #6f6251;
}

.ratelo-action-card.is-verified-summary h2, .ratelo-action-card.is-verified-summary .h2,
.ratelo-action-card.is-verified-summary h2 .ph-icon,
.ratelo-action-card.is-verified-summary .h2 .ph-icon {
  color: #385142;
  margin-bottom: 0;
}

.ratelo-action-card-kicker {
  display: inline-block;
  margin-bottom: 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ratelo-secondary-deep);
}

.ratelo-action-card-kicker-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.28rem;
  width: 100%;
  margin-bottom: 0.35rem;
  max-width: 100%;
}

.ratelo-action-card-kicker-row .ratelo-workflow-card-manage {
  margin-left: auto;
}

.ratelo-action-card-kicker-row .ratelo-action-card-kicker--inline {
  margin-bottom: 0;
}

.ratelo-action-card.is-trust .ratelo-action-card-kicker {
  color: #547060;
}

.ratelo-action-card.is-revenue .ratelo-action-card-kicker {
  color: #6f6251;
}

.ratelo-action-card-actions {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  justify-content: flex-end;
  margin-top: auto !important;
  padding-top: 1rem;
}

.workflow-card-copy {
  position: relative;
  z-index: 1;
  max-width: 42rem;
  margin-top: 0;
  line-height: 1.5;
  color: #5a6d7f;
}

.ratelo-action-card.is-compact {
  min-height: 0;
}

.ratelo-action-card.is-compact .ratelo-action-card-header {
  row-gap: 0.28rem;
}

.ratelo-action-card.is-compact .ratelo-action-card-title {
  font-size: 1.08rem;
  line-height: 1.3;
  gap: 0.45rem;
}

.ratelo-action-card.is-compact .ratelo-action-card-kicker {
  margin-bottom: 0.15rem;
}

.ratelo-action-card.is-compact .ratelo-action-card-kicker-row {
  margin-bottom: 0.15rem;
}

.ratelo-action-card.is-compact .workflow-card-copy {
  max-width: 30rem;
  font-size: 0.94rem;
  line-height: 1.42;
}

.ratelo-action-card.is-compact .ratelo-card-watermark {
  right: -2%;
}

.ratelo-action-card.is-compact .ratelo-action-card-actions {
  padding-top: 0.65rem;
}

.ratelo-action-card.is-trust .workflow-card-copy {
  color: #4f6759;
}

.ratelo-action-card.is-revenue .workflow-card-copy {
  color: #695f53;
}

.workflow-card-actions {
  justify-content: flex-end;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.workflow-card-actions.workflow-card-actions--start {
  justify-content: flex-start;
}

.ratelo-identity-inline {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.42rem;
  vertical-align: middle;
}

.ratelo-identity-text {
  line-height: inherit;
}

.ratelo-identity-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 999px;
  background: var(--ratelo-grad-button-secondary);
  color: #fff;
  box-shadow: 0 0.3rem 0.7rem rgba(40, 119, 225, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.35);
  flex-shrink: 0;
  cursor: help;
}

.ratelo-identity-badge--compact {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #2877e1;
  font-weight: 700;
}

.ratelo-identity-badge--seller,
.ratelo-identity-badge--private {
  background: var(--ratelo-grad-button-secondary);
  box-shadow: 0 0.3rem 0.7rem rgba(95, 116, 148, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.ratelo-identity-badge--seller.ratelo-identity-badge--compact,
.ratelo-identity-badge--private.ratelo-identity-badge--compact {
  background: transparent;
  box-shadow: none;
  color: #5f7494;
}

.ratelo-identity-badge--company {
  background: var(--ratelo-grad-button-primary);
  box-shadow: 0 0.3rem 0.7rem rgba(73, 106, 90, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.ratelo-identity-badge--company.ratelo-identity-badge--compact {
  background: transparent !important;
  box-shadow: none !important;
  color: #547362;
}

.ratelo-identity-badge--protected {
  outline: 1px solid rgba(255, 255, 255, 0.65);
  outline-offset: -2px;
}

.ratelo-identity-badge-icon {
  font-size: 0.68rem;
}

.ratelo-identity-badge--compact .ratelo-identity-badge-icon {
  font-size: 0.82rem;
}

/* ─── Generic list-card section header (title + subline + "View all →") ── */
.ratelo-card-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.9rem;
}

.ratelo-card-section-heading {
  min-width: 0;
  flex: 1;
}

.ratelo-card-overview-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
  padding: 0.2rem 0.1rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ratelo-secondary-deep);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}

.ratelo-card-overview-link:hover,
.ratelo-card-overview-link:focus-visible {
  color: #1a3328;
  text-decoration: none;
}

.ratelo-card-overview-link-icon {
  font-size: 0.95rem;
  opacity: 0.7;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.ratelo-card-overview-link:hover .ratelo-card-overview-link-icon,
.ratelo-card-overview-link:focus-visible .ratelo-card-overview-link-icon {
  transform: translateX(2px);
  opacity: 1;
}

.identity-verification-status-card {
  position: relative;
  overflow: hidden;
}

.identity-verification-shell.is-verified {
  align-items: stretch;
}

.identity-verification-status-card .card-body {
  position: relative;
  z-index: 1;
}

.identity-verification-status-card:not(.is-verified) .card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.identity-verification-status-kicker {
  display: inline-flex;
  margin-bottom: 0.35rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ratelo-secondary-deep);
}

.identity-verification-status-card:not(.is-verified) {
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.18), rgba(124, 135, 159, 0) 34%), linear-gradient(180deg, rgba(248, 250, 253, 0.98) 0%, rgba(241, 245, 250, 0.98) 100%) !important;
  border: 1px solid rgba(124, 135, 159, 0.2) !important;
  box-shadow: 0 0.85rem 1.9rem rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
}

.identity-verification-status-card:not(.is-verified)::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 45%);
}

.identity-verification-status-card:not(.is-verified) h1, .identity-verification-status-card:not(.is-verified) .h1,
.identity-verification-status-card:not(.is-verified) h2,
.identity-verification-status-card:not(.is-verified) .h2,
.identity-verification-status-card:not(.is-verified) h3,
.identity-verification-status-card:not(.is-verified) .h3 {
  color: var(--ratelo-secondary-deep);
}

.identity-verification-status-card:not(.is-verified) .text-secondary,
.identity-verification-status-card:not(.is-verified) .small.text-secondary {
  color: #5a6d7f !important;
}

.identity-verification-status-card.is-verified {
  border: 1px solid rgba(111, 148, 129, 0.22) !important;
  background: linear-gradient(135deg, #ebf5ef 0%, #dcebe2 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 0.4rem 1rem rgba(73, 106, 90, 0.07) !important;
}

.identity-verification-status-card.is-verified .card-body {
  display: grid;
  align-content: center;
  justify-items: stretch;
  text-align: left;
  padding-right: clamp(6rem, 18vw, 8.75rem) !important;
}

.identity-verification-status-card.is-verified h1, .identity-verification-status-card.is-verified .h1,
.identity-verification-status-card.is-verified h2,
.identity-verification-status-card.is-verified .h2,
.identity-verification-status-card.is-verified h3,
.identity-verification-status-card.is-verified .h3 {
  color: #385142;
}

.identity-verification-status-card.is-verified .text-secondary,
.identity-verification-status-card.is-verified .small.text-secondary {
  color: #6d8378 !important;
}

.identity-verification-status-card.is-verified .btn {
  min-width: 12rem;
}

.identity-verification-status-card-mark {
  position: absolute;
  right: clamp(0.85rem, 2vw, 1.4rem);
  bottom: clamp(0.85rem, 2vw, 1.35rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.96);
  pointer-events: none;
}

.identity-verification-status-card-mark-icon {
  font-size: clamp(4.8rem, 8vw, 6.8rem);
  line-height: 1;
  filter: drop-shadow(0 0.35rem 0.75rem rgba(73, 106, 90, 0.12));
}

.identity-verification-workflow-card {
  border: 1px solid rgba(124, 135, 159, 0.16) !important;
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.12), rgba(124, 135, 159, 0) 34%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 248, 252, 0.96) 100%) !important;
  box-shadow: 0 0.7rem 1.7rem rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
}

.identity-verification-workflow-card .card-body {
  position: relative;
}

.identity-verification-workflow-card .card-body::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0) 45%);
}

.identity-verification-workflow-card .card-body > * {
  position: relative;
  z-index: 1;
}

.ratelo-form-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ratelo-form-actions-inline {
  flex-wrap: nowrap;
  gap: 0.5rem;
}
@media (max-width: 767.98px) {
  .ratelo-form-actions-inline .ratelo-action-button {
    width: auto;
    flex: 0 1 auto;
    min-width: 0;
  }
}

.listing-form-footer-actions {
  justify-content: space-between;
}

@media (max-width: 767.98px) {
  .listing-form-footer-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .listing-form-footer-actions .listing-deactivate-trigger {
    width: 100%;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    border-radius: 0.25rem;
  }
}
.listing-deactivation-modal-actions {
  margin-top: 0.25rem;
}

.ratelo-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-top: 1rem;
  padding-inline: var(--ratelo-button-padding-x);
}

.ratelo-action-button .ph-icon {
  font-size: 0.95rem;
}

@media (max-width: 767.98px) {
  .ratelo-action-button {
    width: 100%;
  }
  .profile-stammdaten-row {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.45rem;
  }
  .profile-stammdaten-item {
    width: 100%;
  }
  .profile-stammdaten-card {
    text-align: left;
  }
  .profile-private-contact-item {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
  .profile-review-summary-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .profile-review-summary-overall {
    justify-items: start;
  }
  .identity-verification-status-card.is-verified .card-body {
    padding-right: var(--ratelo-card-padding) !important;
    padding-bottom: 5.5rem !important;
  }
  .identity-verification-status-card-mark-icon {
    font-size: 4.8rem;
  }
}
.purchase-request-form-note {
  max-width: 46rem;
  color: #536173;
}

.purchase-request-mode-group {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  width: 100%;
}

.purchase-request-mode-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: 0;
  width: 100%;
  padding: 0.55rem 0.8rem;
  text-align: center;
  color: #536173;
  background: #fff;
  border: 1px solid rgba(124, 135, 159, 0.16);
  border-radius: 0;
  transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
  white-space: nowrap;
}

.purchase-request-mode-group > .purchase-request-mode-toggle:first-child {
  border-top-left-radius: var(--ratelo-form-radius);
  border-bottom-left-radius: var(--ratelo-form-radius);
}

.purchase-request-mode-group > .purchase-request-mode-toggle:last-child {
  border-top-right-radius: var(--ratelo-form-radius);
  border-bottom-right-radius: var(--ratelo-form-radius);
}

.purchase-request-mode-group > .purchase-request-mode-toggle + .purchase-request-mode-toggle {
  margin-left: -1px;
}

.purchase-request-mode-toggle.is-active {
  transform: translateY(-1px);
  z-index: 1;
}

.purchase-request-mode-group > .purchase-request-mode-toggle:first-child.is-active {
  color: var(--ratelo-accent-deep);
  background: linear-gradient(180deg, rgba(244, 248, 246, 0.98) 0%, rgba(237, 244, 240, 0.98) 100%);
  border-color: rgba(111, 148, 129, 0.3);
  box-shadow: 0 0.6rem 1.5rem rgba(15, 23, 42, 0.07), inset 0 0 0 1px rgba(111, 148, 129, 0.12);
}

.purchase-request-mode-group > .purchase-request-mode-toggle:last-child.is-active {
  color: var(--ratelo-secondary-deep);
  background: linear-gradient(180deg, rgba(243, 248, 255, 0.98) 0%, rgba(231, 240, 253, 0.98) 100%);
  border-color: rgba(108, 150, 214, 0.3);
  box-shadow: 0 0.6rem 1.5rem rgba(15, 23, 42, 0.07), inset 0 0 0 1px rgba(108, 150, 214, 0.12);
}

.purchase-request-mode-tab-icon {
  flex-shrink: 0;
  font-size: 1rem;
  color: #8a97a6;
  transition: color 0.18s ease;
}

.purchase-request-mode-tab-label {
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: none;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.purchase-request-mode-installment-lock {
  flex-shrink: 0;
  width: 0.85rem;
  height: 0.85rem;
  opacity: 0.7;
  color: inherit;
}

.purchase-request-mode-toggle.is-locked {
  color: #8a96a6;
  background: rgba(248, 250, 252, 0.9);
}

.purchase-request-mode-toggle.is-locked:hover,
.purchase-request-mode-toggle.is-locked:focus-visible {
  color: var(--ratelo-secondary-deep);
  background: rgba(243, 248, 255, 0.95);
  border-color: rgba(108, 150, 214, 0.3);
}

.purchase-request-mode-toggle.is-locked .purchase-request-mode-tab-icon {
  color: #aab4c2;
}

.purchase-request-mode-toggle.is-locked:hover .purchase-request-mode-tab-icon,
.purchase-request-mode-toggle.is-locked:focus-visible .purchase-request-mode-tab-icon {
  color: var(--ratelo-secondary-deep);
}

.purchase-request-mode-toggle.is-locked .purchase-request-mode-installment-lock {
  opacity: 0.9;
}

.purchase-request-buyer-verify-upsell {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.purchase-request-buyer-verify-copy {
  margin: 0;
  color: #4b5563;
  font-size: 0.95rem;
  line-height: 1.55;
}

.purchase-request-buyer-verify-points {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.purchase-request-buyer-verify-points li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: #374151;
  font-size: 0.92rem;
  line-height: 1.45;
}

.purchase-request-buyer-verify-point-icon {
  flex-shrink: 0;
  margin-top: 0.15rem;
  color: #6f9481;
  font-size: 0.95rem;
}

.purchase-request-buyer-verify-plan-note {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(185, 111, 87, 0.18);
  border-radius: 0.9rem;
  background: linear-gradient(135deg, rgba(255, 239, 226, 0.94), rgba(255, 247, 238, 0.9));
  color: #895b47;
  font-size: 0.9rem;
  line-height: 1.45;
}

.purchase-request-buyer-verify-plan-note-row {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}

.purchase-request-buyer-verify-plan-cta {
  margin-top: 0.1rem;
}

.purchase-request-buyer-verify-plan-icon {
  flex-shrink: 0;
  margin-top: 0.12rem;
  color: #b96f57;
  font-size: 1rem;
}

.purchase-request-buyer-verify-plan-link {
  display: inline-flex;
  margin-left: 0.25rem;
  color: #7a5341;
  font-weight: 700;
  text-decoration: none;
}

.purchase-request-buyer-verify-plan-link:hover,
.purchase-request-buyer-verify-plan-link:focus-visible {
  color: #5f3f31;
  text-decoration: underline;
}

.purchase-request-buyer-verify-price-row {
  display: flex;
  justify-content: center;
  margin-top: 0.25rem;
}

.purchase-request-buyer-verify-price {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(111, 148, 129, 0.12), rgba(111, 148, 129, 0.04));
  border: 1px solid rgba(111, 148, 129, 0.22);
  color: #3f6a54;
  font-size: 0.8rem;
  line-height: 1;
  letter-spacing: 0.01em;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.purchase-request-buyer-verify-price-amount {
  font-weight: 700;
  font-size: 0.92rem;
  color: #2f5a46;
  letter-spacing: 0;
}

.purchase-request-buyer-verify-price-term {
  font-weight: 500;
  color: #6f9481;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
}

.purchase-request-mode-group > .purchase-request-mode-toggle:first-child.is-active .purchase-request-mode-tab-icon {
  color: var(--ratelo-accent-deep);
}

.purchase-request-mode-group > .purchase-request-mode-toggle:last-child.is-active .purchase-request-mode-tab-icon {
  color: var(--ratelo-secondary-deep);
}

.purchase-request-option-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.75rem;
}

.purchase-request-option {
  display: grid;
  gap: 0.14rem;
  padding: 0.95rem 1rem;
  text-align: left;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(124, 135, 159, 0.16);
  border-radius: 1.1rem;
  color: inherit;
  transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.purchase-request-option:hover,
.purchase-request-option.is-active {
  border-color: rgba(111, 148, 129, 0.22);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.6rem 1.5rem rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.purchase-request-option-custom:hover,
.purchase-request-option-custom.is-active {
  border-color: rgba(108, 150, 214, 0.22);
}

.purchase-request-option-primary {
  font-size: 0.96rem;
  line-height: 1.18;
  color: var(--ratelo-accent-deep);
}

.purchase-request-option-secondary {
  font-size: 0.8rem;
  line-height: 1.35;
  color: #667385;
}

.purchase-request-custom-fields {
  padding: 1rem 1.05rem;
  background: rgba(243, 248, 255, 0.9);
  border: 1px solid rgba(108, 150, 214, 0.16);
  border-radius: 1.15rem;
}

.purchase-request-existing-card {
  min-height: 100%;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(124, 135, 159, 0.18);
  border-radius: 1.15rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.1), rgba(124, 135, 159, 0) 34%), linear-gradient(180deg, rgba(248, 250, 253, 0.98) 0%, rgba(241, 245, 250, 0.98) 100%);
}

.purchase-request-existing-card-full {
  border-color: rgba(111, 148, 129, 0.18);
  background: radial-gradient(circle at top right, rgba(232, 243, 236, 0.88), rgba(232, 243, 236, 0) 34%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 248, 0.98) 100%);
}

.purchase-request-existing-card-installment {
  border-color: rgba(124, 135, 159, 0.18);
}

.purchase-request-existing-card-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
}

.purchase-request-existing-card-content {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
}

.purchase-request-existing-card-topline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  flex-wrap: wrap;
}

.purchase-request-existing-card-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.36rem;
  min-width: 0;
  color: #738395;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.purchase-request-existing-card-kicker-icon {
  flex-shrink: 0;
  font-size: 0.94rem;
  color: #8193a7;
}

.purchase-request-existing-card-summary {
  display: block;
  font-weight: 700;
  color: var(--ratelo-secondary-deep);
  font-size: 1rem;
  line-height: 1.18;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.purchase-request-existing-card-full .purchase-request-existing-card-summary {
  color: var(--ratelo-accent-deep);
}

.purchase-request-existing-card-status {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  font-weight: 700;
  flex: 0 0 auto;
  white-space: nowrap;
}

.purchase-request-existing-card-status-pill {
  padding: 0.2rem 0.48rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.72rem;
  line-height: 1;
}

.purchase-request-existing-card-status-icon {
  font-size: 0.95em;
}

.purchase-request-existing-card-status--success {
  color: #5d7466;
}

.purchase-request-existing-card-status--info {
  color: #5f85bf;
}

.purchase-request-existing-card-status--warning {
  color: #9a6f2d;
}

.purchase-request-existing-card-status--danger {
  color: #616b81;
}

.purchase-request-existing-card-status--neutral {
  color: #556274;
}

.purchase-request-existing-card-status-pill.purchase-request-existing-card-status--success {
  background: rgba(93, 116, 102, 0.1);
  border-color: rgba(93, 116, 102, 0.16);
}

.purchase-request-existing-card-status-pill.purchase-request-existing-card-status--info {
  background: rgba(95, 133, 191, 0.1);
  border-color: rgba(95, 133, 191, 0.14);
}

.purchase-request-existing-card-status-pill.purchase-request-existing-card-status--warning {
  background: rgba(154, 111, 45, 0.1);
  border-color: rgba(154, 111, 45, 0.14);
}

.purchase-request-existing-card-status-pill.purchase-request-existing-card-status--danger {
  background: rgba(97, 107, 129, 0.1);
  border-color: rgba(97, 107, 129, 0.14);
}

.purchase-request-existing-card-status-pill.purchase-request-existing-card-status--neutral {
  background: rgba(85, 98, 116, 0.08);
  border-color: rgba(85, 98, 116, 0.12);
}

.purchase-request-existing-card-action {
  margin-left: auto;
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .purchase-request-mode-toggle {
    padding: 0.5rem 0.65rem;
    gap: 0.38rem;
  }
  .purchase-request-mode-tab-label {
    font-size: 0.8rem;
  }
  .purchase-request-mode-tab-icon {
    font-size: 0.92rem;
  }
}
@media (max-width: 575.98px) {
  .purchase-request-existing-card {
    padding: 0.75rem 0.82rem;
    border-radius: 1rem;
  }
  .purchase-request-existing-card-row {
    gap: 0.55rem;
  }
  .purchase-request-existing-card-content {
    gap: 0.24rem;
  }
  .purchase-request-existing-card-topline {
    gap: 0.34rem;
  }
  .purchase-request-existing-card-kicker {
    font-size: 0.64rem;
  }
  .purchase-request-existing-card-summary {
    font-size: 0.9rem;
  }
  .purchase-request-existing-card-status {
    gap: 0;
  }
  .purchase-request-existing-card-action {
    margin-left: 0;
  }
}
.ratelo-modal .modal-content {
  border-color: var(--ratelo-card-border);
  border-radius: var(--ratelo-surface-radius);
  box-shadow: var(--ratelo-card-shadow);
  overflow: hidden;
}

.listing-feature-modal {
  z-index: 1060;
}

.listing-feature-modal .listing-boost-credits-bar {
  padding: 0.65rem 0.9rem;
  border-radius: 0.85rem;
  background: rgba(255, 253, 248, 0.95);
  border: 1px solid rgba(196, 150, 72, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.listing-feature-modal .listing-boost-credits-switch .form-check-input {
  width: 2.6rem;
  height: 1.35rem;
  margin-top: 0;
  cursor: pointer;
}

.listing-feature-modal .listing-boost-credits-switch .form-check-input:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.ratelo-modal .modal-header {
  border-bottom: 0;
  padding-bottom: 0.3rem;
}

.ratelo-modal .modal-body {
  padding-top: 0.55rem;
}

trix-toolbar .trix-button-group {
  border-color: var(--ratelo-card-border);
  border-radius: 999px;
  overflow: hidden;
  box-shadow: none;
}

trix-toolbar .trix-button {
  min-width: 2.4rem;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 0;
  color: var(--ratelo-accent-deep);
}

trix-toolbar .trix-button:hover {
  background: var(--ratelo-accent-soft);
}

trix-toolbar .trix-button.trix-active {
  background: rgba(111, 148, 129, 0.14);
  color: var(--ratelo-accent-deep);
}

trix-toolbar .trix-button-group--file-tools,
trix-toolbar .trix-button--icon-code,
trix-toolbar .trix-button--icon-heading-1,
trix-toolbar .trix-button--icon-decrease-nesting-level,
trix-toolbar .trix-button--icon-increase-nesting-level {
  display: none;
}

trix-toolbar .trix-dialog {
  border-color: var(--ratelo-card-border);
  border-radius: var(--ratelo-surface-radius);
  box-shadow: var(--ratelo-card-shadow);
}

trix-editor,
.ratelo-rich-text-input {
  min-height: 13rem;
  padding: 0.95rem 1rem;
  background: #fff;
  border: 1px solid var(--ratelo-card-border);
  border-radius: var(--ratelo-surface-radius);
  color: var(--ratelo-accent-deep);
  box-shadow: var(--ratelo-card-shadow);
}

trix-editor:focus,
.ratelo-rich-text-input:focus {
  border-color: rgba(111, 148, 129, 0.32);
  box-shadow: 0 0 0 0.2rem rgba(111, 148, 129, 0.14);
  outline: 0;
}

@media (max-width: 767.98px) {
  trix-toolbar {
    margin-bottom: 0.42rem;
  }
  trix-toolbar .trix-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
  }
  trix-toolbar .trix-button-group {
    margin: 0;
    border-radius: 0.88rem;
  }
  trix-toolbar .trix-button {
    min-width: 2.08rem;
    min-height: 2.08rem;
  }
  trix-toolbar .trix-dialog {
    padding: 0.65rem;
  }
}
@media (max-width: 575.98px) {
  trix-toolbar .trix-button-row {
    gap: 0.22rem;
  }
  trix-toolbar .trix-button-group {
    border-radius: 0.78rem;
  }
  trix-toolbar .trix-button {
    min-width: 1.92rem;
    min-height: 1.92rem;
  }
  trix-editor,
  .ratelo-rich-text-input {
    min-height: 11.5rem;
    padding: 0.82rem 0.88rem;
  }
}
.home-hero-surface {
  position: relative;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.35rem);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 2rem;
  box-shadow: 0 1.15rem 3rem rgba(15, 23, 42, 0.08);
  background: radial-gradient(circle at top left, rgba(232, 243, 236, 0.94), rgba(232, 243, 236, 0) 44%), radial-gradient(circle at top right, rgba(255, 236, 214, 0.8), rgba(255, 236, 214, 0) 30%), linear-gradient(145deg, #f8fbf9 0%, #eef4f1 48%, #f8f4ec 100%);
}

.home-hero-surface-backdrop {
  position: absolute;
  inset: auto -7rem -5.5rem auto;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 135, 159, 0.16) 0%, rgba(124, 135, 159, 0) 70%);
  pointer-events: none;
}

.home-hero-shell {
  position: relative;
  display: grid;
  gap: 0;
  z-index: 1;
}

.home-hero-shell::before,
.home-hero-shell::after {
  content: "";
  position: absolute;
  inset: auto;
  border-radius: 999px;
  filter: blur(10px);
  pointer-events: none;
  z-index: 0;
}

.home-hero-shell::before {
  top: 1.4rem;
  right: 3rem;
  width: 15rem;
  height: 15rem;
  background: radial-gradient(circle, rgba(111, 148, 129, 0.2) 0%, rgba(111, 148, 129, 0) 72%);
}

.home-hero-shell::after {
  bottom: 0.5rem;
  left: 22%;
  width: 11rem;
  height: 11rem;
  background: radial-gradient(circle, rgba(124, 135, 159, 0.16) 0%, rgba(124, 135, 159, 0) 70%);
}

.home-hero-content {
  position: relative;
  z-index: 1;
  padding: 0;
}

.home-hero-row {
  min-height: 20.5rem;
}

.home-hero-eyebrow {
  position: relative;
  z-index: 1;
  padding-inline: 0;
}

.home-hero-copy {
  max-width: 39rem;
  padding-block: 0.45rem;
}

.home-hero-copy .display-6 {
  max-width: 11ch;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  color: #355446;
}

.home-hero-copy .lead,
.home-hero-benefit {
  color: var(--ratelo-accent-deep);
}

.home-hero-copy .lead {
  max-width: 41rem;
}

.home-hero-benefits {
  display: grid;
  gap: 0.45rem;
}

.home-hero-benefit {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  font-weight: 400;
}

.home-hero-benefit-icon {
  color: var(--ratelo-accent);
  font-size: 0.95rem;
  margin-top: 0.28rem;
}

.home-hero-orders {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.98) 100%);
}

.home-hero-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 21.5rem;
  padding: 0.7rem 0.8rem 0.45rem;
  perspective: 1400px;
}

.home-hero-visual::before {
  content: "";
  position: absolute;
  inset: 11% 5% 10% 11%;
  border-radius: 2rem;
  background: radial-gradient(circle at 65% 35%, rgba(111, 148, 129, 0.18), rgba(111, 148, 129, 0) 42%), radial-gradient(circle at 25% 75%, rgba(124, 135, 159, 0.12), rgba(124, 135, 159, 0) 38%);
  filter: blur(10px);
  pointer-events: none;
}

.home-hero-device {
  position: relative;
  z-index: 2;
  width: min(100%, 25rem);
  padding: 1rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.95) 0%, rgba(244, 248, 246, 0.92) 100%);
  border: 1px solid rgba(111, 148, 129, 0.18);
  border-radius: 1.6rem;
  box-shadow: 0 1.5rem 3.2rem rgba(15, 23, 42, 0.16), 0 0.45rem 1rem rgba(15, 23, 42, 0.08);
  overflow: hidden;
  transform: rotateX(8deg) rotateY(-13deg) rotateZ(1.5deg) translate3d(0, 0, 0);
  transform-style: preserve-3d;
  transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.home-hero-visual:hover .home-hero-device {
  transform: rotateX(6deg) rotateY(-10deg) rotateZ(1deg) translate3d(0, -4px, 0);
  box-shadow: 0 2rem 3.8rem rgba(15, 23, 42, 0.18), 0 0.65rem 1.2rem rgba(15, 23, 42, 0.08);
}

.home-hero-device::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(111, 148, 129, 0.12) 0%, rgba(111, 148, 129, 0) 42%), radial-gradient(circle at top right, rgba(124, 135, 159, 0.18), rgba(124, 135, 159, 0) 38%);
  pointer-events: none;
}

.home-hero-device::after {
  content: "";
  position: absolute;
  inset: 0.45rem auto auto 0.9rem;
  width: 34%;
  height: 5rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0));
  border-radius: 1.4rem;
  filter: blur(1px);
  opacity: 0.9;
  pointer-events: none;
  transform: translateZ(18px);
}

.home-hero-device-header,
.home-hero-listing-card {
  position: relative;
  z-index: 2;
  transform: translateZ(16px);
}

.home-hero-device-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.home-hero-device-dots {
  display: inline-flex;
  gap: 0.35rem;
}

.home-hero-device-dots span {
  width: 0.45rem;
  height: 0.45rem;
  background: rgba(15, 23, 42, 0.18);
  border-radius: 999px;
}

.home-hero-device-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.home-hero-listing-card {
  padding: 1.1rem;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.2rem;
  box-shadow: 0 1rem 2.1rem rgba(15, 23, 42, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.65);
  transform: translateZ(36px) rotateX(-2deg);
}

.home-hero-listing-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.65rem;
  margin-bottom: 0.85rem;
  color: var(--ratelo-accent-deep);
  background: var(--ratelo-accent-soft);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
}

.home-hero-pricing {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.home-hero-pricing-main,
.home-hero-pricing-plan {
  padding: 0.8rem 0.9rem;
  background: rgba(248, 250, 252, 0.9);
  border-radius: 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.home-hero-pricing span,
.home-hero-installment-label {
  display: block;
}

.home-hero-pricing span {
  margin-bottom: 0.2rem;
  color: #64748b;
}

.home-hero-pricing strong {
  font-size: 1.05rem;
  color: #0f172a;
}

.home-hero-installment-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  position: relative;
}

.home-hero-installment-track::before {
  content: "";
  position: absolute;
  top: 0.45rem;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background: linear-gradient(90deg, rgba(111, 148, 129, 0.45), rgba(124, 135, 159, 0.3));
}

.home-hero-installment-step {
  position: relative;
  text-align: center;
}

.home-hero-installment-dot {
  display: inline-block;
  width: 0.9rem;
  height: 0.9rem;
  margin-bottom: 0.45rem;
  background: #dbe4ea;
  border: 3px solid #fff;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(111, 148, 129, 0.18);
}

.home-hero-installment-step.is-complete .home-hero-installment-dot,
.home-hero-installment-step.is-current .home-hero-installment-dot {
  background: var(--ratelo-accent);
}

.home-hero-installment-step.is-current .home-hero-installment-dot {
  animation: heroPulse 2.8s ease-in-out infinite;
}

.home-hero-installment-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #64748b;
}

.home-hero-floating-badges {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.home-hero-floating-badge {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  max-width: 20rem;
  padding: 0.62rem 0.82rem;
  color: #0f172a;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.1) 100%);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  box-shadow: 0 0.45rem 1rem rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
  pointer-events: auto;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
  will-change: transform, opacity;
  transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.home-hero-floating-badge-plan {
  top: 3.9rem;
  left: 0.2rem;
  animation: heroDriftA 8.2s ease-in-out infinite;
}

.home-hero-floating-badge-dates {
  bottom: 0.95rem;
  left: 2.2rem;
  animation: heroDriftB 9.1s ease-in-out infinite;
}

.home-hero-floating-badge-moderation {
  top: 0.7rem;
  left: 36%;
  animation: heroDriftC 8.8s ease-in-out infinite;
}

.home-hero-floating-badge-terms {
  top: 5rem;
  right: 0.15rem;
  animation: heroDriftB 8.4s ease-in-out infinite reverse;
}

.home-hero-floating-badge-scoring {
  bottom: 2rem;
  right: -0.15rem;
  animation: heroDriftA 9.4s ease-in-out infinite reverse;
}

.home-hero-floating-badge.is-paused {
  animation: none;
}

.home-hero-floating-badge.is-hidden {
  opacity: 0;
  transform: translate3d(var(--hero-badge-dismiss-x, 0), var(--hero-badge-dismiss-y, 0), 0) scale(0.9) rotate(var(--hero-badge-dismiss-rotate, 0deg));
}

.home-hero-floating-badge.is-returning {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  transition: opacity 1.25s ease, transform 1.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes heroDriftA {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  25% {
    transform: translate3d(6px, -5px, 0) rotate(0.6deg);
  }
  60% {
    transform: translate3d(-4px, 6px, 0) rotate(-0.7deg);
  }
}
@keyframes heroDriftB {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  35% {
    transform: translate3d(-7px, -3px, 0) rotate(-0.8deg);
  }
  70% {
    transform: translate3d(5px, 5px, 0) rotate(0.5deg);
  }
}
@keyframes heroDriftC {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  30% {
    transform: translate3d(5px, 4px, 0) rotate(0.5deg);
  }
  65% {
    transform: translate3d(-6px, -6px, 0) rotate(-0.6deg);
  }
}
@keyframes heroPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(111, 148, 129, 0.12);
  }
  50% {
    box-shadow: 0 0 0 0.45rem rgba(111, 148, 129, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-floating-badge,
  .home-hero-installment-step.is-current .home-hero-installment-dot {
    animation: none;
  }
}
@media (max-width: 991.98px) {
  .home-hero-surface {
    padding: 1.25rem 1.15rem 1.4rem;
    border-radius: 1.65rem;
  }
  .home-hero-row {
    min-height: auto;
  }
  .home-hero-copy .display-6 {
    max-width: none;
  }
  .home-hero-visual {
    min-height: auto;
    padding: 0.45rem 0 0.3rem;
    perspective: 1100px;
  }
  .home-hero-device {
    transform: rotateX(5deg) rotateY(-8deg) rotateZ(0.9deg) translate3d(0, 0, 0);
    box-shadow: 0 1.25rem 2.5rem rgba(15, 23, 42, 0.14), 0 0.45rem 0.95rem rgba(15, 23, 42, 0.07);
  }
  .home-hero-visual:hover .home-hero-device {
    transform: rotateX(4deg) rotateY(-6deg) rotateZ(0.75deg) translate3d(0, -2px, 0);
  }
  .home-hero-listing-card {
    transform: translateZ(24px) rotateX(-1.35deg);
  }
  .home-hero-floating-badges {
    inset: 0;
  }
  .home-hero-floating-badge {
    max-width: 10.5rem;
    padding: 0.42rem 0.58rem;
    font-size: 0.78rem;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
    backdrop-filter: blur(5px) saturate(115%);
    -webkit-backdrop-filter: blur(5px) saturate(115%);
  }
  .home-hero-floating-badge .ph-icon {
    font-size: 0.85rem;
  }
  .home-hero-floating-badge-plan {
    top: 5rem;
    left: 0.15rem;
  }
  .home-hero-floating-badge-moderation {
    top: 9.2rem;
    left: auto;
    right: 0.1rem;
  }
  .home-hero-floating-badge-terms {
    top: auto;
    right: 0.1rem;
    bottom: 7.4rem;
  }
  .home-hero-floating-badge-scoring {
    right: 0.15rem;
    bottom: 2.6rem;
  }
  .home-hero-floating-badge-dates {
    left: 0.2rem;
    bottom: 0.95rem;
  }
}
@media (max-width: 575.98px) {
  .home-hero-surface {
    padding: 1.05rem 0.95rem 1.15rem;
    border-radius: 1.35rem;
  }
  .home-hero-benefit {
    width: 100%;
  }
  .home-hero-floating-badge {
    max-width: 9rem;
    padding: 0.38rem 0.52rem;
    font-size: 0.74rem;
  }
  .home-hero-floating-badge-plan {
    top: 5.3rem;
    left: 0;
  }
  .home-hero-floating-badge-moderation {
    top: 9.6rem;
    right: 0;
  }
  .home-hero-floating-badge-terms {
    bottom: 7.8rem;
    right: 0;
  }
  .home-hero-floating-badge-scoring {
    right: 0;
    bottom: 2.9rem;
  }
  .home-hero-floating-badge-dates {
    left: 0;
    bottom: 1rem;
  }
}
@media (min-width: 992px) {
  .home-hero-copy {
    padding-right: 0.4rem;
  }
}
main > .col-12.col-xl-10.d-grid.gap-4 {
  gap: var(--ratelo-stack-gap) !important;
}

/* Spacing comes from parent `main > .d-grid` — extra margin would stack with grid gap (too much below) */
.profile-company-profile-card {
  position: relative;
  margin-block: 0;
  overflow: hidden;
  border: 1px solid rgba(111, 148, 129, 0.24);
  border-radius: var(--ratelo-surface-radius);
  background: radial-gradient(circle at top right, rgba(232, 243, 236, 0.95), rgba(232, 243, 236, 0) 42%), radial-gradient(circle at bottom left, rgba(111, 148, 129, 0.1), rgba(111, 148, 129, 0) 46%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 248, 0.98) 100%);
  box-shadow: 0 0.6rem 1.4rem rgba(73, 106, 90, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.profile-company-profile-card--branded {
  box-shadow: 0 0.6rem 1.4rem rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.profile-company-profile-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0) 46%);
}

.profile-company-profile-card-body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem 0.85rem;
  padding: 0.75rem 1rem;
}

@media (max-width: 575.98px) {
  .profile-company-profile-card-body {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .profile-company-profile-card-body > .profile-company-profile-card-cta,
  .profile-company-profile-card-body > .profile-company-profile-card-actions {
    grid-column: 1/-1;
    width: 100%;
  }
  .profile-company-profile-card-body > .profile-company-profile-card-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
  .profile-company-profile-card-body > .profile-company-profile-card-actions > .btn {
    width: 100%;
    justify-content: center;
  }
}
.profile-company-profile-card-actions {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.profile-company-profile-card-preview {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(15, 23, 42, 0.14);
  color: #2f4c3f;
  font-weight: 600;
}

.profile-company-profile-card-preview:hover,
.profile-company-profile-card-preview:focus-visible {
  background: #ffffff;
  border-color: rgba(15, 23, 42, 0.26);
  color: #1e3527;
}

.profile-company-profile-card-preview-icon {
  flex-shrink: 0;
  font-size: 1em;
}

.profile-company-profile-card--branded .profile-company-profile-card-preview {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.92);
  color: #1e3527;
  box-shadow: 0 0.2rem 0.55rem rgba(15, 23, 42, 0.1);
}

.profile-company-profile-card--branded .profile-company-profile-card-preview:hover,
.profile-company-profile-card--branded .profile-company-profile-card-preview:focus-visible {
  background: #ffffff;
  border-color: #ffffff;
  color: #0f1e16;
  box-shadow: 0 0.3rem 0.7rem rgba(15, 23, 42, 0.14);
}

/* Compact modifier — used when the card sits in a half-width column (col-lg-6)
   next to a workflow card. Keeps the icon + copy + CTA on a single row, with
   slightly tighter paddings so the layout still feels balanced in the narrow
   column. On true mobile (<576px viewport) the base rule above still kicks in
   and stacks the CTA below. */
.profile-company-profile-card--compact .profile-company-profile-card-body {
  padding: 0.7rem 0.9rem;
  gap: 0.5rem 0.6rem;
}

.profile-company-profile-card-logo {
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(111, 148, 129, 0.26);
  box-shadow: 0 0.25rem 0.55rem rgba(73, 106, 90, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.profile-company-profile-card-logo--placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(111, 148, 129, 0.14);
  border: none;
  box-shadow: none;
  color: #2d6b4f;
  font-size: 1.4rem;
}

.profile-company-profile-card-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.profile-company-profile-card-copy h2, .profile-company-profile-card-copy .h2 {
  color: var(--ratelo-secondary-deep);
}

.profile-company-profile-card-copy p {
  color: rgba(90, 109, 127, 0.92);
}

.profile-company-profile-card-kicker-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin-bottom: 0.2rem;
  min-width: 0;
}

.profile-company-profile-card-kicker {
  display: inline-block;
  color: var(--ratelo-accent-deep);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.profile-company-profile-card-plan-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border-radius: 50%;
  color: var(--ratelo-accent-deep);
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(111, 148, 129, 0.28);
  text-decoration: none;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.profile-company-profile-card-plan-link:hover,
.profile-company-profile-card-plan-link:focus-visible {
  background: var(--ratelo-accent-deep);
  border-color: var(--ratelo-accent-deep);
  color: #ffffff;
  transform: translateY(-1px);
  outline: none;
}

.profile-company-profile-card-plan-icon {
  font-size: 0.8rem;
}

/* Upsell mirrors the card body layout: icon | copy (kicker + benefits) | CTA.
   Amber tinted so it reads as a "premium" callout distinct from the body. */
.profile-company-profile-card-upsell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem 0.85rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(184, 116, 30, 0.18);
  background: linear-gradient(180deg, rgba(255, 243, 219, 0.6) 0%, rgba(255, 233, 195, 0.35) 100%);
}

/* Matches the visual language of the Protected Company user badge (storefront
   icon in a glossy gradient pill), re-tinted in the amber upsell palette so
   it reads as a direct preview of the Protected Company plan. */
.profile-company-profile-card-upsell-icon {
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #e0a039 0%, #b8741e 100%);
  color: #ffffff;
  font-size: 1.25rem;
  box-shadow: 0 0.3rem 0.7rem rgba(184, 116, 30, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.profile-company-profile-card-upsell-copy {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: 0.35rem;
}

.profile-company-profile-card-upsell-kicker {
  display: inline-block;
  color: #b8741e;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.1;
}

.profile-company-profile-card-upsell-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.25rem 0.9rem;
}

.profile-company-profile-card-upsell-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: #564432;
  line-height: 1.3;
}

.profile-company-profile-card-upsell-check {
  font-size: 0.9rem;
  color: #b8741e;
  flex-shrink: 0;
  margin-top: 0.12rem;
}

/* Full-width card: benefits in a two-column grid for density. Compact
   (half-width) cards keep the list in a single column to avoid awkward
   wrapping in the narrow gutter. */
@media (min-width: 576px) {
  .profile-company-profile-card:not(.profile-company-profile-card--compact) .profile-company-profile-card-upsell-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Mobile: stack icon + copy on the top row, drop the CTA to a full-width row
   below — same pattern as the card body. */
@media (max-width: 575.98px) {
  .profile-company-profile-card-upsell {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .profile-company-profile-card-upsell > .profile-company-profile-card-cta {
    grid-column: 1/-1;
    width: 100%;
    justify-content: center;
  }
  .profile-company-profile-card-upsell > a.btn.ratelo-seller-pass-button,
  .profile-company-profile-card-upsell > a.btn.ratelo-seller-pass-button-outline {
    grid-column: 1/-1;
    width: 100%;
    justify-content: center;
  }
}
/* Compact upsell — tighter paddings, matches the compact body. */
.profile-company-profile-card--compact .profile-company-profile-card-upsell {
  padding: 0.7rem 0.9rem;
  gap: 0.5rem 0.6rem;
}

/* Amber "Upgrade" variant of the card CTA — same shape + positioning as the
   Edit-profile button, but the brand-accent warm gradient to draw attention. */
.profile-company-profile-card-cta.profile-company-profile-card-cta--upgrade {
  border-color: rgba(184, 116, 30, 0.45);
  color: #ffffff;
  background: linear-gradient(180deg, #e0a039 0%, #b8741e 100%);
  box-shadow: 0 0.3rem 0.7rem rgba(184, 116, 30, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.profile-company-profile-card-cta.profile-company-profile-card-cta--upgrade:hover,
.profile-company-profile-card-cta.profile-company-profile-card-cta--upgrade:focus-visible {
  color: #ffffff;
  filter: brightness(1.04);
  background: linear-gradient(180deg, #e0a039 0%, #b8741e 100%);
  border-color: rgba(184, 116, 30, 0.6);
  box-shadow: 0 0.45rem 0.95rem rgba(184, 116, 30, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.profile-company-profile-card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  border: 1px solid rgba(111, 148, 129, 0.4);
  color: var(--ratelo-accent-deep);
  background: rgba(255, 255, 255, 0.72);
  font-weight: 600;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.profile-company-profile-card-cta:hover,
.profile-company-profile-card-cta:focus-visible {
  background: var(--ratelo-accent-deep);
  border-color: var(--ratelo-accent-deep);
  color: #ffffff;
  box-shadow: 0 0.35rem 0.9rem rgba(73, 106, 90, 0.18);
}

.profile-company-profile-card-cta-icon {
  font-size: 0.95rem;
}

/* Company profile page — nested surfaces inside `ratelo-action-card` (same shell as listings new) */
.company-profile-form {
  position: relative;
  z-index: 1;
}

.company-profile-section {
  display: grid;
  gap: 0.85rem;
}

.company-profile-section-header {
  display: grid;
  gap: 0.15rem;
  padding: 0 0.25rem;
}

.company-profile-stepper {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  padding: 0.9rem 1rem;
  border-radius: var(--ratelo-surface-radius);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(247, 249, 252, 0.75) 100%);
  border: 1px solid rgba(124, 135, 159, 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}
@media (max-width: 575.98px) {
  .company-profile-stepper {
    flex-direction: column;
    align-items: stretch;
    padding: 0.75rem;
    gap: 0.25rem;
  }
}

.company-profile-stepper-step {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.75rem 0.45rem 0.45rem;
  border-radius: calc(var(--ratelo-surface-radius) * 0.7);
  border: 1px solid transparent;
  background: transparent;
  color: rgba(90, 109, 127, 0.85);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: all 160ms ease;
  min-width: 0;
}
.company-profile-stepper-step:hover, .company-profile-stepper-step:focus-visible {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(124, 135, 159, 0.22);
  color: var(--ratelo-secondary-deep);
  outline: none;
}
.company-profile-stepper-step.is-active {
  background: linear-gradient(135deg, rgba(111, 148, 129, 0.14) 0%, rgba(111, 148, 129, 0.02) 100%);
  border-color: rgba(111, 148, 129, 0.36);
  color: var(--ratelo-accent-deep);
  box-shadow: 0 0.3rem 0.8rem rgba(73, 106, 90, 0.1);
}
.company-profile-stepper-step.is-active .company-profile-stepper-marker {
  background: linear-gradient(135deg, var(--ratelo-accent) 0%, var(--ratelo-accent-deep) 100%);
  color: #fff;
  border-color: transparent;
}
.company-profile-stepper-step.is-active .company-profile-stepper-title {
  color: var(--ratelo-accent-deep);
}
.company-profile-stepper-step.is-complete:not(.is-active) {
  color: var(--ratelo-accent-deep);
}
.company-profile-stepper-step.is-complete:not(.is-active) .company-profile-stepper-marker {
  background: rgba(111, 148, 129, 0.16);
  border-color: rgba(111, 148, 129, 0.45);
  color: var(--ratelo-accent-deep);
}
.company-profile-stepper-step.is-complete .company-profile-stepper-number {
  display: none;
}
.company-profile-stepper-step.is-complete .company-profile-stepper-check {
  display: inline-flex;
}

.company-profile-stepper-marker {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(124, 135, 159, 0.28);
  color: rgba(90, 109, 127, 0.85);
  font-weight: 600;
  font-size: 0.85rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition: all 160ms ease;
}

.company-profile-stepper-number {
  line-height: 1;
}

.company-profile-stepper-check {
  display: none;
  font-size: 1rem;
  line-height: 1;
}

.company-profile-stepper-meta {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
  line-height: 1.1;
}

.company-profile-stepper-kicker {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(124, 135, 159, 0.9);
}

.company-profile-stepper-title {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ratelo-secondary-deep);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-profile-stepper-line {
  flex: 0 0 1.25rem;
  align-self: center;
  height: 1px;
  background: var(--ratelo-grad-divider-x);
}
@media (max-width: 575.98px) {
  .company-profile-stepper-line {
    width: 1px;
    height: 0.75rem;
    flex: 0 0 0.75rem;
    background: var(--ratelo-grad-divider-y);
    margin-left: 1.4rem;
  }
}

.company-profile-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  padding-top: 0.25rem;
}

.company-profile-viewport {
  position: relative;
  overflow: hidden;
}

.company-profile-section {
  will-change: transform, opacity;
}

@keyframes companyProfileSlideFromRight {
  0% {
    opacity: 0;
    transform: translateX(32px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes companyProfileSlideFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-32px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.company-profile-section.is-entering-forward {
  animation: companyProfileSlideFromRight 260ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.company-profile-section.is-entering-backward {
  animation: companyProfileSlideFromLeft 260ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.company-profile-card {
  display: grid;
  grid-template-columns: var(--col-left, 1fr) 1px var(--col-right, 1fr);
  gap: 0;
  border-radius: calc(var(--ratelo-surface-radius) * 0.88);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.52) 100%);
  border: 1px solid rgba(124, 135, 159, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 0.4rem 1rem rgba(15, 23, 42, 0.04);
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .company-profile-card {
    grid-template-columns: 1fr;
  }
}

.company-profile-card-col {
  padding: 1.25rem 1.35rem;
  min-width: 0;
}

.company-profile-card-col--accent {
  position: relative;
  background: radial-gradient(120% 140% at 0% 0%, rgba(111, 148, 129, 0.18) 0%, rgba(111, 148, 129, 0) 55%), linear-gradient(180deg, rgba(247, 249, 252, 0.7) 0%, rgba(241, 245, 249, 0.62) 100%);
}

.company-profile-card-divider {
  background: var(--ratelo-grad-divider-y);
}
@media (max-width: 991.98px) {
  .company-profile-card-divider {
    height: 1px;
    background: var(--ratelo-grad-divider-x);
    margin: 0 1.35rem;
  }
}

.company-profile-color-palette {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.company-profile-color-swatch {
  --swatch-accent: rgb(111, 148, 129);
  --swatch-deep: rgb(84, 115, 98);
  position: relative;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  border: 1px solid rgba(124, 135, 159, 0.28);
  padding: 0;
  cursor: pointer;
  background: radial-gradient(140% 140% at 30% 25%, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 55%), linear-gradient(135deg, var(--swatch-accent) 0%, var(--swatch-deep) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 0.2rem 0.55rem rgba(15, 23, 42, 0.08);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.company-profile-color-swatch:hover, .company-profile-color-swatch:focus-visible {
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0.35rem 0.8rem rgba(15, 23, 42, 0.14);
}
.company-profile-color-swatch.is-selected {
  border-color: var(--swatch-deep);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 0 0 0.18rem rgba(15, 23, 42, 0.08), 0 0.4rem 0.9rem rgba(15, 23, 42, 0.16);
}
.company-profile-color-swatch.is-selected .company-profile-color-swatch-check {
  opacity: 1;
  transform: scale(1);
}

.company-profile-color-swatch-check {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.15s ease, transform 0.15s ease;
  font-size: 0.95rem;
  line-height: 1;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.25));
}

.company-profile-color-swatch--reset {
  background: #fff;
  color: rgba(90, 109, 127, 0.8);
  border: 1px dashed rgba(124, 135, 159, 0.5);
  box-shadow: none;
}
.company-profile-color-swatch--reset .ph-icon {
  font-size: 1rem;
}
.company-profile-color-swatch--reset.is-selected {
  border-style: solid;
  border-color: rgba(90, 109, 127, 0.75);
  color: var(--ratelo-secondary-deep);
}

@media (prefers-reduced-motion: reduce) {
  .company-profile-section.is-entering-forward,
  .company-profile-section.is-entering-backward {
    animation: none;
  }
}
.company-profile-preview-kicker {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(124, 135, 159, 0.24);
  color: var(--ratelo-secondary-deep);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.company-profile-preview-kicker .ph-icon {
  font-size: 0.85rem;
}

.company-profile-preview-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0.7rem 0 0.75rem;
}

.company-profile-preview-logo {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(111, 148, 129, 0.26);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  color: var(--ratelo-accent-deep);
  font-size: 1.15rem;
}
.company-profile-preview-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.company-profile-preview-name {
  color: var(--ratelo-secondary-deep);
  min-width: 0;
  overflow-wrap: anywhere;
}

.company-profile-preview-body {
  min-height: 3.5rem;
}

.company-profile-preview-description {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--ratelo-secondary-deep);
}
.company-profile-preview-description > :first-child {
  margin-top: 0;
}
.company-profile-preview-description > :last-child {
  margin-bottom: 0;
}

.company-profile-invoice-preview {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-top: 0.7rem;
}

.company-profile-invoice-preview-sheet {
  position: relative;
  padding: 0.85rem 0.95rem;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid rgba(111, 148, 129, 0.28);
  box-shadow: 0 6px 18px rgba(31, 40, 51, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.85);
  overflow: hidden;
}
.company-profile-invoice-preview-sheet::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--ratelo-accent) 0%, var(--ratelo-accent-deep) 100%);
}

.company-profile-invoice-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  margin-bottom: 0.65rem;
}

.company-profile-invoice-preview-logo {
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(231, 238, 233, 0.85);
  color: var(--ratelo-accent-deep);
  overflow: hidden;
  flex-shrink: 0;
}
.company-profile-invoice-preview-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.company-profile-invoice-preview-title {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ratelo-accent-deep);
}

.company-profile-invoice-preview-rows {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.7rem;
}
.company-profile-invoice-preview-rows span {
  display: block;
  height: 6px;
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(111, 148, 129, 0.22) 0%, rgba(111, 148, 129, 0.08) 100%);
}
.company-profile-invoice-preview-rows span:nth-child(2) {
  width: 78%;
}
.company-profile-invoice-preview-rows span:nth-child(3) {
  width: 62%;
}

.company-profile-invoice-preview-total {
  display: inline-block;
  padding: 0.22rem 0.55rem;
  border-radius: 6px;
  background: rgba(231, 238, 233, 0.9);
  color: var(--ratelo-accent-deep);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.company-profile-invoice-preview-copy {
  line-height: 1.45;
}

.company-profile-invoice-preview-cta {
  align-self: flex-start;
}

.company-profile-char-counter {
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  color: rgba(90, 109, 127, 0.85);
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(124, 135, 159, 0.18);
  line-height: 1.1;
}
.company-profile-char-counter.is-warn {
  color: #b4793b;
  border-color: rgba(212, 128, 98, 0.45);
  background: rgba(247, 230, 223, 0.7);
}
.company-profile-char-counter.is-over {
  color: #b23a48;
  border-color: rgba(178, 58, 72, 0.45);
  background: rgba(250, 232, 234, 0.9);
}

.company-public-hero {
  position: relative;
  padding: 1.4rem 1.5rem 1.25rem;
  border-radius: var(--ratelo-surface-radius);
  background: radial-gradient(120% 140% at 100% 0%, rgba(111, 148, 129, 0.18) 0%, rgba(111, 148, 129, 0) 55%), radial-gradient(120% 120% at 0% 100%, rgba(124, 135, 159, 0.12) 0%, rgba(124, 135, 159, 0) 60%), linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(247, 249, 252, 0.92) 100%);
  border: 1px solid rgba(111, 148, 129, 0.26);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0.75rem 1.5rem rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

.company-public-hero-main {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}

.company-public-hero-identity {
  display: flex;
  min-width: 0;
  flex: 1 1 100%;
  width: 100%;
  padding-right: 5.5rem;
}

.company-public-hero-identity .company-public-hero-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.company-public-hero-logo--corner {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  margin: 0;
  z-index: 2;
}

@media (max-width: 575.98px) {
  .company-public-hero-identity {
    padding-right: 4.5rem;
  }
  .company-public-hero-logo--corner {
    top: 0.75rem;
    right: 0.75rem;
  }
}
.company-public-hero-logo {
  flex-shrink: 0;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 50%;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(111, 148, 129, 0.35);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0.35rem 0.85rem rgba(73, 106, 90, 0.15);
  color: var(--ratelo-accent-deep);
  font-size: 1.85rem;
}
.company-public-hero-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.company-public-hero-logo .ph-icon {
  font-size: 1.85rem;
}
@media (max-width: 575.98px) {
  .company-public-hero-logo {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 1.5rem;
  }
  .company-public-hero-logo .ph-icon {
    font-size: 1.5rem;
  }
}

.company-public-hero-avatar-initial {
  font-weight: 700;
  font-size: inherit;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.company-public-hero-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.company-public-hero-kicker {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(111, 148, 129, 0.22) 0%, rgba(111, 148, 129, 0.08) 100%);
  color: var(--ratelo-accent-deep);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 1px solid rgba(111, 148, 129, 0.35);
}
.company-public-hero-kicker .ph-icon {
  font-size: 0.85rem;
}

.company-public-hero-name {
  color: var(--ratelo-secondary-deep);
  font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.6rem);
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.company-public-hero-name-text {
  overflow-wrap: anywhere;
}

.company-public-hero-badge {
  vertical-align: middle;
}

.company-public-hero-username {
  font-size: 0.85rem;
  color: rgba(90, 109, 127, 0.85);
  font-variant: tabular-nums;
}

.company-public-hero-meta {
  margin-top: 0.35rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.9rem;
  color: rgba(73, 87, 109, 0.9);
  font-size: 0.85rem;
}

.company-public-hero-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.company-public-hero-meta-item .ph-icon {
  color: rgba(124, 135, 159, 0.85);
  font-size: 1rem;
}

a.company-public-hero-meta-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
a.company-public-hero-meta-link:hover, a.company-public-hero-meta-link:focus-visible {
  color: var(--ratelo-primary-deep, var(--ratelo-secondary-deep));
  text-decoration: underline;
}

.company-public-hero-overview {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 768px) {
  .company-public-hero-overview.has-split {
    flex-direction: row;
    align-items: stretch;
    gap: 1.25rem;
  }
  .company-public-hero-overview.has-split .company-public-hero-description {
    flex: 1 1 0;
    min-width: 0;
  }
  .company-public-hero-overview.has-split .company-public-hero-reviews {
    flex: 0 0 clamp(14rem, 32%, 20rem);
    padding-left: 1.25rem;
    border-left: 1px solid rgba(111, 148, 129, 0.28);
  }
}

.company-public-hero-description {
  color: var(--ratelo-secondary-deep);
  font-size: 0.85rem;
  line-height: 1.5;
}
.company-public-hero-description > :first-child {
  margin-top: 0;
}
.company-public-hero-description > :last-child {
  margin-bottom: 0;
}

.company-public-hero-reviews {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 0.2rem;
}

.company-public-hero-reviews-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.company-public-hero-reviews-kicker {
  display: inline-flex;
  align-items: center;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(73, 87, 109, 0.85);
}
.company-public-hero-reviews-kicker .ph-icon {
  color: #f1b54a;
  font-size: 0.95rem;
}

.company-public-hero-reviews-overall {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
  color: rgba(73, 87, 109, 0.9);
}

.company-public-hero-reviews-count {
  font-variant-numeric: tabular-nums;
  color: rgba(90, 109, 127, 0.75);
}

.company-public-hero-reviews-metrics {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.company-public-hero-reviews-metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: rgba(73, 87, 109, 0.9);
}

.company-public-hero-reviews-metric-label {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
}

.company-public-hero-reviews-metric-icon {
  color: rgba(124, 135, 159, 0.85);
  font-size: 0.95rem;
}

.company-public-hero-reviews-cta {
  align-self: flex-start;
  margin-top: 0.4rem;
  font-size: 0.78rem;
  padding: 0.25rem 0.65rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.company-public-hero-reviews-cta-count {
  color: rgba(90, 109, 127, 0.75);
  font-variant-numeric: tabular-nums;
}

.company-public-hero-stats {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.company-public-hero-stat {
  flex: 1 1 auto;
  min-width: 8rem;
  display: inline-flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.55rem 0.85rem;
  border-radius: calc(var(--ratelo-surface-radius) * 0.6);
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(124, 135, 159, 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.company-public-hero-stat-value {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ratelo-secondary-deep);
  font-variant-numeric: tabular-nums;
}

.company-public-hero-stat-label {
  font-size: 0.78rem;
  color: rgba(90, 109, 127, 0.9);
  display: inline-flex;
  align-items: center;
}
.company-public-hero-stat-label .ph-icon {
  font-size: 0.9rem;
}

.profile-active-listings-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
  min-width: 0;
}

.profile-active-listings-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
}

.profile-active-listings-kicker {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(124, 135, 159, 0.9);
  margin-bottom: 0.1rem;
}

.listing-scroller {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 0.35rem;
  min-width: 0;
  max-width: 100%;
}

.listing-scroller-viewport {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  border-radius: calc(var(--ratelo-surface-radius) * 0.88);
}

.listing-scroller-viewport::before,
.listing-scroller-viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2.25rem;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  transition: opacity 160ms ease;
}

.listing-scroller-viewport::before {
  left: 0;
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
}

.listing-scroller-viewport::after {
  right: 0;
  background: linear-gradient(270deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
}

.listing-scroller.is-scrollable:not(.is-at-start) .listing-scroller-viewport::before {
  opacity: 1;
}

.listing-scroller.is-scrollable:not(.is-at-end) .listing-scroller-viewport::after {
  opacity: 1;
}

.listing-scroller-track {
  display: flex;
  gap: 0.85rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.2rem 0.25rem 0.6rem;
  margin: 0 -0.25rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 135, 159, 0.35) transparent;
}

.listing-scroller-track::-webkit-scrollbar {
  height: 6px;
}

.listing-scroller-track::-webkit-scrollbar-thumb {
  background-color: rgba(124, 135, 159, 0.35);
  border-radius: 999px;
}

.listing-scroller-track::-webkit-scrollbar-track {
  background-color: transparent;
}

.listing-scroller-item {
  flex: 0 0 auto;
  width: 15rem;
  scroll-snap-align: start;
}
@media (max-width: 575.98px) {
  .listing-scroller-item {
    width: 13rem;
  }
}

.listing-scroller-control {
  flex-shrink: 0;
  align-self: center;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(124, 135, 159, 0.25);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: var(--ratelo-secondary-deep);
  box-shadow: 0 0.25rem 0.6rem rgba(15, 23, 42, 0.08);
  cursor: pointer;
  transition: all 160ms ease;
}
.listing-scroller-control:hover:not(:disabled), .listing-scroller-control:focus-visible:not(:disabled) {
  border-color: rgba(111, 148, 129, 0.5);
  color: var(--ratelo-accent-deep);
  transform: translateY(-1px);
  outline: none;
}
.listing-scroller-control:disabled {
  opacity: 0;
  pointer-events: none;
}
.listing-scroller-control .ph-icon {
  font-size: 1.1rem;
}
@media (max-width: 575.98px) {
  .listing-scroller-control {
    display: none;
  }
}

.listing-mini-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: calc(var(--ratelo-surface-radius) * 0.75);
  background: #fff;
  border: 1px solid rgba(124, 135, 159, 0.16);
  box-shadow: 0 0.35rem 0.85rem rgba(15, 23, 42, 0.05);
  cursor: pointer;
  overflow: hidden;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.listing-mini-card:hover, .listing-mini-card:focus-within {
  transform: translateY(-2px);
  border-color: rgba(111, 148, 129, 0.4);
  box-shadow: 0 0.6rem 1.2rem rgba(15, 23, 42, 0.1);
}

.listing-mini-card--promoted {
  border-color: rgba(212, 128, 98, 0.4);
}

.listing-mini-card-media {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: rgba(241, 245, 249, 0.9);
}

.listing-mini-card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.listing-mini-card-image-placeholder {
  width: 100%;
  height: 100%;
  color: rgba(124, 135, 159, 0.7);
  background: linear-gradient(135deg, rgb(241, 245, 249) 0%, rgb(226, 232, 240) 100%);
}

.listing-mini-card-placeholder-icon {
  font-size: 2rem;
}

.listing-mini-card-overlay {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  pointer-events: none;
}
.listing-mini-card-overlay .badge {
  pointer-events: auto;
}

.listing-mini-card-overlay-bottom {
  position: absolute;
  left: 0.5rem;
  bottom: 0.5rem;
  max-width: calc(100% - 1rem);
  display: flex;
  pointer-events: none;
}
.listing-mini-card-overlay-bottom .badge {
  pointer-events: auto;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.listing-mini-card-body {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.65rem 0.8rem 0.7rem;
  flex: 1 1 auto;
}

.listing-mini-card-price-row {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  min-width: 0;
}

.listing-mini-card-price-amount {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ratelo-secondary-deep);
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  white-space: nowrap;
}

.listing-mini-card-price-installment {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ratelo-secondary-deep);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
}

.listing-mini-card-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ratelo-secondary-deep);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.listing-mini-card-meta {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: rgba(90, 109, 127, 0.9);
}

.listing-mini-card-price {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ratelo-secondary-deep);
  font-variant-numeric: tabular-nums;
}

.listing-mini-card-location,
.listing-mini-card-installment {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  min-width: 0;
}
.listing-mini-card-location span,
.listing-mini-card-installment span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 7rem;
}
.listing-mini-card-location .ph-icon,
.listing-mini-card-installment .ph-icon {
  font-size: 0.95rem;
  flex-shrink: 0;
}

.company-profile-surface {
  position: relative;
  z-index: 1;
  padding: 1.25rem 1.35rem;
  border-radius: calc(var(--ratelo-surface-radius) * 0.88);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.48) 100%);
  border: 1px solid rgba(124, 135, 159, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 0.4rem 1rem rgba(15, 23, 42, 0.04);
}

.company-profile-section-icon.ph-icon {
  font-size: 1.35rem;
  color: rgba(90, 109, 127, 0.95);
}

.company-profile-logo-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 7.5rem;
  padding: 1rem;
  border-radius: var(--ratelo-form-radius);
  border: 1px dashed rgba(124, 135, 159, 0.32);
  background: rgba(248, 250, 252, 0.75);
  text-align: center;
}

.company-profile-logo-frame--filled {
  border-style: solid;
  border-color: rgba(124, 135, 159, 0.16);
  background: rgba(255, 255, 255, 0.92);
}

.company-profile-logo-img {
  max-height: 6.5rem;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.company-profile-logo-placeholder {
  line-height: 1.45;
  max-width: 14rem;
}

/* Stack wrapper keeps stammdaten + payout strips glued together (no layout gap). */
.profile-master-data-stack {
  display: flex;
  flex-direction: column;
}

.profile-master-data-stack > :last-child {
  background-image: none;
}

/* Payout strip sits directly beneath the stammdaten strip and mirrors its layout. */
.profile-payout-account-card {
  padding: 0.55rem 1rem 0.75rem;
  background-image: linear-gradient(90deg, rgba(111, 148, 129, 0) 0%, rgba(111, 148, 129, 0.32) 50%, rgba(111, 148, 129, 0) 100%);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: bottom left;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
}

.profile-payout-account-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.75rem;
}

.profile-payout-account-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 0.5rem;
  row-gap: 0.25rem;
  min-width: 0;
  color: var(--ratelo-secondary-deep);
  font-size: 0.93rem;
  line-height: 1.35;
}

.profile-payout-account-icon {
  flex-shrink: 0;
  font-size: 0.95rem;
  color: #7e8aa0;
}

.profile-payout-account-card.is-empty .profile-payout-account-icon {
  color: #b4bccb;
}

.profile-payout-account-holder {
  min-width: 0;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-payout-account-bic {
  flex-shrink: 0;
  font-size: 0.82rem;
  letter-spacing: 0.03em;
  color: #7b8799;
}

.profile-payout-account-iban {
  color: var(--ratelo-secondary-deep);
}

.profile-payout-account-empty {
  color: #7b8799;
  font-weight: 400;
}

.profile-payout-account-row-action {
  justify-self: end;
  display: inline-flex;
  align-items: center;
}

.profile-payout-account-manage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  color: #7b8799;
  border-radius: 0.35rem;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.profile-payout-account-manage:hover,
.profile-payout-account-manage:focus-visible {
  color: var(--ratelo-accent-deep);
  background-color: rgba(15, 23, 42, 0.05);
}

/* Same footprint as dashboard / page-header actions */
.profile-payout-account-card .profile-payout-account-add-btn.btn.page-header-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: var(--ratelo-button-min-height);
  padding: var(--ratelo-button-padding-y) var(--ratelo-button-padding-x);
  font-size: var(--ratelo-button-font-size);
  border-radius: var(--ratelo-button-radius);
  box-shadow: 0 0.3rem 0.8rem rgba(15, 23, 42, 0.05);
}

@media (max-width: 767.98px) {
  .profile-payout-account-card {
    text-align: left;
  }
  .profile-payout-account-info {
    justify-content: flex-start;
  }
}
.bank-account-card {
  margin-block: 0;
}

/* Filled Phosphor path → outline star (yellow via .text-warning on parent) */
.bank-account-card__default-star svg {
  fill: none !important;
  stroke: currentColor;
  stroke-width: 14;
  stroke-linejoin: round;
}

.bank-account-card__default-star svg path {
  fill: none !important;
}

/* Plain icon links / icon buttons (profile payout gear, bank account row actions) */
.ratelo-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0.15rem;
  margin: 0;
  border: 0;
  background: none;
  color: #7b8799;
  text-decoration: none;
  line-height: 1;
  font-size: 1.28rem;
  cursor: pointer;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.ratelo-icon-link:hover {
  color: var(--ratelo-accent-deep);
}

.ratelo-icon-link:focus-visible {
  outline: 2px solid rgba(55, 118, 90, 0.45);
  outline-offset: 2px;
  border-radius: 0.2rem;
}

.ratelo-iban-reveal {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  min-width: 0;
}

.ratelo-iban-reveal .font-monospace {
  min-width: 0;
  word-break: break-all;
}

.ratelo-iban-reveal-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
  padding: 0.12rem;
  border: 0;
  background: transparent;
  color: #7b8799;
  line-height: 1;
  font-size: 1.15rem;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.ratelo-iban-reveal-toggle:hover {
  color: var(--ratelo-accent-deep);
  background-color: rgba(15, 23, 42, 0.06);
}

.ratelo-iban-reveal-toggle:focus-visible {
  outline: 2px solid rgba(55, 118, 90, 0.45);
  outline-offset: 2px;
}

.row.g-4 {
  --bs-gutter-x: 0.85rem;
  --bs-gutter-y: 0.85rem;
}

.row.g-3 {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
}

.listing-card-title,
.listing-card-title a,
.listing-price {
  color: var(--ratelo-accent-deep);
}

.listing-card-description-fade {
  position: relative;
  overflow: hidden;
  max-height: 3.05rem;
}

.listing-card-description-fade::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1.45rem;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0) 0%, rgba(248, 250, 252, 0.98) 100%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.18s ease;
}

.listing-card-description-fade.is-overflowing::after {
  opacity: 1;
}

.listing-card-description {
  font-size: 0.77rem;
  line-height: 1.34;
  color: #64748b;
}

.listing-card-title {
  font-size: 0.91rem;
  line-height: 1.22;
}

.listing-price,
.listing-installment-value {
  font-size: 0.84rem;
  line-height: 1.2;
  color: #0f172a;
}

@media (max-width: 767.98px) {
  .listing-card {
    min-height: auto;
  }
  .listing-card-shell {
    grid-template-areas: "media content";
    grid-template-columns: 6.402rem minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: stretch;
  }
  .listing-card-media {
    height: 100%;
    min-height: 100%;
  }
  .listing-card-body--stack {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }
  .listing-card-copy {
    flex: 1 1 auto;
    min-height: 0;
  }
  .listing-card-mobile-foot {
    flex-shrink: 0;
    margin-top: auto;
    padding-top: 0.3rem;
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
  }
  .listing-card-category-icon {
    min-height: 1.0248rem;
  }
  .listing-card-category-glyph {
    width: 1.02rem;
    height: 1.02rem;
  }
  .listing-card-badge {
    padding: 0.24rem 0.42rem;
    font-size: 0.6rem;
  }
  .listing-card-control {
    display: none;
  }
  .listing-card-content {
    padding: 0.56rem 0.62rem;
  }
  .listing-card-body {
    padding: 0;
  }
  .listing-card-title {
    font-size: 0.84rem;
    line-height: 1.22;
  }
  .listing-card-description-fade {
    max-height: 2.75rem;
  }
  .listing-card-description {
    font-size: 0.71rem;
    line-height: 1.28;
  }
  .listing-card-pricing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
    gap: 0.28rem;
    margin-top: 0.34rem;
  }
  .listing-card-pricing-item {
    padding: 0.36rem 0.42rem;
  }
  .listing-card-pricing-label {
    font-size: 0.55rem;
  }
  .listing-price,
  .listing-installment-value {
    font-size: 0.76rem;
  }
}
.listing-installment-value {
  color: var(--ratelo-secondary-deep);
  text-wrap: balance;
}

.ratelo-mini-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  min-height: 1.45rem;
  padding: 0.18rem 0.48rem;
  font-size: 0.63rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 999px;
}

.ratelo-mini-badge-icon {
  font-size: 1em;
}

.ratelo-mini-badge-category {
  color: var(--ratelo-accent-deep);
  background: rgba(237, 244, 240, 0.94);
  border-color: rgba(111, 148, 129, 0.18);
}

.ratelo-mini-badge-status {
  margin-left: auto;
  min-width: 4.9rem;
}

.ratelo-status-badge {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.ratelo-status-badge-success {
  color: #fff;
  background: #5d7466;
  border-color: #5d7466;
}

.ratelo-status-badge-info {
  color: #fff;
  background: #5f85bf;
  border-color: #5f85bf;
}

.ratelo-status-badge-warning {
  color: #7d6136;
  background: rgba(252, 247, 239, 0.96);
  border-color: rgba(190, 152, 86, 0.24);
}

.ratelo-status-badge-danger,
.ratelo-status-badge-neutral-strong {
  color: #fff;
  background: #616b81;
  border-color: #616b81;
}

.ratelo-status-badge-neutral {
  color: #556274;
  background: rgba(246, 248, 251, 0.96);
  border-color: rgba(124, 135, 159, 0.18);
}

.ratelo-dashboard-listing-list {
  overflow-y: auto;
  max-height: 19rem;
  padding-right: 0.25rem;
  scrollbar-gutter: stable;
}

.ratelo-dashboard-listing-list .list-group-item:last-child {
  border-bottom-width: 0;
}

.ratelo-dashboard-listing-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.ratelo-dashboard-listing-avatar {
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  border-radius: 0.95rem;
  object-fit: cover;
  background: rgba(246, 248, 251, 0.96);
  border: 1px solid rgba(124, 135, 159, 0.12);
}

.ratelo-dashboard-listing-avatar-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #6f7c90;
}

.ratelo-dashboard-listing-avatar-icon {
  width: 1rem;
  height: 1rem;
}

.ratelo-dashboard-listing-text {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0.22rem;
}

.ratelo-dashboard-listing-title {
  color: var(--ratelo-secondary-deep);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ratelo-dashboard-listing-link:hover .ratelo-dashboard-listing-title {
  color: var(--ratelo-accent-deep);
}

.ratelo-dashboard-listing-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 0;
}

.ratelo-dashboard-status-badge {
  flex: 0 0 auto;
  margin-left: auto;
}

.ratelo-dashboard-listing-badge {
  min-height: 1.18rem;
  padding: 0.12rem 0.36rem;
  font-size: 0.54rem;
  letter-spacing: 0.06em;
  min-width: 0;
}

.ratelo-dashboard-listing-price {
  color: #6a7587;
  font-size: 0.76rem;
  line-height: 1.3;
  white-space: nowrap;
}

.ratelo-dashboard-promotion-badge {
  max-width: min(100%, 13rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ratelo-dashboard-promotion-badge .ph-icon {
  flex-shrink: 0;
}

.ratelo-dashboard-request-copy {
  min-width: 0;
}

.ratelo-dashboard-request-list {
  overflow-y: auto;
  max-height: 19rem;
  padding-right: 0.25rem;
  scrollbar-gutter: stable;
}

.ratelo-dashboard-request-list .list-group-item:last-child {
  border-bottom-width: 0;
}

.ratelo-dashboard-request-link {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.ratelo-dashboard-request-text {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
}

.ratelo-dashboard-request-title {
  color: var(--ratelo-secondary-deep);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ratelo-dashboard-request-link:hover .ratelo-dashboard-request-title {
  color: var(--ratelo-accent-deep);
}

.ratelo-dashboard-request-direction {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ratelo-dashboard-request-direction-icon {
  width: 0.92rem;
  height: 0.92rem;
}

.ratelo-dashboard-request-direction--incoming {
  color: #5d7466;
}

.ratelo-dashboard-request-direction--outgoing {
  color: #a35f69;
}

.ratelo-dashboard-request-meta {
  display: block;
  color: #6a7587;
  font-size: 0.76rem;
  line-height: 1.35;
}

.ratelo-dashboard-request-badge.ratelo-status-badge {
  min-height: 1.18rem;
  padding: 0.12rem 0.36rem;
  font-size: 0.54rem;
  letter-spacing: 0.06em;
  color: #5f6f82;
  background: rgba(248, 250, 253, 0.96);
  border-color: rgba(124, 135, 159, 0.16);
  box-shadow: none;
}

.ratelo-dashboard-request-badge.ratelo-status-badge .ratelo-mini-badge-icon {
  color: inherit;
}

.purchase-request-index-list {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  max-width: 100%;
}

/* Request list row: listing photo + ratelo-action-card (workflow-style) */
.purchase-request-index-row {
  --purchase-request-index-row-height: 8rem;
  display: flex;
  align-items: stretch;
  height: var(--purchase-request-index-row-height);
  border-radius: var(--ratelo-surface-radius);
  overflow: hidden;
  box-shadow: 0 0.85rem 1.9rem rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.purchase-request-index-row-link {
  display: flex;
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  height: 100%;
  color: inherit;
  text-decoration: none !important;
}

.purchase-request-index-row-link:hover {
  color: inherit;
}

.purchase-request-index-card {
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* Corner unread marker: anchored at card top-right; translate pulls ~half the dot past the edge
   (card dimensions unchanged — only paint overflow). */
.purchase-request-index-unread-dot {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
  width: 0.9rem;
  height: 0.9rem;
  padding: 0;
  margin: 0;
  border-radius: 999px;
  background: var(--ratelo-accent-strong, #c94b4b);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.96);
  transform: translate(46%, -46%);
  pointer-events: none;
}

.purchase-request-index-action-card {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  border-radius: 0 var(--ratelo-surface-radius) var(--ratelo-surface-radius) 0;
  border-left: 1px solid rgba(124, 135, 159, 0.16);
  box-shadow: none;
}

/* Tighter inset: align first line with status badge; left gutter vs. thumbnail.
   Same vertical inset top + bottom so title↔border ≈ meta↔border. */
.purchase-request-index-action-card.ratelo-action-card {
  --purchase-request-index-inset-y: 0.6rem;
  padding-left: calc(var(--ratelo-card-padding) * 0.5) !important;
  padding-top: var(--purchase-request-index-inset-y) !important;
  padding-right: var(--ratelo-card-padding) !important;
  padding-bottom: var(--purchase-request-index-inset-y) !important;
}

.purchase-request-index-action-card.is-trust {
  border-left-color: rgba(111, 148, 129, 0.22);
}

.purchase-request-index-action-card.is-verified-summary {
  border-left-color: rgba(111, 148, 129, 0.28);
}

.purchase-request-index-action-card.is-revenue {
  border-left-color: rgba(157, 143, 121, 0.22);
}

/* Background watermark: soft, warm tint (less harsh than cool grays) */
.purchase-request-index-action-card .ratelo-card-watermark {
  width: 46%;
  right: -5%;
  top: 42%;
  opacity: 0.88;
  color: rgba(118, 102, 90, 0.22);
  --ratelo-card-watermark-color: rgba(118, 102, 90, 0.2);
}

.purchase-request-index-action-card.is-trust .ratelo-card-watermark,
.purchase-request-index-action-card.is-verified-summary .ratelo-card-watermark {
  color: rgba(96, 108, 92, 0.24);
  --ratelo-card-watermark-color: rgba(96, 108, 92, 0.22);
}

.purchase-request-index-action-card.is-revenue .ratelo-card-watermark {
  color: rgba(132, 112, 92, 0.26);
  --ratelo-card-watermark-color: rgba(132, 112, 92, 0.24);
}

/* "Who's next?" pill — shown at the top-right corner of each index card,
   replaces the older purchase-request-index-status-aside. Tone variants
   match the purchase_request_turn helper (warning/info/success/muted). */
.purchase-request-turn-pill {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.88);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
  max-width: min(52%, 13rem);
  box-shadow: 0 0.15rem 0.4rem rgba(15, 23, 42, 0.06);
}

.purchase-request-turn-pill-icon {
  flex-shrink: 0;
  font-size: 0.95rem;
}

.purchase-request-turn-pill-label {
  overflow: hidden;
  text-overflow: ellipsis;
}

.purchase-request-turn-pill--warning {
  background: rgba(232, 151, 48, 0.14);
  border-color: rgba(232, 151, 48, 0.35);
  color: #925406;
}

.purchase-request-turn-pill--info {
  background: rgba(71, 107, 173, 0.1);
  border-color: rgba(71, 107, 173, 0.28);
  color: #2f4a80;
}

.purchase-request-turn-pill--success {
  background: rgba(53, 143, 95, 0.14);
  border-color: rgba(53, 143, 95, 0.35);
  color: #1f6b40;
}

.purchase-request-turn-pill--muted {
  background: rgba(100, 116, 139, 0.12);
  border-color: rgba(100, 116, 139, 0.26);
  color: #475569;
}

/* Reserve space for the status pill only on the title row; insight/preview/meta use full card width */
.purchase-request-index-title-row {
  padding-right: 6.25rem;
  min-width: 0;
}

/* Ratelo/status context (not the other party’s chat line) */
.purchase-request-index-insight {
  margin-top: 0.2rem;
  font-size: 0.94rem;
  line-height: 1.35;
  color: #64748b;
  width: 100%;
  max-width: none;
  overflow-wrap: anywhere;
}

.purchase-request-index-preview {
  -webkit-line-clamp: 2;
  line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 0.15rem !important;
  flex: 0 1 auto;
  min-height: 0;
  width: 100%;
  max-width: none !important;
  overflow-wrap: anywhere;
}

/* System / Ratelo notices in the preview slot (same voice as .purchase-request-index-insight) */
.purchase-request-index-preview.purchase-request-index-preview--ratelo-system {
  font-size: 0.94rem;
  line-height: 1.35;
  color: #64748b;
}

.purchase-request-index-meta {
  margin-top: auto;
  margin-bottom: 0;
  font-size: 0.69rem;
  line-height: 1.35;
  color: #7a8697;
  width: 100%;
  max-width: none;
  overflow-wrap: anywhere;
}

.purchase-request-index-row .purchase-request-index-card-media {
  position: relative;
  flex: 0 0 5.25rem;
  width: 5.25rem;
  height: 100%;
  min-height: 0;
  align-self: stretch;
  overflow: hidden;
  background: rgba(239, 242, 246, 0.94);
  border-radius: var(--ratelo-surface-radius) 0 0 var(--ratelo-surface-radius);
}

.purchase-request-index-card-avatar {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: rgba(246, 248, 251, 0.96);
}

.purchase-request-index-card-avatar-placeholder {
  display: inline-flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: #6f7c90;
  background: linear-gradient(180deg, rgba(239, 243, 247, 0.96) 0%, rgba(229, 235, 242, 0.98) 100%);
}

.purchase-request-index-card-avatar-icon {
  width: 1.05rem;
  height: 1.05rem;
}

.purchase-request-index-card-header {
  position: relative;
  z-index: 1;
  min-height: 0;
  overflow: hidden;
}

/* Title + preview stack at top; seller/date pinned to card bottom */
.purchase-request-index-action-card > .purchase-request-index-card-header {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  align-items: stretch;
}

.purchase-request-index-title.ratelo-action-card-title {
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  flex-shrink: 0;
}

.purchase-request-index-title .ratelo-action-card-title-main {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  flex: 1 1 0;
  overflow: hidden;
}

.purchase-request-index-title .text-truncate {
  flex: 1 1 0;
  min-width: 0;
}

.purchase-request-index-direction-icon-wrap {
  flex: 0 0 auto;
  line-height: 1;
}

.purchase-request-index-direction-icon {
  display: block;
  font-size: 1.15rem;
  color: #5c6b78 !important;
  opacity: 0.92;
}

/* Keep direction arrows neutral; trust/revenue title colors would otherwise tint them */
.ratelo-action-card.is-trust .purchase-request-index-title .purchase-request-index-direction-icon,
.ratelo-action-card.is-verified-summary .purchase-request-index-title .purchase-request-index-direction-icon,
.ratelo-action-card.is-revenue .purchase-request-index-title .purchase-request-index-direction-icon {
  color: #5c6b78 !important;
  opacity: 0.92;
}

.purchase-request-index-row-link:hover .purchase-request-index-title .text-truncate {
  color: var(--ratelo-accent-deep);
}

.purchase-request-index-card-user {
  gap: 0.28rem;
}

.purchase-request-index-card-user .ratelo-identity-badge {
  width: 0.85rem;
  height: 0.85rem;
}

.purchase-request-index-card-empty {
  background: rgba(255, 255, 255, 0.94);
}

/* Richer empty state for /purchase_requests — replaces a lone "no conversations"
   text so the page matches the illustrated empty states used elsewhere. */
.purchase-request-index-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2.5rem 1.5rem;
  border-radius: var(--ratelo-surface-radius);
  background: radial-gradient(140% 140% at 50% 0%, rgba(111, 148, 129, 0.14) 0%, rgba(111, 148, 129, 0) 55%), linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(247, 249, 252, 0.92) 100%);
  border: 1px solid rgba(111, 148, 129, 0.26);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 0.5rem 1.1rem rgba(15, 23, 42, 0.04);
}

.purchase-request-index-empty-illo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.4rem;
  height: 3.4rem;
  margin-bottom: 0.85rem;
  border-radius: 50%;
  background: rgba(111, 148, 129, 0.15);
  color: var(--ratelo-accent-deep);
  font-size: 1.55rem;
}
.purchase-request-index-empty-illo .ph-icon {
  font-size: 1.55rem;
}

@media (max-width: 767.98px) {
  .purchase-request-index-list {
    gap: 0.6rem;
    padding-inline: 0.15rem;
    box-sizing: border-box;
  }
  .purchase-request-index-unread-dot {
    top: 0;
    right: 0;
    width: 0.82rem;
    height: 0.82rem;
    transform: translate(40%, -40%);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.96);
  }
  .purchase-request-index-row {
    --purchase-request-index-row-height: 7.5rem;
    max-width: 100%;
    min-width: 0;
  }
  .purchase-request-index-row .purchase-request-index-card-media {
    flex-basis: 4.7rem;
    width: 4.7rem;
  }
  .purchase-request-index-title-row {
    padding-right: 5.5rem;
  }
  .purchase-request-turn-pill {
    top: 0.5rem;
    right: 0.5rem;
    max-width: min(58%, 10rem);
    font-size: 0.66rem;
    padding: 0.2rem 0.5rem;
  }
  .purchase-request-turn-pill-icon {
    font-size: 0.85rem;
  }
  .purchase-request-index-action-card.ratelo-action-card {
    --purchase-request-index-inset-y: 0.5rem;
  }
}
.listing-show-description-rich {
  position: relative;
  max-width: 100%;
}

.listing-show-description-toggle {
  display: grid;
  gap: 0.5rem;
}

.listing-show-description-collapsible {
  overflow: hidden;
  transition: max-height 0.26s ease;
  will-change: max-height;
}

.listing-show-description-toggle.is-collapsed .listing-show-description-rich::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3.6rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
  pointer-events: none;
}

.listing-show-description-rich .trix-content {
  font-size: 1.02rem;
  line-height: 1.62;
}

.listing-show-hero-media {
  appearance: none;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.listing-show-hero-media:focus-visible {
  outline: 2px solid rgba(111, 148, 129, 0.46);
  outline-offset: -2px;
}

.listing-show-hero-image {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: contain;
  object-position: center center;
  background-color: #f2f4f7;
}

.listing-show-carousel-control {
  width: 4rem;
  opacity: 1;
}

.listing-show-carousel-control .carousel-control-prev-icon,
.listing-show-carousel-control .carousel-control-next-icon {
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 999px;
  background-color: rgba(15, 23, 42, 0.42);
  background-size: 45%;
}

.listing-show-modal-control {
  z-index: 2;
}

.listing-show-modal-control .carousel-control-prev-icon,
.listing-show-modal-control .carousel-control-next-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background-color: rgba(15, 23, 42, 0.52);
  background-size: 45%;
}

.listing-show-modal-slide {
  height: calc(100vh - 4.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 4.5rem 2rem;
}

.listing-show-modal-image {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.listing-show-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.listing-show-pricing-band {
  padding: 1rem 1.1rem;
}

.listing-show-pricing-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.listing-show-pricing-grid--dual {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.listing-show-pricing-grid--dual::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: calc(100% - 1.4rem);
  transform: translate(-50%, -50%);
  background: linear-gradient(180deg, rgba(124, 135, 159, 0) 0%, rgba(124, 135, 159, 0.18) 18%, rgba(124, 135, 159, 0.28) 50%, rgba(124, 135, 159, 0.18) 82%, rgba(124, 135, 159, 0) 100%);
}

.listing-show-pricing-item {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 0.22rem;
  min-height: 5.85rem;
  text-align: center;
}

.listing-show-pricing-item--secondary .listing-show-pricing-label {
  color: #5f85bf;
}

.listing-show-pricing-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #73877b;
}

.listing-show-pricing-value {
  display: block;
  font-size: clamp(1.45rem, 1.15rem + 1vw, 2.1rem);
  line-height: 1.02;
  font-weight: 700;
  color: var(--ratelo-accent-deep);
  text-wrap: balance;
}

.listing-show-pricing-item--secondary .listing-show-pricing-value {
  color: #4b6eaa;
  font-size: clamp(1.08rem, 0.98rem + 0.6vw, 1.42rem);
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.listing-show-pricing-detail {
  display: block;
  max-width: 15rem;
  font-size: 0.82rem;
  line-height: 1.35;
  font-weight: 600;
  color: #6f7c90;
  text-wrap: balance;
}

.listing-show-pricing-item--secondary .listing-show-pricing-detail {
  max-width: 16rem;
  margin-top: 0.12rem;
  font-size: 0.94rem;
  line-height: 1.24;
  font-weight: 700;
  color: #4b6485;
}

.listing-show-pricing-request-row {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 0.18rem;
}

.listing-show-pricing-request-meta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  max-width: min(100%, 14rem);
  font-size: 0.7rem;
  line-height: 1.14;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  text-align: center;
  text-wrap: balance;
}

.listing-show-pricing-request-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 999px;
  font-size: 0.78rem;
}

.listing-show-pricing-request-meta--success {
  color: #5d7466;
}

.listing-show-pricing-request-meta--info {
  color: #5f85bf;
}

.listing-show-pricing-request-meta--warning {
  color: #9a6f2d;
}

.listing-show-pricing-request-meta--danger {
  color: #616b81;
}

.listing-show-pricing-request-meta--neutral {
  color: #556274;
}

.listing-show-pricing-request-meta--success .listing-show-pricing-request-icon {
  background: rgba(93, 116, 102, 0.12);
}

.listing-show-pricing-request-meta--info .listing-show-pricing-request-icon {
  background: rgba(95, 133, 191, 0.12);
}

.listing-show-pricing-request-meta--warning .listing-show-pricing-request-icon {
  background: rgba(154, 111, 45, 0.12);
}

.listing-show-pricing-request-meta--danger .listing-show-pricing-request-icon {
  background: rgba(97, 107, 129, 0.12);
}

.listing-show-pricing-request-meta--neutral .listing-show-pricing-request-icon {
  background: rgba(85, 98, 116, 0.1);
}

.listing-show-specs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.55rem;
  margin: 0;
}

.listing-show-spec {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.62rem 0.8rem;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.92) 0%, rgba(242, 246, 250, 0.85) 100%);
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 0.85rem;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.listing-show-spec:hover {
  border-color: rgba(15, 23, 42, 0.12);
  background: linear-gradient(180deg, rgb(248, 250, 252) 0%, rgba(242, 246, 250, 0.98) 100%);
}

.listing-show-spec-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6c7a8a;
}

.listing-show-spec-label .ph-icon,
.listing-show-spec-label [class^=ph-] {
  font-size: 0.92rem;
  color: #8791a4;
}

.listing-show-spec-value {
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.22;
  color: #0f172a;
  min-width: 0;
  overflow-wrap: anywhere;
}

.listing-show-spec-value--accent {
  font-weight: 700;
  letter-spacing: 0.005em;
}

/* Category-specific attributes block on the listing show page */
.listing-show-attributes {
  min-width: 0;
}

.listing-show-attribute-list {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 2rem;
  row-gap: 0;
  margin: 0;
  min-width: 0;
}

.listing-show-attribute-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  min-width: 0;
}

.listing-show-attribute-row:last-child {
  border-bottom: 0;
}

.listing-show-attribute-label {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 500;
  color: #64748b;
  letter-spacing: 0.01em;
  min-width: 0;
  overflow-wrap: anywhere;
}

.listing-show-attribute-value {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  color: #0f172a;
  text-align: right;
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (min-width: 576px) {
  .listing-show-attribute-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .listing-show-attribute-row:nth-last-child(2):nth-child(odd) {
    border-bottom: 0;
  }
}
@media (max-width: 575.98px) {
  .listing-show-attribute-label {
    font-size: 0.78rem;
  }
  .listing-show-attribute-value {
    font-size: 0.88rem;
  }
}
/* Form: category-specific attribute fields heading */
.listing-form-attribute-heading {
  color: var(--ratelo-accent-deep);
}

.listing-form-attribute-heading-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 0.5rem;
  background: rgba(111, 148, 129, 0.12);
  color: var(--ratelo-accent-deep);
  font-size: 1rem;
}

.listing-form-attribute-section {
  margin-top: 0.25rem;
}

@media (max-width: 575.98px) {
  .listing-show-specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }
  .listing-show-spec {
    padding: 0.55rem 0.7rem;
    border-radius: 0.75rem;
  }
  .listing-show-spec-label {
    font-size: 0.6rem;
  }
  .listing-show-spec-value {
    font-size: 0.88rem;
  }
}
@media (min-width: 992px) {
  .listing-show-specs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    row-gap: 0.4rem;
    column-gap: 0.25rem;
    padding: 0.35rem 0.25rem;
  }
  .listing-show-spec {
    flex: 1 1 auto;
    justify-content: center;
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
    padding: 0.12rem 0.4rem;
    background: none;
    border: 0;
    border-radius: 0;
    transition: none;
  }
  .listing-show-spec:hover {
    background: none;
    border-color: transparent;
  }
  .listing-show-spec + .listing-show-spec {
    position: relative;
  }
  .listing-show-spec + .listing-show-spec::before {
    content: "";
    position: absolute;
    left: -0.15rem;
    top: 50%;
    width: 3px;
    height: 3px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.24);
    transform: translateY(-50%);
  }
  .listing-show-spec-label {
    gap: 0.3rem;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: 0;
    text-transform: none;
    color: inherit;
  }
  .listing-show-spec-label > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .listing-show-spec-label .ph-icon,
  .listing-show-spec-label [class^=ph-] {
    font-size: 1rem;
    color: #6b7785;
  }
  .listing-show-spec-value {
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.25;
  }
}
.listing-show-option-card {
  border-color: rgba(108, 150, 214, 0.16);
  background: rgba(255, 255, 255, 0.98);
}

.listing-show-option-card .card-body {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
}

.listing-show-option-copy {
  display: grid;
  gap: 0.12rem;
}

.listing-show-option-title {
  color: var(--ratelo-secondary-deep);
  line-height: 1.2;
}

.listing-show-option-meta {
  color: #738091;
  font-size: 0.84rem;
  line-height: 1.4;
}

.listing-show-fact-label {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #73877b;
}

.listing-show-fact-value {
  font-size: 1.2rem;
  color: var(--ratelo-accent-deep);
}

.listing-show-fact-text {
  color: #5d7466;
}

.listing-show-emphasis-card {
  border-color: rgba(111, 148, 129, 0.16);
  background: linear-gradient(180deg, rgba(244, 248, 246, 0.98) 0%, rgba(237, 244, 240, 0.98) 100%);
}

.listing-show-emphasis-card-secondary {
  border-color: rgba(108, 150, 214, 0.18);
  background: linear-gradient(180deg, rgba(243, 248, 255, 0.98) 0%, rgba(231, 240, 253, 0.98) 100%);
}

.listing-show-emphasis-card-secondary .listing-show-emphasis-label {
  color: #5f85bf;
}

.listing-show-emphasis-card-muted {
  border-color: rgba(124, 135, 159, 0.16);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, rgba(242, 246, 250, 0.98) 100%);
}

.listing-show-emphasis-card-muted .listing-show-emphasis-label {
  color: #6f7c90;
}

.listing-show-emphasis-card-muted .listing-show-emphasis-value {
  color: var(--ratelo-secondary-deep);
}

.listing-show-emphasis-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6f9481;
}

.listing-show-emphasis-value {
  font-size: clamp(1.3rem, 1.05rem + 0.9vw, 1.85rem);
  line-height: 1.08;
  color: var(--ratelo-accent-deep);
}

.listing-show-emphasis-detail {
  margin-top: 0.45rem;
  font-size: 0.86rem;
  line-height: 1.35;
  font-weight: 600;
  color: #5d7466;
}

.listing-show-rate-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.listing-show-rate-detail {
  min-width: 0;
  padding: 0.65rem 0.72rem;
  background: rgba(248, 250, 252, 0.92);
  border-radius: 1rem;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.listing-show-rate-detail-label {
  display: block;
  margin-bottom: 0.18rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

.listing-show-rate-detail-value {
  display: block;
  font-size: 0.94rem;
  line-height: 1.2;
  font-weight: 600;
  color: #315b94;
}

.listing-show-emphasis-card .card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.listing-show-meta-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.listing-show-meta-value {
  line-height: 1.35;
  color: var(--ratelo-accent-deep);
}

.listing-show-compact-title {
  color: var(--ratelo-accent-deep);
}

.listing-show-offer {
  display: grid;
  gap: 0.08rem;
}

.listing-show-offer-name {
  font-size: 0.76rem;
  line-height: 1.35;
  color: #73877b;
}

.listing-show-offer-primary {
  font-size: 1rem;
  line-height: 1.22;
  color: var(--ratelo-accent-deep);
}

.listing-show-emphasis-card .listing-show-offer-primary {
  font-size: 1.08rem;
}

.listing-show-offer-secondary {
  font-size: 0.84rem;
  line-height: 1.35;
  color: #5d7466;
}

.listing-show-offer:first-child {
  padding-top: 0 !important;
}

.listing-show-offer:last-child {
  padding-bottom: 0 !important;
}

.listing-show-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 1fr);
  gap: 0.85rem;
}

/* Match listing index filter bar: stick below page-header chrome (breadcrumb) so the
   send-request card header stays visible as long as possible instead of sliding under it. */
.listing-show-side-stack {
  position: sticky;
  top: calc(var(--page-header-sticky-top, 0.35rem) + var(--page-header-sticky-height, 0px) + 0.28rem);
  z-index: 22; /* below .page-header-card (24) */
  display: grid;
  gap: 0.85rem;
}

/* Send-request card anchored at the top of the sidebar on desktop */
.listing-show-side-request {
  position: relative;
  display: grid;
  gap: 0;
  overflow: hidden;
  padding: 0.95rem 1rem 1.1rem;
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.18), rgba(124, 135, 159, 0) 34%), linear-gradient(180deg, rgba(248, 250, 253, 0.98) 0%, rgba(241, 245, 250, 0.98) 100%);
  border: 1px solid rgba(124, 135, 159, 0.2);
  border-radius: var(--ratelo-surface-radius, 1rem);
  box-shadow: 0 0.85rem 1.9rem rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.listing-show-side-request::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 45%);
}

.listing-show-side-request-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding-bottom: 0.7rem;
  margin-bottom: 0.7rem;
  border-bottom: 1px solid rgba(124, 135, 159, 0.18);
}

.listing-show-side-request-header .ph-icon {
  color: var(--ratelo-accent-deep);
}

.listing-show-side-request-body {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0;
}

/* Compact composer variant (used in the narrow sidebar) */
.purchase-request-composer--compact .purchase-request-mode-group {
  margin-bottom: 0.85rem !important;
}

.purchase-request-composer--compact .purchase-request-mode-toggle {
  padding: 0.48rem 0.6rem;
  gap: 0.35rem;
}

.purchase-request-composer--compact .purchase-request-mode-tab-icon {
  font-size: 0.92rem;
}

.purchase-request-composer--compact .purchase-request-mode-tab-label {
  font-size: 0.78rem;
  font-weight: 600;
}

.purchase-request-composer--compact .row.g-3 {
  --bs-gutter-x: 0.6rem;
  --bs-gutter-y: 0.6rem;
}

/* Force inner columns to single-column in the narrow sidebar context */
.purchase-request-composer--compact .row > [class*=col-md-] {
  flex: 0 0 100%;
  max-width: 100%;
}

.purchase-request-composer--compact .form-label {
  margin-bottom: 0.25rem;
  font-size: 0.82rem;
}

.purchase-request-composer--compact .input-group .input-group-text,
.purchase-request-composer--compact .input-group .form-control {
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
  font-size: 0.95rem;
}

.purchase-request-composer--compact .installment-helper-summary {
  padding: 0.6rem 0.7rem !important;
  border-radius: 0.65rem !important;
}

.purchase-request-composer--compact .installment-helper-summary .small {
  font-size: 0.72rem;
  line-height: 1.3;
}

.purchase-request-composer--compact .installment-summary-primary,
.purchase-request-composer--compact .installment-summary-secondary {
  font-size: 0.9rem;
}

.purchase-request-composer--compact .form-range {
  padding: 0;
}

.purchase-request-composer--compact textarea.form-control {
  font-size: 0.9rem;
}

.purchase-request-composer--compact .ratelo-action-card-actions {
  margin-top: 0.25rem;
}

.purchase-request-composer--compact .ratelo-action-card-actions .btn {
  width: 100%;
}

.purchase-request-submit {
  gap: 0.35rem;
}

.purchase-request-submit .ph-icon {
  font-size: 1em;
}

.purchase-request-composer--compact .purchase-request-existing-card {
  padding: 0.7rem 0.8rem;
  border-radius: 0.85rem;
}

.purchase-request-composer--compact .purchase-request-existing-card-summary {
  font-size: 0.9rem;
}

/* Keep the hero compact on tablet/desktop where sidebar shares vertical space */
@media (max-width: 991.98px) {
  .listing-show-side-request {
    padding: 0.85rem 0.95rem 1rem;
  }
}
/* Owner sidebar: info (status) vs actions (boost + listing buttons) */
.listing-show-owner-panel {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

/* Listing owner activity: same card look as profile stammdaten, always vertical stack */
.listing-show-owner-stammdaten.profile-stammdaten-card {
  text-align: left;
  padding: 0.78rem 0.85rem 0.82rem;
}

.listing-show-owner-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
  min-width: 0;
}

.listing-show-owner-card-head h2, .listing-show-owner-card-head .h2 {
  color: #2f4c69;
  font-weight: 800;
}

.listing-show-owner-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  background: rgba(111, 148, 129, 0.14);
  color: #3d5a49;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
}

.listing-show-owner-stammdaten-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.42rem;
  width: 100%;
  min-width: 0;
}

.listing-show-owner-stammdaten-stack .profile-stammdaten-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
}

.listing-show-owner-stammdaten-stack .profile-stammdaten-inline {
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.38rem;
  width: 100%;
  min-width: 0;
  text-align: left;
}

.listing-show-owner-stammdaten-stack .profile-stammdaten-icon {
  font-size: 0.86rem;
  margin-top: 0.12rem;
}

.listing-show-owner-stammdaten-stack .profile-stammdaten-value,
.listing-show-owner-stammdaten-stack .profile-stammdaten-link {
  font-size: 0.86rem;
  line-height: 1.32;
}

.listing-show-owner-stammdaten-stack .listing-show-owner-listing-ref {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.listing-show-owner-offers {
  display: grid;
  gap: 0.65rem;
  padding: 0.82rem 0.85rem;
  text-align: left;
}

.listing-show-owner-offers-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.listing-show-owner-offers-head .ph-icon {
  color: var(--ratelo-accent-deep);
}

.listing-show-owner-offers-head h2, .listing-show-owner-offers-head .h2 {
  color: #2f4c69;
  font-weight: 800;
}

.listing-show-owner-offers-count {
  flex: 0 0 auto;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.1);
  color: #526174;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.listing-show-owner-offers-list {
  display: grid;
  gap: 0.45rem;
}

.listing-show-owner-offers-show-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: rgba(111, 148, 129, 0.12);
  color: #3d5a49;
  font-size: 0.78rem;
  font-weight: 800;
  text-decoration: none;
}

.listing-show-owner-offers-show-all:hover,
.listing-show-owner-offers-show-all:focus-visible {
  background: rgba(111, 148, 129, 0.18);
  color: #2f4a3b;
}

.listing-show-owner-offers-show-all-icon {
  width: 1em;
  height: 1em;
}

.listing-show-owner-offers-modal {
  margin: -1rem;
}

.listing-show-owner-offers-modal .listing-show-owner-offers-list {
  gap: 0;
}

.listing-show-owner-offers-modal .listing-show-owner-offer-row {
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
  padding: 0.85rem 1rem;
}

.listing-show-owner-offers-modal .listing-show-owner-offer-row:last-child {
  border-bottom: 0;
}

.listing-show-owner-offer-row {
  display: grid;
  gap: 0.28rem;
  padding: 0.62rem 0.65rem;
  border: 1px solid rgba(124, 135, 159, 0.14);
  border-radius: 0.95rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.78));
  color: inherit;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.listing-show-owner-offer-row:hover,
.listing-show-owner-offer-row:focus-visible {
  border-color: rgba(111, 148, 129, 0.34);
  box-shadow: 0 0.35rem 0.9rem rgba(15, 23, 42, 0.07);
  color: inherit;
  transform: translateY(-1px);
}

.listing-show-owner-offer-main,
.listing-show-owner-offer-side {
  display: grid;
  min-width: 0;
}

.listing-show-owner-offer-main {
  gap: 0.3rem;
}

.listing-show-owner-offer-line,
.listing-show-owner-offer-price {
  display: flex;
  align-items: center;
  min-width: 0;
}

.listing-show-owner-offer-line {
  justify-content: space-between;
  gap: 0.65rem;
}

.listing-show-owner-offer-price {
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 0.35rem;
}

.listing-show-owner-offer-buyer {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.listing-show-owner-offer-meta,
.listing-show-owner-offers-empty {
  color: #64748b;
  font-size: 0.76rem;
  line-height: 1.25;
}

.listing-show-owner-offer-meta {
  display: flex;
  align-items: center;
  gap: 0.28rem;
  flex-wrap: wrap;
}

.listing-show-owner-offer-meta-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.42rem;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.09);
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.1;
}

.listing-show-owner-offer-amount {
  color: #2f4c69;
  font-size: 0.95rem;
  line-height: 1.1;
  white-space: nowrap;
}

.listing-show-owner-offer-top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.12rem 0.42rem;
  border-radius: 999px;
  background: rgba(111, 148, 129, 0.14);
  color: #3d5a49;
  font-size: 0.6rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.listing-show-side-actions-boost .listing-feature-button {
  width: 100%;
}

/* Fixed bottom bar on small screens — flush to screen bottom, rounded top corners like cards */
.listing-show-buyer-mobile-cta,
.listing-show-owner-boost-mobile-cta {
  position: fixed;
  z-index: 1040;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 1rem;
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
  background-color: #fff;
  border-top: 1px solid var(--ratelo-card-border);
  border-top-left-radius: var(--ratelo-surface-radius);
  border-top-right-radius: var(--ratelo-surface-radius);
  box-shadow: 0 -0.35rem 1.1rem rgba(15, 23, 42, 0.06);
}

/* Scroll space so listing content is not covered by the fixed bar (matches bar: top pad + button row + bottom pad) */
.listing-show-mobile-cta-spacer {
  flex-shrink: 0;
  min-height: calc(4rem + max(0.75rem, env(safe-area-inset-bottom, 0px)));
  pointer-events: none;
}

.listing-show-action-card {
  position: static;
}

.listing-feature-card {
  position: relative;
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(196, 150, 72, 0.26);
  border-radius: var(--ratelo-surface-radius);
  background: radial-gradient(circle at top right, rgba(248, 184, 92, 0.36), rgba(248, 184, 92, 0) 38%), radial-gradient(circle at bottom left, rgba(255, 228, 171, 0.54), rgba(255, 228, 171, 0) 42%), linear-gradient(180deg, rgba(255, 253, 247, 0.99) 0%, rgba(255, 244, 219, 0.98) 54%, rgba(250, 232, 191, 0.98) 100%);
  box-shadow: 0 0.95rem 2.1rem rgba(126, 86, 28, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.68);
  overflow: hidden;
}

.listing-feature-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 45%);
  pointer-events: none;
}

.listing-feature-card > * {
  position: relative;
  z-index: 1;
}

.listing-feature-card--compact {
  gap: 0.85rem;
}

.listing-feature-compact-copy {
  display: grid;
  gap: 0.35rem;
}

.listing-feature-card--compact .listing-feature-copy {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.listing-feature-card-header {
  display: grid;
  gap: 0.36rem;
}

.listing-feature-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.28rem 0.56rem;
  border-radius: 999px;
  background: rgba(255, 245, 221, 0.88);
  color: #825b1c;
  border: 1px solid rgba(196, 150, 72, 0.22);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
}

.listing-feature-copy {
  color: #76572a;
}

.listing-feature-modal-copy {
  color: #665b4d;
  font-size: 0.92rem;
}

.listing-feature-options {
  display: grid;
  gap: 0.65rem;
}

.listing-feature-option,
.listing-feature-current {
  display: grid;
  gap: 0.65rem;
  padding: 0.76rem;
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: inset 0 0 0 1px rgba(196, 150, 72, 0.14);
}

/* Boost modal subcards: light gradients aligned with CTA button hues */
.listing-feature-option--standard,
.listing-feature-option--quick {
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.97) 0%, rgba(232, 245, 239, 0.92) 42%, rgba(210, 236, 222, 0.88) 100%);
  box-shadow: inset 0 0 0 1px rgba(63, 152, 113, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.listing-feature-option--priority {
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 241, 238, 0.94) 40%, rgba(255, 222, 214, 0.9) 100%);
  box-shadow: inset 0 0 0 1px rgba(200, 91, 78, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.listing-feature-option--spotlight {
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 247, 232, 0.95) 38%, rgba(255, 235, 204, 0.9) 100%);
  box-shadow: inset 0 0 0 1px rgba(224, 160, 57, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.listing-feature-option--top {
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 241, 246, 0.94) 40%, rgba(252, 220, 232, 0.9) 100%);
  box-shadow: inset 0 0 0 1px rgba(194, 77, 112, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.listing-feature-option-copy {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.listing-feature-option-title {
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.listing-feature-option-title--standard,
.listing-feature-option-title--quick {
  color: #2f7456;
}

.listing-feature-option-title--priority {
  color: #a43f35;
}

.listing-feature-option-title--spotlight {
  color: #9b651a;
}

.listing-feature-option-title--top {
  color: #9c3150;
}

.listing-feature-option-copy p,
.listing-feature-current {
  color: #6f5a34;
  font-size: 0.82rem;
}

.listing-feature-option-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  font-size: 0.64rem;
  font-weight: 800;
  text-transform: uppercase;
}

.listing-feature-option-badge--standard,
.listing-feature-option-badge--quick {
  background: #e6f4ed;
  color: #2f7456;
}

.listing-feature-option-badge--priority {
  background: #fff0ec;
  color: #a43f35;
}

.listing-feature-option-badge--spotlight {
  background: #fff3d8;
  color: #9b651a;
}

.listing-feature-option-badge--top {
  background: #fce8ee;
  color: #9c3150;
}

.listing-feature-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 0.45rem;
  border-radius: var(--ratelo-button-radius);
  color: #fff;
  font-weight: 700;
}

.listing-feature-button--standard,
.listing-feature-button--quick,
.listing-feature-button--standard:hover,
.listing-feature-button--quick:hover,
.listing-feature-button--standard:focus-visible,
.listing-feature-button--quick:focus-visible {
  background: linear-gradient(180deg, #3f9871 0%, #2f7456 100%);
  border-color: rgba(47, 116, 86, 0.42);
  color: #fff;
}

.listing-feature-button--priority,
.listing-feature-button--priority:hover,
.listing-feature-button--priority:focus-visible {
  background: linear-gradient(180deg, #c85b4e 0%, #9f3d35 100%);
  border-color: rgba(159, 61, 53, 0.42);
  color: #fff;
}

.listing-feature-button--spotlight,
.listing-feature-button--spotlight:hover,
.listing-feature-button--spotlight:focus-visible {
  background: linear-gradient(180deg, #e0a039 0%, #b8741e 100%);
  border-color: rgba(184, 116, 30, 0.42);
  color: #fff;
}

.listing-feature-button--top,
.listing-feature-button--top:hover,
.listing-feature-button--top:focus-visible {
  background: linear-gradient(180deg, #c24d70 0%, #8f2946 100%);
  border-color: rgba(143, 41, 70, 0.42);
  color: #fff;
}

.listing-feature-button--muted,
.listing-feature-button--muted:hover,
.listing-feature-button--muted:focus-visible {
  background: rgba(255, 255, 255, 0.68);
  border-color: rgba(122, 79, 15, 0.18);
  color: #75551f;
}

.listing-show-action-copy {
  max-width: none;
}

.listing-show-action-buttons {
  display: grid;
  gap: 0.6rem;
  justify-content: stretch;
}

.listing-show-action-buttons .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
}

.listing-show-seller-card,
.listing-show-date-card {
  height: 100%;
}

.listing-show-seller-card {
  border-color: rgba(111, 148, 129, 0.12);
  background: rgba(255, 255, 255, 0.98);
  transition: border-color 0.18s ease, transform 0.18s ease;
}

.listing-show-seller-card:hover,
.listing-show-seller-card:focus-visible {
  border-color: rgba(111, 148, 129, 0.22);
  transform: translateY(-1px);
}

.listing-show-seller-card .card-body {
  display: flex;
  align-items: center;
  gap: 0.95rem;
}

.listing-show-seller-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  border-radius: 1rem;
  background: rgba(237, 244, 240, 0.95);
  color: var(--ratelo-accent-deep);
  font-weight: 700;
  letter-spacing: 0.03em;
}

.listing-show-seller-copy {
  display: grid;
  min-width: 0;
  gap: 0.08rem;
}

.listing-show-seller-label {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #73877b;
}

.listing-show-seller-name {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
  color: var(--ratelo-secondary-deep);
}

.listing-show-seller-meta {
  color: #738091;
  font-size: 0.84rem;
  line-height: 1.35;
}

.listing-show-date-card {
  border-color: rgba(124, 135, 159, 0.16);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, rgba(241, 245, 249, 0.98) 100%);
}

.listing-show-date-card .card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.listing-show-date-value {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
  color: var(--ratelo-secondary-deep);
}

.listing-form-upload-dropzone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.15rem;
  border: 1px dashed rgba(95, 133, 191, 0.36);
  border-radius: 1.2rem;
  background: radial-gradient(circle at top right, rgba(95, 133, 191, 0.12), rgba(95, 133, 191, 0) 36%), linear-gradient(180deg, rgba(249, 251, 255, 0.98) 0%, rgba(243, 247, 252, 0.98) 100%);
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.listing-form-upload-dropzone:hover,
.listing-form-upload-dropzone:focus-visible,
.listing-form-upload-dropzone.is-dragging {
  border-color: rgba(95, 133, 191, 0.56);
  box-shadow: 0 0 0 0.18rem rgba(95, 133, 191, 0.1);
  outline: 0;
  transform: translateY(-1px);
}

.listing-form-upload-dropzone-copy {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
}

.listing-form-upload-dropzone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 1rem;
  color: #4b6eaa;
  background: rgba(95, 133, 191, 0.12);
  flex-shrink: 0;
  font-size: 1.3rem;
}

.listing-form-upload-dropzone-text {
  min-width: 0;
  color: #536173;
}

.listing-form-upload-dropzone-text strong {
  color: var(--ratelo-accent-deep);
  font-size: 1rem;
  line-height: 1.2;
}

.listing-form-upload-dropzone-text span {
  display: block;
  margin-top: 0.14rem;
  font-size: 0.88rem;
  line-height: 1.35;
}

.listing-form-upload-dropzone-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
}

.listing-form-upload-dropzone-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  white-space: nowrap;
}

.listing-form-image-preview {
  aspect-ratio: 1/1;
  object-fit: cover;
}

.listing-form-image-strip {
  overflow-y: visible;
  scrollbar-width: thin;
}

.listing-form-image-item {
  width: 7rem;
  overflow: visible;
}

.listing-form-image-item--selected .listing-form-image-preview {
  border-color: rgba(95, 133, 191, 0.22) !important;
  background: rgba(247, 250, 255, 0.92);
}

.listing-form-image-remove {
  transform: translate(28%, -28%);
  padding: 0.22rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.listing-form-image-remove-glyph {
  display: block;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1;
  margin-top: -0.04em;
}

.listing-form-price-label {
  color: var(--ratelo-accent-deep);
}

.listing-form-price-field {
  --listing-price-font-size: clamp(1.35rem, 2.8vw, 1.85rem);
}
.listing-form-price-field .input-group-text {
  font-size: var(--listing-price-font-size);
  font-weight: 700;
  line-height: 1.2;
  color: var(--ratelo-accent-deep);
}
.listing-form-price-field .listing-form-price-input {
  font-size: var(--listing-price-font-size);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: var(--ratelo-accent-deep);
}
.listing-form-price-field .listing-form-price-input::placeholder {
  color: rgba(85, 114, 97, 0.38);
  font-weight: 600;
}

.listing-form-inline-link {
  color: #895b47;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
}

.listing-form-location-button {
  min-width: 3.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 0.92rem;
  border-color: rgba(124, 135, 159, 0.18);
  background: radial-gradient(circle at top, rgba(95, 133, 191, 0.12), rgba(95, 133, 191, 0) 62%), linear-gradient(180deg, rgba(248, 250, 253, 0.98) 0%, rgba(240, 245, 249, 0.96) 100%);
  color: #4b6eaa;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.listing-form-location-button:hover,
.listing-form-location-button:focus-visible {
  border-color: rgba(95, 133, 191, 0.42);
  background: radial-gradient(circle at top, rgba(95, 133, 191, 0.18), rgba(95, 133, 191, 0) 64%), linear-gradient(180deg, rgba(251, 252, 255, 0.99) 0%, rgba(244, 248, 252, 0.98) 100%);
  color: #37598f;
  box-shadow: 0 0 0 0.2rem rgba(95, 133, 191, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.listing-form-location-button .ph {
  font-size: 1.02rem;
}

.listing-form-location-button.is-loading {
  opacity: 0.72;
}

.listing-form-location-button:disabled {
  border-color: rgba(124, 135, 159, 0.16);
  background: linear-gradient(180deg, rgba(246, 248, 251, 0.96) 0%, rgba(239, 243, 247, 0.94) 100%);
  color: #8e98a8;
}

.listing-form-inline-link:hover,
.listing-form-inline-link:focus-visible {
  color: #7a5341;
  text-decoration: underline;
}

.listing-form-protection-cta {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  padding: 0.95rem 1rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(95, 133, 191, 0.22);
  background: radial-gradient(circle at 0% 0%, rgba(95, 133, 191, 0.14), rgba(95, 133, 191, 0) 52%), linear-gradient(165deg, rgba(248, 251, 255, 0.98) 0%, rgba(240, 246, 252, 0.94) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 1px 2px rgba(55, 89, 143, 0.06);
}

.listing-form-protection-cta-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: linear-gradient(145deg, rgba(95, 133, 191, 0.2) 0%, rgba(95, 133, 191, 0.08) 100%);
  color: #37598f;
  border: 1px solid rgba(95, 133, 191, 0.2);
}
.listing-form-protection-cta-icon .ph-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.listing-form-protection-cta-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #2c3d52;
  letter-spacing: -0.01em;
}

.listing-form-protection-cta-copy {
  line-height: 1.45;
}

.listing-form-protection-cta-btn-chevron {
  flex-shrink: 0;
  opacity: 0.92;
}

@media (max-width: 767.98px) {
  .listing-form-upload-dropzone {
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    padding: 0.95rem 0.92rem;
  }
  .listing-form-upload-dropzone-copy {
    align-items: flex-start;
    gap: 0.72rem;
  }
  .listing-form-upload-dropzone-icon {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.85rem;
    font-size: 1.08rem;
  }
  .listing-form-upload-dropzone-text strong {
    font-size: 0.94rem;
  }
  .listing-form-upload-dropzone-text span {
    font-size: 0.8rem;
  }
  .listing-form-upload-dropzone-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .listing-form-upload-dropzone-actions .btn {
    flex: 1 1 10rem;
    justify-content: center;
  }
}
@media (max-width: 991.98px) {
  .listing-show-pricing-band {
    padding: 0.9rem 0.9rem;
  }
  .listing-show-pricing-grid {
    gap: 0.75rem;
  }
  .listing-show-pricing-item {
    min-height: 4.9rem;
    gap: 0.18rem;
  }
  .listing-show-pricing-label {
    font-size: 0.64rem;
  }
  .listing-show-pricing-value {
    font-size: clamp(1.18rem, 1.02rem + 1vw, 1.6rem);
  }
  .listing-show-pricing-item--secondary .listing-show-pricing-value {
    font-size: clamp(1rem, 0.92rem + 0.55vw, 1.24rem);
  }
  .listing-show-pricing-detail {
    max-width: 10rem;
    font-size: 0.72rem;
  }
  .listing-show-pricing-item--secondary .listing-show-pricing-detail {
    max-width: 11.5rem;
    font-size: 0.82rem;
  }
  .listing-show-hero-image {
    aspect-ratio: 4/3;
  }
  .listing-show-side-stack {
    position: static;
  }
  .listing-show-carousel-control {
    width: 3.25rem;
  }
  .listing-show-modal-slide {
    padding-inline: 1rem;
    padding-bottom: 1rem;
  }
  .listing-show-modal-control {
    width: 3.25rem;
  }
  .listing-form-image-item {
    width: 5.75rem;
  }
}
.listing-card .stretched-link:focus-visible {
  outline: 2px solid rgba(111, 148, 129, 0.5);
  outline-offset: 4px;
  border-radius: 0.25rem;
}

.listing-filters-shell {
  position: sticky;
  top: calc(var(--page-header-sticky-top, 0.35rem) + var(--page-header-sticky-height, 0px) + 0.28rem);
  z-index: 23;
  display: grid;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
  padding: 0.1rem 0 0.18rem;
  background: linear-gradient(180deg, rgba(243, 245, 247, 0.98) 0%, rgba(243, 245, 247, 0.94) 74%, rgba(243, 245, 247, 0) 100%);
}

.listing-filter-compact-surface {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  padding: 0.34rem 0.38rem;
  border: 1px solid rgba(91, 123, 204, 0.24);
  border-radius: 1.2rem;
  background: linear-gradient(180deg, rgba(236, 243, 255, 0.72) 0%, rgba(224, 235, 255, 0.56) 100%);
  color: #35518a;
  box-shadow: 0 0.38rem 0.95rem rgba(91, 123, 204, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.34);
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
}

.listing-filter-compact {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.42rem;
  min-width: 0;
  width: 100%;
}

.listing-filter-compact-edit {
  display: inline-flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 0.42rem;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.listing-filter-compact-edit::-webkit-scrollbar {
  display: none;
}

.listing-filter-compact-edit:focus-visible {
  outline: 2px solid rgba(91, 123, 204, 0.38);
  outline-offset: 3px;
  border-radius: 999px;
}

.listing-filter-compact-chip {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  max-width: min(18rem, 72vw);
  padding: 0.34rem 0.68rem;
  border: 1px solid rgba(91, 123, 204, 0.18);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(241, 246, 255, 0.98) 0%, rgba(230, 239, 255, 0.96) 100%);
  color: #35518a;
  box-shadow: 0 0.32rem 0.8rem rgba(91, 123, 204, 0.08);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.2;
}

.listing-filter-compact-chip .ph,
.listing-filter-compact-chip .category-option-icon {
  flex: 0 0 auto;
  font-size: 0.84rem;
}

.listing-filter-compact-chip-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.listing-filter-compact-chip--category {
  color: #35518a;
  border-color: rgba(91, 123, 204, 0.2);
  background: linear-gradient(180deg, rgba(241, 246, 255, 0.98) 0%, rgba(230, 239, 255, 0.96) 100%);
}

.listing-filters-shell.is-stuck.listing-filters-shell--has-compact {
  gap: 0.16rem;
  padding-top: 0.12rem;
  padding-bottom: 0.18rem;
}

.listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact-surface {
  padding: 0.26rem 0.3rem;
}

.listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-toolbar {
  display: none !important;
}

.listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact {
  gap: 0.34rem;
}

.listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact-edit {
  gap: 0.34rem;
}

.listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact-chip {
  padding: 0.28rem 0.58rem;
  font-size: 0.77rem;
}

.listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact-clear {
  width: 1.56rem;
  height: 1.56rem;
}

.listing-filter-compact-clear {
  box-shadow: 0 0.32rem 0.8rem rgba(91, 123, 204, 0.08);
}

.listing-filter-toolbar {
  min-width: 0;
}

.listing-filter-scroller-shell {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  max-width: 100%;
}

.listing-filter-scroller {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
}

.listing-filter-scroller::-webkit-scrollbar {
  display: none;
}

.listing-filter-scroller-control {
  flex-shrink: 0;
  align-self: center;
  width: 1.85rem;
  height: 1.85rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(91, 123, 204, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  color: #35518a;
  box-shadow: 0 0.18rem 0.45rem rgba(15, 23, 42, 0.08);
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
}
.listing-filter-scroller-control:hover:not(:disabled), .listing-filter-scroller-control:focus-visible:not(:disabled) {
  border-color: rgba(78, 111, 193, 0.38);
  color: #2d4679;
  transform: translateY(-1px);
  outline: none;
}
.listing-filter-scroller-control:disabled {
  opacity: 0;
  pointer-events: none;
}
.listing-filter-scroller-control .ph-icon {
  font-size: 0.95rem;
}
@media (max-width: 575.98px) {
  .listing-filter-scroller-control {
    display: none;
  }
}

.listing-filter-trigger {
  border-radius: var(--ratelo-button-radius);
  background: linear-gradient(180deg, rgba(236, 243, 255, 0.98) 0%, rgba(224, 235, 255, 0.96) 100%);
  border-color: rgba(91, 123, 204, 0.24);
  color: #35518a;
  box-shadow: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.listing-filter-trigger:hover,
.listing-filter-trigger:focus-visible {
  color: #2d4679;
  background: linear-gradient(180deg, rgba(229, 238, 255, 0.99) 0%, rgba(214, 228, 255, 0.98) 100%);
  border-color: rgba(78, 111, 193, 0.32);
}

.listing-filter-trigger:active {
  color: #2a3f6b;
  background: linear-gradient(180deg, rgba(220, 232, 255, 0.99) 0%, rgba(206, 222, 252, 0.98) 100%);
  border-color: rgba(72, 104, 182, 0.34);
}

.listing-filter-trigger-mobile {
  min-width: 2.75rem;
}

.listing-filter-reset-btn,
.listing-filter-apply-btn {
  border-radius: var(--ratelo-button-radius);
  font-size: 0.875rem;
}

.listing-filter-attribute-group {
  padding-top: 0.4rem;
  border-top: 1px dashed rgba(15, 23, 42, 0.08);
}

.listing-filter-range {
  min-width: 0;
}

.listing-filter-range > .form-control {
  min-width: 0;
  flex: 1 1 0;
}

.listing-filter-reset-btn {
  background: rgba(236, 243, 255, 0.78);
  border: 1px solid rgba(91, 123, 204, 0.18);
  color: #35518a;
}

.listing-filter-reset-btn:hover,
.listing-filter-reset-btn:focus-visible {
  background: rgba(228, 238, 255, 0.92);
  border-color: rgba(78, 111, 193, 0.28);
  color: #2d4679;
}

.listing-filter-apply-btn {
  background: linear-gradient(180deg, #7ea5f2 0%, #6588d8 100%);
  border: 1px solid rgba(72, 104, 182, 0.55);
  color: #fff;
}

.listing-filter-apply-btn:hover,
.listing-filter-apply-btn:focus-visible {
  background: linear-gradient(180deg, #7299e8 0%, #5c7fcb 100%);
  border-color: rgba(62, 91, 163, 0.62);
  color: #fff;
}

.listing-filter-dropdown {
  width: min(28rem, 100vw - 2rem);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--ratelo-surface-radius);
  box-shadow: 0 1rem 2.4rem rgba(15, 23, 42, 0.12);
}

.listing-filter-form .form-control,
.listing-filter-form .form-select {
  font-size: 0.875rem;
}

.listing-filter-form .form-control-sm,
.listing-filter-form .form-select-sm {
  border-radius: 0.8rem;
}

.listing-filter-form .input-group-sm > .form-control,
.listing-filter-form .input-group-sm > .form-select {
  min-height: calc(1.4em + 0.6rem + 2px);
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}

.listing-filter-form .input-group-sm > .form-control {
  padding-left: 0.72rem;
  padding-right: 0.72rem;
}

.listing-filter-form .input-group-sm > .form-select {
  padding-left: 0.65rem;
  padding-right: 2rem;
}

.listing-filter-location-row {
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
}

.listing-filter-location-field {
  flex: 1 1 auto;
  min-width: 0;
}

.listing-filter-radius-field {
  flex: 0 0 8.1rem;
}

.listing-filter-radius-select {
  width: 100%;
  min-height: calc(1.4em + 0.6rem + 2px);
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  padding-left: 0.65rem;
}

.listing-filter-radius-icon {
  min-width: 2.55rem;
  justify-content: center;
  color: #6a7da8;
  background: radial-gradient(circle at top, rgba(95, 133, 191, 0.12), rgba(95, 133, 191, 0) 62%), linear-gradient(180deg, rgba(248, 250, 253, 0.98) 0%, rgba(240, 245, 249, 0.96) 100%);
  border-color: rgba(124, 135, 159, 0.18);
}

.listing-filter-radius-icon .ph {
  font-size: 0.9rem;
}

.listing-filter-location-button {
  min-width: 2.7rem;
  padding-inline: 0.65rem;
}

.listing-filter-form .listing-filter-location-button .ph {
  font-size: 0.92rem;
}

.listing-filter-form .address-autocomplete-results {
  top: calc(100% + 0.35rem);
  border-radius: 0.8rem;
  overflow: hidden;
}

.listing-filter-form select.listing-filter-select:not(.select2-hidden-accessible) {
  min-height: calc(1.4em + 0.6rem + 2px);
  padding: 0.35rem 2rem 0.35rem 0.72rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(124, 135, 159, 0.22);
  background: linear-gradient(180deg, rgba(251, 252, 254, 0.98) 0%, rgba(245, 248, 252, 0.96) 100%);
  font-size: 0.875rem;
  line-height: 1.4;
  color: #314154;
  box-shadow: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.listing-filter-form .select2-container .select2-selection--single {
  min-height: calc(1.4em + 0.6rem + 2px);
  padding: 0.35rem 2rem 0.35rem 0.72rem;
  border-radius: 0.8rem;
  background: linear-gradient(180deg, rgba(251, 252, 254, 0.98) 0%, rgba(245, 248, 252, 0.96) 100%);
  box-shadow: none;
}

.listing-filter-form .select2-container--default .select2-selection--single .select2-selection__rendered {
  font-size: 0.875rem;
  line-height: 1.4;
}

.listing-filter-form .select2-container--default .select2-selection--single .select2-selection__arrow {
  right: 0.55rem;
}

.listing-filter-form .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-width: 4px 4px 0 4px;
}

.listing-filter-form .select2-search--dropdown {
  padding: 0.55rem;
}

.listing-filter-form .select2-container--default .select2-search--dropdown .select2-search__field {
  min-height: calc(1.4em + 0.6rem + 2px);
  padding: 0.35rem 0.6rem;
}

.listing-filter-form .select2-results__option {
  padding: 0.45rem 0.7rem;
  font-size: 0.875rem;
}

@media (max-width: 575.98px) {
  .listing-filter-radius-field {
    flex-basis: 7rem;
  }
}
.listing-filter-chip:not(.btn-primary) {
  flex: 0 0 auto;
  color: var(--ratelo-accent-deep);
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(124, 135, 159, 0.18);
}

.listing-filter-chip:not(.btn-primary):hover,
.listing-filter-chip:not(.btn-primary):focus-visible {
  color: var(--ratelo-accent-deep);
  background: rgba(245, 248, 246, 0.98);
  border-color: rgba(111, 148, 129, 0.24);
}

.listing-filter-chip.btn-primary,
.listing-filter-chip.btn-primary:hover,
.listing-filter-chip.btn-primary:focus-visible {
  color: #fff;
}

.listing-filter-chip.btn-primary .category-option-icon,
.listing-filter-chip.btn-primary:hover .category-option-icon,
.listing-filter-chip.btn-primary:focus-visible .category-option-icon {
  color: #fff;
}

.listing-active-filters {
  margin-top: 0;
}

.listing-active-filter-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  max-width: min(100%, 36rem);
  padding: 0.28rem 0.32rem 0.28rem 0.72rem;
  border: 1px solid rgba(91, 123, 204, 0.2);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(241, 246, 255, 0.98) 0%, rgba(230, 239, 255, 0.96) 100%);
  color: #35518a;
  box-shadow: 0 0.45rem 1rem rgba(91, 123, 204, 0.1);
}

.listing-active-filter-content {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.38rem;
  min-width: 0;
}

.listing-active-filter-segment {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
  font-size: 0.84rem;
  font-weight: 600;
}

.listing-active-filter-segment .ph {
  font-size: 0.82rem;
}

.listing-active-filter-segment-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.listing-active-filter-divider {
  flex: 0 0 auto;
  color: #6a7da8;
  font-size: 0.72rem;
}

.listing-active-filter-clear,
.listing-filter-compact-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.7rem;
  height: 1.7rem;
  border: 1px solid rgba(91, 123, 204, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #35518a;
  text-decoration: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.listing-active-filter-clear:hover,
.listing-active-filter-clear:focus-visible,
.listing-filter-compact-clear:hover,
.listing-filter-compact-clear:focus-visible {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(78, 111, 193, 0.3);
  color: #2d4679;
}

.listing-active-filter-clear:active,
.listing-filter-compact-clear:active {
  transform: scale(0.96);
}

.listing-active-filter-clear .ph,
.listing-filter-compact-clear .ph {
  font-size: 0.8rem;
}

.category-option-icon {
  color: var(--ratelo-accent-deep);
}

.select2-container {
  width: 100% !important;
}

@media (max-width: 767.98px) {
  .listing-filters-shell {
    gap: 0.38rem;
    padding-bottom: 0.24rem;
  }
  .listing-filter-compact-surface {
    padding: 0.3rem 0.34rem;
  }
  .listing-filter-compact {
    gap: 0.34rem;
  }
  .listing-filter-compact-edit {
    gap: 0.34rem;
  }
  .listing-filter-compact-chip {
    max-width: min(15rem, 70vw);
    padding: 0.32rem 0.62rem;
    font-size: 0.79rem;
  }
  .listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact {
    gap: 0.28rem;
  }
  .listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact-edit {
    gap: 0.28rem;
  }
  .listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact-surface {
    padding: 0.22rem 0.26rem;
    background: linear-gradient(180deg, rgba(236, 243, 255, 0.34) 0%, rgba(224, 235, 255, 0.2) 100%);
    border-color: rgba(91, 123, 204, 0.24);
    box-shadow: 0 0.42rem 0.98rem rgba(91, 123, 204, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(6px) saturate(120%);
    -webkit-backdrop-filter: blur(6px) saturate(120%);
  }
  .listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact-chip {
    padding: 0.24rem 0.52rem;
    font-size: 0.74rem;
  }
  .listing-filters-shell.is-stuck.listing-filters-shell--has-compact .listing-filter-compact-clear {
    width: 1.48rem;
    height: 1.48rem;
  }
  .listing-filter-modal .modal-dialog,
  .listing-filter-modal .modal-content,
  .listing-filter-modal .modal-body {
    overflow: visible;
  }
  .listing-filter-modal .modal-body {
    padding-bottom: 1rem;
  }
  .listing-filter-modal .listing-filter-location-field {
    z-index: 2;
  }
  .listing-active-filter-badge {
    max-width: 100%;
  }
  .listing-filter-trigger-mobile {
    min-width: 3rem;
  }
  .listing-filter-trigger-mobile .ph {
    font-size: 1rem;
  }
  .listing-filter-modal .address-autocomplete-results {
    z-index: 1080;
    max-height: min(14rem, 45vh);
  }
  .modal .address-autocomplete-results {
    max-height: min(14rem, 45vh);
    overflow-y: auto;
  }
}
.select2-container .select2-selection--single {
  min-height: calc(1.45em + 0.84rem + 2px);
  border: 1px solid rgba(124, 135, 159, 0.18);
  border-radius: var(--ratelo-form-radius);
  background: linear-gradient(180deg, rgba(251, 252, 254, 0.98) 0%, rgba(243, 247, 251, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 0.45rem 1.1rem rgba(15, 23, 42, 0.03);
  display: flex;
  align-items: center;
  padding: 0.56rem 2.4rem 0.56rem 0.8rem;
  cursor: text;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #314154;
  line-height: 1.45;
  padding: 0;
  font-size: 0.9rem;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder,
.select2-container--default .select2-selection--single .select2-selection__rendered {
  pointer-events: none;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #98a3b6;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: 0.7rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #64748b transparent transparent transparent;
  border-width: 5px 4px 0 4px;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default .select2-selection--single:hover,
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: rgba(124, 135, 159, 0.28);
  background: linear-gradient(180deg, rgba(252, 253, 255, 0.99) 0%, rgba(246, 249, 252, 0.98) 100%);
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: rgba(124, 135, 159, 0.42);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 0 0 0.24rem rgba(124, 135, 159, 0.12), 0 0.6rem 1.35rem rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.88);
  transform: translateY(-1px);
}

.select2-dropdown {
  border-color: rgba(15, 23, 42, 0.12);
  border-radius: 0.75rem;
  box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.1);
  overflow: hidden;
}

.select2-search--dropdown {
  padding: 0.65rem;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 0.6rem;
  padding: 0.45rem 0.65rem;
  min-height: calc(1.45em + 0.84rem + 2px);
}

.select2-results__option {
  padding: 0.55rem 0.75rem;
  font-size: 0.9375rem;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--ratelo-accent-soft);
  color: var(--ratelo-accent-deep);
}

.installment-slider-badge {
  color: var(--ratelo-accent-deep);
  background-color: var(--ratelo-accent-soft) !important;
}

.listing-installment-hint-info-icon {
  width: 0.95em;
  height: 0.95em;
  display: inline-block;
}

.listing-installment-markup-aside {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  height: 100%;
}

.listing-installment-markup-aside-placeholder {
  margin: 0;
}

.listing-installment-markup-hint {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.listing-installment-markup-aside-recommended {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed rgba(124, 135, 159, 0.25);
}

.listing-installment-markup-aside-kicker {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ratelo-ink-300, #6b7280);
}

.listing-installment-markup-aside-amount {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ratelo-secondary-deep);
  line-height: 1.1;
}

.listing-installment-markup-breakdown {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
}

.listing-installment-markup-breakdown-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.25;
}

.listing-installment-markup-breakdown-term {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  color: var(--ratelo-ink-700, #4b5563);
  font-weight: 500;
}

.listing-installment-markup-breakdown-value {
  margin: 0;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--ratelo-secondary-deep);
  white-space: nowrap;
}

.listing-installment-markup-breakdown-info {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ratelo-ink-300, #9ca3af);
  cursor: pointer;
  transition: color 0.15s ease, transform 0.15s ease;
  border-radius: 999px;
}
.listing-installment-markup-breakdown-info:hover, .listing-installment-markup-breakdown-info:focus-visible {
  color: var(--ratelo-secondary-deep);
}
.listing-installment-markup-breakdown-info:focus-visible {
  outline: 2px solid var(--ratelo-secondary-soft, rgba(124, 135, 159, 0.35));
  outline-offset: 2px;
}
.listing-installment-markup-breakdown-info[aria-describedby] {
  color: var(--ratelo-secondary-deep);
}

.installment-helper-summary {
  border-color: rgba(111, 148, 129, 0.2) !important;
}

.installment-summary-primary {
  color: var(--ratelo-accent-deep);
}

.installment-summary-secondary {
  color: var(--ratelo-secondary-deep);
}

.address-autocomplete-results {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  right: 0;
  z-index: 1050;
  max-height: 18rem;
  overflow-y: auto;
  border-radius: 0.85rem;
}

.form-range::-webkit-slider-thumb {
  background: var(--ratelo-accent-deep);
}

.form-range::-moz-range-thumb {
  background: var(--ratelo-accent-deep);
  border: 0;
}

.ratelo-request-summary-card {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.ratelo-request-summary-label {
  color: #7a8b81;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-request-summary-value {
  color: var(--ratelo-accent-deep);
  font-size: 1.05rem;
  line-height: 1.35;
}

.ratelo-request-summary-card--danger {
  background: #c44e55;
  border: 1px solid transparent;
  border-radius: var(--ratelo-surface-radius);
  box-shadow: 0 0.9rem 2rem rgba(196, 78, 85, 0.2) !important;
}

.ratelo-request-summary-card--danger .ratelo-request-summary-label {
  color: rgba(255, 255, 255, 0.76);
}

.ratelo-request-summary-card--danger .ratelo-request-summary-value {
  color: #fff;
}

.ratelo-request-window {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 1.75rem !important;
  border: 1px solid rgba(15, 23, 42, 0.1);
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.14), rgba(124, 135, 159, 0) 28%), linear-gradient(180deg, rgba(249, 251, 252, 0.98) 0%, rgba(243, 247, 249, 0.98) 100%);
  box-shadow: 0 1rem 2.4rem rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.ratelo-request-window > * {
  flex-shrink: 0;
}

.ratelo-request-window > .ratelo-request-window-body {
  flex: 1 1 auto;
  min-height: 0;
}

.ratelo-request-window::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 24%);
}

.ratelo-request-window-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.18), rgba(124, 135, 159, 0) 42%), linear-gradient(180deg, rgba(250, 251, 253, 0.98) 0%, rgba(243, 246, 249, 0.98) 100%);
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  color: var(--ratelo-accent-deep);
}

.ratelo-request-window--success .ratelo-request-window-header {
  background: radial-gradient(circle at top right, rgba(93, 116, 102, 0.24), rgba(93, 116, 102, 0) 42%), linear-gradient(180deg, rgba(248, 251, 249, 0.98) 0%, rgba(238, 244, 240, 0.98) 100%);
}

.ratelo-request-window--info .ratelo-request-window-header {
  background: radial-gradient(circle at top right, rgba(95, 133, 191, 0.24), rgba(95, 133, 191, 0) 42%), linear-gradient(180deg, rgba(248, 250, 255, 0.98) 0%, rgba(237, 243, 252, 0.98) 100%);
}

.ratelo-request-window--danger .ratelo-request-window-header {
  background: radial-gradient(circle at top right, rgba(97, 107, 129, 0.22), rgba(97, 107, 129, 0) 42%), linear-gradient(180deg, rgba(249, 250, 252, 0.98) 0%, rgba(240, 243, 248, 0.98) 100%);
}

.ratelo-request-window--neutral .ratelo-request-window-header {
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.2), rgba(124, 135, 159, 0) 42%), linear-gradient(180deg, rgba(250, 251, 253, 0.98) 0%, rgba(242, 245, 249, 0.98) 100%);
}

.ratelo-request-window-identity {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
}

.ratelo-request-window-avatar {
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(124, 135, 159, 0.14);
  color: var(--ratelo-accent-deep);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-request-window-meta {
  min-width: 0;
  display: grid;
  gap: 0.1rem;
}

.ratelo-request-window-name {
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
}

.ratelo-request-window-subtitle {
  display: block;
  font-size: 0.76rem;
  color: #718092;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ratelo-request-window-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.ratelo-request-window-status-badge {
  min-width: 5.2rem;
  padding: 0.3rem 0.65rem;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.ratelo-request-window-body {
  display: grid;
  gap: 1rem;
  padding: 1.1rem 1.15rem 0.95rem;
  background: transparent;
  max-height: min(52vh, 32rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ratelo-request-window-body > * {
  min-width: 0;
}

.ratelo-request-message-stack {
  display: grid;
  gap: 1rem;
}

.ratelo-request-message-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.ratelo-request-message-row--own {
  flex-direction: row-reverse;
}

.ratelo-request-message-row--enter-left {
  animation: ratelo-request-message-in-left 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ratelo-request-message-row--enter-right {
  animation: ratelo-request-message-in-right 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ratelo-request-message-avatar {
  width: 1.95rem;
  height: 1.95rem;
  flex: 0 0 1.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef3f1;
  color: var(--ratelo-accent-deep);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-request-message-avatar--own {
  background: rgba(111, 148, 129, 0.16);
}

.ratelo-request-message-card {
  max-width: min(100%, 34rem);
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 1.1rem;
  background: #f4f7f6;
}

.ratelo-request-message-meta {
  display: flex;
  align-items: baseline;
  gap: 0.35rem 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}

.ratelo-request-message-row--own .ratelo-request-message-meta {
  justify-content: flex-end;
}

.ratelo-request-message-name {
  color: var(--ratelo-accent-deep);
  font-size: 0.81rem;
  font-weight: 700;
}

.ratelo-request-message-time {
  color: #819188;
  font-size: 0.72rem;
}

.ratelo-request-message-copy {
  color: var(--ratelo-accent-deep);
  font-size: 0.9rem;
  line-height: 1.58;
}

.ratelo-request-message-details {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(15, 23, 42, 0.07);
}

.ratelo-request-message-detail-label {
  display: block;
  margin-bottom: 0.2rem;
  color: #819188;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-request-amount-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-top: 0.75rem;
  padding: 0.36rem 0.72rem;
  border-radius: 999px;
  background: #c44e55;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
}

.ratelo-request-window-footer {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  background: transparent;
  padding: 0.95rem 1.15rem 1.05rem;
}

.ratelo-request-window-footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  flex-wrap: wrap;
}

.ratelo-request-offer-slot {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 12rem;
}

.ratelo-request-switch-form {
  display: flex;
  flex: 0 0 auto;
}

.ratelo-request-window-footer-actions {
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
  flex: 0 1 auto;
}

.ratelo-request-window-footer-actions--centered {
  width: 100%;
  justify-content: center;
  margin-left: 0;
}

.ratelo-request-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
  white-space: nowrap;
}

.ratelo-request-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ratelo-request-switch-track {
  position: relative;
  width: 2.7rem;
  height: 1.55rem;
  border-radius: 999px;
  background: rgba(111, 148, 129, 0.24);
  transition: background-color 0.18s ease;
}

.ratelo-request-switch-thumb {
  position: absolute;
  top: 0.16rem;
  left: 0.16rem;
  width: 1.22rem;
  height: 1.22rem;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0.2rem 0.45rem rgba(15, 23, 42, 0.16);
  transition: transform 0.18s ease;
}

.ratelo-request-switch input:checked + .ratelo-request-switch-track {
  background: rgba(111, 148, 129, 0.72);
}

.ratelo-request-switch input:checked + .ratelo-request-switch-track .ratelo-request-switch-thumb {
  transform: translateX(1.15rem);
}

.ratelo-request-switch-label {
  color: var(--ratelo-accent-deep);
  font-size: 0.78rem;
  font-weight: 600;
}

.ratelo-request-composer-shell {
  display: grid;
  gap: 0.55rem;
}

.ratelo-request-window--problem-report {
  border: 1px solid rgba(124, 135, 159, 0.16);
  border-radius: 1rem;
  overflow: hidden;
}

.ratelo-request-window--problem-report .ratelo-request-window-body {
  min-height: 12rem;
}

.ratelo-request-composer-input-wrap--inline-actions {
  position: relative;
}

.ratelo-buyer-report-start .ratelo-request-fulfillment-workflow-card--with-actions {
  grid-template-columns: minmax(0, 1fr);
}

.ratelo-buyer-report-start-actions.ratelo-request-fulfillment-actions {
  justify-self: stretch;
  width: 100%;
  max-width: none;
}

.ratelo-buyer-report-start-form.button_to {
  display: block;
  width: 100%;
  margin: 0;
}

.ratelo-buyer-report-start-form .btn {
  width: 100%;
}

.ratelo-request-composer-input--with-inline-actions {
  padding: 0.6rem 1rem 2.45rem 1rem !important;
}

.ratelo-request-composer-inline-actions {
  position: absolute;
  left: 0.5rem;
  right: 0.5rem;
  bottom: 0.45rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  z-index: 4;
  pointer-events: none;
}

.ratelo-request-composer-attachment-names {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.22rem;
  min-width: 0;
  flex: 1 1 auto;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  pointer-events: auto;
  -webkit-overflow-scrolling: touch;
}

.ratelo-request-composer-attachment-names::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.ratelo-request-composer-inline-actions-trailing {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  margin-left: auto;
  pointer-events: auto;
}

.ratelo-request-composer-attachment-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
  flex: 0 0 auto;
  max-width: 10.5rem;
  padding: 0.08rem 0.2rem 0.08rem 0.42rem;
  border-radius: 999px;
  font-size: 0.72rem;
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: var(--bs-body-color);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(111, 148, 129, 0.38);
  box-shadow: 0 0.06rem 0.2rem rgba(15, 23, 42, 0.05);
}

.ratelo-request-composer-attachment-chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  max-width: 8.75rem;
}

.ratelo-request-composer-attachment-chip-remove {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  font-size: 0.85rem;
  line-height: 1;
  color: rgba(51, 65, 85, 0.75);
  background: transparent;
}

.ratelo-request-composer-attachment-chip-remove:hover,
.ratelo-request-composer-attachment-chip-remove:focus-visible {
  color: var(--bs-danger);
  background: rgba(220, 53, 69, 0.08);
}

.ratelo-request-composer-inline-actions .ratelo-request-composer-attach-btn,
.ratelo-request-composer-inline-actions .ratelo-request-composer-send {
  pointer-events: auto;
}

.ratelo-request-composer-attach-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  margin: 0;
  border-radius: 999px;
  border: 1px solid rgba(111, 148, 129, 0.45);
  background: rgba(255, 255, 255, 0.96);
  color: var(--ratelo-secondary-accent);
  box-shadow: 0 0.12rem 0.35rem rgba(15, 23, 42, 0.06);
}

.ratelo-request-composer-attach-btn:hover,
.ratelo-request-composer-attach-btn:focus-visible {
  border-color: rgba(111, 148, 129, 0.65);
  background: rgba(247, 250, 248, 0.98);
  color: var(--ratelo-secondary-deep);
}

.ratelo-request-composer-inline-actions .ratelo-request-composer-send {
  position: static;
  min-width: 5.25rem;
}

.ratelo-request-composer {
  display: block;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(111, 148, 129, 0.22);
  border-radius: 1.3rem;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 0.4rem 1rem rgba(15, 23, 42, 0.04);
  backdrop-filter: blur(4px);
}

.ratelo-request-composer-input-wrap {
  position: relative;
  min-height: 5.35rem;
  overflow: hidden;
  border-radius: inherit;
}

.ratelo-request-price-input {
  min-height: 2.9rem;
  padding: 0.65rem 0.95rem;
  border-color: rgba(111, 148, 129, 0.18);
  border-radius: 999px;
  background: #f7faf8;
  color: var(--ratelo-accent-deep);
  font-size: 0.88rem;
  font-weight: 700;
  box-shadow: none !important;
}

.ratelo-request-price-input:focus {
  border-color: rgba(111, 148, 129, 0.45);
}

.ratelo-request-composer-input {
  display: block;
  width: 100%;
  min-height: 5.35rem;
  padding: 0.6rem 7rem 1rem 1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ratelo-accent-deep);
  font-size: 0.9rem;
  line-height: 1.55;
  resize: none;
  background-clip: padding-box;
  box-shadow: none !important;
}

.ratelo-request-composer-input:focus {
  background: transparent;
}

.ratelo-request-composer-input::placeholder {
  color: #92a29a;
}

.ratelo-request-composer-input:disabled {
  background: #edf1ef !important;
  color: #7d8b97;
  -webkit-text-fill-color: #7d8b97;
  cursor: not-allowed;
}

.ratelo-request-composer-send {
  position: absolute;
  right: 0.6rem;
  bottom: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  min-width: 5.25rem;
  padding: 0.48rem 0.82rem;
  border: 0;
  border-radius: 999px;
  background: var(--ratelo-secondary-accent);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
  z-index: 3;
}

.ratelo-request-composer-send:hover,
.ratelo-request-composer-send:focus-visible {
  background: var(--ratelo-secondary-deep);
  color: #fff;
}

.ratelo-request-composer-send:disabled {
  background: #d6ddda;
  color: #7f8f87;
  cursor: default;
}

.ratelo-request-composer-note {
  color: #73877b;
  font-size: 0.78rem;
  line-height: 1.45;
}

.ratelo-request-composer-note--blocked {
  padding: 0.78rem 0.9rem;
  border: 1px solid rgba(196, 78, 85, 0.22);
  border-radius: 1rem;
  background: rgba(255, 233, 232, 0.98);
  color: #9e3940;
  font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.ratelo-request-offer-card {
  position: relative;
  display: grid;
  gap: 0.75rem;
  width: 100%;
  min-height: 0;
  align-content: start;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(196, 78, 85, 0.18);
  border-radius: 1.35rem;
  background: linear-gradient(135deg, #fff1df 0%, #ffe1d4 100%);
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62), 0 0.4rem 1rem rgba(196, 78, 85, 0.08);
}

.ratelo-request-offer-card > :not(.ratelo-request-offer-card-illustration) {
  position: relative;
  z-index: 1;
}

.ratelo-request-offer-card-illustration {
  position: absolute;
  top: 10%;
  right: 0.7rem;
  bottom: 10%;
  width: clamp(5.5rem, 15vw, 8rem);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  color: rgba(255, 255, 255, 0.94);
  line-height: 0;
  pointer-events: none;
  z-index: 0;
}

.ratelo-request-offer-card-illustration-icon {
  width: 100%;
  height: 100%;
}

.ratelo-request-offer-card--success {
  min-height: 8.25rem;
  padding-right: clamp(6.5rem, 19vw, 9.25rem);
  align-content: center;
  border-color: rgba(111, 148, 129, 0.22);
  background: linear-gradient(135deg, #ebf5ef 0%, #dcebe2 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 0.4rem 1rem rgba(73, 106, 90, 0.07);
}

.ratelo-request-offer-card--success .ratelo-request-offer-card-label {
  color: #4d6a5a;
}

.ratelo-request-offer-card--success .ratelo-request-offer-card-amount {
  color: #385142;
}

.ratelo-request-offer-card--success .ratelo-request-offer-card-meta,
.ratelo-request-offer-card--success .ratelo-request-offer-card-note {
  color: #6d8378;
}

.ratelo-request-offer-card--success .ratelo-request-offer-card-detail {
  background: rgba(255, 255, 255, 0.62);
  color: #496a5a;
}

.ratelo-request-offer-card--success .ratelo-request-offer-card-detail-label {
  color: #6d8378;
}

.ratelo-request-offer-card--danger {
  border-color: rgba(196, 78, 85, 0.22);
  background: linear-gradient(135deg, #ffe9e8 0%, #ffd7d9 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66), 0 0.4rem 1rem rgba(196, 78, 85, 0.08);
}

.ratelo-request-offer-card--danger .ratelo-request-offer-card-label {
  color: #a1444b;
}

.ratelo-request-offer-card--danger .ratelo-request-offer-card-amount {
  color: #922f39;
}

.ratelo-request-offer-card--danger .ratelo-request-offer-card-meta,
.ratelo-request-offer-card--danger .ratelo-request-offer-card-note {
  color: #a0676e;
}

.ratelo-request-offer-card--danger .ratelo-request-offer-card-detail {
  background: rgba(255, 255, 255, 0.62);
  color: #934750;
}

.ratelo-request-offer-card--danger .ratelo-request-offer-card-detail-label {
  color: #b06c74;
}

.ratelo-request-offer-card--workflow {
  border-color: rgba(77, 108, 149, 0.2);
  background: linear-gradient(135deg, #edf4fb 0%, #dce8f6 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 0.4rem 1rem rgba(61, 93, 132, 0.08);
}

.ratelo-request-offer-card--workflow .ratelo-request-offer-card-label {
  color: #4d6886;
}

.ratelo-request-offer-card--workflow .ratelo-request-offer-card-meta {
  color: #617b99;
}

.ratelo-request-offer-card--workflow .ratelo-request-offer-card-detail {
  background: rgba(255, 255, 255, 0.68);
  color: #46627e;
}

.ratelo-request-offer-card--workflow .ratelo-request-offer-card-detail-label {
  color: #6d84a0;
}

.ratelo-request-offer-card-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.9rem;
}

.ratelo-request-offer-card-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.ratelo-request-offer-card-primary {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.ratelo-request-offer-card-label {
  color: #98543f;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-request-offer-card-amount {
  color: #8f3d33;
  font-size: 1.28rem;
  font-weight: 800;
  line-height: 1.05;
}

.ratelo-request-offer-status-chip {
  display: inline-flex;
  align-self: baseline;
  align-items: center;
  justify-content: center;
  min-height: 1.4rem;
  padding: 0.32rem 0.62rem;
  border-radius: 999px;
  background: rgba(61, 97, 78, 0.12);
  color: #355444;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ratelo-request-offer-card-meta {
  color: #9d6b55;
  font-size: 0.78rem;
  line-height: 1.45;
}

.ratelo-request-offer-card-meta-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ratelo-request-offer-card-detail {
  display: grid;
  gap: 0.15rem;
  min-width: 12.5rem;
  padding: 0.72rem 0.85rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.56);
  color: #8d543f;
}

.ratelo-request-offer-card-link {
  color: inherit;
}

.ratelo-request-offer-card-link--status {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  margin-left: auto;
  color: var(--ratelo-accent-deep);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

.ratelo-request-offer-card-link-icon {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}

.ratelo-request-offer-card-link:hover,
.ratelo-request-offer-card-link:focus-visible {
  color: #6e281f;
  text-decoration: underline !important;
}

.ratelo-request-offer-compare-list {
  display: grid;
}

.ratelo-request-offer-compare-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid rgba(124, 135, 159, 0.14);
}

.ratelo-request-offer-compare-row:last-child {
  border-bottom: none;
}

.ratelo-request-offer-compare-name {
  color: #455468;
  font-size: 0.95rem;
  font-weight: 600;
}

.ratelo-request-offer-compare-amount {
  font-size: 0.95rem;
  font-weight: 700;
  white-space: nowrap;
}

.ratelo-request-offer-compare-amount--higher {
  color: #2f7d4f;
}

.ratelo-request-offer-compare-amount--lower {
  color: #b14a4f;
}

.ratelo-request-offer-compare-amount--current {
  color: #5b6675;
}

.ratelo-request-offer-card-detail-label {
  color: #a0674d;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-request-offer-card-actions {
  display: flex;
  align-items: center;
  width: 50%;
  justify-content: center;
  margin-left: auto;
  gap: 0.55rem;
  flex-wrap: nowrap;
}

.ratelo-request-offer-card-actions .ratelo-request-composer-button {
  flex: 1 1 0;
}

.ratelo-request-offer-card-actions--inline {
  width: auto;
  margin-left: 0;
  justify-content: flex-start;
  gap: 0.38rem;
}

.ratelo-request-offer-card-actions--inline .ratelo-request-composer-button {
  flex: 0 0 auto;
  min-width: 4.7rem;
  min-height: 2.2rem;
  padding: 0.38rem 0.68rem;
  font-size: 0.74rem;
}

.ratelo-request-offer-card-note {
  color: #8c654f;
  font-size: 0.78rem;
  line-height: 1.45;
}

.ratelo-request-offer-card-note--blocked {
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(196, 78, 85, 0.22);
  border-radius: 1rem;
  background: rgba(255, 233, 232, 0.98);
  color: #9e3940;
  font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.ratelo-request-message-card--offer-withdrawn {
  opacity: 0.7;
}

.ratelo-request-message-card--offer-withdrawn .ratelo-request-amount-badge {
  background: rgba(100, 116, 139, 0.12);
  color: #64748b;
  border-color: transparent;
  text-decoration: line-through;
  text-decoration-color: rgba(100, 116, 139, 0.6);
}

.ratelo-request-message-card--offer-withdrawn .ratelo-request-message-withdrawn-note {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #64748b;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.ratelo-request-workflow-card-title {
  color: #2f4c69;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.2;
}

.ratelo-request-fulfillment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.ratelo-request-offer-card-detail--workflow {
  min-width: 0;
  align-content: start;
}

.ratelo-request-fulfillment-note {
  color: #617b99;
  font-size: 0.8rem;
  line-height: 1.45;
}

.ratelo-request-fulfillment-summary {
  color: #46627e;
  font-size: 0.84rem;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ratelo-request-fulfillment-list {
  display: grid;
  gap: 0.14rem;
  padding: 0;
  list-style: none;
  color: inherit;
  font-size: 0.84rem;
}

.ratelo-request-fulfillment-button-grid {
  display: grid;
  gap: 0.5rem;
  margin-top: 0;
}

.ratelo-request-fulfillment-button-grid--pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ratelo-request-fulfillment-button-grid--delivery {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.ratelo-request-fulfillment-button-grid--delivery .ratelo-request-fulfillment-button-slot {
  flex: 1 1 8.5rem;
}

.ratelo-request-fulfillment-button-grid--delivery .ratelo-request-fulfillment-button-slot--saved {
  flex: 2 1 11rem;
}

.ratelo-request-fulfillment-button-slot {
  min-width: 0;
}

.ratelo-request-fulfillment-button {
  min-width: 0;
  width: 100%;
  min-height: 2rem;
  padding: 0.38rem 0.68rem;
  font-size: 0.74rem;
  white-space: nowrap;
}

.ratelo-request-fulfillment-button--address {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}

.ratelo-request-fulfillment-address-text {
  display: block;
  width: 100%;
  color: inherit;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
}

/* Full IBAN in share button (seller): allow wrap; no nested reveal control inside button */
.ratelo-request-fulfillment-button--iban-share.ratelo-request-fulfillment-button--address {
  white-space: normal;
  overflow: visible;
}

.ratelo-request-fulfillment-iban-in-button {
  white-space: normal !important;
  overflow: visible;
  text-overflow: clip;
  word-break: break-word;
}

.ratelo-request-overview-stack {
  display: grid;
  gap: 1rem;
}

.purchase-request-relist-action {
  width: 100%;
}

.ratelo-overview-review-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: 0.65rem;
}

.btn.ratelo-fulfillment-step-review-cta,
.btn.ratelo-fulfillment-step-review-cta:focus,
.btn.ratelo-fulfillment-step-review-cta:active {
  background-color: var(--ratelo-success);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 1px 1px rgba(39, 117, 90, 0.12);
}

.btn.ratelo-fulfillment-step-review-cta:hover,
.btn.ratelo-fulfillment-step-review-cta:focus-visible {
  background-color: var(--ratelo-success-deep);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 2px 6px rgba(39, 117, 90, 0.22);
}

.ratelo-overview-review-metric {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  min-width: 0;
}

.ratelo-overview-review-metric-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--ratelo-secondary-deep);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.ratelo-overview-review-metric-icon {
  font-size: 0.95rem;
}

.ratelo-overview-review-stars .ratelo-rating-display {
  font-size: 0.95rem;
}

.purchase-request-relist-mobile-cta {
  position: fixed;
  z-index: 1040;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 1rem;
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
  background-color: #fff;
  border-top: 1px solid var(--ratelo-card-border);
  border-top-left-radius: var(--ratelo-surface-radius);
  border-top-right-radius: var(--ratelo-surface-radius);
  box-shadow: 0 -0.35rem 1.1rem rgba(15, 23, 42, 0.06);
}

.purchase-request-relist-mobile-spacer {
  flex-shrink: 0;
  min-height: calc(4rem + max(0.75rem, env(safe-area-inset-bottom, 0px)));
  pointer-events: none;
}

.purchase-request-scroll-top {
  position: fixed;
  left: max(1rem, env(safe-area-inset-left, 0px));
  right: auto;
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  z-index: 1039;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  padding: 0;
  border: 1px solid rgba(111, 148, 129, 0.24);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: var(--ratelo-accent-deep);
  line-height: 1;
  box-shadow: 0 0.45rem 1.1rem rgba(15, 23, 42, 0.12);
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.35rem);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.purchase-request-scroll-top .ph-icon {
  font-size: 1.35rem;
}

.purchase-request-scroll-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.purchase-request-scroll-top--above-relist {
  bottom: calc(4.85rem + env(safe-area-inset-bottom, 0px));
}

.ratelo-request-overview-card {
  position: relative;
  border: 1px solid rgba(124, 135, 159, 0.14) !important;
  border-radius: 1.25rem !important;
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.1), rgba(124, 135, 159, 0) 34%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 248, 252, 0.98) 100%) !important;
  box-shadow: 0 0.8rem 1.8rem rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.62) !important;
}

.ratelo-request-overview-card .card-body {
  display: grid;
  gap: 0.72rem;
  padding: 1.15rem 1.2rem;
}

.ratelo-request-overview-card-actions {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 3;
}

.ratelo-request-overview-card-actions + .ratelo-fulfillment-stepper {
  padding-right: 2.25rem;
}

.ratelo-request-overview-section {
  display: grid;
  gap: 0.55rem;
}

.ratelo-request-overview-section + .ratelo-request-overview-section {
  padding-top: 1rem;
  margin-top: 0.1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.07);
}

/* Direct-purchase fulfillment overview — vertical stepper */
.ratelo-request-overview-card--stepper .card-body {
  gap: 0.35rem;
}

.ratelo-request-overview-card--stepper {
  /* Title row can sit slightly taller than the compact dots for readable caps. */
}
.ratelo-request-overview-card--stepper .ratelo-fulfillment-step-title {
  min-height: 1rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}
.ratelo-request-overview-card--stepper {
  /* Toolbar row: kill subheading margin-bottom + match icon button height. */
}
.ratelo-request-overview-card--stepper .ratelo-fulfillment-label-toolbar-label.ratelo-fulfillment-step-subheading {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0;
  line-height: 1.1;
  height: 2.25rem;
  min-height: 2.25rem;
  max-height: 2.25rem;
  padding: 0;
}

.ratelo-fulfillment-stepper {
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Rail wraps every step except the last so the spine + shimmer stop at the final dot. */
.ratelo-fulfillment-stepper-rail {
  position: relative;
  display: flex;
  flex-direction: column;
}

/* Single spine + one travelling shimmer (matches left dot column). */
.ratelo-fulfillment-stepper-spine {
  position: absolute;
  left: 0.575rem;
  top: 0.475rem; /* center of the first dot */
  bottom: 0; /* rail bottom = top of the next (last) step's dot */
  width: 2px;
  transform: translateX(-50%);
  z-index: 0;
  border-radius: 1px;
  background: rgba(111, 148, 129, 0.22);
  overflow: hidden;
  pointer-events: none;
}

.ratelo-fulfillment-stepper-spine::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 28%;
  background: linear-gradient(to bottom, transparent 0%, rgba(111, 148, 129, 0.55) 50%, transparent 100%);
  opacity: 0.95;
  animation: ratelo-fulfillment-stepper-spine-flow 3.2s ease-in-out infinite;
}

@keyframes ratelo-fulfillment-stepper-spine-flow {
  0% {
    transform: translateY(-140%);
  }
  100% {
    transform: translateY(420%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ratelo-fulfillment-stepper-spine::after {
    animation: none;
  }
}
.ratelo-fulfillment-step {
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr);
  column-gap: 0.9rem;
  align-items: start;
  position: relative;
  padding-bottom: 1.15rem;
}

/* Only the very last step in the stepper drops the gap; the rail's last child keeps it
   so the spine reaches the next dot. */
.ratelo-fulfillment-stepper > .ratelo-fulfillment-step:last-child,
.ratelo-fulfillment-step--last {
  padding-bottom: 0;
}

.ratelo-fulfillment-step-track {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 1.15rem;
  min-height: 100%;
  isolation: isolate;
  z-index: 1;
}

/* Dots: lighter sage (same family as .ratelo-request-amount-badge--success); spine runs behind. */
.ratelo-fulfillment-step-dot {
  position: relative;
  z-index: 1;
  width: 0.95rem;
  height: 0.95rem;
  min-width: 0.95rem;
  min-height: 0.95rem;
  max-width: 0.95rem;
  max-height: 0.95rem;
  aspect-ratio: 1;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
  box-sizing: border-box;
  overflow: hidden;
}

.ratelo-fulfillment-step--done .ratelo-fulfillment-step-dot {
  border: none;
  background: #6f9481;
}

.ratelo-fulfillment-step--pending .ratelo-fulfillment-step-dot {
  border: 2px solid rgba(111, 148, 129, 0.42);
  background: var(--ratelo-surface);
}

.ratelo-fulfillment-step--locked .ratelo-fulfillment-step-dot {
  border: 2px dashed rgba(124, 135, 159, 0.36);
  background: var(--ratelo-surface);
}

.ratelo-fulfillment-step--locked .ratelo-fulfillment-step-title {
  color: rgba(124, 135, 159, 0.7);
}

.ratelo-fulfillment-step--locked .ratelo-fulfillment-step-plain {
  color: rgba(124, 135, 159, 0.85);
  font-style: italic;
}

.ratelo-fulfillment-step-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}

.ratelo-fulfillment-step-title {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #738395;
  /* min-height / line-height / display overridden in .ratelo-request-overview-card--stepper */
}

.ratelo-fulfillment-step-price {
  color: var(--ratelo-accent-deep);
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.05;
}

/* Bank details / address share the deep sage colour with the order value. */
.ratelo-fulfillment-step-value,
.ratelo-fulfillment-step-value .font-monospace {
  color: var(--ratelo-accent-deep);
}

.ratelo-fulfillment-step-plain {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.ratelo-delinquency-next-steps {
  display: flex;
  flex-direction: column;
  margin-top: 0.6rem;
  margin-bottom: 0.15rem;
}

.ratelo-delinquency-next-steps-rail {
  position: relative;
  display: flex;
  flex-direction: column;
}

.ratelo-delinquency-next-steps-spine {
  position: absolute;
  left: 0.41rem;
  top: 0.58rem;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  border-radius: 1px;
  background: rgba(204, 63, 80, 0.28);
  pointer-events: none;
}

.ratelo-delinquency-next-step {
  display: grid;
  grid-template-columns: 0.82rem minmax(0, 1fr);
  column-gap: 0.65rem;
  align-items: start;
  position: relative;
  padding-bottom: 0.85rem;
}

.ratelo-delinquency-next-step--last {
  padding-bottom: 0;
}

.ratelo-delinquency-next-step-track {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  width: 0.82rem;
  min-height: 100%;
}

.ratelo-delinquency-next-step-dot {
  width: 0.72rem;
  height: 0.72rem;
  min-width: 0.72rem;
  min-height: 0.72rem;
  border-radius: 50%;
  background: #cc3f50;
  box-shadow: 0 0 0 3px rgba(204, 63, 80, 0.12);
  margin-top: 0.22rem;
}

.ratelo-delinquency-next-step-body {
  color: rgba(65, 72, 89, 0.9);
  line-height: 1.45;
}

.ratelo-delinquency-next-step-body strong {
  color: #9f2638;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.2;
}

.ratelo-fulfillment-step-subheading {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #738395;
  margin-bottom: 0.2rem;
}

.ratelo-fulfillment-label-card {
  padding: 0.65rem 0.7rem;
  border: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 0.85rem;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(248, 250, 252, 0.72));
}

.ratelo-fulfillment-label-card-kicker {
  color: #738395;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.15;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.ratelo-fulfillment-label-card-toolbar {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) max-content;
  grid-template-rows: auto auto;
  column-gap: 0.5rem;
  row-gap: 0.3rem;
  align-items: center;
  justify-items: stretch;
}

.ratelo-fulfillment-label-card-toolbar-icons {
  grid-column: 1;
  grid-row: 1;
}

.ratelo-fulfillment-label-card-toolbar-cancel {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  min-width: 0;
}

.ratelo-fulfillment-label-card-toolbar-autocancel {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  align-self: start;
  text-align: right;
  max-width: 100%;
}

.ratelo-fulfillment-label-icon-btn {
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  max-width: 2rem;
  max-height: 2rem;
  aspect-ratio: 1;
  padding: 0;
  border-radius: 50%;
  box-sizing: border-box;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ratelo-fulfillment-label-icon-btn .ph-icon {
  display: block;
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  vertical-align: 0;
}

.ratelo-fulfillment-label-cancel-btn {
  height: 2rem;
  min-height: 2rem;
  max-height: 2rem;
  padding-block: 0;
  padding-inline: 0.65rem;
}

.ratelo-fulfillment-label-auto-cancel-meta {
  font-size: 0.74rem;
  line-height: 1.2;
}

.ratelo-fulfillment-label-auto-cancel-meta [data-countdown-target=display] {
  min-width: 5.5ch;
}

.ratelo-fulfillment-subchecks {
  display: grid;
  gap: 0.45rem;
}

.ratelo-fulfillment-subrow {
  display: grid;
  grid-template-columns: 1.15rem 1fr;
  column-gap: 0.35rem;
  align-items: start;
}

.ratelo-fulfillment-subrow-icon {
  padding-top: 0.12rem;
  line-height: 1;
}

.ratelo-fulfillment-subrow-body {
  min-width: 0;
}

.ratelo-fulfillment-subrow-meta {
  color: #738395;
}

.ratelo-request-overview-kicker {
  color: #738395;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ratelo-request-overview-title-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.ratelo-request-overview-title-row .ratelo-request-offer-status-chip {
  align-self: center;
}

.ratelo-request-overview-amount {
  color: var(--ratelo-accent-deep);
  font-size: 1.56rem;
  font-weight: 800;
  line-height: 1.02;
}

.ratelo-request-overview-title,
.ratelo-request-overview-summary-line {
  color: var(--ratelo-secondary-deep);
  font-size: 0.94rem;
  line-height: 1.4;
}

.ratelo-request-overview-summary-line {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Match `.ratelo-request-overview-section` kicker → body spacing (0.55rem grid gap) */
.ratelo-request-overview-invoice-main {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.ratelo-request-overview-invoice-layout {
  min-width: 0;
}

.ratelo-request-review-layout {
  min-width: 0;
}

.ratelo-request-review-main {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.ratelo-request-review-form {
  display: grid;
  gap: 1rem;
}

.ratelo-request-review-inline {
  display: grid;
  gap: 0.5rem;
}

.ratelo-request-review-inline-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ratelo-request-review-inline-label {
  color: #6f8092;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ratelo-request-review-inline .ratelo-rating-display {
  gap: 0.06rem;
}

.ratelo-request-review-inline .ratelo-rating-display-star {
  font-size: 0.82rem;
}

.ratelo-request-review-comment {
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(124, 135, 159, 0.12);
  color: var(--ratelo-secondary-deep);
  line-height: 1.6;
}

.ratelo-request-offer-compose-card {
  display: grid;
  gap: 0.78rem;
  padding: 0.82rem;
  border: 1px solid rgba(111, 148, 129, 0.18);
  border-radius: 1.15rem;
  background: radial-gradient(circle at top right, rgba(111, 148, 129, 0.12), rgba(111, 148, 129, 0) 38%), linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 250, 248, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 0.45rem 1.1rem rgba(55, 90, 70, 0.07);
}

.ratelo-request-offer-compose-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.ratelo-request-offer-compose-copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.ratelo-request-offer-compose-title {
  color: var(--ratelo-accent-deep);
  font-size: 0.82rem;
  line-height: 1.25;
}

.ratelo-request-offer-compose-subtitle {
  color: #6d8378;
  font-size: 0.74rem;
  line-height: 1.35;
}

.ratelo-request-offer-compose-inline {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) auto;
  align-items: stretch;
  gap: 0.55rem;
  min-width: 0;
}

.ratelo-request-offer-compose-input {
  width: 100%;
  min-width: 0;
  margin-bottom: 0;
}

.ratelo-request-offer-compose-input--sm {
  flex: 0 1 7.5rem;
  max-width: 8.5rem;
}

.ratelo-request-offer-compose-input--xs {
  flex: 0 1 5.25rem;
  max-width: 6rem;
}

.ratelo-request-offer-compose-row {
  min-width: 0;
}

.ratelo-request-offer-compose-row--actions {
  margin-top: 0;
}

.ratelo-request-offer-compose-input .form-control {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: 1rem;
}

.ratelo-request-offer-compose-interval {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: 0.85rem;
}

.ratelo-request-offer-compose-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.72rem;
  padding: 0.58rem 1.05rem;
  font-size: 0.84rem;
  font-weight: 700;
  color: #fff;
  background: var(--ratelo-accent-deep);
  border: 1px solid transparent;
  border-radius: 999px;
  white-space: nowrap;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.ratelo-request-offer-compose-submit:hover,
.ratelo-request-offer-compose-submit:focus-visible {
  background: #3f5f4d;
  color: #fff;
  box-shadow: 0 0 0 0.2rem rgba(111, 148, 129, 0.18);
}

.ratelo-request-offer-compose-submit:disabled {
  background: #cbd8d1;
  color: rgba(255, 255, 255, 0.92);
  cursor: not-allowed;
}

.ratelo-request-offer-compose-close {
  flex: 0 0 auto;
  margin-top: -0.1rem;
  padding: 0.32rem;
  border-radius: 999px;
  opacity: 0.52;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}

.ratelo-request-offer-compose-close:hover,
.ratelo-request-offer-compose-close:focus-visible {
  opacity: 0.85;
  background-color: rgba(111, 148, 129, 0.1);
}

.ratelo-request-offer-compose-hint {
  flex-basis: 100%;
  color: #6d8378;
  font-size: 0.72rem;
  line-height: 1.3;
  padding-left: 0.1rem;
  margin-top: -0.1rem;
}

@media (max-width: 575px) {
  .ratelo-request-offer-compose-card {
    padding: 0.76rem;
  }
  .ratelo-request-offer-compose-inline {
    grid-template-columns: 1fr;
  }
  .ratelo-request-offer-compose-submit {
    width: 100%;
  }
  .ratelo-request-offer-compose-submit .ratelo-request-composer-button-icon {
    margin: 0;
  }
}
.ratelo-request-composer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-width: 7.25rem;
  padding: 0.5rem 0.95rem;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.15;
}

.ratelo-request-composer-button:hover,
.ratelo-request-composer-button:focus-visible {
  color: #fff;
}

.ratelo-request-composer-button:disabled {
  opacity: 0.56;
  cursor: default;
}

.ratelo-request-composer-button-icon {
  font-size: 0.92rem;
}

.ratelo-request-composer-button--reject {
  background: #c44e55;
}

.ratelo-request-composer-button--reject:hover,
.ratelo-request-composer-button--reject:focus-visible {
  background: #ae444b;
}

.ratelo-request-composer-button--accept {
  background: #6f9481;
}

.ratelo-request-composer-button--accept:hover,
.ratelo-request-composer-button--accept:focus-visible {
  background: #5d7d6d;
}

.ratelo-request-composer-button--pickup {
  background: #c78a5c;
  color: #fff;
}

.ratelo-request-composer-button--pickup:hover,
.ratelo-request-composer-button--pickup:focus-visible {
  background: #b07548;
  color: #fff;
}

.ratelo-request-composer-button--skip {
  background: transparent;
  color: #64748b;
  border: 1px dashed rgba(100, 116, 139, 0.5);
  box-shadow: none;
}

.ratelo-request-composer-button--skip:hover,
.ratelo-request-composer-button--skip:focus-visible {
  background: rgba(100, 116, 139, 0.08);
  color: #475569;
  border-color: rgba(100, 116, 139, 0.75);
}

.ratelo-request-composer-button--counter {
  background: transparent;
  color: var(--ratelo-accent-deep);
  border: 1px solid rgba(111, 148, 129, 0.42);
  box-shadow: 0 1px 0 rgba(111, 148, 129, 0.08);
}

.ratelo-request-composer-button--counter:hover,
.ratelo-request-composer-button--counter:focus-visible {
  background: rgba(111, 148, 129, 0.12);
  color: var(--ratelo-accent-deep);
  border-color: rgba(111, 148, 129, 0.72);
}

.ratelo-request-composer-button--counter:disabled {
  color: rgba(111, 148, 129, 0.65);
  background: transparent;
  border-color: rgba(111, 148, 129, 0.2);
}

.ratelo-request-composer-button--active,
.ratelo-request-composer-button--counter.ratelo-request-composer-button--active {
  background: rgba(111, 148, 129, 0.18);
  color: var(--ratelo-accent-deep);
  border-color: rgba(111, 148, 129, 0.72);
}

.ratelo-request-window-footer-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ratelo-request-window-footer-time {
  color: #819188;
  font-size: 0.76rem;
}

/* The Protected-closing CTA and its status copy now live in the window-state
   strip at the top of the conversation (see .ratelo-request-window-state). */
.ratelo-request-secondary-button-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--ratelo-secondary-accent);
  border-radius: 999px;
  background: transparent;
  color: var(--ratelo-secondary-deep);
  font-weight: 700;
}

.ratelo-request-secondary-button-outline:hover,
.ratelo-request-secondary-button-outline:focus-visible {
  border-color: var(--ratelo-secondary-deep);
  background: rgba(124, 135, 159, 0.1);
  color: var(--ratelo-secondary-deep);
}

.ratelo-request-system-note {
  justify-self: center;
  max-width: 32rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: rgba(111, 148, 129, 0.12);
  color: var(--ratelo-accent-deep);
  font-size: 0.76rem;
  text-align: center;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  line-height: 1.25;
}

.ratelo-request-system-note-icon {
  flex-shrink: 0;
  font-size: 0.95rem;
}

.ratelo-request-system-note-copy {
  min-width: 0;
}

.ratelo-request-system-note--success {
  background: rgba(53, 143, 95, 0.14);
  color: #1f6b40;
}

.ratelo-request-system-note--danger {
  background: rgba(196, 78, 85, 0.12);
  color: #8f2d34;
}

.ratelo-request-system-note--enter {
  animation: ratelo-request-note-in 0.24s ease-out both;
}

/* Single state strip under the conversation header — consolidates status +
   "who's next?" + the protected-closing CTA that used to live as a separate
   card in the footer. Tones mirror the index turn pill for consistency. */
.ratelo-request-window-state {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0.85rem;
  margin: 0 0 0.75rem;
  border-radius: 0.85rem;
  border: 1px solid transparent;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.3;
}

.ratelo-request-window-state-icon {
  flex-shrink: 0;
  font-size: 1.1rem;
}

.ratelo-request-window-state-main {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
  flex: 1 1 auto;
}

.ratelo-request-window-state-label {
  min-width: 0;
  flex: 1 1 auto;
}

.ratelo-request-window-state-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
  gap: 0.15rem;
}

.ratelo-request-window-state-title {
  font-weight: 700;
  line-height: 1.25;
}

.ratelo-request-window-state-subtitle {
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.35;
  opacity: 0.9;
}

.ratelo-request-window-state-form {
  display: inline-flex;
}

.ratelo-request-window-state-action {
  white-space: nowrap;
}

@media (max-width: 575.98px) {
  .ratelo-request-window-state--secure-closing {
    flex-wrap: wrap;
    row-gap: 0.6rem;
  }
  .ratelo-request-window-state--secure-closing .ratelo-request-window-state-main {
    flex: 1 1 100%;
    align-items: flex-start;
  }
  .ratelo-request-window-state--secure-closing .ratelo-request-window-state-action {
    width: 100%;
  }
  .ratelo-request-window-state--secure-closing .ratelo-request-window-state-form {
    width: 100%;
    margin-left: 0 !important;
  }
}
.ratelo-request-window-state--warning {
  background: rgba(232, 151, 48, 0.12);
  border-color: rgba(232, 151, 48, 0.35);
  color: #7a4404;
}

.ratelo-request-window-state--info {
  background: rgba(71, 107, 173, 0.08);
  border-color: rgba(71, 107, 173, 0.28);
  color: #2f4a80;
}

.ratelo-request-window-state--success {
  background: rgba(53, 143, 95, 0.12);
  border-color: rgba(53, 143, 95, 0.32);
  color: #1a5e39;
}

.ratelo-request-window-state--muted {
  background: rgba(100, 116, 139, 0.1);
  border-color: rgba(100, 116, 139, 0.26);
  color: #475569;
}

.ratelo-request-window-turn-pill {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.6rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  max-width: 14rem;
  min-width: 0;
}

.ratelo-request-window-turn-pill-icon {
  flex-shrink: 0;
  font-size: 0.9rem;
}

.ratelo-request-window-turn-pill-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.ratelo-request-window-turn-pill--warning {
  background: rgba(232, 151, 48, 0.12);
  border-color: rgba(232, 151, 48, 0.35);
  color: #7a4404;
}

.ratelo-request-window-turn-pill--info {
  background: rgba(71, 107, 173, 0.08);
  border-color: rgba(71, 107, 173, 0.28);
  color: #2f4a80;
}

.ratelo-request-window-turn-pill--success {
  background: rgba(53, 143, 95, 0.12);
  border-color: rgba(53, 143, 95, 0.32);
  color: #1a5e39;
}

.ratelo-request-window-turn-pill--muted {
  background: rgba(100, 116, 139, 0.1);
  border-color: rgba(100, 116, 139, 0.26);
  color: #475569;
}

@media (max-width: 575px) {
  .ratelo-request-window-turn-pill {
    padding: 0.22rem 0.5rem;
    font-size: 0.68rem;
  }
  .ratelo-request-window-turn-pill-label {
    max-width: 7.5rem;
  }
}
@keyframes ratelo-request-message-in-left {
  from {
    opacity: 0;
    transform: translate3d(-18px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ratelo-request-message-in-right {
  from {
    opacity: 0;
    transform: translate3d(18px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ratelo-request-note-in {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ratelo-request-message-row--enter-left,
  .ratelo-request-message-row--enter-right,
  .ratelo-request-system-note--enter {
    animation: none;
  }
}
.ratelo-request-amount-badge--success {
  background: #6f9481;
}

.ratelo-request-amount-badge--danger {
  background: #c44e55;
}

.ratelo-condition-field {
  display: grid;
  gap: 0;
}

.ratelo-condition-picker {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: var(--ratelo-form-radius);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 0.2rem 0.6rem rgba(15, 23, 42, 0.04);
}

.ratelo-condition-picker-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ratelo-condition-picker-option {
  flex: 1 1 0;
  display: flex;
  min-height: 2.55rem;
  align-items: center;
  justify-content: center;
  padding: 0.42rem 0.32rem;
  border-right: 1px solid rgba(15, 23, 42, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, var(--ratelo-condition-color-soft) 100%);
  color: #6e7b74;
  cursor: pointer;
  text-align: center;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.ratelo-condition-picker-option:last-of-type {
  border-right: 0;
}

.ratelo-condition-picker-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.ratelo-condition-picker-option.is-active {
  background: linear-gradient(180deg, var(--ratelo-condition-color) 0%, var(--ratelo-condition-color-deep) 100%);
  box-shadow: 0 0.22rem 0.6rem rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  color: #fff;
}

.ratelo-condition-picker-option.is-current {
  transform: translateY(-0.5px);
  z-index: 1;
}

.ratelo-condition-picker-option:hover {
  color: #4f5f57;
}

.ratelo-condition-picker-input:focus-visible + .ratelo-condition-picker-option {
  outline: 2px solid rgba(111, 148, 129, 0.35);
  outline-offset: -2px;
}

.ratelo-rating-field {
  display: grid;
  gap: 0.45rem;
}

.ratelo-star-rating {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 0.18rem;
}

.ratelo-star-rating-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ratelo-star-rating-star {
  color: #c7d0dc;
  cursor: pointer;
  transition: color 0.16s ease, transform 0.16s ease;
}

.ratelo-star-rating-star .ratelo-star-rating-icon {
  display: block;
  font-size: 1.35rem;
  line-height: 1;
}

.ratelo-star-rating-input:checked ~ .ratelo-star-rating-star {
  color: #e3ac35;
}

.ratelo-star-rating:hover .ratelo-star-rating-star {
  color: #c7d0dc;
}

.ratelo-star-rating:hover .ratelo-star-rating-star:hover,
.ratelo-star-rating:hover .ratelo-star-rating-star:hover ~ .ratelo-star-rating-star,
.ratelo-star-rating .ratelo-star-rating-input:focus-visible + .ratelo-star-rating-star {
  color: #e3ac35;
  transform: translateY(-1px);
}

@media (max-width: 575.98px) {
  .ratelo-condition-picker-option {
    min-height: 2.45rem;
    padding: 0.38rem 0.12rem;
  }
  .ratelo-condition-picker-label {
    font-size: 0.7rem;
  }
}
.ratelo-order-overview-card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.25rem;
}

.ratelo-order-overview-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ratelo-order-overview-copy {
  min-width: 0;
}

.ratelo-order-overview-avatar {
  width: 3.25rem;
  height: 3.25rem;
  flex: 0 0 3.25rem;
  border-radius: 1rem;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(61, 89, 107, 0.14), rgba(61, 89, 107, 0.28));
  color: #29404d;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.ratelo-order-overview-amount {
  margin-bottom: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.1;
}

@media (max-width: 767.98px) {
  .ratelo-order-overview-main {
    align-items: flex-start;
  }
  .ratelo-order-overview-avatar {
    width: 3rem;
    height: 3rem;
    flex-basis: 3rem;
  }
  .ratelo-request-window-header {
    align-items: flex-start;
  }
  .ratelo-request-window-avatar {
    width: 2.7rem;
    height: 2.7rem;
    flex-basis: 2.7rem;
  }
  .ratelo-request-window-body,
  .ratelo-request-window-footer {
    padding-inline: 0.95rem;
  }
  .ratelo-request-window-footer-top {
    gap: 0.65rem;
    flex-wrap: nowrap;
    align-items: center;
  }
  .ratelo-request-offer-slot {
    max-width: none;
  }
  .ratelo-request-composer-input-wrap {
    min-height: 5rem;
  }
  .ratelo-request-composer-input {
    min-height: 5rem;
    padding-bottom: 1rem;
    padding-right: 1rem;
  }
  .ratelo-request-composer-send {
    right: 0.9rem;
    bottom: 0.85rem;
  }
  .ratelo-request-switch {
    gap: 0.5rem;
    min-width: 0;
  }
  .ratelo-request-switch-label {
    font-size: 0.74rem;
  }
  .ratelo-request-window-footer-actions {
    width: auto;
    justify-content: flex-end;
    margin-left: auto;
    flex: 0 0 auto;
  }
  .ratelo-request-window-footer-actions--centered {
    width: 100%;
    justify-content: center;
    margin-left: 0;
  }
  .ratelo-request-offer-card-summary {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .ratelo-request-offer-card-primary {
    align-items: center;
  }
  .ratelo-request-offer-card-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .ratelo-request-offer-card-actions--inline .ratelo-request-composer-button {
    flex: 1 1 0;
  }
  .ratelo-request-offer-card-illustration {
    right: 0.45rem;
    width: 5.25rem;
  }
  .ratelo-request-offer-card-detail {
    min-width: 0;
  }
  .ratelo-request-offer-card--success {
    min-height: 7.5rem;
    padding-right: 6rem;
  }
  .ratelo-request-offer-card-actions .ratelo-request-composer-button {
    flex: 1 1 9rem;
  }
  .ratelo-request-fulfillment-grid {
    grid-template-columns: 1fr;
  }
  .ratelo-request-fulfillment-button-grid--delivery {
    flex-direction: column;
  }
  .ratelo-request-fulfillment-button-grid--delivery .ratelo-request-fulfillment-button-slot,
  .ratelo-request-fulfillment-button-grid--delivery .ratelo-request-fulfillment-button-slot--saved {
    flex: 1 1 auto;
  }
  .ratelo-request-fulfillment-button-grid--pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ratelo-request-composer-button {
    min-width: 0;
  }
  .ratelo-request-window-footer-actions .ratelo-request-composer-button {
    padding-inline: 0.82rem;
    white-space: nowrap;
  }
  .ratelo-request-overview-card .card-body {
    padding: 1rem 1.05rem;
  }
  .ratelo-request-overview-section + .ratelo-request-overview-section {
    padding-top: 0.9rem;
  }
}
@media (min-width: 768px) {
  .ratelo-request-fulfillment-button-grid--pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.pricing-shell {
  display: grid;
  gap: 3rem;
}

.pricing-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 2rem;
  box-shadow: 0 1.2rem 3rem rgba(15, 23, 42, 0.08);
}

.pricing-hero {
  background: radial-gradient(circle at top left, rgba(232, 243, 236, 0.95), rgba(232, 243, 236, 0) 42%), radial-gradient(circle at top right, rgba(255, 236, 214, 0.85), rgba(255, 236, 214, 0) 30%), linear-gradient(145deg, #f8fbf9 0%, #eef4f1 46%, #f8f4ec 100%);
}

.pricing-section {
  display: grid;
  gap: 2rem;
}

.pricing-hero-backdrop {
  position: absolute;
  inset: auto -6rem -5rem auto;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 135, 159, 0.17) 0%, rgba(124, 135, 159, 0) 70%);
  pointer-events: none;
}

.pricing-hero-copy,
.pricing-hero-panel,
.pricing-section-header,
.pricing-plan-card,
.pricing-detail-card,
.pricing-addon-card,
.pricing-workflow-step {
  position: relative;
  z-index: 1;
}

.pricing-hero-kicker,
.pricing-section-kicker {
  letter-spacing: 0.16em;
  color: #6a8475;
  font-size: 0.76rem;
}

.pricing-hero-title {
  max-width: 11ch;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  color: #355446;
}

.pricing-hero-lead {
  max-width: 42rem;
  color: #597164;
  font-size: 1.05rem;
}

.pricing-hero-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 19.5rem;
  padding: 0.7rem 0.8rem 0.45rem;
  perspective: 1400px;
}

.pricing-hero-visual::before {
  content: "";
  position: absolute;
  inset: 9% 4% 10% 10%;
  border-radius: 2.1rem;
  background: radial-gradient(circle at 68% 32%, rgba(111, 148, 129, 0.2), rgba(111, 148, 129, 0) 40%), radial-gradient(circle at 22% 76%, rgba(124, 135, 159, 0.16), rgba(124, 135, 159, 0) 36%);
  filter: blur(10px);
  pointer-events: none;
}

.pricing-hero-device {
  position: relative;
  z-index: 2;
  width: min(100%, 20rem);
  padding: 0.8rem;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.95) 0%, rgba(244, 248, 246, 0.92) 100%);
  border: 1px solid rgba(111, 148, 129, 0.18);
  border-radius: 1.45rem;
  box-shadow: 0 1.5rem 3.2rem rgba(15, 23, 42, 0.16), 0 0.45rem 1rem rgba(15, 23, 42, 0.08);
  overflow: hidden;
  transform: rotateX(8deg) rotateY(-13deg) rotateZ(1.5deg) translate3d(0, 0, 0);
  transform-style: preserve-3d;
  transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.pricing-hero-visual:hover .pricing-hero-device {
  transform: rotateX(6deg) rotateY(-10deg) rotateZ(1deg) translate3d(0, -4px, 0);
  box-shadow: 0 2rem 3.8rem rgba(15, 23, 42, 0.18), 0 0.65rem 1.2rem rgba(15, 23, 42, 0.08);
}

.pricing-hero-device::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(111, 148, 129, 0.12) 0%, rgba(111, 148, 129, 0) 42%), radial-gradient(circle at top right, rgba(124, 135, 159, 0.18), rgba(124, 135, 159, 0) 38%);
  pointer-events: none;
}

.pricing-hero-device::after {
  content: "";
  position: absolute;
  inset: 0.38rem auto auto 0.75rem;
  width: 38%;
  height: 4.2rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0));
  border-radius: 1.15rem;
  filter: blur(1px);
  opacity: 0.9;
  pointer-events: none;
  transform: translateZ(18px);
}

.pricing-hero-device-header,
.pricing-hero-panel {
  position: relative;
  z-index: 2;
}

.pricing-hero-device-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  transform: translateZ(16px);
}

.pricing-hero-device-dots {
  display: inline-flex;
  gap: 0.35rem;
}

.pricing-hero-device-dots span {
  width: 0.45rem;
  height: 0.45rem;
  background: rgba(15, 23, 42, 0.18);
  border-radius: 999px;
}

.pricing-hero-device-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

.pricing-hero-panel {
  padding: 1.05rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 1rem 2.1rem rgba(15, 23, 42, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.65);
  transform: translateZ(36px) rotateX(-2deg);
  transform-style: preserve-3d;
}

.pricing-hero-panel-top,
.pricing-addon-top,
.pricing-detail-header,
.pricing-plan-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.pricing-panel-label,
.pricing-panel-status,
.pricing-plan-badge,
.pricing-detail-price,
.pricing-addon-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pricing-panel-label,
.pricing-plan-badge {
  background: rgba(111, 148, 129, 0.14);
  color: #547060;
}

.pricing-panel-status {
  background: rgba(124, 135, 159, 0.14);
  color: #616b81;
}

.pricing-panel-title {
  color: #355446;
  font-size: 1.35rem;
  letter-spacing: -0.04em;
}

.pricing-metric-stack {
  display: grid;
  gap: 0.65rem;
}

.pricing-metric-card {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem 0.85rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 248, 246, 0.98) 100%);
  border: 1px solid rgba(15, 23, 42, 0.07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  transform: translateZ(20px);
}

.pricing-metric-card:nth-child(2) {
  transform: translateZ(24px) translateX(0.15rem);
}

.pricing-metric-card:nth-child(3) {
  transform: translateZ(18px) translateX(-0.1rem);
}

.pricing-metric-kicker {
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #6c7d72;
}

.pricing-metric-value {
  color: #355446;
  font-size: 1.45rem;
  letter-spacing: -0.04em;
}

.pricing-metric-meta {
  color: #5d7064;
  font-size: 0.82rem;
}

/* ─── Shared Section Header ─────────────────────── */
.pricing-section-header {
  display: grid;
  gap: 0.65rem;
}

.pricing-section-kicker {
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6a8475;
}

.pricing-section-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  color: #1a3328;
}

.pricing-section-copy {
  font-size: 0.9rem;
  color: #617569;
  max-width: 44rem;
}

/* ─── Plan Cards Grid ─────────────────────────────── */
.pricing-plans-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.pricing-plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 1.5rem;
  border: 1px solid rgba(15, 23, 42, 0.09);
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pricing-plan-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

/* Featured card — dark premium look */
.pricing-plan-card.is-featured {
  background: linear-gradient(160deg, #2d4f3c 0%, #1e3a2f 60%, #253144 100%);
  border-color: transparent;
  box-shadow: 0 0 0 1px rgba(111, 148, 129, 0.3), 0 20px 50px rgba(20, 40, 30, 0.35), 0 0 60px rgba(111, 148, 129, 0.12);
}

.pricing-plan-card.is-featured:hover {
  transform: translateY(-5px) scale(1.01);
  box-shadow: 0 0 0 1px rgba(111, 148, 129, 0.45), 0 24px 60px rgba(20, 40, 30, 0.4), 0 0 80px rgba(111, 148, 129, 0.18);
}

/* Most popular bar at the top of featured card */
.pricing-plan-popular-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem;
  background: rgba(168, 240, 198, 0.12);
  border-bottom: 1px solid rgba(168, 240, 198, 0.15);
  color: #a8f0c6;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pricing-plan-popular-dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #a8f0c6;
  animation: pricing-pulse 2.2s ease-in-out infinite;
  flex: 0 0 auto;
}

@keyframes pricing-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(168, 240, 198, 0.7);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(168, 240, 198, 0);
  }
}
.pricing-plan-frame {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 1.1rem;
  padding: 1.5rem;
}

.pricing-plan-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.pricing-plan-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: rgba(111, 148, 129, 0.12);
  color: #4a6f5a;
  border: 1px solid rgba(111, 148, 129, 0.16);
}

.pricing-plan-card.is-featured .pricing-plan-badge {
  background: rgba(168, 240, 198, 0.12);
  color: #a8f0c6;
  border-color: rgba(168, 240, 198, 0.2);
}

.pricing-plan-price-block {
  text-align: right;
}

.pricing-plan-price {
  display: block;
  color: #1e3a2e;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.05em;
}

.pricing-plan-card.is-featured .pricing-plan-price {
  color: #fff;
}

.pricing-plan-period {
  display: block;
  color: #7a9285;
  font-size: 0.8rem;
  margin-top: 0.1rem;
}

.pricing-plan-card.is-featured .pricing-plan-period {
  color: rgba(255, 255, 255, 0.5);
}

.pricing-plan-title {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: #1a3328;
  line-height: 1.2;
  margin-bottom: 0;
}

.pricing-plan-card.is-featured .pricing-plan-title {
  color: #fff;
}

.pricing-plan-description {
  font-size: 0.875rem;
  color: #5e7268;
  line-height: 1.6;
  margin-bottom: 0;
}

.pricing-plan-card.is-featured .pricing-plan-description {
  color: rgba(255, 255, 255, 0.62);
}

/* Divider between description and features */
.pricing-plan-frame > .pricing-feature-list {
  border-top: 1px solid rgba(15, 23, 42, 0.07);
  padding-top: 1rem;
  margin-top: auto;
}

.pricing-plan-card.is-featured .pricing-plan-frame > .pricing-feature-list {
  border-color: rgba(255, 255, 255, 0.1);
}

.pricing-feature-list {
  display: grid;
  gap: 0.6rem;
}

.pricing-feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.875rem;
  color: #3d5a4a;
}

.pricing-plan-card.is-featured .pricing-feature-list li {
  color: rgba(255, 255, 255, 0.8);
}

.pricing-feature-icon {
  flex: 0 0 auto;
  margin-top: 0.1rem;
  color: #5a9070;
  font-size: 0.95rem;
}

.pricing-plan-card.is-featured .pricing-feature-icon {
  color: #a8f0c6;
}

/* Social proof strip */
.pricing-plan-social-proof {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.8rem;
  border-radius: 0.75rem;
  background: rgba(168, 240, 198, 0.07);
  border: 1px solid rgba(168, 240, 198, 0.14);
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.78rem;
  font-weight: 500;
}

.pricing-plan-social-icon {
  flex: 0 0 auto;
  color: #a8f0c6;
  font-size: 0.9rem;
}

.pricing-plan-actions {
  margin-top: auto;
}

.pricing-plan-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 0.4rem;
}

/* ─── Protected Closing Card ──────────────────────── */
.pricing-payg-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  padding: 2rem 2.25rem;
  border-radius: 1.5rem;
  border: 1px solid rgba(15, 23, 42, 0.09);
  background: radial-gradient(ellipse at 0% 100%, rgba(111, 148, 129, 0.07) 0%, transparent 60%), linear-gradient(180deg, #f8faf9 0%, #f2f6f4 100%);
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}

.pricing-payg-left {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-width: 0;
}

.pricing-payg-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.25rem;
  flex: 0 0 auto;
}

.pricing-payg-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.pricing-payg-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6a8475;
}

.pricing-payg-separator {
  width: 1px;
  height: 0.8rem;
  background: rgba(106, 132, 117, 0.3);
}

.pricing-payg-title {
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: #1e3a2e;
  margin: 0;
}

.pricing-payg-description {
  font-size: 0.875rem;
  color: #5e7268;
  line-height: 1.6;
  max-width: 38rem;
  margin: 0;
}

.pricing-payg-rates {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.pricing-payg-rate {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.875rem;
}

.pricing-payg-rate-who {
  color: #6e8278;
  min-width: 8rem;
}

.pricing-payg-rate-value {
  font-weight: 600;
  color: #2d4f3c;
}

.pricing-payg-price-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.1rem;
}

.pricing-payg-from {
  font-size: 0.78rem;
  color: #7a9285;
  font-weight: 500;
}

.pricing-payg-price {
  display: block;
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  color: #1e3a2e;
  line-height: 1;
}

.pricing-payg-price-unit {
  font-size: 0.8rem;
  color: #7a9285;
}

.pricing-payg-points {
  display: grid;
  gap: 0.45rem;
}

.pricing-payg-points li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.82rem;
  color: #5e7268;
}

.pricing-payg-check {
  flex: 0 0 auto;
  margin-top: 0.08rem;
  color: #6f9481;
  font-size: 0.85rem;
}

/* ─── Feature Comparison Table ──────────────────── */
.pricing-compare-wrap {
  border-radius: 1.25rem;
  border: 1px solid rgba(15, 23, 42, 0.09);
  background: #fff;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
}

.pricing-compare-table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
}

.pricing-compare-table th,
.pricing-compare-table td {
  padding: 0.85rem 1.1rem;
  text-align: left;
  border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.pricing-compare-table tbody tr:last-child th,
.pricing-compare-table tbody tr:last-child td {
  border-bottom: none;
}

.pricing-compare-table tbody tr.is-even {
  background: rgba(15, 23, 42, 0.018);
}

.pricing-compare-th-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7a9285;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgba(15, 23, 42, 0.09);
}

.pricing-compare-th-plan {
  padding-bottom: 1rem;
  text-align: left;
  border-bottom: 2px solid rgba(15, 23, 42, 0.09);
  min-width: 11rem;
}

.pricing-compare-th-plan.is-featured {
  background: linear-gradient(180deg, rgba(45, 79, 60, 0.05) 0%, rgba(45, 79, 60, 0.02) 100%);
  border-top: 2px solid #2d4f3c;
}

.pricing-compare-featured-bar {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #2d4f3c;
  margin-bottom: 0.4rem;
}

.pricing-compare-plan-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a3328;
  margin-bottom: 0.12rem;
}

.pricing-compare-th-plan.is-featured .pricing-compare-plan-name {
  color: #1a3328;
}

.pricing-compare-plan-price {
  font-size: 1.1rem;
  font-weight: 800;
  color: #1e3a2e;
  letter-spacing: -0.03em;
}

.pricing-compare-plan-period {
  font-size: 0.75rem;
  color: #7a9285;
}

.pricing-compare-row-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #3d5a4a;
  white-space: nowrap;
}

.pricing-compare-cell {
  text-align: left;
}

.pricing-compare-cell.is-featured-col {
  background: rgba(45, 79, 60, 0.035);
}

.pricing-compare-yes {
  display: inline-flex;
  align-items: center;
  color: #2d7a52;
  font-size: 1.05rem;
}

.pricing-compare-no {
  display: inline-flex;
  align-items: center;
  color: #c2c8c5;
  font-size: 1.05rem;
}

.pricing-compare-text {
  font-size: 0.85rem;
  font-weight: 600;
  color: #2d4f3c;
}

.pricing-compare-text.is-infinity {
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1;
}

.pricing-compare-icon {
  font-size: 1rem;
}

/* ─── Addon Product Cards ────────────────────────── */
.pricing-addon-product {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
  padding: 1.5rem;
  border-radius: 1.4rem;
  border: 1px solid rgba(15, 23, 42, 0.09);
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pricing-addon-product:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.09);
}

.pricing-addon-product.is-trust {
  background: radial-gradient(ellipse at top right, rgba(111, 148, 129, 0.07), transparent 50%), #fff;
}

.pricing-addon-product.is-revenue {
  background: radial-gradient(ellipse at top right, rgba(196, 168, 130, 0.08), transparent 50%), #fff;
}

.pricing-addon-product-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
}

.pricing-addon-product-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  font-size: 1.15rem;
  flex: 0 0 auto;
}

.pricing-addon-product-icon.is-trust {
  background: rgba(111, 148, 129, 0.12);
  color: #4a7a62;
}

.pricing-addon-product-icon.is-revenue {
  background: rgba(196, 168, 130, 0.14);
  color: #7a6245;
}

.pricing-addon-product-meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
  flex: 1;
}

.pricing-addon-product-name {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #1a3328;
  margin: 0;
}

.pricing-addon-product-price {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  flex-shrink: 0;
}

.pricing-addon-product.is-trust .pricing-addon-product-price {
  background: rgba(111, 148, 129, 0.1);
  color: #3d6b50;
  border: 1px solid rgba(111, 148, 129, 0.18);
}

.pricing-addon-product.is-revenue .pricing-addon-product-price {
  background: rgba(196, 168, 130, 0.12);
  color: #6e5838;
  border: 1px solid rgba(196, 168, 130, 0.2);
}

/* Listing guest upsell — same surface as default ratelo-action-card (Interested?) */
.listing-guest-account-upsell.pricing-addon-product {
  position: relative;
  overflow: hidden;
  border-radius: var(--ratelo-surface-radius);
  border: 1px solid rgba(124, 135, 159, 0.2);
  background: radial-gradient(circle at top right, rgba(124, 135, 159, 0.18), rgba(124, 135, 159, 0) 34%), linear-gradient(180deg, rgba(248, 250, 253, 0.98) 0%, rgba(241, 245, 250, 0.98) 100%);
  box-shadow: 0 0.85rem 1.9rem rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.58);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.listing-guest-account-upsell.pricing-addon-product:hover {
  transform: translateY(-1px);
  box-shadow: 0 1rem 2.1rem rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.58);
}

.listing-guest-account-upsell.pricing-addon-product::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 45%);
}

.listing-guest-account-upsell.pricing-addon-product > * {
  position: relative;
  z-index: 1;
}

.listing-guest-account-upsell .pricing-addon-product-icon {
  background: rgba(124, 135, 159, 0.14);
  color: #4e5d70;
}

.listing-guest-account-upsell .pricing-addon-product-name {
  color: var(--ratelo-secondary-deep);
}

.listing-guest-account-upsell .pricing-addon-product-price {
  background: rgba(124, 135, 159, 0.1);
  color: #3d4a5c;
  border: 1px solid rgba(124, 135, 159, 0.2);
}

.listing-guest-account-upsell .pricing-addon-product-copy {
  color: #5a6d7f;
}

/* Guest upsell on listing show — equal-width, aligned auth buttons */
.listing-guest-account-upsell-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  margin-top: 1rem;
}

@media (min-width: 576px) {
  .listing-guest-account-upsell-actions {
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    align-items: stretch;
  }
}
.listing-guest-account-upsell-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 2.75rem;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
  text-align: center;
  line-height: 1.2;
}

.listing-guest-account-upsell-btn-icon {
  flex-shrink: 0;
  width: 1.15em;
  height: 1.15em;
  margin: 0;
}

.pricing-addon-product-copy {
  font-size: 0.875rem;
  color: #5e7268;
  line-height: 1.6;
  margin: 0;
}

.pricing-addon-product-points {
  display: grid;
  gap: 0.5rem;
  margin-top: auto;
}

.pricing-addon-product-points li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.85rem;
  color: #4d6558;
}

.pricing-addon-point-icon {
  flex: 0 0 auto;
  margin-top: 0.1rem;
  color: #6f9481;
  font-size: 0.85rem;
}

.pricing-detail-card,
.pricing-workflow-step {
  height: 100%;
  padding: 1.3rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 1.5rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 248, 0.98) 100%);
  box-shadow: 0 0.8rem 2rem rgba(15, 23, 42, 0.05);
}

.pricing-detail-card {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 1rem;
}

.pricing-detail-card.is-trust {
  background: radial-gradient(circle at top right, rgba(232, 243, 236, 0.9), rgba(232, 243, 236, 0) 34%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 248, 0.98) 100%);
}

.pricing-detail-card.is-revenue {
  background: radial-gradient(circle at top right, rgba(255, 236, 214, 0.5), rgba(255, 236, 214, 0) 34%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 248, 245, 0.98) 100%);
}

.pricing-detail-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.pricing-detail-intro {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  min-width: 0;
}

.pricing-detail-meta {
  display: grid;
  gap: 0.35rem;
}

.pricing-detail-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 0.28rem 0.62rem;
  border-radius: 999px;
  background: rgba(111, 148, 129, 0.14);
  color: #547060;
  border: 1px solid rgba(111, 148, 129, 0.16);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pricing-detail-card.is-revenue .pricing-detail-badge {
  background: rgba(226, 219, 208, 0.82);
  border-color: rgba(157, 143, 121, 0.18);
  color: #6f6251;
}

.pricing-detail-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 1rem;
  background: rgba(111, 148, 129, 0.14);
  color: #547060;
  font-size: 1.15rem;
}

.pricing-detail-price {
  flex: 0 0 auto;
  background: rgba(232, 243, 236, 0.9);
  color: #547060;
  border: 1px solid rgba(111, 148, 129, 0.18);
}

.pricing-detail-card.is-revenue .pricing-detail-price {
  background: rgba(231, 224, 214, 0.88);
  border-color: rgba(157, 143, 121, 0.2);
  color: #6e6050;
}

.pricing-detail-copy,
.pricing-workflow-copy {
  color: #62766a;
}

.pricing-detail-points {
  display: grid;
  gap: 0.6rem;
  align-content: start;
}

.pricing-detail-points li::before {
  content: "";
  flex: 0 0 auto;
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.42rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #6f9481 0%, #7c879f 100%);
}

.pricing-workflow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.pricing-workflow-step {
  position: relative;
  overflow: hidden;
}

.pricing-workflow-step::after {
  content: "";
  position: absolute;
  inset: auto -2rem -2rem auto;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(111, 148, 129, 0.12), rgba(111, 148, 129, 0) 70%);
}

.pricing-workflow-number {
  display: inline-flex;
  margin-bottom: 1rem;
  color: #6f9481;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.pricing-workflow-title {
  color: #355446;
  font-size: 1.12rem;
  letter-spacing: -0.03em;
}

/* ─── Pricing Responsive ─────────────────────────── */
@media (max-width: 991.98px) {
  .pricing-plans-grid {
    grid-template-columns: 1fr;
    max-width: 32rem;
    margin-inline: auto;
  }
  .pricing-payg-card {
    grid-template-columns: 1fr;
  }
  .pricing-payg-right {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .pricing-payg-price-wrap {
    align-items: flex-start;
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .pricing-plans-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
  }
  .pricing-plan-frame {
    padding: 1.2rem;
  }
}
.seller-pass-shell {
  display: grid;
  gap: 1.25rem;
}

/* ─── Status strip ─────────────────────────────────────────────────────── */
.seller-pass-status-strip {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.95rem 1.1rem;
  border-radius: 1.1rem;
  border: 1px solid rgba(111, 148, 129, 0.18);
  background: radial-gradient(circle at top right, rgba(111, 148, 129, 0.12), rgba(111, 148, 129, 0) 38%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(242, 247, 244, 0.94) 100%);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.seller-pass-status-strip--free {
  border-color: rgba(192, 57, 43, 0.22);
  background: radial-gradient(circle at top right, rgba(192, 57, 43, 0.08), rgba(192, 57, 43, 0) 42%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 243, 242, 0.94) 100%);
}

.seller-pass-status-strip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: rgba(111, 148, 129, 0.14);
  color: #2d6b4f;
  font-size: 1.4rem;
}

.seller-pass-status-strip--free .seller-pass-status-strip-icon {
  background: rgba(192, 57, 43, 0.12);
  color: #c0392b;
}

.seller-pass-status-strip-body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1;
}

.seller-pass-status-strip-kicker {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6f9481;
}

.seller-pass-status-strip--free .seller-pass-status-strip-kicker {
  color: #c0392b;
}

.seller-pass-status-strip-title {
  font-size: 0.95rem;
  color: #1a3328;
}

.seller-pass-status-strip-meta {
  font-size: 0.8rem;
  color: #6e8277;
}

/* ─── Comparison grid ──────────────────────────────────────────────────── */
.seller-pass-comparison {
  display: grid;
  grid-template-columns: minmax(12rem, 1.2fr) repeat(3, minmax(0, 1fr));
  background: #fff;
  border-radius: 1.2rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 10px 28px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.seller-pass-comparison-head,
.seller-pass-comparison-row {
  display: contents;
}

.seller-pass-comparison-corner,
.seller-pass-comparison-col-head,
.seller-pass-comparison-label,
.seller-pass-comparison-cell {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.seller-pass-comparison-col-head,
.seller-pass-comparison-cell {
  text-align: center;
  border-left: 1px solid rgba(15, 23, 42, 0.06);
}

.seller-pass-comparison-row:last-child .seller-pass-comparison-label,
.seller-pass-comparison-row:last-child .seller-pass-comparison-cell {
  border-bottom: 0;
}

.seller-pass-comparison-corner {
  background: rgba(241, 244, 241, 0.6);
}

.seller-pass-comparison-col-head {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr;
  row-gap: 0.55rem;
  align-items: center;
  justify-items: center;
  padding: 1.3rem 1rem 1.05rem;
  background: rgba(241, 244, 241, 0.6);
}

.seller-pass-comparison-col-head.is-featured {
  background: radial-gradient(ellipse 115% 85% at 100% 0%, rgba(255, 244, 210, 0.85) 0%, rgba(255, 244, 210, 0) 58%), linear-gradient(165deg, rgb(255, 253, 248) 0%, rgba(252, 244, 220, 0.98) 100%);
}

.seller-pass-comparison-col-head.is-current {
  background: linear-gradient(180deg, rgba(111, 148, 129, 0.14) 0%, rgba(111, 148, 129, 0.04) 100%);
  box-shadow: inset 0 -2px 0 rgba(111, 148, 129, 0.55);
}

.seller-pass-comparison-col-head.is-current.is-featured {
  box-shadow: inset 0 -2px 0 rgba(200, 155, 42, 0.6);
}

.seller-pass-comparison-col-head-title {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 1.4rem;
}

.seller-pass-comparison-flame {
  font-size: 1.05rem;
  line-height: 1;
}

.seller-pass-comparison-plan-name {
  font-size: 1rem;
  font-weight: 700;
  color: #1a3328;
  letter-spacing: -0.01em;
}

.seller-pass-comparison-plan-price {
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #1e3a2e;
  line-height: 1.1;
}

.seller-pass-comparison-col-head-cta {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  align-self: end;
}

.seller-pass-comparison-cta-note {
  font-size: 0.78rem;
  color: #6e8277;
  text-align: center;
  align-self: center;
  width: 100%;
  padding: 0.4rem 0;
}

.seller-pass-comparison-cta-form {
  width: 100%;
  margin: 0;
}

.seller-pass-comparison-cta {
  width: 100%;
  padding: 0.55rem 0.85rem !important;
  border-radius: var(--ratelo-button-radius) !important;
  font-size: 0.88rem !important;
  font-weight: 650 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.seller-pass-comparison-cta-icon {
  font-size: 0.95rem;
  transition: transform 0.18s ease;
}

.seller-pass-comparison-cta:hover .seller-pass-comparison-cta-icon,
.seller-pass-comparison-cta:focus-visible .seller-pass-comparison-cta-icon {
  transform: translateX(2px);
}

.seller-pass-comparison-current-pill {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.55rem 0.85rem;
  border-radius: var(--ratelo-button-radius);
  font-size: 0.82rem;
  font-weight: 650;
  color: #2a5340;
  background: rgba(111, 148, 129, 0.14);
  border: 1px solid rgba(111, 148, 129, 0.32);
}

.seller-pass-comparison-current-pill-icon {
  font-size: 0.95rem;
  color: #2d6b4f;
}

.seller-pass-comparison-label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  color: #3a5246;
  background: rgba(249, 251, 249, 0.7);
  font-weight: 500;
}

.seller-pass-comparison-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #1a3328;
}

.seller-pass-comparison-cell.is-current {
  background: linear-gradient(180deg, rgba(111, 148, 129, 0.06) 0%, rgba(111, 148, 129, 0.02) 100%);
}

.seller-pass-comparison-value {
  font-weight: 600;
}

.seller-pass-comparison-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background: rgba(111, 148, 129, 0.18);
  color: #2d6b4f;
}

.seller-pass-comparison-check-icon {
  font-size: 0.75rem;
}

.seller-pass-comparison-dash {
  color: #b7c0b9;
  font-weight: 600;
}

.seller-pass-placement-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
  line-height: 1;
  border: 0;
  background: transparent;
  color: #6e8277;
  vertical-align: baseline;
}

.seller-pass-placement-info-btn:hover,
.seller-pass-placement-info-btn:focus-visible {
  color: #3a5246;
}

.seller-pass-placement-info-icon {
  font-size: 1rem;
}

.pricing-plan-card.is-featured .seller-pass-placement-info-btn {
  color: rgba(255, 255, 255, 0.65);
}

.pricing-plan-card.is-featured .seller-pass-placement-info-btn:hover,
.pricing-plan-card.is-featured .seller-pass-placement-info-btn:focus-visible {
  color: rgba(255, 255, 255, 0.92);
}

.seller-pass-placement-popover-source .seller-pass-placement-popover-boost-list {
  display: grid;
  gap: 0.35rem;
}

.seller-pass-placement-popover-boost {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.seller-pass-placement-popover-boost:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.seller-pass-status-kicker {
  display: inline-flex;
  margin-bottom: 0.85rem;
  color: #6f9481;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.seller-pass-invoice-card {
  border-radius: 1.2rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
}

@media (max-width: 1199.98px) {
  .pricing-workflow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .pricing-hero-title {
    max-width: none;
  }
  .pricing-hero-visual {
    min-height: auto;
    padding: 0.45rem 0 0.3rem;
    perspective: 1100px;
  }
  .pricing-hero-device {
    transform: rotateX(5deg) rotateY(-8deg) rotateZ(0.9deg) translate3d(0, 0, 0);
    box-shadow: 0 1.25rem 2.5rem rgba(15, 23, 42, 0.14), 0 0.45rem 0.95rem rgba(15, 23, 42, 0.07);
  }
  .pricing-hero-visual:hover .pricing-hero-device {
    transform: rotateX(4deg) rotateY(-6deg) rotateZ(0.75deg) translate3d(0, -2px, 0);
  }
  .pricing-hero-panel {
    transform: translateZ(24px) rotateX(-1.35deg);
  }
  .pricing-plan-head,
  .pricing-detail-header,
  .pricing-detail-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .pricing-payg-top {
    align-items: flex-start;
  }
  .identity-verification-shell:not(.is-verified) {
    --bs-gutter-y: 0;
  }
  .identity-verification-shell:not(.is-verified) > .identity-verification-status-column,
  .identity-verification-shell:not(.is-verified) > .identity-verification-workflow-column {
    padding-top: 0;
  }
  .identity-verification-status-card:not(.is-verified) {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }
  .identity-verification-workflow-column {
    margin-top: -1px;
  }
  .identity-verification-workflow-card {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
  }
  .pricing-plan-price-block {
    justify-items: start;
    text-align: left;
  }
}
@media (max-width: 767.98px) {
  .pricing-hero {
    padding: 1.15rem;
    border-radius: 1.5rem;
  }
  .pricing-hero-panel,
  .pricing-plan-frame,
  .pricing-detail-card,
  .pricing-addon-card,
  .pricing-workflow-step {
    padding: 1.05rem;
  }
  .pricing-compare-feature,
  .pricing-compare-row-label,
  .pricing-compare-plan {
    min-width: 0;
  }
  .pricing-hero-actions .btn {
    width: 100%;
  }
  .pricing-workflow-grid {
    grid-template-columns: 1fr;
  }
  /* ─── Comparison grid: stacked cards on mobile ───────────────────────── */
  .seller-pass-comparison {
    display: block;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
  }
  .seller-pass-comparison-head,
  .seller-pass-comparison-row {
    display: block;
  }
  .seller-pass-comparison-corner {
    display: none;
  }
  .seller-pass-comparison-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
  }
  .seller-pass-comparison-col-head {
    border-radius: 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    padding: 1.1rem 1rem;
  }
  .seller-pass-comparison-col-head.is-current {
    border-color: rgba(111, 148, 129, 0.42);
    box-shadow: 0 0 0 1px rgba(111, 148, 129, 0.2);
  }
  .seller-pass-comparison-row {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1rem;
    background: #fff;
  }
  .seller-pass-comparison-label {
    background: transparent;
    padding: 0;
    border: 0;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #1a3328;
  }
  .seller-pass-comparison-cell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    border: 0;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    padding: 0.55rem 0;
    text-align: left;
    justify-content: flex-start;
  }
  .seller-pass-comparison-cell::before {
    content: attr(data-plan-label);
    font-size: 0.8rem;
    color: #6e8277;
  }
  .seller-pass-comparison-cell.is-current {
    background: transparent;
    color: #2a5340;
    font-weight: 650;
  }
}
.ratelo-card {
  background-color: #fff;
  border: 1px solid var(--ratelo-card-border) !important;
  border-radius: var(--ratelo-surface-radius) !important;
  box-shadow: var(--ratelo-card-shadow) !important;
  padding: var(--ratelo-card-padding) !important;
}

:root {
  --ratelo-card-shadow: 0 0.4rem 1rem rgba(15, 23, 42, 0.05), 0 0.1rem 0.3rem rgba(15, 23, 42, 0.04);
  --ratelo-card-border: rgba(15, 23, 42, 0.1);
}

@media (min-width: 768px) {
  .listing-card-shell {
    grid-template-rows: 11rem auto;
  }
}
@media (min-width: 992px) {
  .listing-card-shell {
    grid-template-rows: 12.5rem auto;
  }
}
.table {
  font-size: 0.9rem;
}
.table thead th {
  background-color: rgba(241, 244, 241, 0.85);
  color: #557261;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  border-bottom-color: rgba(15, 23, 42, 0.09);
  white-space: nowrap;
}
.table tbody tr {
  transition: background-color 0.14s ease;
}
.table tbody tr:hover td {
  background-color: rgba(111, 148, 129, 0.05);
}
.table td {
  vertical-align: middle;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  color: #4d6a5a;
}

.badge {
  font-size: 0.715rem;
  letter-spacing: 0.015em;
  padding: 0.3em 0.6em;
}

.badge.rounded-pill {
  padding: 0.3em 0.72em;
}

a:not(.btn):not(.nav-link):not(.navbar-brand):not(.dropdown-item):not(.list-group-item):not(.page-link):not(.admin-nav-link):not(.admin-brand-link):not(.admin-back-link):not(.admin-sidebar-back-link) {
  text-underline-offset: 0.2em;
  text-decoration-thickness: 0.08em;
}

h1,
.h1 {
  letter-spacing: -0.03em;
}

h2,
.h2 {
  letter-spacing: -0.02em;
}

h3,
.h3 {
  letter-spacing: -0.015em;
}

.ratelo-topbar-offcanvas .ratelo-topbar-offcanvas-link.active {
  font-weight: 700;
  color: var(--ratelo-accent-deep);
  background: rgba(111, 148, 129, 0.1);
  border-radius: 0.85rem;
}

.ratelo-toast__label {
  font-size: 0.76rem;
}

@media (max-width: 575.98px) {
  main {
    --bs-gutter-y: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .ratelo-app-shell {
    padding-top: 0;
  }
  .listing-card-shell {
    grid-template-rows: minmax(9.25rem, 1fr);
  }
}
.list-group-item {
  font-size: 0.9rem;
}

@media (max-width: 767.98px) {
  .page-card {
    padding: 1rem !important;
  }
}
.ratelo-request-window {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 11rem);
  overflow: hidden;
}

.ratelo-request-window-body {
  flex: 1 1 auto;
  overflow-y: auto;
  max-height: none;
  padding: 1.25rem 1rem 1rem;
  gap: 0.6rem;
  scroll-behavior: smooth;
}

.ratelo-request-window-header {
  flex-shrink: 0;
}

.ratelo-request-window-footer {
  flex-shrink: 0;
}

.ratelo-request-message-stack {
  gap: 0.55rem;
}

.ratelo-request-message-row {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}

.ratelo-request-message-row--own {
  flex-direction: row-reverse;
}

.ratelo-request-message-avatar {
  width: 1.65rem;
  height: 1.65rem;
  flex: 0 0 1.65rem;
  font-size: 0.62rem;
  align-self: flex-end;
  background: rgba(124, 135, 159, 0.14);
  color: var(--ratelo-secondary-deep);
  border: none;
  box-shadow: none;
}

.ratelo-request-message-avatar--own {
  background: rgba(111, 148, 129, 0.18);
  color: var(--ratelo-accent-deep);
}

.ratelo-request-message-card {
  max-width: min(78%, 28rem);
  padding: 0.6rem 0.85rem;
  border: none;
  border-radius: 1.25rem 1.25rem 1.25rem 0.35rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1), 0 0.25rem 0.75rem rgba(15, 23, 42, 0.05);
  backdrop-filter: blur(4px);
}

.ratelo-request-message-row--own .ratelo-request-message-card {
  background: linear-gradient(145deg, #6f9481 0%, #5a7e6c 100%);
  color: #fff;
  border-radius: 1.25rem 1.25rem 0.35rem 1.25rem;
  box-shadow: 0 1px 4px rgba(55, 90, 70, 0.2), 0 0.3rem 0.85rem rgba(55, 90, 70, 0.15);
}
.ratelo-request-message-row--own .ratelo-request-message-card .ratelo-request-message-name {
  color: rgba(255, 255, 255, 0.75);
}
.ratelo-request-message-row--own .ratelo-request-message-card .ratelo-request-message-time {
  color: rgba(255, 255, 255, 0.6);
}
.ratelo-request-message-row--own .ratelo-request-message-card .ratelo-request-message-copy {
  color: #fff;
}
.ratelo-request-message-row--own .ratelo-request-message-card .ratelo-request-message-meta {
  justify-content: flex-end;
}

.ratelo-request-amount-badge {
  margin-top: 0.55rem;
  padding: 0.3rem 0.65rem;
  font-size: 0.74rem;
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: none;
}

.ratelo-request-message-row:not(.ratelo-request-message-row--own) .ratelo-request-amount-badge {
  background: var(--ratelo-accent-deep);
  color: #fff;
  border-color: transparent;
}

.ratelo-request-amount-badge--success {
  background: rgba(255, 255, 255, 0.28);
  border-color: rgba(255, 255, 255, 0.3);
}

.ratelo-request-amount-badge--danger {
  background: rgba(196, 78, 85, 0.18);
  color: #8d2e35;
  border-color: rgba(196, 78, 85, 0.22);
}

.ratelo-request-system-note {
  width: fit-content;
  margin: 0.25rem auto;
  font-weight: 500;
}

.ratelo-request-composer-input {
  min-height: 3rem;
  max-height: 10rem;
  padding: 0.7rem 5.5rem 0.7rem 0.95rem;
  font-size: 0.92rem;
  line-height: 1.5;
}

.ratelo-request-composer-input-wrap {
  min-height: 3rem;
}

.ratelo-request-composer-send {
  min-width: 4.5rem;
  bottom: 0.45rem;
  right: 0.45rem;
  padding: 0.45rem 0.75rem;
  background: var(--ratelo-accent-deep);
  font-size: 0.8rem;
  letter-spacing: 0.01em;
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.ratelo-request-composer-send:hover, .ratelo-request-composer-send:focus-visible {
  background: #4a6455;
  transform: translateY(-1px);
}

.ratelo-request-composer-button {
  font-size: 0.82rem;
  padding: 0.45rem 0.9rem;
}

.ratelo-request-window-footer {
  padding: 0.75rem 1rem 0.85rem;
  gap: 0.75rem;
}

.ratelo-request-overview-card-footer-divider {
  border: 0;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
  margin: 0.65rem 0 0.5rem;
  opacity: 1;
}

.ratelo-request-seller-withdrawal-buyer-cta-slot {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.35rem 1.15rem 0.45rem;
}

.ratelo-request-seller-withdrawal-buyer-cta-slot--in-overview-card {
  padding: 0.1rem 0 0.25rem;
}

.ratelo-request-seller-withdrawal-buyer-cta-slot--below-chat-summary {
  padding: 0.35rem 1.15rem 0.45rem;
}

.ratelo-request-seller-withdrawal-buyer-cta-button {
  font-size: 0.875rem;
  padding-block: 0.5rem;
}

.ratelo-request-seller-withdrawal-buyer-summary-kicker {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #b91c1c;
  margin-bottom: 0.35rem;
}

.ratelo-request-offer-card {
  padding: 0.8rem 0.95rem;
  gap: 0.6rem;
}

.ratelo-request-offer-card-amount {
  font-size: 1.15rem;
}

.ratelo-request-offer-card-label {
  font-size: 0.65rem;
}

@media (max-width: 767.98px) {
  .ratelo-request-window {
    border-radius: 1.25rem !important;
    max-height: calc(100svh - 8rem);
  }
  .ratelo-request-window-body {
    padding: 0.85rem 0.75rem 0.75rem;
  }
  .ratelo-request-window-footer {
    padding: 0.65rem 0.75rem max(0.75rem, env(safe-area-inset-bottom));
  }
  .ratelo-request-seller-withdrawal-buyer-cta-slot--below-chat-summary {
    padding: 0.35rem 0.9rem 0.45rem;
  }
  .ratelo-request-message-card {
    max-width: 82%;
  }
  .ratelo-request-window-header {
    padding: 0.75rem 0.85rem;
  }
  .ratelo-request-window-avatar {
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    font-size: 0.78rem;
  }
}
@media (max-width: 575.98px) {
  .ratelo-request-offer-card-summary {
    grid-template-columns: 1fr;
  }
  .ratelo-request-offer-card-link--status {
    margin-left: 0;
    white-space: normal;
  }
  .ratelo-request-offer-card-detail {
    min-width: 0;
  }
}
:root {
  --admin-sidebar-width: 14.5rem;
  --admin-sidebar-bg: #1e2a23;
  --admin-sidebar-border: rgba(255, 255, 255, 0.06);
  --admin-nav-active-bg: rgba(111, 148, 129, 0.22);
  --admin-nav-active-color: #a8d4bb;
  --admin-nav-color: rgba(200, 220, 210, 0.76);
  --admin-nav-hover-bg: rgba(255, 255, 255, 0.06);
  --admin-nav-hover-color: #d4ede1;
  --admin-topbar-height: 3.25rem;
  --admin-content-bg: #f3f5f7;
}

.admin-body {
  background-color: var(--admin-sidebar-bg);
  min-height: 100vh;
}

.admin-shell {
  display: flex;
  min-height: 100vh;
}

.admin-sidebar {
  display: none;
  flex-direction: column;
  width: var(--admin-sidebar-width);
  flex-shrink: 0;
  background-color: var(--admin-sidebar-bg);
  border-right: 1px solid var(--admin-sidebar-border);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
}

@media (min-width: 992px) {
  .admin-sidebar {
    display: flex;
  }
}
.admin-sidebar-inner {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1rem 0.75rem 1.25rem;
  gap: 0.5rem;
}

.admin-sidebar-brand {
  padding: 0.5rem 0.5rem 1rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid var(--admin-sidebar-border);
}

.admin-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  color: #d4ede1;
}
.admin-brand-link:hover, .admin-brand-link:focus-visible {
  color: #fff;
}

.admin-brand-mark {
  display: block;
  width: auto;
  height: 2rem;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

.admin-brand-label {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--admin-nav-active-color);
  opacity: 0.9;
}

.admin-sidebar-nav {
  flex: 1 1 auto;
}

.admin-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.admin-nav-item {
  margin: 0;
}

.admin-nav-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.58rem 0.75rem;
  border-radius: 0.7rem;
  color: var(--admin-nav-color);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: background-color 0.16s ease, color 0.16s ease;
}
.admin-nav-link:hover, .admin-nav-link:focus-visible {
  background-color: var(--admin-nav-hover-bg);
  color: var(--admin-nav-hover-color);
}
.admin-nav-link.admin-nav-link--active {
  background-color: var(--admin-nav-active-bg);
  color: var(--admin-nav-active-color);
  font-weight: 600;
}

.admin-nav-icon {
  flex-shrink: 0;
  width: 1.15em;
  height: 1.15em;
  font-size: 1.15rem;
  opacity: 0.85;
}

.admin-sidebar-footer {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--admin-sidebar-border);
  margin-top: auto;
}

.admin-sidebar-back-link {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.7rem;
  color: var(--admin-nav-color);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  transition: background-color 0.16s ease, color 0.16s ease;
}
.admin-sidebar-back-link:hover, .admin-sidebar-back-link:focus-visible {
  background-color: var(--admin-nav-hover-bg);
  color: var(--admin-nav-hover-color);
}
.admin-sidebar-back-link .admin-nav-icon {
  font-size: 1rem;
}

.admin-sidebar-signout {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.7rem;
  border: none;
  background: transparent;
  color: rgba(255, 120, 100, 0.72);
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.16s ease, color 0.16s ease;
  width: 100%;
  text-align: left;
}
.admin-sidebar-signout:hover, .admin-sidebar-signout:focus-visible {
  background-color: rgba(255, 80, 60, 0.12);
  color: rgba(255, 150, 130, 0.95);
}
form .admin-sidebar-signout {
  display: flex;
}

.admin-content-area {
  flex: 1 1 auto;
  min-width: 0;
  background-color: var(--admin-content-bg);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.admin-main {
  flex: 1 1 auto;
  padding: 1.5rem;
  display: grid;
  gap: 1.25rem;
  align-content: start;
  max-width: 75rem;
  width: 100%;
}
.admin-main > * {
  min-width: 0;
}

.admin-topbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: var(--admin-topbar-height);
  padding: 0 1rem;
  background-color: var(--admin-sidebar-bg);
  border-bottom: 1px solid var(--admin-sidebar-border);
  position: sticky;
  top: 0;
  z-index: 1020;
}

.admin-topbar-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  color: var(--admin-nav-color);
  cursor: pointer;
  border-radius: 0.5rem;
  font-size: 1.25rem;
}
.admin-topbar-toggle:hover {
  color: var(--admin-nav-hover-color);
  background-color: var(--admin-nav-hover-bg);
}

.admin-topbar-title {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--admin-nav-active-color);
  flex: 1;
}

.admin-topbar-signout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: none;
  background: transparent;
  color: rgba(255, 120, 100, 0.72);
  cursor: pointer;
  border-radius: 0.5rem;
  font-size: 1.1rem;
}
.admin-topbar-signout:hover {
  background-color: rgba(255, 80, 60, 0.12);
  color: rgba(255, 150, 130, 0.95);
}
form .admin-topbar-signout {
  display: inline-flex;
}

.admin-sidebar-offcanvas {
  --bs-offcanvas-width: min(16rem, 82vw);
  background-color: var(--admin-sidebar-bg);
  border-right: 1px solid var(--admin-sidebar-border);
}
.admin-sidebar-offcanvas .offcanvas-header {
  border-bottom: 1px solid var(--admin-sidebar-border);
  color: var(--admin-nav-active-color);
}
.admin-sidebar-offcanvas .offcanvas-header .btn-close {
  filter: invert(1) brightness(0.7);
}
.admin-sidebar-offcanvas .admin-sidebar-inner {
  min-height: 100%;
}

.admin-page-header {
  padding-bottom: 0.25rem;
}

.admin-page-title-area {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.admin-page-back {
  margin-bottom: 0.35rem;
}

.admin-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ratelo-secondary-deep);
  text-decoration: none;
  opacity: 0.8;
  transition: opacity 0.16s ease, color 0.16s ease;
}
.admin-back-link:hover, .admin-back-link:focus-visible {
  opacity: 1;
  color: var(--ratelo-accent-deep);
}
.admin-back-link svg {
  width: 0.9em;
  height: 0.9em;
}

.admin-page-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  letter-spacing: -0.025em;
  margin: 0;
  line-height: 1.2;
}

.admin-page-subtitle {
  font-size: 0.875rem;
  color: var(--ratelo-secondary-deep);
  margin: 0;
  opacity: 0.85;
}

.admin-filter-bar {
  padding: 0.75rem 1rem;
  background: #fff;
  border: 1px solid var(--ratelo-card-border);
  border-radius: var(--ratelo-surface-radius);
  box-shadow: var(--ratelo-card-shadow);
}

.admin-section-card {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid var(--ratelo-card-border);
  border-radius: var(--ratelo-surface-radius);
  box-shadow: var(--ratelo-card-shadow);
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.admin-section-card--flush {
  padding: 0;
  gap: 0;
  overflow: hidden;
}

.admin-section-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.admin-section-card--flush .admin-section-card-header {
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.admin-section-card-heading {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  flex: 1 1 auto;
}

.admin-section-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1e2a3a;
  margin: 0;
  letter-spacing: -0.01em;
}

.admin-section-card-subtitle {
  font-size: 0.82rem;
  color: #6b7a8a;
  margin: 0;
  line-height: 1.45;
}

.admin-section-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.admin-section-card-status {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.admin-detail-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 1rem 1.25rem;
  margin: 0;
}

.admin-detail-list--stacked {
  grid-template-columns: 1fr;
}

.admin-detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  margin: 0;
}

.admin-detail-item--wide {
  grid-column: 1/-1;
}

.admin-detail-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a97a6;
  margin: 0;
  line-height: 1.2;
}

.admin-detail-value {
  font-size: 0.95rem;
  font-weight: 500;
  color: #1e293b;
  margin: 0;
  line-height: 1.45;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.admin-detail-value--lg {
  font-size: 1.05rem;
  font-weight: 600;
}

.admin-detail-value-sub {
  display: block;
  color: #6b7a8a;
  font-weight: 400;
  font-size: 0.8rem;
  line-height: 1.4;
  margin-top: 0.1rem;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.admin-detail-value a {
  color: var(--ratelo-accent-deep);
  text-decoration: none;
  transition: color 0.15s ease;
}

.admin-detail-value a:hover,
.admin-detail-value a:focus-visible {
  color: var(--ratelo-secondary-deep);
  text-decoration: underline;
}

.admin-metric-card {
  padding: 1.4rem 1.5rem;
  background: #fff;
  border: 1px solid var(--ratelo-card-border);
  border-radius: var(--ratelo-surface-radius);
  box-shadow: var(--ratelo-card-shadow);
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  height: 100%;
}

.admin-metric-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a97a6;
  margin: 0;
}

.admin-metric-value {
  font-size: 2rem;
  font-weight: 700;
  color: #1e2a3a;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0;
}

.admin-metric-hint {
  font-size: 0.82rem;
  color: #6b7a8a;
  margin: 0;
}

.admin-table {
  --bs-table-bg: transparent;
  margin: 0;
  width: 100%;
}

.admin-table > :not(caption) > * > * {
  padding: 0.9rem 1.25rem;
  vertical-align: middle;
}

.admin-table thead th {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8a97a6;
  background: #f8fafc;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  white-space: nowrap;
}

.admin-table tbody tr {
  border-top: 1px solid rgba(15, 23, 42, 0.05);
}

.admin-table tbody tr:first-child {
  border-top: none;
}

.admin-table tbody tr:hover {
  background: rgba(241, 245, 249, 0.5);
}

.admin-table-cell-primary {
  font-weight: 600;
  color: #1e2a3a;
  min-width: 0;
}

.admin-table-cell-primary a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}

.admin-table-cell-primary a:hover,
.admin-table-cell-primary a:focus-visible {
  color: var(--ratelo-accent-deep);
}

.admin-table-cell-muted {
  font-size: 0.8rem;
  color: #6b7a8a;
  margin-top: 0.12rem;
  line-height: 1.35;
}

.admin-table-cell-truncate {
  max-width: 18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

.admin-table-cell-email {
  font-size: 0.88rem;
  color: #475569;
  max-width: 18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

.admin-table-cell-stack {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.admin-table-cell-action-wrap {
  display: inline-flex;
  justify-content: flex-end;
  gap: 0.4rem;
}

.admin-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 999px;
  background: rgba(124, 135, 159, 0.12);
  color: #4a5574;
  border: 1px solid rgba(124, 135, 159, 0.2);
  white-space: nowrap;
}

.admin-status-pill--success {
  background: rgba(111, 148, 129, 0.14);
  color: #3f6a54;
  border-color: rgba(111, 148, 129, 0.26);
}

.admin-status-pill--warning {
  background: rgba(196, 168, 130, 0.16);
  color: #7a6245;
  border-color: rgba(196, 168, 130, 0.3);
}

.admin-status-pill--danger {
  background: rgba(194, 102, 102, 0.14);
  color: #8a3e3e;
  border-color: rgba(194, 102, 102, 0.26);
}

.admin-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 2.25rem 1rem;
  color: #6b7a8a;
  text-align: center;
}

.admin-empty-state-icon {
  font-size: 1.9rem;
  color: #c7cdd5;
  line-height: 1;
}

.admin-empty-state-title {
  font-weight: 600;
  color: #475569;
  font-size: 0.95rem;
  margin: 0;
}

.admin-empty-state-copy {
  font-size: 0.85rem;
  margin: 0;
  max-width: 28rem;
}

@media (max-width: 991.98px) {
  .admin-main {
    padding: 1rem;
  }
}
@media (max-width: 575.98px) {
  .admin-main {
    padding: 0.75rem;
  }
  .admin-page-title {
    font-size: 1.2rem;
  }
  .admin-section-card {
    padding: 1.1rem;
  }
  .admin-section-card--flush .admin-section-card-header {
    padding: 0.9rem 1.1rem;
  }
  .admin-table > :not(caption) > * > * {
    padding: 0.75rem 1.1rem;
  }
  .admin-table-cell-truncate,
  .admin-table-cell-email {
    max-width: 11rem;
  }
}
/* ───────────────────────── Availability: business hours + vacation ───────────────────────── */
.business-hours-grid {
  display: grid;
  gap: 0.4rem;
}

.business-hours-row {
  display: grid;
  grid-template-columns: 7rem 6.5rem 1fr;
  align-items: center;
  gap: 0.65rem;
  padding: 0.45rem 0.65rem;
  border-radius: 0.6rem;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(124, 135, 159, 0.14);
  transition: background-color 120ms ease, border-color 120ms ease, opacity 120ms ease;
}
.business-hours-row.is-closed {
  opacity: 0.72;
  background: rgba(245, 243, 240, 0.8);
}
@media (max-width: 575.98px) {
  .business-hours-row {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }
}

.business-hours-row-day {
  font-weight: 600;
  color: var(--ratelo-accent-deep, #1f2a44);
}

.business-hours-row-closed {
  padding-left: 1.6rem;
  margin-bottom: 0;
}

.business-hours-row-times {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.business-hours-row-times input[type=time] {
  width: 7.2rem;
}

.business-hours-row-sep {
  color: rgba(90, 109, 127, 0.75);
  font-weight: 600;
}

.business-hours-call-cta {
  border: 0;
  padding: 0;
  margin: 0;
}
.business-hours-call-cta .form-check {
  margin-bottom: 0;
  padding-left: 1.6rem;
}

.vacation-periods-form {
  border-top: 1px dashed rgba(124, 135, 159, 0.25);
  padding-top: 0.75rem;
  margin-top: 0.25rem;
}

.vacation-schedule-range {
  position: relative;
}
.vacation-schedule-range .form-control[readonly].vacation-schedule-range-input,
.vacation-schedule-range .flatpickr-input.vacation-schedule-range-input {
  background-color: #fff;
  cursor: pointer;
}

.vacation-schedule-range-clear {
  position: absolute;
  top: 50%;
  right: 0.35rem;
  transform: translateY(-50%);
  padding: 0.15rem 0.35rem;
  line-height: 1;
  color: var(--ratelo-accent-deep, #2f5345);
  opacity: 0.65;
}
.vacation-schedule-range-clear svg {
  width: 0.95rem;
  height: 0.95rem;
}
.vacation-schedule-range-clear:hover {
  opacity: 1;
  text-decoration: none;
}

.flatpickr-calendar {
  border-radius: var(--ratelo-surface-radius, 0.85rem);
  box-shadow: 0 12px 30px rgba(23, 30, 45, 0.12);
  border: 1px solid rgba(111, 148, 129, 0.22);
}
.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange {
  background: var(--ratelo-accent, #6f9481);
  border-color: var(--ratelo-accent, #6f9481);
  color: #fff;
}
.flatpickr-calendar .flatpickr-day.inRange {
  background: rgba(111, 148, 129, 0.18);
  border-color: rgba(111, 148, 129, 0.18);
  box-shadow: -5px 0 0 rgba(111, 148, 129, 0.18), 5px 0 0 rgba(111, 148, 129, 0.18);
  color: var(--ratelo-accent-deep, #2f5345);
}
.flatpickr-calendar .flatpickr-day.today {
  border-color: rgba(111, 148, 129, 0.55);
}
.flatpickr-calendar .flatpickr-day:hover {
  background: rgba(111, 148, 129, 0.12);
}

.company-profile-vacation-list {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-top: 0.35rem;
}

.company-profile-vacation-list-heading {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  margin: 0 0 0.1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ratelo-secondary-deep, #2a3446);
}
.company-profile-vacation-list-heading svg {
  width: 1rem;
  height: 1rem;
}
.company-profile-vacation-list-heading .ph-icon {
  font-size: 1rem;
}

.vacation-period-item-removing {
  opacity: 0;
  transform: translateX(6px);
  pointer-events: none;
}

.vacation-periods-empty {
  color: #6c7280;
  font-style: italic;
}

.vacation-period-item {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.55rem 0.65rem;
  border-radius: 0.7rem;
  border: 1px solid rgba(124, 135, 159, 0.22);
  background: rgba(255, 255, 255, 0.7);
  font-size: 0.82rem;
  line-height: 1.3;
  transition: opacity 180ms ease, transform 180ms ease;
}
.vacation-period-item.is-active {
  background: rgba(212, 128, 98, 0.1);
  border-color: rgba(212, 128, 98, 0.35);
}
.vacation-period-item.is-scheduled {
  background: rgba(111, 148, 129, 0.1);
  border-color: rgba(111, 148, 129, 0.35);
}
.vacation-period-item.is-past {
  opacity: 0.6;
}

.vacation-period-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.vacation-period-item-icon svg {
  width: 1rem;
  height: 1rem;
  color: var(--ratelo-accent-deep, #2f5345);
}
.is-active .vacation-period-item-icon svg {
  color: #8a4817;
}

.vacation-period-item-body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1;
}

.vacation-period-item-range {
  font-weight: 600;
  line-height: 1.25;
  color: #374151;
}

.vacation-period-item-message {
  display: block;
  font-weight: 400;
  color: #6b7280;
  line-height: 1.25;
  font-size: 0.78rem;
}

.vacation-period-item-state-badge {
  margin-top: 0.2rem;
  font-weight: 600;
  font-size: 0.65rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.vacation-period-item-delete {
  padding: 0.15rem 0.35rem;
  color: #9ca3af;
  opacity: 0.75;
  align-self: flex-start;
}
.vacation-period-item-delete svg {
  width: 0.95rem;
  height: 0.95rem;
}
.vacation-period-item-delete:hover {
  color: #c05050;
  opacity: 1;
  text-decoration: none;
}

.company-profile-hours-preview {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.company-profile-hours-preview-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  width: fit-content;
  background: rgba(124, 135, 159, 0.14);
  color: #4c5264;
}
.company-profile-hours-preview-status.is-open {
  background: rgba(111, 148, 129, 0.2);
  color: var(--ratelo-accent-deep, #2f5345);
}
.company-profile-hours-preview-status.is-closed {
  background: rgba(178, 58, 72, 0.12);
  color: #a43144;
}

.company-profile-hours-preview-list {
  display: grid;
  gap: 0.2rem;
}
.company-profile-hours-preview-list li {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.2rem 0;
  border-bottom: 1px dashed rgba(124, 135, 159, 0.18);
}
.company-profile-hours-preview-list li:last-child {
  border-bottom: 0;
}

/* ── Vacation banner on public profile + company hero ──────────── */
.profile-vacation-banner {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-radius: var(--ratelo-surface-radius);
  background: linear-gradient(135deg, rgba(239, 205, 140, 0.35) 0%, rgba(212, 128, 98, 0.2) 100%);
  border: 1px solid rgba(212, 128, 98, 0.45);
  color: #7a4f1f;
  margin-bottom: 0.5rem;
}

.profile-vacation-banner-icon {
  flex: 0 0 1.4rem;
  font-size: 1.4rem;
}

.profile-vacation-banner-copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.profile-vacation-banner-title {
  font-weight: 700;
}

.profile-vacation-banner-message {
  font-size: 0.875rem;
  color: rgba(60, 30, 10, 0.8);
}

/* ── Vacation control card on private profile ──────────────────── */
.profile-vacation-card {
  padding: 1rem 1.15rem;
  border-radius: var(--ratelo-surface-radius);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(247, 249, 252, 0.95));
  border: 1px solid rgba(124, 135, 159, 0.22);
  box-shadow: var(--ratelo-card-shadow);
}
.profile-vacation-card.is-on {
  border-color: rgba(212, 128, 98, 0.55);
  background: linear-gradient(180deg, rgba(250, 236, 224, 0.9), rgba(250, 236, 224, 0.6));
}

.profile-vacation-card-main {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

.profile-vacation-card-icon {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  background: rgba(111, 148, 129, 0.15);
  color: var(--ratelo-accent-deep, #2f5345);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}
.profile-vacation-card-icon.is-on {
  background: rgba(212, 128, 98, 0.18);
  color: #a4561a;
}

.profile-vacation-card-copy {
  flex: 1;
  min-width: 0;
}

.profile-vacation-card-kicker {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(90, 109, 127, 0.8);
  font-weight: 700;
}

.profile-vacation-card-switch {
  flex-shrink: 0;
}
.profile-vacation-card-switch .form-check-input {
  width: 2.6rem;
  height: 1.35rem;
  cursor: pointer;
}

/* When the user is already on vacation, the card collapses into a centred
   "I'm back" call-to-action below the dashed divider — one click ends the
   vacation. The button_to wraps the button in a form; we neutralise default
   form margins and centre the whole thing. */
.profile-vacation-card-end {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(212, 128, 98, 0.45);
  display: flex;
  justify-content: center;
}

.profile-vacation-card-end-form {
  margin: 0;
}

.profile-vacation-card-end-btn {
  white-space: nowrap;
  padding: 0.6rem 1.75rem;
  font-size: 1rem;
  font-weight: 600;
  min-width: 12rem;
}

.profile-vacation-card-details {
  overflow: hidden;
  max-height: 0;
  margin-top: 0;
  padding-top: 0;
  border-top: 1px dashed transparent;
  opacity: 0;
  transform: translateY(-4px);
  transition: max-height 280ms ease, margin-top 200ms ease, padding-top 200ms ease, opacity 180ms ease, transform 220ms ease, border-top-color 200ms ease;
  pointer-events: none;
}
.profile-vacation-card-details.is-open {
  max-height: 32rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top-color: rgba(124, 135, 159, 0.25);
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.profile-vacation-card-actions {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
  max-height: 0;
  margin-top: 0;
  opacity: 0;
  transform: translateY(-2px);
  transition: max-height 260ms ease, margin-top 200ms ease, opacity 180ms ease, transform 220ms ease;
  pointer-events: none;
}
.profile-vacation-card-actions.is-visible {
  max-height: 3.5rem;
  margin-top: 0.75rem;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ── Seller card on listing#show ───────────────────────────────── */
.listing-seller-card {
  position: relative;
  padding: 1.1rem 1.15rem;
  border-radius: var(--ratelo-surface-radius);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 249, 252, 0.96));
  border: 1px solid var(--ratelo-card-border);
  box-shadow: var(--ratelo-card-shadow);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  overflow: hidden;
}

.listing-seller-card--branded {
  box-shadow: 0 0.55rem 1.15rem rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.65);
}
.listing-seller-card--branded > * {
  position: relative;
  z-index: 1;
}

.listing-seller-card-vacation {
  padding: 0.55rem 0.75rem;
  border-radius: 0.65rem;
  background: rgba(212, 128, 98, 0.12);
  color: #a4561a;
  font-weight: 600;
  font-size: 0.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.listing-seller-card-vacation-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.listing-seller-card-vacation-icon {
  flex-shrink: 0;
}

.listing-seller-card-vacation-message {
  display: block;
  line-height: 1.35;
}

.listing-seller-card-head {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.listing-seller-card-avatar {
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  overflow: hidden;
  background: rgba(111, 148, 129, 0.14);
  color: var(--ratelo-accent-deep, #2f5345);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.2rem;
  text-decoration: none;
}
.listing-seller-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.listing-seller-card-identity {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  flex: 1;
}

.listing-seller-card-name-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  flex-wrap: wrap;
}

.listing-seller-card-name {
  color: inherit;
  min-width: 0;
}

.listing-seller-card-badge {
  flex-shrink: 0;
}

.listing-seller-card-location {
  min-width: 0;
}

.listing-seller-card-status-pill {
  align-self: flex-start;
  cursor: help;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: rgba(124, 135, 159, 0.15);
  color: #4c5264;
}
.listing-seller-card-status-pill.is-open {
  background: rgba(111, 148, 129, 0.2);
  color: var(--ratelo-accent-deep, #2f5345);
}
.listing-seller-card-status-pill.is-closed {
  background: rgba(212, 128, 98, 0.14);
  color: #a4561a;
}

.listing-seller-card-status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
  flex-shrink: 0;
}

.listing-seller-card-hours-tooltip .tooltip-inner {
  min-width: 10rem;
  text-align: left;
  padding: 0.55rem 0.7rem;
  font-size: 0.78rem;
  line-height: 1.3;
}

.listing-seller-card-meta {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  color: rgba(90, 109, 127, 0.85);
  font-size: 0.8rem;
}

.listing-seller-card-email,
.listing-seller-card-phone {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  min-width: 0;
  color: var(--ratelo-accent-deep, #2f5345);
  text-decoration: none;
  font-weight: 500;
}

.listing-seller-card-email:hover,
.listing-seller-card-email:focus-visible,
.listing-seller-card-phone:hover,
.listing-seller-card-phone:focus-visible {
  text-decoration: underline;
  color: var(--ratelo-accent-deep, #2f5345);
}

.listing-seller-card-email span,
.listing-seller-card-phone span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.listing-seller-card-trust-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.5rem;
  background: rgba(111, 148, 129, 0.18);
  color: var(--ratelo-accent-deep, #2f5345);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.listing-seller-card-actions {
  display: grid;
  gap: 0.5rem;
}

/* ── Company public hero: status pill + hours widget ──────────── */
.company-public-hero-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: rgba(124, 135, 159, 0.2);
  color: #4c5264;
  font-weight: 700;
  font-size: 0.72rem;
}
.company-public-hero-status-pill.is-open {
  background: rgba(111, 148, 129, 0.25);
  color: var(--ratelo-accent-deep, #2f5345);
}
.company-public-hero-status-pill.is-closed {
  background: rgba(212, 128, 98, 0.2);
  color: #a4561a;
}

.company-public-hero-status-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
}

.company-public-hero-hours-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05rem;
  height: 1.05rem;
  padding: 0;
  margin-left: 0.15rem;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  opacity: 0.7;
  cursor: pointer;
  line-height: 1;
  transition: opacity 120ms ease, transform 120ms ease;
}
.company-public-hero-hours-info svg {
  width: 0.9rem;
  height: 0.9rem;
}
.company-public-hero-hours-info:hover, .company-public-hero-hours-info:focus-visible {
  opacity: 1;
  transform: scale(1.05);
}
.company-public-hero-hours-info:focus-visible {
  outline: 2px solid rgba(111, 148, 129, 0.45);
  outline-offset: 2px;
}

.tooltip.company-public-hero-hours-tooltip .tooltip-inner {
  max-width: 260px;
  text-align: left;
  padding: 0.55rem 0.7rem;
  background: #2f3a42;
}
.tooltip.company-public-hero-hours-tooltip .tooltip-inner > div {
  padding: 0.12rem 0;
  font-size: 0.8rem;
  line-height: 1.15;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.18);
}
.tooltip.company-public-hero-hours-tooltip .tooltip-inner > div:last-child {
  border-bottom: 0;
}
.tooltip.company-public-hero-hours-tooltip .tooltip-inner > div > span:last-child {
  font-variant-numeric: tabular-nums;
}

/* Compact kicker-only workflow/status card (used when a plan is active
   or the buyer is verified — no long descriptor needed). */
.ratelo-action-card.is-kicker-only {
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  min-height: 0;
}
.ratelo-action-card.is-kicker-only .ratelo-card-watermark {
  opacity: 0.45;
}
.ratelo-action-card.is-kicker-only .ratelo-action-card-header {
  row-gap: 0;
}
.ratelo-action-card.is-kicker-only .ratelo-action-card-kicker-row {
  min-height: 1.9rem;
}
.ratelo-action-card.is-kicker-only .ratelo-action-card-kicker--inline {
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-transform: none;
  font-weight: 700;
  color: var(--ratelo-accent-deep, #2f5345);
}

.ratelo-request-window-identity--link {
  color: inherit;
  text-decoration: none;
  border-radius: 0.9rem;
  transition: background-color 0.15s ease, transform 0.15s ease;
  padding: 0.2rem 0.35rem;
  margin: -0.2rem -0.35rem;
}

.ratelo-request-window-identity--link:hover,
.ratelo-request-window-identity--link:focus-visible {
  color: inherit;
  text-decoration: none;
  background: rgba(15, 23, 42, 0.035);
}

.ratelo-request-window-identity--link:focus-visible {
  outline: 2px solid rgba(111, 148, 129, 0.55);
  outline-offset: 2px;
}

.ratelo-request-window-name-line {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  min-width: 0;
}

.ratelo-request-window-vacation-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  background: rgba(212, 155, 76, 0.14);
  color: #8a5a1f;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  border: 1px solid rgba(212, 155, 76, 0.32);
}

.ratelo-request-window-vacation-pill-icon {
  font-size: 0.78rem;
}

.ratelo-request-message-row--grouped-top {
  margin-top: -0.35rem;
}

.ratelo-request-message-row--grouped-bot + .ratelo-request-message-row--grouped-top,
.ratelo-request-message-row--grouped-top + .ratelo-request-message-row--grouped-bot {
  margin-top: -0.45rem;
}

.ratelo-request-message-avatar--spacer {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: transparent;
  pointer-events: none;
}

.ratelo-request-message-row--grouped-top:not(.ratelo-request-message-row--own) .ratelo-request-message-card {
  border-top-left-radius: 0.45rem;
}

.ratelo-request-message-row--grouped-bot:not(.ratelo-request-message-row--own) .ratelo-request-message-card {
  border-bottom-left-radius: 0.45rem;
}

.ratelo-request-message-row--grouped-top.ratelo-request-message-row--own .ratelo-request-message-card {
  border-top-right-radius: 0.45rem;
}

.ratelo-request-message-row--grouped-bot.ratelo-request-message-row--own .ratelo-request-message-card {
  border-bottom-right-radius: 0.45rem;
}

.ratelo-request-day-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.35rem 0 0.25rem;
  position: relative;
}
.ratelo-request-day-divider::before, .ratelo-request-day-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: rgba(15, 23, 42, 0.08);
}

.ratelo-request-day-divider-label {
  padding: 0.2rem 0.75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(15, 23, 42, 0.06);
  color: #6d7b88;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0 0.65rem;
  backdrop-filter: blur(3px);
}

.ratelo-request-composer-hint {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-wrap: wrap;
  font-size: 0.72rem;
  color: #8090a0;
  padding: 0 0.25rem;
}

.ratelo-request-composer-hint-sep {
  color: rgba(15, 23, 42, 0.25);
}

.ratelo-request-composer-kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.3rem;
  padding: 0.05rem 0.38rem;
  border-radius: 0.3rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: rgba(255, 255, 255, 0.9);
  color: #4a5864;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.66rem;
  font-weight: 600;
  line-height: 1;
  box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.08);
}

@media (max-width: 575px) {
  .ratelo-request-composer-hint {
    display: none;
  }
}
.ratelo-request-message-footer-time {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.68rem;
  color: rgba(15, 23, 42, 0.42);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.ratelo-request-message-row--own .ratelo-request-message-footer-time {
  color: rgba(255, 255, 255, 0.72);
}

.ratelo-request-offer-strip {
  flex-shrink: 0;
  padding: 0.6rem 1.15rem 0;
  background: transparent;
}

.ratelo-request-window-state-strip {
  flex-shrink: 0;
  padding: 0.6rem 1.15rem 0;
  background: transparent;
}

.ratelo-request-window-state-strip > .ratelo-request-window-state {
  margin: 0;
  border-radius: 1rem 1rem 0 0;
  box-shadow: 0 0.25rem 0.7rem rgba(15, 23, 42, 0.06);
}

@media (max-width: 575px) {
  .ratelo-request-window-state-strip {
    padding: 0.45rem 0.9rem 0;
  }
}
.ratelo-request-fulfillment-strip {
  flex-shrink: 0;
  padding: 0.5rem 1.15rem 0;
  background: transparent;
}

.ratelo-request-fulfillment-strip > .row {
  --bs-gutter-y: 0.5rem;
  --bs-gutter-x: 0.75rem;
}

.ratelo-request-fulfillment-strip .ratelo-request-offer-card--workflow {
  padding: 0.58rem 0.8rem;
  border-radius: 0.9rem 0.9rem 0 0;
  gap: 0.65rem;
  min-height: 0;
  align-items: center;
  box-shadow: 0 0.25rem 0.7rem rgba(15, 23, 42, 0.06);
}

.ratelo-request-fulfillment-workflow-card--with-actions {
  grid-template-columns: minmax(12rem, 1fr) minmax(12rem, auto);
}

.ratelo-request-fulfillment-strip .ratelo-request-offer-card-summary {
  padding: 0;
  gap: 0.25rem;
  min-width: 0;
}

.ratelo-request-fulfillment-strip .ratelo-request-offer-card-copy {
  gap: 0.14rem;
}

.ratelo-request-fulfillment-strip .ratelo-request-offer-card-label {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
}

.ratelo-request-fulfillment-strip .ratelo-request-workflow-card-title {
  font-size: 0.9rem;
  line-height: 1.2;
}

.ratelo-request-fulfillment-strip .ratelo-request-fulfillment-note,
.ratelo-request-fulfillment-strip .ratelo-request-fulfillment-summary,
.ratelo-request-fulfillment-strip .ratelo-request-fulfillment-list {
  font-size: 0.76rem;
  line-height: 1.22;
}

.ratelo-request-fulfillment-actions {
  justify-self: end;
  width: min(100%, 24rem);
}

.ratelo-request-fulfillment-strip .ratelo-request-composer-button {
  padding: 0.3rem 0.6rem;
  font-size: 0.78rem;
  min-height: 1.95rem;
  line-height: 1.15;
}

@media (max-width: 767.98px) {
  .ratelo-request-fulfillment-strip {
    padding: 0.4rem 0.9rem 0;
  }
  .ratelo-request-fulfillment-strip .ratelo-request-offer-card--workflow {
    padding: 0.5rem 0.7rem;
    gap: 0.45rem;
  }
  .ratelo-request-fulfillment-workflow-card--with-actions {
    grid-template-columns: minmax(0, 1fr);
  }
  .ratelo-request-fulfillment-actions {
    justify-self: stretch;
    width: 100%;
  }
  .ratelo-request-fulfillment-strip .ratelo-request-fulfillment-button-grid--delivery {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.4rem;
  }
  .ratelo-request-fulfillment-strip .ratelo-request-fulfillment-button-grid--delivery .ratelo-request-fulfillment-button-slot {
    flex-basis: 7.5rem;
  }
  .ratelo-request-fulfillment-strip .ratelo-request-fulfillment-button-grid--delivery .ratelo-request-fulfillment-button-slot--saved {
    flex-basis: 10rem;
  }
}
@media (max-width: 360px) {
  .ratelo-request-fulfillment-button-grid--pair {
    grid-template-columns: 1fr;
  }
}
.ratelo-request-installment-overview .card-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ratelo-request-installment-overview-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}

.ratelo-request-installment-overview-meta {
  font-size: 0.78rem;
  font-weight: 600;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.ratelo-request-installment-progress {
  width: 100%;
  height: 0.35rem;
  border-radius: 0.5rem;
  background: rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.ratelo-request-installment-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #4f46e5, #22c55e);
  border-radius: inherit;
  transition: width 0.3s ease;
}

.ratelo-request-installment-step {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.75rem;
  background: rgba(79, 70, 229, 0.07);
  border: 1px solid rgba(79, 70, 229, 0.18);
}

.ratelo-request-installment-step--info {
  background: rgba(14, 165, 233, 0.07);
  border-color: rgba(14, 165, 233, 0.25);
}

.ratelo-request-installment-step--warning {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.3);
}

.ratelo-request-installment-step--danger {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.32);
}

.ratelo-request-installment-step--success {
  background: rgba(34, 197, 94, 0.08);
  border-color: rgba(34, 197, 94, 0.28);
  flex-direction: row;
  align-items: center;
}

.ratelo-request-installment-step--setup {
  background: #fff;
  border-color: rgba(15, 23, 42, 0.12);
  flex-direction: row;
  align-items: flex-start;
}

.ratelo-request-installment-step-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: #4f46e5;
  flex-shrink: 0;
  margin-top: 0.15rem;
}

.ratelo-request-installment-step--success .ratelo-request-installment-step-icon {
  color: #16a34a;
}

.ratelo-request-installment-step-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.ratelo-request-installment-step-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.ratelo-request-installment-step-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #475569;
}

.ratelo-request-installment-step-due {
  font-size: 0.75rem;
  color: #64748b;
  font-variant-numeric: tabular-nums;
}

.ratelo-request-installment-step-title {
  font-size: 0.95rem;
  color: #0f172a;
  font-weight: 700;
}

.ratelo-request-installment-step-amount {
  font-size: 1.4rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.ratelo-request-installment-step-hint {
  font-size: 0.85rem;
  color: #334155;
  line-height: 1.45;
}

.ratelo-request-installment-step-proof {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.82rem;
  color: #0f172a;
}

.ratelo-request-installment-step-proof-icon {
  width: 0.9rem;
  height: 0.9rem;
  color: #64748b;
}

.ratelo-request-installment-step-proof-link {
  color: #4f46e5;
  font-weight: 600;
  text-decoration: underline;
}

.ratelo-request-installment-step-iban {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.6rem 0.75rem;
  border-radius: 0.55rem;
  background: #fff;
  border: 1px dashed rgba(15, 23, 42, 0.18);
}

.ratelo-request-installment-step-iban-row {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
}

.ratelo-request-installment-step-iban-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
}

.ratelo-request-installment-step-iban-holder {
  font-size: 0.88rem;
  font-weight: 600;
  color: #0f172a;
}

.ratelo-request-installment-step-iban-amount {
  font-size: 0.8rem;
  color: #475569;
  font-variant-numeric: tabular-nums;
}

.ratelo-request-installment-step-form {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.ratelo-request-installment-step-upload {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ratelo-request-installment-step-upload-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
}

.ratelo-request-installment-step-upload-hint {
  font-size: 0.7rem;
  color: #64748b;
}

.ratelo-request-installment-step-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.1rem;
}

.ratelo-request-installment-step-actions .btn {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.85rem;
  font-size: 0.85rem;
  min-height: 2.2rem;
}

.ratelo-request-installment-setup-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.3rem;
}

.ratelo-request-installment-setup-steps > li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.82rem;
  color: #475569;
}

.ratelo-request-installment-setup-steps > li.is-done {
  color: #0f172a;
}

.ratelo-request-installment-setup-steps > li.is-done .ratelo-request-installment-setup-icon {
  color: #16a34a;
}

.ratelo-request-installment-setup-icon {
  width: 1rem;
  height: 1rem;
  color: #94a3b8;
  flex-shrink: 0;
}

.ratelo-request-installment-schedule {
  font-size: 0.82rem;
}

.ratelo-request-installment-schedule-summary {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: #475569;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.ratelo-request-installment-schedule-summary::-webkit-details-marker {
  display: none;
}

.ratelo-request-installment-schedule-chevron {
  width: 0.9rem;
  height: 0.9rem;
  transition: transform 0.2s ease;
}

.ratelo-request-installment-schedule[open] .ratelo-request-installment-schedule-chevron {
  transform: rotate(180deg);
}

.ratelo-request-installment-schedule-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.25rem;
}

.ratelo-request-installment-schedule-item {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 0.9fr) auto;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.4rem;
  border-radius: 0.5rem;
  background: rgba(15, 23, 42, 0.03);
  font-size: 0.8rem;
}

.ratelo-request-installment-schedule-label {
  font-weight: 600;
  color: #0f172a;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ratelo-request-installment-schedule-due {
  color: #64748b;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ratelo-request-installment-schedule-amount {
  color: #0f172a;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.ratelo-request-installment-schedule-pill {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.ratelo-request-installment-schedule-pill--success {
  background: rgba(34, 197, 94, 0.12);
  color: #166534;
}

.ratelo-request-installment-schedule-pill--info {
  background: rgba(14, 165, 233, 0.12);
  color: #075985;
}

.ratelo-request-installment-schedule-pill--warning {
  background: rgba(245, 158, 11, 0.14);
  color: #92400e;
}

.ratelo-request-installment-schedule-pill--danger {
  background: rgba(239, 68, 68, 0.14);
  color: #991b1b;
}

.ratelo-request-installment-schedule-pill--neutral {
  background: rgba(15, 23, 42, 0.08);
  color: #334155;
}

@media (max-width: 575px) {
  .ratelo-request-installment-step {
    padding: 0.65rem 0.7rem;
  }
  .ratelo-request-installment-step-amount {
    font-size: 1.2rem;
  }
  .ratelo-request-installment-step-actions {
    width: 100%;
  }
  .ratelo-request-installment-step-actions .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
  .ratelo-request-installment-schedule-item {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 0.15rem;
  }
  .ratelo-request-installment-schedule-due {
    grid-column: 1/2;
    grid-row: 2;
  }
  .ratelo-request-installment-schedule-amount {
    grid-column: 1/3;
    grid-row: 3;
    text-align: left;
  }
  .ratelo-request-installment-schedule-pill {
    grid-column: 2/3;
    grid-row: 1;
    justify-self: end;
  }
}
.ratelo-request-offer-strip > .ratelo-request-offer-card {
  padding: 0.75rem 0.95rem;
  border-radius: 1rem 1rem 0 0;
  gap: 0.45rem;
  min-height: 0;
  box-shadow: 0 0.25rem 0.7rem rgba(15, 23, 42, 0.06);
}

.ratelo-request-offer-strip .ratelo-request-offer-card--success,
.ratelo-request-offer-strip .ratelo-request-offer-card--danger {
  padding-right: 0.95rem;
  min-height: 0;
  align-content: start;
}

.ratelo-request-offer-card--with-actions {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "head" "body" "note";
  row-gap: 0.38rem;
  align-items: start;
}

.ratelo-request-offer-card--with-actions > .ratelo-request-offer-card-head {
  grid-area: head;
}

.ratelo-request-offer-card--with-actions > .ratelo-request-offer-card-body {
  grid-area: body;
}

.ratelo-request-offer-card--with-actions > .ratelo-request-offer-card-note {
  grid-area: note;
}

@media (max-width: 575px) {
  .ratelo-request-offer-card--with-actions {
    row-gap: 0.5rem;
  }
}
.ratelo-request-offer-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  flex-wrap: wrap;
  min-width: 0;
}

.ratelo-request-offer-card-head > .ratelo-request-offer-card-label {
  min-width: 0;
  flex: 1 1 auto;
}

.ratelo-request-offer-card-head-trail {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-left: auto;
  flex-wrap: nowrap;
}

.ratelo-request-offer-card-hint {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #5b6675;
  white-space: nowrap;
}

.ratelo-request-offer-card-hint--pending {
  background: rgba(111, 148, 129, 0.14);
  color: #3d5a49;
}

.ratelo-request-offer-card-hint--success {
  background: rgba(77, 106, 90, 0.14);
  color: #2f4a3b;
}

.ratelo-request-offer-card-hint--danger {
  background: rgba(196, 78, 85, 0.12);
  color: #8b3239;
}

.ratelo-request-offer-card-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 0.9rem;
  flex-wrap: wrap;
  min-width: 0;
}

.ratelo-request-offer-card-amount-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 0.15rem;
  min-width: 0;
  flex: 1 1 auto;
}

.ratelo-request-offer-card-amount-block .ratelo-request-offer-card-amount {
  font-size: 1.2rem;
  line-height: 1.1;
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
}

.ratelo-request-offer-card-amount-part {
  white-space: nowrap;
}

.ratelo-request-offer-card-amount-sep {
  font-weight: 600;
  opacity: 0.45;
  font-size: 0.9em;
}

.ratelo-request-offer-card-amount-block .ratelo-request-offer-card-meta {
  font-size: 0.74rem;
  font-variant-numeric: tabular-nums;
}

.ratelo-request-offer-card-terms {
  flex: 1 1 100%;
  font-size: 0.74rem;
  line-height: 1.4;
  color: inherit;
  opacity: 0.75;
}

.ratelo-request-offer-card-actions--full {
  display: inline-flex;
  align-items: stretch;
  gap: 0.45rem;
  width: auto;
  margin-left: auto;
  flex: 0 0 auto;
  justify-content: flex-end;
}

.ratelo-request-offer-card-actions--full .ratelo-request-offer-card-form {
  display: flex;
}

.ratelo-request-offer-card-actions--full .ratelo-request-composer-button {
  flex: 0 0 auto;
  min-height: 2rem;
  padding: 0.34rem 0.82rem;
  font-size: 0.76rem;
}

@media (max-width: 575px) {
  .ratelo-request-offer-card--with-actions .ratelo-request-offer-card-actions--full {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    gap: 0.5rem;
    width: 100%;
    margin-left: 0;
  }
  .ratelo-request-offer-card--with-actions .ratelo-request-offer-card-actions--full .ratelo-request-offer-card-form {
    width: 100%;
  }
  .ratelo-request-offer-card--with-actions .ratelo-request-offer-card-actions--full .ratelo-request-composer-button {
    width: 100%;
  }
}
.ratelo-request-composer-button--decline {
  background: transparent;
  color: #8a3a40;
  border: 1px solid rgba(196, 78, 85, 0.32);
  box-shadow: 0 1px 0 rgba(196, 78, 85, 0.06);
}
.ratelo-request-composer-button--decline:hover, .ratelo-request-composer-button--decline:focus-visible {
  background: rgba(196, 78, 85, 0.08);
  color: #6e2b30;
  border-color: rgba(196, 78, 85, 0.55);
}

.ratelo-request-offer-card--success .ratelo-request-composer-button--decline {
  color: #4d6a5a;
  border-color: rgba(77, 106, 90, 0.32);
}
.ratelo-request-offer-card--success .ratelo-request-composer-button--decline:hover, .ratelo-request-offer-card--success .ratelo-request-composer-button--decline:focus-visible {
  background: rgba(77, 106, 90, 0.08);
  color: #2f4a3b;
  border-color: rgba(77, 106, 90, 0.55);
}

.ratelo-request-message-row--own .ratelo-request-message-card {
  background: linear-gradient(145deg, #82a895 0%, #6c8e7d 100%);
  box-shadow: 0 1px 4px rgba(55, 90, 70, 0.18), 0 0.3rem 0.85rem rgba(55, 90, 70, 0.12);
}
.ratelo-request-message-row--own .ratelo-request-message-card .ratelo-request-message-details {
  border-top-color: rgba(255, 255, 255, 0.28);
}
.ratelo-request-message-row--own .ratelo-request-message-card .ratelo-request-message-detail-label {
  color: rgba(255, 255, 255, 0.78);
}
.ratelo-request-message-row--own .ratelo-request-message-card .text-secondary,
.ratelo-request-message-row--own .ratelo-request-message-card .text-muted,
.ratelo-request-message-row--own .ratelo-request-message-card .small.text-secondary {
  color: rgba(255, 255, 255, 0.78) !important;
}
.ratelo-request-message-row--own .ratelo-request-message-card .ratelo-request-amount-badge {
  background: rgba(255, 255, 255, 0.32);
  border-color: rgba(255, 255, 255, 0.45);
  color: #ffffff;
}
.ratelo-request-message-row--own .ratelo-request-message-card svg,
.ratelo-request-message-row--own .ratelo-request-message-card i {
  color: #ffffff;
}

.ratelo-installment-stepper-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 1rem;
  box-shadow: 0 0.35rem 1rem rgba(15, 23, 42, 0.04);
  padding: 1.1rem 1.2rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  max-width: 100%;
  min-width: 0;
  /* Let diagonal labels paint below the dot; horizontal spill stays inside .ratelo-installment-stepper-scroll */
  overflow: visible;
}

.ratelo-installment-stepper-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}

.ratelo-installment-stepper-header-titles {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
}

.ratelo-installment-stepper-more {
  flex: 0 0 auto;
}

.ratelo-installment-stepper-more-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  min-width: 1.75rem;
  min-height: 1.75rem;
  padding: 0 !important;
  line-height: 1;
  color: #b91c1c;
  background: #fff;
  border: 1px solid rgba(185, 28, 28, 0.45) !important;
  box-shadow: 0 0.08rem 0.22rem rgba(185, 28, 28, 0.1);
}
.ratelo-installment-stepper-more-trigger:hover, .ratelo-installment-stepper-more-trigger:focus-visible {
  color: #991b1b;
  background: rgba(254, 226, 226, 0.65) !important;
  border-color: rgba(185, 28, 28, 0.65) !important;
}

.ratelo-installment-stepper-more-glyph {
  display: block;
  font-size: 0.95rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  color: inherit;
  transform: translateY(-0.04em);
}

.ratelo-installment-stepper-more-menu {
  min-width: 15rem;
}

.ratelo-installment-stepper-more-menu-head {
  border-bottom: 1px solid rgba(185, 28, 28, 0.2);
}

.ratelo-installment-stepper-more-menu-problem {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #b91c1c;
}

.ratelo-installment-stepper-seller-notice {
  margin: -0.15rem 0 0;
  padding: 0.55rem 0.65rem;
  border-radius: 0.55rem;
  border: 1px solid rgba(217, 119, 6, 0.35);
  background: rgba(254, 243, 199, 0.55);
  color: #78350f;
  font-size: 0.78rem;
  line-height: 1.35;
}

.ratelo-installment-stepper-seller-notice strong {
  font-weight: 800;
  color: #92400e;
}

.ratelo-installment-stepper-seller-notice--case {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(219, 234, 254, 0.6);
  color: #1e3a8a;
}

.ratelo-installment-stepper-seller-notice--case strong {
  color: #1d4ed8;
}

.ratelo-installment-proof-review-inline {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.ratelo-installment-proof-rates-layout {
  align-items: stretch;
}

.ratelo-installment-proof-rate-block {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: 100%;
}

.ratelo-installment-proof-rate-label {
  align-self: flex-start;
  font-size: 0.72rem;
  font-weight: 800;
  color: #78350f;
  line-height: 1.2;
  margin-bottom: 0.2rem;
}

.ratelo-installment-proof-attachment-shell {
  align-self: stretch;
  width: 100%;
  margin-top: 0.2rem;
  border: 1px solid rgba(146, 64, 14, 0.28);
  border-radius: 0.55rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 0.06rem 0.18rem rgba(15, 23, 42, 0.05);
}

.ratelo-installment-proof-attachment-shell .ratelo-installment-proof-grid {
  padding: 0.4rem 0.4rem 0.35rem;
}

.ratelo-installment-proof-attachment-shell .ratelo-installment-proof-thumb {
  border-radius: 0.4rem;
  border-color: rgba(146, 64, 14, 0.14);
}

.ratelo-installment-proof-attachment-shell .ratelo-installment-proof-review-actions {
  margin-top: 0;
  padding: 0.45rem 0.4rem;
  border-top: 1px solid rgba(146, 64, 14, 0.18);
  background: rgba(248, 250, 252, 0.95);
}

.ratelo-installment-proof-attachment-shell .ratelo-installment-proof-review-actions:only-child {
  border-top: 0;
}

.ratelo-installment-proof-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  width: 100%;
  align-self: stretch;
}

.ratelo-installment-proof-review-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.3rem;
  margin-top: 0.35rem;
  width: 100%;
  align-self: stretch;
}

.ratelo-installment-proof-review-actions form {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
}

.ratelo-installment-proof-review-actions form .btn {
  width: 100%;
}

.ratelo-installment-proof-thumb {
  flex: 1 1 0;
  min-width: 3.25rem;
  width: auto;
  height: 3.8rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(146, 64, 14, 0.25);
  background: rgba(255, 255, 255, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #92400e;
  text-decoration: none;
}

.ratelo-installment-proof-thumb:hover,
.ratelo-installment-proof-thumb:focus-visible {
  border-color: rgba(146, 64, 14, 0.48);
  box-shadow: 0 0.35rem 0.8rem rgba(146, 64, 14, 0.12);
}

.ratelo-installment-proof-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ratelo-installment-proof-file-icon {
  font-size: 1rem;
  margin-right: 0.25rem;
}

.ratelo-installment-proof-file-name {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 700;
}

.ratelo-installment-stepper-kicker {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
}

.ratelo-installment-stepper-meta {
  font-size: 0.82rem;
  font-weight: 600;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.ratelo-installment-stepper-scroll {
  position: relative;
  overflow-x: auto;
  /* Padding reserves space for -45° labels (long month names + 3 lines) so nothing is clipped */
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  padding: 0.35rem 0.65rem 5.75rem;
  min-width: 0;
  max-width: 100%;
  scrollbar-width: thin;
  scrollbar-color: rgba(15, 23, 42, 0.18) transparent;
}

.ratelo-installment-stepper-scroll::-webkit-scrollbar {
  height: 6px;
}

.ratelo-installment-stepper-scroll::-webkit-scrollbar-thumb {
  background: rgba(15, 23, 42, 0.18);
  border-radius: 4px;
}

.ratelo-installment-stepper-track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: flex-start;
  min-width: 100%;
  position: relative;
  gap: 0;
}

.ratelo-installment-stepper-node {
  flex: 1 0 4.75rem;
  min-width: 4.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0.25rem;
  scroll-snap-align: center;
}

.ratelo-installment-stepper-node + .ratelo-installment-stepper-node::before {
  content: "";
  position: absolute;
  top: calc(0.25rem + 1.2rem / 2 - 1px);
  right: 50%;
  left: -50%;
  height: 2px;
  background: #cbd5e1;
  z-index: 0;
}

.ratelo-installment-stepper-node.is-past + .ratelo-installment-stepper-node::before {
  background: #4f46e5;
}

.ratelo-installment-stepper-node.is-past + .ratelo-installment-stepper-node.is-delinquency-connector::before,
.ratelo-installment-stepper-node.is-delinquency-connector::before {
  background: #c43a45;
}

.ratelo-installment-stepper-node.is-past + .ratelo-installment-stepper-node.is-after-delinquency-window::before {
  background: #cbd5e1;
}

.ratelo-installment-stepper-dot {
  position: relative;
  z-index: 1;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #cbd5e1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.ratelo-installment-stepper-dot .ph {
  font-size: 0.72rem;
  line-height: 1;
}

.is-await .ratelo-installment-stepper-dot {
  background: #d97706;
  border-color: #d97706;
  color: #fff;
}

.is-late .ratelo-installment-stepper-dot {
  background: #d97706;
  border-color: #d97706;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.18);
}

.is-dispute .ratelo-installment-stepper-dot {
  background: #c43a45;
  border-color: #c43a45;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(196, 58, 69, 0.18);
}

.is-current .ratelo-installment-stepper-dot {
  background: #4f46e5;
  border-color: #4f46e5;
  box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.2);
  animation: ratelo-installment-pulse 1.8s ease-in-out infinite;
}

.is-past .ratelo-installment-stepper-dot {
  background: #4f46e5;
  border-color: #4f46e5;
  box-shadow: none;
  animation: none;
}

.is-delinquency-range .ratelo-installment-stepper-dot {
  background: #c43a45;
  border-color: #c43a45;
  box-shadow: none;
  animation: none;
}

.is-cancelled .ratelo-installment-stepper-dot {
  background: #e2e8f0;
  border-color: #cbd5e1;
  color: #94a3b8;
}

@keyframes ratelo-installment-pulse {
  0%, 100% {
    box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.2);
  }
  50% {
    box-shadow: 0 0 0 9px rgba(79, 70, 229, 0.06);
  }
}
.ratelo-installment-stepper-label {
  position: absolute;
  top: calc(0.25rem + 1.2rem + 0.45rem);
  right: calc(50% + 0.2rem);
  left: auto;
  transform-origin: top right;
  transform: rotate(-45deg);
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.08rem;
  white-space: nowrap;
  text-align: right;
  pointer-events: none;
  line-height: 1.15;
}

.ratelo-installment-stepper-label .label-title {
  font-size: 0.72rem;
  font-weight: 700;
  color: #334155;
}

.ratelo-installment-stepper-label .label-due {
  font-size: 0.68rem;
  color: #64748b;
  font-variant-numeric: tabular-nums;
}

.ratelo-installment-stepper-label .label-amount {
  font-size: 0.68rem;
  color: #0f172a;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.is-paid .ratelo-installment-stepper-label .label-title {
  color: #2f9e5a;
}

.is-current .ratelo-installment-stepper-label .label-title,
.is-current .ratelo-installment-stepper-label .label-amount {
  color: #4f46e5;
}

.is-late .ratelo-installment-stepper-label .label-title,
.is-dispute .ratelo-installment-stepper-label .label-title {
  color: #c43a45;
}

.is-past .ratelo-installment-stepper-label .label-title,
.is-past .ratelo-installment-stepper-label .label-amount {
  color: #4f46e5;
}

.is-delinquency-range .ratelo-installment-stepper-label .label-title,
.is-delinquency-range .ratelo-installment-stepper-label .label-amount {
  color: #c43a45;
}

.is-cancelled .ratelo-installment-stepper-label .label-title,
.is-cancelled .ratelo-installment-stepper-label .label-due,
.is-cancelled .ratelo-installment-stepper-label .label-amount {
  color: #94a3b8;
  text-decoration: line-through;
}

.ratelo-installment-stepper-status-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
  margin: 0;
  padding: 0.05rem 0.25rem 0;
}

.ratelo-installment-stepper-status-card.is-overdue {
  color: #b91c1c;
  background: rgba(254, 226, 226, 0.55);
  border: 1px solid rgba(185, 28, 28, 0.18);
  border-radius: 0.6rem;
  padding: 0.45rem 0.6rem;
}

.ratelo-installment-stepper-status-card.is-pending-review {
  color: #78350f;
  background: rgba(254, 243, 199, 0.62);
  border: 1px solid rgba(217, 119, 6, 0.26);
  border-radius: 0.6rem;
  padding: 0.45rem 0.6rem;
}

.ratelo-installment-stepper-status {
  flex: 1 1 18rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
  margin: 0;
  line-height: 1.4;
}

.ratelo-installment-stepper-status-card.is-overdue .ratelo-installment-stepper-status {
  color: #b91c1c;
}

.ratelo-installment-stepper-status-card.is-pending-review .ratelo-installment-stepper-status {
  color: #78350f;
}

.ratelo-installment-stepper-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  padding: 0.75rem 0.85rem;
  background: rgba(15, 23, 42, 0.03);
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 0.75rem;
}

.ratelo-installment-stepper-actions .btn {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.9rem;
  font-size: 0.85rem;
  min-height: 2.15rem;
}

.ratelo-installment-stepper-proof {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
  text-decoration: underline;
}

.ratelo-installment-stepper-proof-icon {
  width: 0.9rem;
  height: 0.9rem;
  color: #64748b;
}

.ratelo-installment-stepper-iban {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.6rem;
  padding: 0.55rem 0.7rem;
  border-radius: 0.55rem;
  background: #fff;
  border: 1px dashed rgba(15, 23, 42, 0.18);
  flex: 1 1 min(100%, 22rem);
  min-width: 0;
}

.ratelo-installment-stepper-iban-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
}

.ratelo-installment-stepper-iban-holder {
  font-size: 0.82rem;
  font-weight: 600;
  color: #0f172a;
  text-transform: none;
  letter-spacing: 0;
}

.ratelo-installment-stepper-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem 0.75rem;
  margin: 0;
  margin-left: auto;
  flex: 0 0 auto;
}

@media (max-width: 575.98px) {
  .ratelo-installment-stepper-card {
    padding: 0.9rem 0.85rem 0.85rem;
    border-radius: 0.85rem;
  }
  .ratelo-installment-stepper-scroll {
    padding: 0.3rem 0.5rem 5.35rem;
  }
  .ratelo-installment-stepper-node {
    flex-basis: 4.25rem;
    min-width: 4.25rem;
  }
  .ratelo-installment-stepper-status {
    font-size: 0.9rem;
  }
}
