@charset "UTF-8";
/*!
 * 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: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --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(5.2, 44, 101.2);
  --bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);
  --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(206.6, 226, 254.6);
  --bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);
  --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(158.2, 197, 254.2);
  --bs-secondary-border-subtle: rgb(196.2, 199.8, 203);
  --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: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --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(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: rgb(10.4, 88, 202.4);
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --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(13, 110, 253, 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(109.8, 168, 253.8);
  --bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);
  --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(2.6, 22, 50.6);
  --bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);
  --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(7.8, 66, 151.8);
  --bs-secondary-border-subtle: rgb(64.8, 70.2, 75);
  --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(109.8, 168, 253.8);
  --bs-link-hover-color: rgb(138.84, 185.4, 254.04);
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --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.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

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

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

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

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
          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.25rem;
  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.25rem;
}
.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(206.6, 226, 254.6);
  --bs-table-border-color: rgb(165.28, 180.8, 203.68);
  --bs-table-striped-bg: rgb(196.27, 214.7, 241.87);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(185.94, 203.4, 229.14);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(191.105, 209.05, 235.505);
  --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(225.6, 227.4, 229);
  --bs-table-border-color: rgb(180.48, 181.92, 183.2);
  --bs-table-striped-bg: rgb(214.32, 216.03, 217.55);
  --bs-table-striped-color: #000;
  --bs-table-active-bg: rgb(203.04, 204.66, 206.1);
  --bs-table-active-color: #000;
  --bs-table-hover-bg: rgb(208.68, 210.345, 211.825);
  --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.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

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

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

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

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 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(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 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::-moz-placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -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.375rem 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.875rem;
  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 + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + 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 + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.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 + 1rem + 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.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 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(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 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.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  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.5rem;
  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;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  -webkit-print-color-adjust: exact;
          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(134, 182.5, 254);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.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: #0d6efd;
  border-color: #0d6efd;
  --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%28134, 182.5, 254%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;
  -webkit-appearance: none;
     -moz-appearance: none;
          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(13, 110, 253, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  -webkit-appearance: none;
          appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  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 {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: rgb(182.4, 211.5, 254.4);
}
.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;
  -moz-appearance: none;
       appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  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 {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: rgb(182.4, 211.5, 254.4);
}
.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::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
  color: transparent;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:not(:-moz-placeholder), .form-floating > .form-control-plaintext:not(:-moz-placeholder) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.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:not(:-moz-placeholder) ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.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:not(:-moz-placeholder) ~ 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: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.375rem 0.75rem;
  font-size: 1rem;
  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.5rem 1rem;
  font-size: 1.25rem;
  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.875rem;
  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.875rem;
  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.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.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.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.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.375rem) calc(0.75em + 0.375rem);
}
.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.75rem));
}

.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.875rem;
  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.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.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.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.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.375rem) calc(0.75em + 0.375rem);
}
.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.75rem));
}

.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.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --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;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 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: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(11.05, 93.5, 215.05);
  --bs-btn-hover-border-color: rgb(10.4, 88, 202.4);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(10.4, 88, 202.4);
  --bs-btn-active-border-color: rgb(9.75, 82.5, 189.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgb(91.8, 99.45, 106.25);
  --bs-btn-hover-border-color: rgb(86.4, 93.6, 100);
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: rgb(86.4, 93.6, 100);
  --bs-btn-active-border-color: rgb(81, 87.75, 93.75);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.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: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0d6efd;
  --bs-btn-hover-border-color: #0d6efd;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0d6efd;
  --bs-btn-active-border-color: #0d6efd;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0d6efd;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0d6efd;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #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: 49, 132, 253;
  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.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --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.875rem;
  --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: 1rem;
  --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: #0d6efd;
  --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.875rem;
  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: #0d6efd;
  --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.75rem;
  padding-left: 0.75rem;
}

.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(13, 110, 253, 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: #0d6efd;
}
.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: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --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.25rem;
  --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%2833, 37, 41, 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: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.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='%23212529' 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%285.2, 44, 101.2%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(13, 110, 253, 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: 1rem;
  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%28109.8, 168, 253.8%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%28109.8, 168, 253.8%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: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #0d6efd;
  --bs-pagination-active-border-color: #0d6efd;
  --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.25rem;
  --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.875rem;
  --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.75rem;
  --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: #0d6efd;
  --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.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #0d6efd;
  --bs-list-group-active-border-color: #0d6efd;
  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(13, 110, 253, 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;
  -webkit-user-select: none;
     -moz-user-select: 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: -moz-max-content;
  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.875rem;
  --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.875rem;
  --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: 1rem;
  --bs-popover-header-color: inherit;
  --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 {
  -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
          mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  -webkit-mask-size: 200% 100%;
          mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

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

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

.text-bg-secondary {
  color: #fff !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(10, 88, 202, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(10, 88, 202, 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(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 94, 100, 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 {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

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

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

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

.object-fit-none {
  -o-object-fit: none !important;
     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 {
  -moz-column-gap: 0 !important;
       column-gap: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

.fs-6 {
  font-size: 1rem !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 {
  -webkit-user-select: all !important;
     -moz-user-select: all !important;
          user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
     -moz-user-select: auto !important;
          user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          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 {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-sm-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-sm-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-sm-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    -o-object-fit: none !important;
       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 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    -moz-column-gap: 3rem !important;
         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 {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-md-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-md-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-md-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-md-none {
    -o-object-fit: none !important;
       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 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-md-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    -moz-column-gap: 3rem !important;
         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 {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-lg-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-lg-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-lg-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    -o-object-fit: none !important;
       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 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    -moz-column-gap: 3rem !important;
         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 {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-xl-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-xl-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-xl-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    -o-object-fit: none !important;
       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 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    -moz-column-gap: 3rem !important;
         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 {
    -o-object-fit: contain !important;
       object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    -o-object-fit: fill !important;
       object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    -o-object-fit: scale-down !important;
       object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    -o-object-fit: none !important;
       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 {
    -moz-column-gap: 0 !important;
         column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    -moz-column-gap: 0.25rem !important;
         column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    -moz-column-gap: 0.5rem !important;
         column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    -moz-column-gap: 1rem !important;
         column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    -moz-column-gap: 1.5rem !important;
         column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    -moz-column-gap: 3rem !important;
         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.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !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;
  }
}
/*!
 * Bootstrap Icons v1.13.1 (https://icons.getbootstrap.com/)
 * Copyright 2019-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
 */
@font-face {
  font-display: block;
  font-family: "bootstrap-icons";
  src: url("/assets/fonts/bootstrap-icons-e318fb9e.woff2?24e3eb84d0bcaf83d77f904c78ac1f47") format("woff2"), url("/assets/fonts/bootstrap-icons-9f73f0b7.woff?24e3eb84d0bcaf83d77f904c78ac1f47") format("woff");
}
.bi::before,
[class^=bi-]::before,
[class*=" bi-"]::before {
  display: inline-block;
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -0.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bi-123::before {
  content: "\f67f";
}

.bi-alarm-fill::before {
  content: "\f101";
}

.bi-alarm::before {
  content: "\f102";
}

.bi-align-bottom::before {
  content: "\f103";
}

.bi-align-center::before {
  content: "\f104";
}

.bi-align-end::before {
  content: "\f105";
}

.bi-align-middle::before {
  content: "\f106";
}

.bi-align-start::before {
  content: "\f107";
}

.bi-align-top::before {
  content: "\f108";
}

.bi-alt::before {
  content: "\f109";
}

.bi-app-indicator::before {
  content: "\f10a";
}

.bi-app::before {
  content: "\f10b";
}

.bi-archive-fill::before {
  content: "\f10c";
}

.bi-archive::before {
  content: "\f10d";
}

.bi-arrow-90deg-down::before {
  content: "\f10e";
}

.bi-arrow-90deg-left::before {
  content: "\f10f";
}

.bi-arrow-90deg-right::before {
  content: "\f110";
}

.bi-arrow-90deg-up::before {
  content: "\f111";
}

.bi-arrow-bar-down::before {
  content: "\f112";
}

.bi-arrow-bar-left::before {
  content: "\f113";
}

.bi-arrow-bar-right::before {
  content: "\f114";
}

.bi-arrow-bar-up::before {
  content: "\f115";
}

.bi-arrow-clockwise::before {
  content: "\f116";
}

.bi-arrow-counterclockwise::before {
  content: "\f117";
}

.bi-arrow-down-circle-fill::before {
  content: "\f118";
}

.bi-arrow-down-circle::before {
  content: "\f119";
}

.bi-arrow-down-left-circle-fill::before {
  content: "\f11a";
}

.bi-arrow-down-left-circle::before {
  content: "\f11b";
}

.bi-arrow-down-left-square-fill::before {
  content: "\f11c";
}

.bi-arrow-down-left-square::before {
  content: "\f11d";
}

.bi-arrow-down-left::before {
  content: "\f11e";
}

.bi-arrow-down-right-circle-fill::before {
  content: "\f11f";
}

.bi-arrow-down-right-circle::before {
  content: "\f120";
}

.bi-arrow-down-right-square-fill::before {
  content: "\f121";
}

.bi-arrow-down-right-square::before {
  content: "\f122";
}

.bi-arrow-down-right::before {
  content: "\f123";
}

.bi-arrow-down-short::before {
  content: "\f124";
}

.bi-arrow-down-square-fill::before {
  content: "\f125";
}

.bi-arrow-down-square::before {
  content: "\f126";
}

.bi-arrow-down-up::before {
  content: "\f127";
}

.bi-arrow-down::before {
  content: "\f128";
}

.bi-arrow-left-circle-fill::before {
  content: "\f129";
}

.bi-arrow-left-circle::before {
  content: "\f12a";
}

.bi-arrow-left-right::before {
  content: "\f12b";
}

.bi-arrow-left-short::before {
  content: "\f12c";
}

.bi-arrow-left-square-fill::before {
  content: "\f12d";
}

.bi-arrow-left-square::before {
  content: "\f12e";
}

.bi-arrow-left::before {
  content: "\f12f";
}

.bi-arrow-repeat::before {
  content: "\f130";
}

.bi-arrow-return-left::before {
  content: "\f131";
}

.bi-arrow-return-right::before {
  content: "\f132";
}

.bi-arrow-right-circle-fill::before {
  content: "\f133";
}

.bi-arrow-right-circle::before {
  content: "\f134";
}

.bi-arrow-right-short::before {
  content: "\f135";
}

.bi-arrow-right-square-fill::before {
  content: "\f136";
}

.bi-arrow-right-square::before {
  content: "\f137";
}

.bi-arrow-right::before {
  content: "\f138";
}

.bi-arrow-up-circle-fill::before {
  content: "\f139";
}

.bi-arrow-up-circle::before {
  content: "\f13a";
}

.bi-arrow-up-left-circle-fill::before {
  content: "\f13b";
}

.bi-arrow-up-left-circle::before {
  content: "\f13c";
}

.bi-arrow-up-left-square-fill::before {
  content: "\f13d";
}

.bi-arrow-up-left-square::before {
  content: "\f13e";
}

.bi-arrow-up-left::before {
  content: "\f13f";
}

.bi-arrow-up-right-circle-fill::before {
  content: "\f140";
}

.bi-arrow-up-right-circle::before {
  content: "\f141";
}

.bi-arrow-up-right-square-fill::before {
  content: "\f142";
}

.bi-arrow-up-right-square::before {
  content: "\f143";
}

.bi-arrow-up-right::before {
  content: "\f144";
}

.bi-arrow-up-short::before {
  content: "\f145";
}

.bi-arrow-up-square-fill::before {
  content: "\f146";
}

.bi-arrow-up-square::before {
  content: "\f147";
}

.bi-arrow-up::before {
  content: "\f148";
}

.bi-arrows-angle-contract::before {
  content: "\f149";
}

.bi-arrows-angle-expand::before {
  content: "\f14a";
}

.bi-arrows-collapse::before {
  content: "\f14b";
}

.bi-arrows-expand::before {
  content: "\f14c";
}

.bi-arrows-fullscreen::before {
  content: "\f14d";
}

.bi-arrows-move::before {
  content: "\f14e";
}

.bi-aspect-ratio-fill::before {
  content: "\f14f";
}

.bi-aspect-ratio::before {
  content: "\f150";
}

.bi-asterisk::before {
  content: "\f151";
}

.bi-at::before {
  content: "\f152";
}

.bi-award-fill::before {
  content: "\f153";
}

.bi-award::before {
  content: "\f154";
}

.bi-back::before {
  content: "\f155";
}

.bi-backspace-fill::before {
  content: "\f156";
}

.bi-backspace-reverse-fill::before {
  content: "\f157";
}

.bi-backspace-reverse::before {
  content: "\f158";
}

.bi-backspace::before {
  content: "\f159";
}

.bi-badge-3d-fill::before {
  content: "\f15a";
}

.bi-badge-3d::before {
  content: "\f15b";
}

.bi-badge-4k-fill::before {
  content: "\f15c";
}

.bi-badge-4k::before {
  content: "\f15d";
}

.bi-badge-8k-fill::before {
  content: "\f15e";
}

.bi-badge-8k::before {
  content: "\f15f";
}

.bi-badge-ad-fill::before {
  content: "\f160";
}

.bi-badge-ad::before {
  content: "\f161";
}

.bi-badge-ar-fill::before {
  content: "\f162";
}

.bi-badge-ar::before {
  content: "\f163";
}

.bi-badge-cc-fill::before {
  content: "\f164";
}

.bi-badge-cc::before {
  content: "\f165";
}

.bi-badge-hd-fill::before {
  content: "\f166";
}

.bi-badge-hd::before {
  content: "\f167";
}

.bi-badge-tm-fill::before {
  content: "\f168";
}

.bi-badge-tm::before {
  content: "\f169";
}

.bi-badge-vo-fill::before {
  content: "\f16a";
}

.bi-badge-vo::before {
  content: "\f16b";
}

.bi-badge-vr-fill::before {
  content: "\f16c";
}

.bi-badge-vr::before {
  content: "\f16d";
}

.bi-badge-wc-fill::before {
  content: "\f16e";
}

.bi-badge-wc::before {
  content: "\f16f";
}

.bi-bag-check-fill::before {
  content: "\f170";
}

.bi-bag-check::before {
  content: "\f171";
}

.bi-bag-dash-fill::before {
  content: "\f172";
}

.bi-bag-dash::before {
  content: "\f173";
}

.bi-bag-fill::before {
  content: "\f174";
}

.bi-bag-plus-fill::before {
  content: "\f175";
}

.bi-bag-plus::before {
  content: "\f176";
}

.bi-bag-x-fill::before {
  content: "\f177";
}

.bi-bag-x::before {
  content: "\f178";
}

.bi-bag::before {
  content: "\f179";
}

.bi-bar-chart-fill::before {
  content: "\f17a";
}

.bi-bar-chart-line-fill::before {
  content: "\f17b";
}

.bi-bar-chart-line::before {
  content: "\f17c";
}

.bi-bar-chart-steps::before {
  content: "\f17d";
}

.bi-bar-chart::before {
  content: "\f17e";
}

.bi-basket-fill::before {
  content: "\f17f";
}

.bi-basket::before {
  content: "\f180";
}

.bi-basket2-fill::before {
  content: "\f181";
}

.bi-basket2::before {
  content: "\f182";
}

.bi-basket3-fill::before {
  content: "\f183";
}

.bi-basket3::before {
  content: "\f184";
}

.bi-battery-charging::before {
  content: "\f185";
}

.bi-battery-full::before {
  content: "\f186";
}

.bi-battery-half::before {
  content: "\f187";
}

.bi-battery::before {
  content: "\f188";
}

.bi-bell-fill::before {
  content: "\f189";
}

.bi-bell::before {
  content: "\f18a";
}

.bi-bezier::before {
  content: "\f18b";
}

.bi-bezier2::before {
  content: "\f18c";
}

.bi-bicycle::before {
  content: "\f18d";
}

.bi-binoculars-fill::before {
  content: "\f18e";
}

.bi-binoculars::before {
  content: "\f18f";
}

.bi-blockquote-left::before {
  content: "\f190";
}

.bi-blockquote-right::before {
  content: "\f191";
}

.bi-book-fill::before {
  content: "\f192";
}

.bi-book-half::before {
  content: "\f193";
}

.bi-book::before {
  content: "\f194";
}

.bi-bookmark-check-fill::before {
  content: "\f195";
}

.bi-bookmark-check::before {
  content: "\f196";
}

.bi-bookmark-dash-fill::before {
  content: "\f197";
}

.bi-bookmark-dash::before {
  content: "\f198";
}

.bi-bookmark-fill::before {
  content: "\f199";
}

.bi-bookmark-heart-fill::before {
  content: "\f19a";
}

.bi-bookmark-heart::before {
  content: "\f19b";
}

.bi-bookmark-plus-fill::before {
  content: "\f19c";
}

.bi-bookmark-plus::before {
  content: "\f19d";
}

.bi-bookmark-star-fill::before {
  content: "\f19e";
}

.bi-bookmark-star::before {
  content: "\f19f";
}

.bi-bookmark-x-fill::before {
  content: "\f1a0";
}

.bi-bookmark-x::before {
  content: "\f1a1";
}

.bi-bookmark::before {
  content: "\f1a2";
}

.bi-bookmarks-fill::before {
  content: "\f1a3";
}

.bi-bookmarks::before {
  content: "\f1a4";
}

.bi-bookshelf::before {
  content: "\f1a5";
}

.bi-bootstrap-fill::before {
  content: "\f1a6";
}

.bi-bootstrap-reboot::before {
  content: "\f1a7";
}

.bi-bootstrap::before {
  content: "\f1a8";
}

.bi-border-all::before {
  content: "\f1a9";
}

.bi-border-bottom::before {
  content: "\f1aa";
}

.bi-border-center::before {
  content: "\f1ab";
}

.bi-border-inner::before {
  content: "\f1ac";
}

.bi-border-left::before {
  content: "\f1ad";
}

.bi-border-middle::before {
  content: "\f1ae";
}

.bi-border-outer::before {
  content: "\f1af";
}

.bi-border-right::before {
  content: "\f1b0";
}

.bi-border-style::before {
  content: "\f1b1";
}

.bi-border-top::before {
  content: "\f1b2";
}

.bi-border-width::before {
  content: "\f1b3";
}

.bi-border::before {
  content: "\f1b4";
}

.bi-bounding-box-circles::before {
  content: "\f1b5";
}

.bi-bounding-box::before {
  content: "\f1b6";
}

.bi-box-arrow-down-left::before {
  content: "\f1b7";
}

.bi-box-arrow-down-right::before {
  content: "\f1b8";
}

.bi-box-arrow-down::before {
  content: "\f1b9";
}

.bi-box-arrow-in-down-left::before {
  content: "\f1ba";
}

.bi-box-arrow-in-down-right::before {
  content: "\f1bb";
}

.bi-box-arrow-in-down::before {
  content: "\f1bc";
}

.bi-box-arrow-in-left::before {
  content: "\f1bd";
}

.bi-box-arrow-in-right::before {
  content: "\f1be";
}

.bi-box-arrow-in-up-left::before {
  content: "\f1bf";
}

.bi-box-arrow-in-up-right::before {
  content: "\f1c0";
}

.bi-box-arrow-in-up::before {
  content: "\f1c1";
}

.bi-box-arrow-left::before {
  content: "\f1c2";
}

.bi-box-arrow-right::before {
  content: "\f1c3";
}

.bi-box-arrow-up-left::before {
  content: "\f1c4";
}

.bi-box-arrow-up-right::before {
  content: "\f1c5";
}

.bi-box-arrow-up::before {
  content: "\f1c6";
}

.bi-box-seam::before {
  content: "\f1c7";
}

.bi-box::before {
  content: "\f1c8";
}

.bi-braces::before {
  content: "\f1c9";
}

.bi-bricks::before {
  content: "\f1ca";
}

.bi-briefcase-fill::before {
  content: "\f1cb";
}

.bi-briefcase::before {
  content: "\f1cc";
}

.bi-brightness-alt-high-fill::before {
  content: "\f1cd";
}

.bi-brightness-alt-high::before {
  content: "\f1ce";
}

.bi-brightness-alt-low-fill::before {
  content: "\f1cf";
}

.bi-brightness-alt-low::before {
  content: "\f1d0";
}

.bi-brightness-high-fill::before {
  content: "\f1d1";
}

.bi-brightness-high::before {
  content: "\f1d2";
}

.bi-brightness-low-fill::before {
  content: "\f1d3";
}

.bi-brightness-low::before {
  content: "\f1d4";
}

.bi-broadcast-pin::before {
  content: "\f1d5";
}

.bi-broadcast::before {
  content: "\f1d6";
}

.bi-brush-fill::before {
  content: "\f1d7";
}

.bi-brush::before {
  content: "\f1d8";
}

.bi-bucket-fill::before {
  content: "\f1d9";
}

.bi-bucket::before {
  content: "\f1da";
}

.bi-bug-fill::before {
  content: "\f1db";
}

.bi-bug::before {
  content: "\f1dc";
}

.bi-building::before {
  content: "\f1dd";
}

.bi-bullseye::before {
  content: "\f1de";
}

.bi-calculator-fill::before {
  content: "\f1df";
}

.bi-calculator::before {
  content: "\f1e0";
}

.bi-calendar-check-fill::before {
  content: "\f1e1";
}

.bi-calendar-check::before {
  content: "\f1e2";
}

.bi-calendar-date-fill::before {
  content: "\f1e3";
}

.bi-calendar-date::before {
  content: "\f1e4";
}

.bi-calendar-day-fill::before {
  content: "\f1e5";
}

.bi-calendar-day::before {
  content: "\f1e6";
}

.bi-calendar-event-fill::before {
  content: "\f1e7";
}

.bi-calendar-event::before {
  content: "\f1e8";
}

.bi-calendar-fill::before {
  content: "\f1e9";
}

.bi-calendar-minus-fill::before {
  content: "\f1ea";
}

.bi-calendar-minus::before {
  content: "\f1eb";
}

.bi-calendar-month-fill::before {
  content: "\f1ec";
}

.bi-calendar-month::before {
  content: "\f1ed";
}

.bi-calendar-plus-fill::before {
  content: "\f1ee";
}

.bi-calendar-plus::before {
  content: "\f1ef";
}

.bi-calendar-range-fill::before {
  content: "\f1f0";
}

.bi-calendar-range::before {
  content: "\f1f1";
}

.bi-calendar-week-fill::before {
  content: "\f1f2";
}

.bi-calendar-week::before {
  content: "\f1f3";
}

.bi-calendar-x-fill::before {
  content: "\f1f4";
}

.bi-calendar-x::before {
  content: "\f1f5";
}

.bi-calendar::before {
  content: "\f1f6";
}

.bi-calendar2-check-fill::before {
  content: "\f1f7";
}

.bi-calendar2-check::before {
  content: "\f1f8";
}

.bi-calendar2-date-fill::before {
  content: "\f1f9";
}

.bi-calendar2-date::before {
  content: "\f1fa";
}

.bi-calendar2-day-fill::before {
  content: "\f1fb";
}

.bi-calendar2-day::before {
  content: "\f1fc";
}

.bi-calendar2-event-fill::before {
  content: "\f1fd";
}

.bi-calendar2-event::before {
  content: "\f1fe";
}

.bi-calendar2-fill::before {
  content: "\f1ff";
}

.bi-calendar2-minus-fill::before {
  content: "\f200";
}

.bi-calendar2-minus::before {
  content: "\f201";
}

.bi-calendar2-month-fill::before {
  content: "\f202";
}

.bi-calendar2-month::before {
  content: "\f203";
}

.bi-calendar2-plus-fill::before {
  content: "\f204";
}

.bi-calendar2-plus::before {
  content: "\f205";
}

.bi-calendar2-range-fill::before {
  content: "\f206";
}

.bi-calendar2-range::before {
  content: "\f207";
}

.bi-calendar2-week-fill::before {
  content: "\f208";
}

.bi-calendar2-week::before {
  content: "\f209";
}

.bi-calendar2-x-fill::before {
  content: "\f20a";
}

.bi-calendar2-x::before {
  content: "\f20b";
}

.bi-calendar2::before {
  content: "\f20c";
}

.bi-calendar3-event-fill::before {
  content: "\f20d";
}

.bi-calendar3-event::before {
  content: "\f20e";
}

.bi-calendar3-fill::before {
  content: "\f20f";
}

.bi-calendar3-range-fill::before {
  content: "\f210";
}

.bi-calendar3-range::before {
  content: "\f211";
}

.bi-calendar3-week-fill::before {
  content: "\f212";
}

.bi-calendar3-week::before {
  content: "\f213";
}

.bi-calendar3::before {
  content: "\f214";
}

.bi-calendar4-event::before {
  content: "\f215";
}

.bi-calendar4-range::before {
  content: "\f216";
}

.bi-calendar4-week::before {
  content: "\f217";
}

.bi-calendar4::before {
  content: "\f218";
}

.bi-camera-fill::before {
  content: "\f219";
}

.bi-camera-reels-fill::before {
  content: "\f21a";
}

.bi-camera-reels::before {
  content: "\f21b";
}

.bi-camera-video-fill::before {
  content: "\f21c";
}

.bi-camera-video-off-fill::before {
  content: "\f21d";
}

.bi-camera-video-off::before {
  content: "\f21e";
}

.bi-camera-video::before {
  content: "\f21f";
}

.bi-camera::before {
  content: "\f220";
}

.bi-camera2::before {
  content: "\f221";
}

.bi-capslock-fill::before {
  content: "\f222";
}

.bi-capslock::before {
  content: "\f223";
}

.bi-card-checklist::before {
  content: "\f224";
}

.bi-card-heading::before {
  content: "\f225";
}

.bi-card-image::before {
  content: "\f226";
}

.bi-card-list::before {
  content: "\f227";
}

.bi-card-text::before {
  content: "\f228";
}

.bi-caret-down-fill::before {
  content: "\f229";
}

.bi-caret-down-square-fill::before {
  content: "\f22a";
}

.bi-caret-down-square::before {
  content: "\f22b";
}

.bi-caret-down::before {
  content: "\f22c";
}

.bi-caret-left-fill::before {
  content: "\f22d";
}

.bi-caret-left-square-fill::before {
  content: "\f22e";
}

.bi-caret-left-square::before {
  content: "\f22f";
}

.bi-caret-left::before {
  content: "\f230";
}

.bi-caret-right-fill::before {
  content: "\f231";
}

.bi-caret-right-square-fill::before {
  content: "\f232";
}

.bi-caret-right-square::before {
  content: "\f233";
}

.bi-caret-right::before {
  content: "\f234";
}

.bi-caret-up-fill::before {
  content: "\f235";
}

.bi-caret-up-square-fill::before {
  content: "\f236";
}

.bi-caret-up-square::before {
  content: "\f237";
}

.bi-caret-up::before {
  content: "\f238";
}

.bi-cart-check-fill::before {
  content: "\f239";
}

.bi-cart-check::before {
  content: "\f23a";
}

.bi-cart-dash-fill::before {
  content: "\f23b";
}

.bi-cart-dash::before {
  content: "\f23c";
}

.bi-cart-fill::before {
  content: "\f23d";
}

.bi-cart-plus-fill::before {
  content: "\f23e";
}

.bi-cart-plus::before {
  content: "\f23f";
}

.bi-cart-x-fill::before {
  content: "\f240";
}

.bi-cart-x::before {
  content: "\f241";
}

.bi-cart::before {
  content: "\f242";
}

.bi-cart2::before {
  content: "\f243";
}

.bi-cart3::before {
  content: "\f244";
}

.bi-cart4::before {
  content: "\f245";
}

.bi-cash-stack::before {
  content: "\f246";
}

.bi-cash::before {
  content: "\f247";
}

.bi-cast::before {
  content: "\f248";
}

.bi-chat-dots-fill::before {
  content: "\f249";
}

.bi-chat-dots::before {
  content: "\f24a";
}

.bi-chat-fill::before {
  content: "\f24b";
}

.bi-chat-left-dots-fill::before {
  content: "\f24c";
}

.bi-chat-left-dots::before {
  content: "\f24d";
}

.bi-chat-left-fill::before {
  content: "\f24e";
}

.bi-chat-left-quote-fill::before {
  content: "\f24f";
}

.bi-chat-left-quote::before {
  content: "\f250";
}

.bi-chat-left-text-fill::before {
  content: "\f251";
}

.bi-chat-left-text::before {
  content: "\f252";
}

.bi-chat-left::before {
  content: "\f253";
}

.bi-chat-quote-fill::before {
  content: "\f254";
}

.bi-chat-quote::before {
  content: "\f255";
}

.bi-chat-right-dots-fill::before {
  content: "\f256";
}

.bi-chat-right-dots::before {
  content: "\f257";
}

.bi-chat-right-fill::before {
  content: "\f258";
}

.bi-chat-right-quote-fill::before {
  content: "\f259";
}

.bi-chat-right-quote::before {
  content: "\f25a";
}

.bi-chat-right-text-fill::before {
  content: "\f25b";
}

.bi-chat-right-text::before {
  content: "\f25c";
}

.bi-chat-right::before {
  content: "\f25d";
}

.bi-chat-square-dots-fill::before {
  content: "\f25e";
}

.bi-chat-square-dots::before {
  content: "\f25f";
}

.bi-chat-square-fill::before {
  content: "\f260";
}

.bi-chat-square-quote-fill::before {
  content: "\f261";
}

.bi-chat-square-quote::before {
  content: "\f262";
}

.bi-chat-square-text-fill::before {
  content: "\f263";
}

.bi-chat-square-text::before {
  content: "\f264";
}

.bi-chat-square::before {
  content: "\f265";
}

.bi-chat-text-fill::before {
  content: "\f266";
}

.bi-chat-text::before {
  content: "\f267";
}

.bi-chat::before {
  content: "\f268";
}

.bi-check-all::before {
  content: "\f269";
}

.bi-check-circle-fill::before {
  content: "\f26a";
}

.bi-check-circle::before {
  content: "\f26b";
}

.bi-check-square-fill::before {
  content: "\f26c";
}

.bi-check-square::before {
  content: "\f26d";
}

.bi-check::before {
  content: "\f26e";
}

.bi-check2-all::before {
  content: "\f26f";
}

.bi-check2-circle::before {
  content: "\f270";
}

.bi-check2-square::before {
  content: "\f271";
}

.bi-check2::before {
  content: "\f272";
}

.bi-chevron-bar-contract::before {
  content: "\f273";
}

.bi-chevron-bar-down::before {
  content: "\f274";
}

.bi-chevron-bar-expand::before {
  content: "\f275";
}

.bi-chevron-bar-left::before {
  content: "\f276";
}

.bi-chevron-bar-right::before {
  content: "\f277";
}

.bi-chevron-bar-up::before {
  content: "\f278";
}

.bi-chevron-compact-down::before {
  content: "\f279";
}

.bi-chevron-compact-left::before {
  content: "\f27a";
}

.bi-chevron-compact-right::before {
  content: "\f27b";
}

.bi-chevron-compact-up::before {
  content: "\f27c";
}

.bi-chevron-contract::before {
  content: "\f27d";
}

.bi-chevron-double-down::before {
  content: "\f27e";
}

.bi-chevron-double-left::before {
  content: "\f27f";
}

.bi-chevron-double-right::before {
  content: "\f280";
}

.bi-chevron-double-up::before {
  content: "\f281";
}

.bi-chevron-down::before {
  content: "\f282";
}

.bi-chevron-expand::before {
  content: "\f283";
}

.bi-chevron-left::before {
  content: "\f284";
}

.bi-chevron-right::before {
  content: "\f285";
}

.bi-chevron-up::before {
  content: "\f286";
}

.bi-circle-fill::before {
  content: "\f287";
}

.bi-circle-half::before {
  content: "\f288";
}

.bi-circle-square::before {
  content: "\f289";
}

.bi-circle::before {
  content: "\f28a";
}

.bi-clipboard-check::before {
  content: "\f28b";
}

.bi-clipboard-data::before {
  content: "\f28c";
}

.bi-clipboard-minus::before {
  content: "\f28d";
}

.bi-clipboard-plus::before {
  content: "\f28e";
}

.bi-clipboard-x::before {
  content: "\f28f";
}

.bi-clipboard::before {
  content: "\f290";
}

.bi-clock-fill::before {
  content: "\f291";
}

.bi-clock-history::before {
  content: "\f292";
}

.bi-clock::before {
  content: "\f293";
}

.bi-cloud-arrow-down-fill::before {
  content: "\f294";
}

.bi-cloud-arrow-down::before {
  content: "\f295";
}

.bi-cloud-arrow-up-fill::before {
  content: "\f296";
}

.bi-cloud-arrow-up::before {
  content: "\f297";
}

.bi-cloud-check-fill::before {
  content: "\f298";
}

.bi-cloud-check::before {
  content: "\f299";
}

.bi-cloud-download-fill::before {
  content: "\f29a";
}

.bi-cloud-download::before {
  content: "\f29b";
}

.bi-cloud-drizzle-fill::before {
  content: "\f29c";
}

.bi-cloud-drizzle::before {
  content: "\f29d";
}

.bi-cloud-fill::before {
  content: "\f29e";
}

.bi-cloud-fog-fill::before {
  content: "\f29f";
}

.bi-cloud-fog::before {
  content: "\f2a0";
}

.bi-cloud-fog2-fill::before {
  content: "\f2a1";
}

.bi-cloud-fog2::before {
  content: "\f2a2";
}

.bi-cloud-hail-fill::before {
  content: "\f2a3";
}

.bi-cloud-hail::before {
  content: "\f2a4";
}

.bi-cloud-haze-fill::before {
  content: "\f2a6";
}

.bi-cloud-haze::before {
  content: "\f2a7";
}

.bi-cloud-haze2-fill::before {
  content: "\f2a8";
}

.bi-cloud-lightning-fill::before {
  content: "\f2a9";
}

.bi-cloud-lightning-rain-fill::before {
  content: "\f2aa";
}

.bi-cloud-lightning-rain::before {
  content: "\f2ab";
}

.bi-cloud-lightning::before {
  content: "\f2ac";
}

.bi-cloud-minus-fill::before {
  content: "\f2ad";
}

.bi-cloud-minus::before {
  content: "\f2ae";
}

.bi-cloud-moon-fill::before {
  content: "\f2af";
}

.bi-cloud-moon::before {
  content: "\f2b0";
}

.bi-cloud-plus-fill::before {
  content: "\f2b1";
}

.bi-cloud-plus::before {
  content: "\f2b2";
}

.bi-cloud-rain-fill::before {
  content: "\f2b3";
}

.bi-cloud-rain-heavy-fill::before {
  content: "\f2b4";
}

.bi-cloud-rain-heavy::before {
  content: "\f2b5";
}

.bi-cloud-rain::before {
  content: "\f2b6";
}

.bi-cloud-slash-fill::before {
  content: "\f2b7";
}

.bi-cloud-slash::before {
  content: "\f2b8";
}

.bi-cloud-sleet-fill::before {
  content: "\f2b9";
}

.bi-cloud-sleet::before {
  content: "\f2ba";
}

.bi-cloud-snow-fill::before {
  content: "\f2bb";
}

.bi-cloud-snow::before {
  content: "\f2bc";
}

.bi-cloud-sun-fill::before {
  content: "\f2bd";
}

.bi-cloud-sun::before {
  content: "\f2be";
}

.bi-cloud-upload-fill::before {
  content: "\f2bf";
}

.bi-cloud-upload::before {
  content: "\f2c0";
}

.bi-cloud::before {
  content: "\f2c1";
}

.bi-clouds-fill::before {
  content: "\f2c2";
}

.bi-clouds::before {
  content: "\f2c3";
}

.bi-cloudy-fill::before {
  content: "\f2c4";
}

.bi-cloudy::before {
  content: "\f2c5";
}

.bi-code-slash::before {
  content: "\f2c6";
}

.bi-code-square::before {
  content: "\f2c7";
}

.bi-code::before {
  content: "\f2c8";
}

.bi-collection-fill::before {
  content: "\f2c9";
}

.bi-collection-play-fill::before {
  content: "\f2ca";
}

.bi-collection-play::before {
  content: "\f2cb";
}

.bi-collection::before {
  content: "\f2cc";
}

.bi-columns-gap::before {
  content: "\f2cd";
}

.bi-columns::before {
  content: "\f2ce";
}

.bi-command::before {
  content: "\f2cf";
}

.bi-compass-fill::before {
  content: "\f2d0";
}

.bi-compass::before {
  content: "\f2d1";
}

.bi-cone-striped::before {
  content: "\f2d2";
}

.bi-cone::before {
  content: "\f2d3";
}

.bi-controller::before {
  content: "\f2d4";
}

.bi-cpu-fill::before {
  content: "\f2d5";
}

.bi-cpu::before {
  content: "\f2d6";
}

.bi-credit-card-2-back-fill::before {
  content: "\f2d7";
}

.bi-credit-card-2-back::before {
  content: "\f2d8";
}

.bi-credit-card-2-front-fill::before {
  content: "\f2d9";
}

.bi-credit-card-2-front::before {
  content: "\f2da";
}

.bi-credit-card-fill::before {
  content: "\f2db";
}

.bi-credit-card::before {
  content: "\f2dc";
}

.bi-crop::before {
  content: "\f2dd";
}

.bi-cup-fill::before {
  content: "\f2de";
}

.bi-cup-straw::before {
  content: "\f2df";
}

.bi-cup::before {
  content: "\f2e0";
}

.bi-cursor-fill::before {
  content: "\f2e1";
}

.bi-cursor-text::before {
  content: "\f2e2";
}

.bi-cursor::before {
  content: "\f2e3";
}

.bi-dash-circle-dotted::before {
  content: "\f2e4";
}

.bi-dash-circle-fill::before {
  content: "\f2e5";
}

.bi-dash-circle::before {
  content: "\f2e6";
}

.bi-dash-square-dotted::before {
  content: "\f2e7";
}

.bi-dash-square-fill::before {
  content: "\f2e8";
}

.bi-dash-square::before {
  content: "\f2e9";
}

.bi-dash::before {
  content: "\f2ea";
}

.bi-diagram-2-fill::before {
  content: "\f2eb";
}

.bi-diagram-2::before {
  content: "\f2ec";
}

.bi-diagram-3-fill::before {
  content: "\f2ed";
}

.bi-diagram-3::before {
  content: "\f2ee";
}

.bi-diamond-fill::before {
  content: "\f2ef";
}

.bi-diamond-half::before {
  content: "\f2f0";
}

.bi-diamond::before {
  content: "\f2f1";
}

.bi-dice-1-fill::before {
  content: "\f2f2";
}

.bi-dice-1::before {
  content: "\f2f3";
}

.bi-dice-2-fill::before {
  content: "\f2f4";
}

.bi-dice-2::before {
  content: "\f2f5";
}

.bi-dice-3-fill::before {
  content: "\f2f6";
}

.bi-dice-3::before {
  content: "\f2f7";
}

.bi-dice-4-fill::before {
  content: "\f2f8";
}

.bi-dice-4::before {
  content: "\f2f9";
}

.bi-dice-5-fill::before {
  content: "\f2fa";
}

.bi-dice-5::before {
  content: "\f2fb";
}

.bi-dice-6-fill::before {
  content: "\f2fc";
}

.bi-dice-6::before {
  content: "\f2fd";
}

.bi-disc-fill::before {
  content: "\f2fe";
}

.bi-disc::before {
  content: "\f2ff";
}

.bi-discord::before {
  content: "\f300";
}

.bi-display-fill::before {
  content: "\f301";
}

.bi-display::before {
  content: "\f302";
}

.bi-distribute-horizontal::before {
  content: "\f303";
}

.bi-distribute-vertical::before {
  content: "\f304";
}

.bi-door-closed-fill::before {
  content: "\f305";
}

.bi-door-closed::before {
  content: "\f306";
}

.bi-door-open-fill::before {
  content: "\f307";
}

.bi-door-open::before {
  content: "\f308";
}

.bi-dot::before {
  content: "\f309";
}

.bi-download::before {
  content: "\f30a";
}

.bi-droplet-fill::before {
  content: "\f30b";
}

.bi-droplet-half::before {
  content: "\f30c";
}

.bi-droplet::before {
  content: "\f30d";
}

.bi-earbuds::before {
  content: "\f30e";
}

.bi-easel-fill::before {
  content: "\f30f";
}

.bi-easel::before {
  content: "\f310";
}

.bi-egg-fill::before {
  content: "\f311";
}

.bi-egg-fried::before {
  content: "\f312";
}

.bi-egg::before {
  content: "\f313";
}

.bi-eject-fill::before {
  content: "\f314";
}

.bi-eject::before {
  content: "\f315";
}

.bi-emoji-angry-fill::before {
  content: "\f316";
}

.bi-emoji-angry::before {
  content: "\f317";
}

.bi-emoji-dizzy-fill::before {
  content: "\f318";
}

.bi-emoji-dizzy::before {
  content: "\f319";
}

.bi-emoji-expressionless-fill::before {
  content: "\f31a";
}

.bi-emoji-expressionless::before {
  content: "\f31b";
}

.bi-emoji-frown-fill::before {
  content: "\f31c";
}

.bi-emoji-frown::before {
  content: "\f31d";
}

.bi-emoji-heart-eyes-fill::before {
  content: "\f31e";
}

.bi-emoji-heart-eyes::before {
  content: "\f31f";
}

.bi-emoji-laughing-fill::before {
  content: "\f320";
}

.bi-emoji-laughing::before {
  content: "\f321";
}

.bi-emoji-neutral-fill::before {
  content: "\f322";
}

.bi-emoji-neutral::before {
  content: "\f323";
}

.bi-emoji-smile-fill::before {
  content: "\f324";
}

.bi-emoji-smile-upside-down-fill::before {
  content: "\f325";
}

.bi-emoji-smile-upside-down::before {
  content: "\f326";
}

.bi-emoji-smile::before {
  content: "\f327";
}

.bi-emoji-sunglasses-fill::before {
  content: "\f328";
}

.bi-emoji-sunglasses::before {
  content: "\f329";
}

.bi-emoji-wink-fill::before {
  content: "\f32a";
}

.bi-emoji-wink::before {
  content: "\f32b";
}

.bi-envelope-fill::before {
  content: "\f32c";
}

.bi-envelope-open-fill::before {
  content: "\f32d";
}

.bi-envelope-open::before {
  content: "\f32e";
}

.bi-envelope::before {
  content: "\f32f";
}

.bi-eraser-fill::before {
  content: "\f330";
}

.bi-eraser::before {
  content: "\f331";
}

.bi-exclamation-circle-fill::before {
  content: "\f332";
}

.bi-exclamation-circle::before {
  content: "\f333";
}

.bi-exclamation-diamond-fill::before {
  content: "\f334";
}

.bi-exclamation-diamond::before {
  content: "\f335";
}

.bi-exclamation-octagon-fill::before {
  content: "\f336";
}

.bi-exclamation-octagon::before {
  content: "\f337";
}

.bi-exclamation-square-fill::before {
  content: "\f338";
}

.bi-exclamation-square::before {
  content: "\f339";
}

.bi-exclamation-triangle-fill::before {
  content: "\f33a";
}

.bi-exclamation-triangle::before {
  content: "\f33b";
}

.bi-exclamation::before {
  content: "\f33c";
}

.bi-exclude::before {
  content: "\f33d";
}

.bi-eye-fill::before {
  content: "\f33e";
}

.bi-eye-slash-fill::before {
  content: "\f33f";
}

.bi-eye-slash::before {
  content: "\f340";
}

.bi-eye::before {
  content: "\f341";
}

.bi-eyedropper::before {
  content: "\f342";
}

.bi-eyeglasses::before {
  content: "\f343";
}

.bi-facebook::before {
  content: "\f344";
}

.bi-file-arrow-down-fill::before {
  content: "\f345";
}

.bi-file-arrow-down::before {
  content: "\f346";
}

.bi-file-arrow-up-fill::before {
  content: "\f347";
}

.bi-file-arrow-up::before {
  content: "\f348";
}

.bi-file-bar-graph-fill::before {
  content: "\f349";
}

.bi-file-bar-graph::before {
  content: "\f34a";
}

.bi-file-binary-fill::before {
  content: "\f34b";
}

.bi-file-binary::before {
  content: "\f34c";
}

.bi-file-break-fill::before {
  content: "\f34d";
}

.bi-file-break::before {
  content: "\f34e";
}

.bi-file-check-fill::before {
  content: "\f34f";
}

.bi-file-check::before {
  content: "\f350";
}

.bi-file-code-fill::before {
  content: "\f351";
}

.bi-file-code::before {
  content: "\f352";
}

.bi-file-diff-fill::before {
  content: "\f353";
}

.bi-file-diff::before {
  content: "\f354";
}

.bi-file-earmark-arrow-down-fill::before {
  content: "\f355";
}

.bi-file-earmark-arrow-down::before {
  content: "\f356";
}

.bi-file-earmark-arrow-up-fill::before {
  content: "\f357";
}

.bi-file-earmark-arrow-up::before {
  content: "\f358";
}

.bi-file-earmark-bar-graph-fill::before {
  content: "\f359";
}

.bi-file-earmark-bar-graph::before {
  content: "\f35a";
}

.bi-file-earmark-binary-fill::before {
  content: "\f35b";
}

.bi-file-earmark-binary::before {
  content: "\f35c";
}

.bi-file-earmark-break-fill::before {
  content: "\f35d";
}

.bi-file-earmark-break::before {
  content: "\f35e";
}

.bi-file-earmark-check-fill::before {
  content: "\f35f";
}

.bi-file-earmark-check::before {
  content: "\f360";
}

.bi-file-earmark-code-fill::before {
  content: "\f361";
}

.bi-file-earmark-code::before {
  content: "\f362";
}

.bi-file-earmark-diff-fill::before {
  content: "\f363";
}

.bi-file-earmark-diff::before {
  content: "\f364";
}

.bi-file-earmark-easel-fill::before {
  content: "\f365";
}

.bi-file-earmark-easel::before {
  content: "\f366";
}

.bi-file-earmark-excel-fill::before {
  content: "\f367";
}

.bi-file-earmark-excel::before {
  content: "\f368";
}

.bi-file-earmark-fill::before {
  content: "\f369";
}

.bi-file-earmark-font-fill::before {
  content: "\f36a";
}

.bi-file-earmark-font::before {
  content: "\f36b";
}

.bi-file-earmark-image-fill::before {
  content: "\f36c";
}

.bi-file-earmark-image::before {
  content: "\f36d";
}

.bi-file-earmark-lock-fill::before {
  content: "\f36e";
}

.bi-file-earmark-lock::before {
  content: "\f36f";
}

.bi-file-earmark-lock2-fill::before {
  content: "\f370";
}

.bi-file-earmark-lock2::before {
  content: "\f371";
}

.bi-file-earmark-medical-fill::before {
  content: "\f372";
}

.bi-file-earmark-medical::before {
  content: "\f373";
}

.bi-file-earmark-minus-fill::before {
  content: "\f374";
}

.bi-file-earmark-minus::before {
  content: "\f375";
}

.bi-file-earmark-music-fill::before {
  content: "\f376";
}

.bi-file-earmark-music::before {
  content: "\f377";
}

.bi-file-earmark-person-fill::before {
  content: "\f378";
}

.bi-file-earmark-person::before {
  content: "\f379";
}

.bi-file-earmark-play-fill::before {
  content: "\f37a";
}

.bi-file-earmark-play::before {
  content: "\f37b";
}

.bi-file-earmark-plus-fill::before {
  content: "\f37c";
}

.bi-file-earmark-plus::before {
  content: "\f37d";
}

.bi-file-earmark-post-fill::before {
  content: "\f37e";
}

.bi-file-earmark-post::before {
  content: "\f37f";
}

.bi-file-earmark-ppt-fill::before {
  content: "\f380";
}

.bi-file-earmark-ppt::before {
  content: "\f381";
}

.bi-file-earmark-richtext-fill::before {
  content: "\f382";
}

.bi-file-earmark-richtext::before {
  content: "\f383";
}

.bi-file-earmark-ruled-fill::before {
  content: "\f384";
}

.bi-file-earmark-ruled::before {
  content: "\f385";
}

.bi-file-earmark-slides-fill::before {
  content: "\f386";
}

.bi-file-earmark-slides::before {
  content: "\f387";
}

.bi-file-earmark-spreadsheet-fill::before {
  content: "\f388";
}

.bi-file-earmark-spreadsheet::before {
  content: "\f389";
}

.bi-file-earmark-text-fill::before {
  content: "\f38a";
}

.bi-file-earmark-text::before {
  content: "\f38b";
}

.bi-file-earmark-word-fill::before {
  content: "\f38c";
}

.bi-file-earmark-word::before {
  content: "\f38d";
}

.bi-file-earmark-x-fill::before {
  content: "\f38e";
}

.bi-file-earmark-x::before {
  content: "\f38f";
}

.bi-file-earmark-zip-fill::before {
  content: "\f390";
}

.bi-file-earmark-zip::before {
  content: "\f391";
}

.bi-file-earmark::before {
  content: "\f392";
}

.bi-file-easel-fill::before {
  content: "\f393";
}

.bi-file-easel::before {
  content: "\f394";
}

.bi-file-excel-fill::before {
  content: "\f395";
}

.bi-file-excel::before {
  content: "\f396";
}

.bi-file-fill::before {
  content: "\f397";
}

.bi-file-font-fill::before {
  content: "\f398";
}

.bi-file-font::before {
  content: "\f399";
}

.bi-file-image-fill::before {
  content: "\f39a";
}

.bi-file-image::before {
  content: "\f39b";
}

.bi-file-lock-fill::before {
  content: "\f39c";
}

.bi-file-lock::before {
  content: "\f39d";
}

.bi-file-lock2-fill::before {
  content: "\f39e";
}

.bi-file-lock2::before {
  content: "\f39f";
}

.bi-file-medical-fill::before {
  content: "\f3a0";
}

.bi-file-medical::before {
  content: "\f3a1";
}

.bi-file-minus-fill::before {
  content: "\f3a2";
}

.bi-file-minus::before {
  content: "\f3a3";
}

.bi-file-music-fill::before {
  content: "\f3a4";
}

.bi-file-music::before {
  content: "\f3a5";
}

.bi-file-person-fill::before {
  content: "\f3a6";
}

.bi-file-person::before {
  content: "\f3a7";
}

.bi-file-play-fill::before {
  content: "\f3a8";
}

.bi-file-play::before {
  content: "\f3a9";
}

.bi-file-plus-fill::before {
  content: "\f3aa";
}

.bi-file-plus::before {
  content: "\f3ab";
}

.bi-file-post-fill::before {
  content: "\f3ac";
}

.bi-file-post::before {
  content: "\f3ad";
}

.bi-file-ppt-fill::before {
  content: "\f3ae";
}

.bi-file-ppt::before {
  content: "\f3af";
}

.bi-file-richtext-fill::before {
  content: "\f3b0";
}

.bi-file-richtext::before {
  content: "\f3b1";
}

.bi-file-ruled-fill::before {
  content: "\f3b2";
}

.bi-file-ruled::before {
  content: "\f3b3";
}

.bi-file-slides-fill::before {
  content: "\f3b4";
}

.bi-file-slides::before {
  content: "\f3b5";
}

.bi-file-spreadsheet-fill::before {
  content: "\f3b6";
}

.bi-file-spreadsheet::before {
  content: "\f3b7";
}

.bi-file-text-fill::before {
  content: "\f3b8";
}

.bi-file-text::before {
  content: "\f3b9";
}

.bi-file-word-fill::before {
  content: "\f3ba";
}

.bi-file-word::before {
  content: "\f3bb";
}

.bi-file-x-fill::before {
  content: "\f3bc";
}

.bi-file-x::before {
  content: "\f3bd";
}

.bi-file-zip-fill::before {
  content: "\f3be";
}

.bi-file-zip::before {
  content: "\f3bf";
}

.bi-file::before {
  content: "\f3c0";
}

.bi-files-alt::before {
  content: "\f3c1";
}

.bi-files::before {
  content: "\f3c2";
}

.bi-film::before {
  content: "\f3c3";
}

.bi-filter-circle-fill::before {
  content: "\f3c4";
}

.bi-filter-circle::before {
  content: "\f3c5";
}

.bi-filter-left::before {
  content: "\f3c6";
}

.bi-filter-right::before {
  content: "\f3c7";
}

.bi-filter-square-fill::before {
  content: "\f3c8";
}

.bi-filter-square::before {
  content: "\f3c9";
}

.bi-filter::before {
  content: "\f3ca";
}

.bi-flag-fill::before {
  content: "\f3cb";
}

.bi-flag::before {
  content: "\f3cc";
}

.bi-flower1::before {
  content: "\f3cd";
}

.bi-flower2::before {
  content: "\f3ce";
}

.bi-flower3::before {
  content: "\f3cf";
}

.bi-folder-check::before {
  content: "\f3d0";
}

.bi-folder-fill::before {
  content: "\f3d1";
}

.bi-folder-minus::before {
  content: "\f3d2";
}

.bi-folder-plus::before {
  content: "\f3d3";
}

.bi-folder-symlink-fill::before {
  content: "\f3d4";
}

.bi-folder-symlink::before {
  content: "\f3d5";
}

.bi-folder-x::before {
  content: "\f3d6";
}

.bi-folder::before {
  content: "\f3d7";
}

.bi-folder2-open::before {
  content: "\f3d8";
}

.bi-folder2::before {
  content: "\f3d9";
}

.bi-fonts::before {
  content: "\f3da";
}

.bi-forward-fill::before {
  content: "\f3db";
}

.bi-forward::before {
  content: "\f3dc";
}

.bi-front::before {
  content: "\f3dd";
}

.bi-fullscreen-exit::before {
  content: "\f3de";
}

.bi-fullscreen::before {
  content: "\f3df";
}

.bi-funnel-fill::before {
  content: "\f3e0";
}

.bi-funnel::before {
  content: "\f3e1";
}

.bi-gear-fill::before {
  content: "\f3e2";
}

.bi-gear-wide-connected::before {
  content: "\f3e3";
}

.bi-gear-wide::before {
  content: "\f3e4";
}

.bi-gear::before {
  content: "\f3e5";
}

.bi-gem::before {
  content: "\f3e6";
}

.bi-geo-alt-fill::before {
  content: "\f3e7";
}

.bi-geo-alt::before {
  content: "\f3e8";
}

.bi-geo-fill::before {
  content: "\f3e9";
}

.bi-geo::before {
  content: "\f3ea";
}

.bi-gift-fill::before {
  content: "\f3eb";
}

.bi-gift::before {
  content: "\f3ec";
}

.bi-github::before {
  content: "\f3ed";
}

.bi-globe::before {
  content: "\f3ee";
}

.bi-globe2::before {
  content: "\f3ef";
}

.bi-google::before {
  content: "\f3f0";
}

.bi-graph-down::before {
  content: "\f3f1";
}

.bi-graph-up::before {
  content: "\f3f2";
}

.bi-grid-1x2-fill::before {
  content: "\f3f3";
}

.bi-grid-1x2::before {
  content: "\f3f4";
}

.bi-grid-3x2-gap-fill::before {
  content: "\f3f5";
}

.bi-grid-3x2-gap::before {
  content: "\f3f6";
}

.bi-grid-3x2::before {
  content: "\f3f7";
}

.bi-grid-3x3-gap-fill::before {
  content: "\f3f8";
}

.bi-grid-3x3-gap::before {
  content: "\f3f9";
}

.bi-grid-3x3::before {
  content: "\f3fa";
}

.bi-grid-fill::before {
  content: "\f3fb";
}

.bi-grid::before {
  content: "\f3fc";
}

.bi-grip-horizontal::before {
  content: "\f3fd";
}

.bi-grip-vertical::before {
  content: "\f3fe";
}

.bi-hammer::before {
  content: "\f3ff";
}

.bi-hand-index-fill::before {
  content: "\f400";
}

.bi-hand-index-thumb-fill::before {
  content: "\f401";
}

.bi-hand-index-thumb::before {
  content: "\f402";
}

.bi-hand-index::before {
  content: "\f403";
}

.bi-hand-thumbs-down-fill::before {
  content: "\f404";
}

.bi-hand-thumbs-down::before {
  content: "\f405";
}

.bi-hand-thumbs-up-fill::before {
  content: "\f406";
}

.bi-hand-thumbs-up::before {
  content: "\f407";
}

.bi-handbag-fill::before {
  content: "\f408";
}

.bi-handbag::before {
  content: "\f409";
}

.bi-hash::before {
  content: "\f40a";
}

.bi-hdd-fill::before {
  content: "\f40b";
}

.bi-hdd-network-fill::before {
  content: "\f40c";
}

.bi-hdd-network::before {
  content: "\f40d";
}

.bi-hdd-rack-fill::before {
  content: "\f40e";
}

.bi-hdd-rack::before {
  content: "\f40f";
}

.bi-hdd-stack-fill::before {
  content: "\f410";
}

.bi-hdd-stack::before {
  content: "\f411";
}

.bi-hdd::before {
  content: "\f412";
}

.bi-headphones::before {
  content: "\f413";
}

.bi-headset::before {
  content: "\f414";
}

.bi-heart-fill::before {
  content: "\f415";
}

.bi-heart-half::before {
  content: "\f416";
}

.bi-heart::before {
  content: "\f417";
}

.bi-heptagon-fill::before {
  content: "\f418";
}

.bi-heptagon-half::before {
  content: "\f419";
}

.bi-heptagon::before {
  content: "\f41a";
}

.bi-hexagon-fill::before {
  content: "\f41b";
}

.bi-hexagon-half::before {
  content: "\f41c";
}

.bi-hexagon::before {
  content: "\f41d";
}

.bi-hourglass-bottom::before {
  content: "\f41e";
}

.bi-hourglass-split::before {
  content: "\f41f";
}

.bi-hourglass-top::before {
  content: "\f420";
}

.bi-hourglass::before {
  content: "\f421";
}

.bi-house-door-fill::before {
  content: "\f422";
}

.bi-house-door::before {
  content: "\f423";
}

.bi-house-fill::before {
  content: "\f424";
}

.bi-house::before {
  content: "\f425";
}

.bi-hr::before {
  content: "\f426";
}

.bi-hurricane::before {
  content: "\f427";
}

.bi-image-alt::before {
  content: "\f428";
}

.bi-image-fill::before {
  content: "\f429";
}

.bi-image::before {
  content: "\f42a";
}

.bi-images::before {
  content: "\f42b";
}

.bi-inbox-fill::before {
  content: "\f42c";
}

.bi-inbox::before {
  content: "\f42d";
}

.bi-inboxes-fill::before {
  content: "\f42e";
}

.bi-inboxes::before {
  content: "\f42f";
}

.bi-info-circle-fill::before {
  content: "\f430";
}

.bi-info-circle::before {
  content: "\f431";
}

.bi-info-square-fill::before {
  content: "\f432";
}

.bi-info-square::before {
  content: "\f433";
}

.bi-info::before {
  content: "\f434";
}

.bi-input-cursor-text::before {
  content: "\f435";
}

.bi-input-cursor::before {
  content: "\f436";
}

.bi-instagram::before {
  content: "\f437";
}

.bi-intersect::before {
  content: "\f438";
}

.bi-journal-album::before {
  content: "\f439";
}

.bi-journal-arrow-down::before {
  content: "\f43a";
}

.bi-journal-arrow-up::before {
  content: "\f43b";
}

.bi-journal-bookmark-fill::before {
  content: "\f43c";
}

.bi-journal-bookmark::before {
  content: "\f43d";
}

.bi-journal-check::before {
  content: "\f43e";
}

.bi-journal-code::before {
  content: "\f43f";
}

.bi-journal-medical::before {
  content: "\f440";
}

.bi-journal-minus::before {
  content: "\f441";
}

.bi-journal-plus::before {
  content: "\f442";
}

.bi-journal-richtext::before {
  content: "\f443";
}

.bi-journal-text::before {
  content: "\f444";
}

.bi-journal-x::before {
  content: "\f445";
}

.bi-journal::before {
  content: "\f446";
}

.bi-journals::before {
  content: "\f447";
}

.bi-joystick::before {
  content: "\f448";
}

.bi-justify-left::before {
  content: "\f449";
}

.bi-justify-right::before {
  content: "\f44a";
}

.bi-justify::before {
  content: "\f44b";
}

.bi-kanban-fill::before {
  content: "\f44c";
}

.bi-kanban::before {
  content: "\f44d";
}

.bi-key-fill::before {
  content: "\f44e";
}

.bi-key::before {
  content: "\f44f";
}

.bi-keyboard-fill::before {
  content: "\f450";
}

.bi-keyboard::before {
  content: "\f451";
}

.bi-ladder::before {
  content: "\f452";
}

.bi-lamp-fill::before {
  content: "\f453";
}

.bi-lamp::before {
  content: "\f454";
}

.bi-laptop-fill::before {
  content: "\f455";
}

.bi-laptop::before {
  content: "\f456";
}

.bi-layer-backward::before {
  content: "\f457";
}

.bi-layer-forward::before {
  content: "\f458";
}

.bi-layers-fill::before {
  content: "\f459";
}

.bi-layers-half::before {
  content: "\f45a";
}

.bi-layers::before {
  content: "\f45b";
}

.bi-layout-sidebar-inset-reverse::before {
  content: "\f45c";
}

.bi-layout-sidebar-inset::before {
  content: "\f45d";
}

.bi-layout-sidebar-reverse::before {
  content: "\f45e";
}

.bi-layout-sidebar::before {
  content: "\f45f";
}

.bi-layout-split::before {
  content: "\f460";
}

.bi-layout-text-sidebar-reverse::before {
  content: "\f461";
}

.bi-layout-text-sidebar::before {
  content: "\f462";
}

.bi-layout-text-window-reverse::before {
  content: "\f463";
}

.bi-layout-text-window::before {
  content: "\f464";
}

.bi-layout-three-columns::before {
  content: "\f465";
}

.bi-layout-wtf::before {
  content: "\f466";
}

.bi-life-preserver::before {
  content: "\f467";
}

.bi-lightbulb-fill::before {
  content: "\f468";
}

.bi-lightbulb-off-fill::before {
  content: "\f469";
}

.bi-lightbulb-off::before {
  content: "\f46a";
}

.bi-lightbulb::before {
  content: "\f46b";
}

.bi-lightning-charge-fill::before {
  content: "\f46c";
}

.bi-lightning-charge::before {
  content: "\f46d";
}

.bi-lightning-fill::before {
  content: "\f46e";
}

.bi-lightning::before {
  content: "\f46f";
}

.bi-link-45deg::before {
  content: "\f470";
}

.bi-link::before {
  content: "\f471";
}

.bi-linkedin::before {
  content: "\f472";
}

.bi-list-check::before {
  content: "\f473";
}

.bi-list-nested::before {
  content: "\f474";
}

.bi-list-ol::before {
  content: "\f475";
}

.bi-list-stars::before {
  content: "\f476";
}

.bi-list-task::before {
  content: "\f477";
}

.bi-list-ul::before {
  content: "\f478";
}

.bi-list::before {
  content: "\f479";
}

.bi-lock-fill::before {
  content: "\f47a";
}

.bi-lock::before {
  content: "\f47b";
}

.bi-mailbox::before {
  content: "\f47c";
}

.bi-mailbox2::before {
  content: "\f47d";
}

.bi-map-fill::before {
  content: "\f47e";
}

.bi-map::before {
  content: "\f47f";
}

.bi-markdown-fill::before {
  content: "\f480";
}

.bi-markdown::before {
  content: "\f481";
}

.bi-mask::before {
  content: "\f482";
}

.bi-megaphone-fill::before {
  content: "\f483";
}

.bi-megaphone::before {
  content: "\f484";
}

.bi-menu-app-fill::before {
  content: "\f485";
}

.bi-menu-app::before {
  content: "\f486";
}

.bi-menu-button-fill::before {
  content: "\f487";
}

.bi-menu-button-wide-fill::before {
  content: "\f488";
}

.bi-menu-button-wide::before {
  content: "\f489";
}

.bi-menu-button::before {
  content: "\f48a";
}

.bi-menu-down::before {
  content: "\f48b";
}

.bi-menu-up::before {
  content: "\f48c";
}

.bi-mic-fill::before {
  content: "\f48d";
}

.bi-mic-mute-fill::before {
  content: "\f48e";
}

.bi-mic-mute::before {
  content: "\f48f";
}

.bi-mic::before {
  content: "\f490";
}

.bi-minecart-loaded::before {
  content: "\f491";
}

.bi-minecart::before {
  content: "\f492";
}

.bi-moisture::before {
  content: "\f493";
}

.bi-moon-fill::before {
  content: "\f494";
}

.bi-moon-stars-fill::before {
  content: "\f495";
}

.bi-moon-stars::before {
  content: "\f496";
}

.bi-moon::before {
  content: "\f497";
}

.bi-mouse-fill::before {
  content: "\f498";
}

.bi-mouse::before {
  content: "\f499";
}

.bi-mouse2-fill::before {
  content: "\f49a";
}

.bi-mouse2::before {
  content: "\f49b";
}

.bi-mouse3-fill::before {
  content: "\f49c";
}

.bi-mouse3::before {
  content: "\f49d";
}

.bi-music-note-beamed::before {
  content: "\f49e";
}

.bi-music-note-list::before {
  content: "\f49f";
}

.bi-music-note::before {
  content: "\f4a0";
}

.bi-music-player-fill::before {
  content: "\f4a1";
}

.bi-music-player::before {
  content: "\f4a2";
}

.bi-newspaper::before {
  content: "\f4a3";
}

.bi-node-minus-fill::before {
  content: "\f4a4";
}

.bi-node-minus::before {
  content: "\f4a5";
}

.bi-node-plus-fill::before {
  content: "\f4a6";
}

.bi-node-plus::before {
  content: "\f4a7";
}

.bi-nut-fill::before {
  content: "\f4a8";
}

.bi-nut::before {
  content: "\f4a9";
}

.bi-octagon-fill::before {
  content: "\f4aa";
}

.bi-octagon-half::before {
  content: "\f4ab";
}

.bi-octagon::before {
  content: "\f4ac";
}

.bi-option::before {
  content: "\f4ad";
}

.bi-outlet::before {
  content: "\f4ae";
}

.bi-paint-bucket::before {
  content: "\f4af";
}

.bi-palette-fill::before {
  content: "\f4b0";
}

.bi-palette::before {
  content: "\f4b1";
}

.bi-palette2::before {
  content: "\f4b2";
}

.bi-paperclip::before {
  content: "\f4b3";
}

.bi-paragraph::before {
  content: "\f4b4";
}

.bi-patch-check-fill::before {
  content: "\f4b5";
}

.bi-patch-check::before {
  content: "\f4b6";
}

.bi-patch-exclamation-fill::before {
  content: "\f4b7";
}

.bi-patch-exclamation::before {
  content: "\f4b8";
}

.bi-patch-minus-fill::before {
  content: "\f4b9";
}

.bi-patch-minus::before {
  content: "\f4ba";
}

.bi-patch-plus-fill::before {
  content: "\f4bb";
}

.bi-patch-plus::before {
  content: "\f4bc";
}

.bi-patch-question-fill::before {
  content: "\f4bd";
}

.bi-patch-question::before {
  content: "\f4be";
}

.bi-pause-btn-fill::before {
  content: "\f4bf";
}

.bi-pause-btn::before {
  content: "\f4c0";
}

.bi-pause-circle-fill::before {
  content: "\f4c1";
}

.bi-pause-circle::before {
  content: "\f4c2";
}

.bi-pause-fill::before {
  content: "\f4c3";
}

.bi-pause::before {
  content: "\f4c4";
}

.bi-peace-fill::before {
  content: "\f4c5";
}

.bi-peace::before {
  content: "\f4c6";
}

.bi-pen-fill::before {
  content: "\f4c7";
}

.bi-pen::before {
  content: "\f4c8";
}

.bi-pencil-fill::before {
  content: "\f4c9";
}

.bi-pencil-square::before {
  content: "\f4ca";
}

.bi-pencil::before {
  content: "\f4cb";
}

.bi-pentagon-fill::before {
  content: "\f4cc";
}

.bi-pentagon-half::before {
  content: "\f4cd";
}

.bi-pentagon::before {
  content: "\f4ce";
}

.bi-people-fill::before {
  content: "\f4cf";
}

.bi-people::before {
  content: "\f4d0";
}

.bi-percent::before {
  content: "\f4d1";
}

.bi-person-badge-fill::before {
  content: "\f4d2";
}

.bi-person-badge::before {
  content: "\f4d3";
}

.bi-person-bounding-box::before {
  content: "\f4d4";
}

.bi-person-check-fill::before {
  content: "\f4d5";
}

.bi-person-check::before {
  content: "\f4d6";
}

.bi-person-circle::before {
  content: "\f4d7";
}

.bi-person-dash-fill::before {
  content: "\f4d8";
}

.bi-person-dash::before {
  content: "\f4d9";
}

.bi-person-fill::before {
  content: "\f4da";
}

.bi-person-lines-fill::before {
  content: "\f4db";
}

.bi-person-plus-fill::before {
  content: "\f4dc";
}

.bi-person-plus::before {
  content: "\f4dd";
}

.bi-person-square::before {
  content: "\f4de";
}

.bi-person-x-fill::before {
  content: "\f4df";
}

.bi-person-x::before {
  content: "\f4e0";
}

.bi-person::before {
  content: "\f4e1";
}

.bi-phone-fill::before {
  content: "\f4e2";
}

.bi-phone-landscape-fill::before {
  content: "\f4e3";
}

.bi-phone-landscape::before {
  content: "\f4e4";
}

.bi-phone-vibrate-fill::before {
  content: "\f4e5";
}

.bi-phone-vibrate::before {
  content: "\f4e6";
}

.bi-phone::before {
  content: "\f4e7";
}

.bi-pie-chart-fill::before {
  content: "\f4e8";
}

.bi-pie-chart::before {
  content: "\f4e9";
}

.bi-pin-angle-fill::before {
  content: "\f4ea";
}

.bi-pin-angle::before {
  content: "\f4eb";
}

.bi-pin-fill::before {
  content: "\f4ec";
}

.bi-pin::before {
  content: "\f4ed";
}

.bi-pip-fill::before {
  content: "\f4ee";
}

.bi-pip::before {
  content: "\f4ef";
}

.bi-play-btn-fill::before {
  content: "\f4f0";
}

.bi-play-btn::before {
  content: "\f4f1";
}

.bi-play-circle-fill::before {
  content: "\f4f2";
}

.bi-play-circle::before {
  content: "\f4f3";
}

.bi-play-fill::before {
  content: "\f4f4";
}

.bi-play::before {
  content: "\f4f5";
}

.bi-plug-fill::before {
  content: "\f4f6";
}

.bi-plug::before {
  content: "\f4f7";
}

.bi-plus-circle-dotted::before {
  content: "\f4f8";
}

.bi-plus-circle-fill::before {
  content: "\f4f9";
}

.bi-plus-circle::before {
  content: "\f4fa";
}

.bi-plus-square-dotted::before {
  content: "\f4fb";
}

.bi-plus-square-fill::before {
  content: "\f4fc";
}

.bi-plus-square::before {
  content: "\f4fd";
}

.bi-plus::before {
  content: "\f4fe";
}

.bi-power::before {
  content: "\f4ff";
}

.bi-printer-fill::before {
  content: "\f500";
}

.bi-printer::before {
  content: "\f501";
}

.bi-puzzle-fill::before {
  content: "\f502";
}

.bi-puzzle::before {
  content: "\f503";
}

.bi-question-circle-fill::before {
  content: "\f504";
}

.bi-question-circle::before {
  content: "\f505";
}

.bi-question-diamond-fill::before {
  content: "\f506";
}

.bi-question-diamond::before {
  content: "\f507";
}

.bi-question-octagon-fill::before {
  content: "\f508";
}

.bi-question-octagon::before {
  content: "\f509";
}

.bi-question-square-fill::before {
  content: "\f50a";
}

.bi-question-square::before {
  content: "\f50b";
}

.bi-question::before {
  content: "\f50c";
}

.bi-rainbow::before {
  content: "\f50d";
}

.bi-receipt-cutoff::before {
  content: "\f50e";
}

.bi-receipt::before {
  content: "\f50f";
}

.bi-reception-0::before {
  content: "\f510";
}

.bi-reception-1::before {
  content: "\f511";
}

.bi-reception-2::before {
  content: "\f512";
}

.bi-reception-3::before {
  content: "\f513";
}

.bi-reception-4::before {
  content: "\f514";
}

.bi-record-btn-fill::before {
  content: "\f515";
}

.bi-record-btn::before {
  content: "\f516";
}

.bi-record-circle-fill::before {
  content: "\f517";
}

.bi-record-circle::before {
  content: "\f518";
}

.bi-record-fill::before {
  content: "\f519";
}

.bi-record::before {
  content: "\f51a";
}

.bi-record2-fill::before {
  content: "\f51b";
}

.bi-record2::before {
  content: "\f51c";
}

.bi-reply-all-fill::before {
  content: "\f51d";
}

.bi-reply-all::before {
  content: "\f51e";
}

.bi-reply-fill::before {
  content: "\f51f";
}

.bi-reply::before {
  content: "\f520";
}

.bi-rss-fill::before {
  content: "\f521";
}

.bi-rss::before {
  content: "\f522";
}

.bi-rulers::before {
  content: "\f523";
}

.bi-save-fill::before {
  content: "\f524";
}

.bi-save::before {
  content: "\f525";
}

.bi-save2-fill::before {
  content: "\f526";
}

.bi-save2::before {
  content: "\f527";
}

.bi-scissors::before {
  content: "\f528";
}

.bi-screwdriver::before {
  content: "\f529";
}

.bi-search::before {
  content: "\f52a";
}

.bi-segmented-nav::before {
  content: "\f52b";
}

.bi-server::before {
  content: "\f52c";
}

.bi-share-fill::before {
  content: "\f52d";
}

.bi-share::before {
  content: "\f52e";
}

.bi-shield-check::before {
  content: "\f52f";
}

.bi-shield-exclamation::before {
  content: "\f530";
}

.bi-shield-fill-check::before {
  content: "\f531";
}

.bi-shield-fill-exclamation::before {
  content: "\f532";
}

.bi-shield-fill-minus::before {
  content: "\f533";
}

.bi-shield-fill-plus::before {
  content: "\f534";
}

.bi-shield-fill-x::before {
  content: "\f535";
}

.bi-shield-fill::before {
  content: "\f536";
}

.bi-shield-lock-fill::before {
  content: "\f537";
}

.bi-shield-lock::before {
  content: "\f538";
}

.bi-shield-minus::before {
  content: "\f539";
}

.bi-shield-plus::before {
  content: "\f53a";
}

.bi-shield-shaded::before {
  content: "\f53b";
}

.bi-shield-slash-fill::before {
  content: "\f53c";
}

.bi-shield-slash::before {
  content: "\f53d";
}

.bi-shield-x::before {
  content: "\f53e";
}

.bi-shield::before {
  content: "\f53f";
}

.bi-shift-fill::before {
  content: "\f540";
}

.bi-shift::before {
  content: "\f541";
}

.bi-shop-window::before {
  content: "\f542";
}

.bi-shop::before {
  content: "\f543";
}

.bi-shuffle::before {
  content: "\f544";
}

.bi-signpost-2-fill::before {
  content: "\f545";
}

.bi-signpost-2::before {
  content: "\f546";
}

.bi-signpost-fill::before {
  content: "\f547";
}

.bi-signpost-split-fill::before {
  content: "\f548";
}

.bi-signpost-split::before {
  content: "\f549";
}

.bi-signpost::before {
  content: "\f54a";
}

.bi-sim-fill::before {
  content: "\f54b";
}

.bi-sim::before {
  content: "\f54c";
}

.bi-skip-backward-btn-fill::before {
  content: "\f54d";
}

.bi-skip-backward-btn::before {
  content: "\f54e";
}

.bi-skip-backward-circle-fill::before {
  content: "\f54f";
}

.bi-skip-backward-circle::before {
  content: "\f550";
}

.bi-skip-backward-fill::before {
  content: "\f551";
}

.bi-skip-backward::before {
  content: "\f552";
}

.bi-skip-end-btn-fill::before {
  content: "\f553";
}

.bi-skip-end-btn::before {
  content: "\f554";
}

.bi-skip-end-circle-fill::before {
  content: "\f555";
}

.bi-skip-end-circle::before {
  content: "\f556";
}

.bi-skip-end-fill::before {
  content: "\f557";
}

.bi-skip-end::before {
  content: "\f558";
}

.bi-skip-forward-btn-fill::before {
  content: "\f559";
}

.bi-skip-forward-btn::before {
  content: "\f55a";
}

.bi-skip-forward-circle-fill::before {
  content: "\f55b";
}

.bi-skip-forward-circle::before {
  content: "\f55c";
}

.bi-skip-forward-fill::before {
  content: "\f55d";
}

.bi-skip-forward::before {
  content: "\f55e";
}

.bi-skip-start-btn-fill::before {
  content: "\f55f";
}

.bi-skip-start-btn::before {
  content: "\f560";
}

.bi-skip-start-circle-fill::before {
  content: "\f561";
}

.bi-skip-start-circle::before {
  content: "\f562";
}

.bi-skip-start-fill::before {
  content: "\f563";
}

.bi-skip-start::before {
  content: "\f564";
}

.bi-slack::before {
  content: "\f565";
}

.bi-slash-circle-fill::before {
  content: "\f566";
}

.bi-slash-circle::before {
  content: "\f567";
}

.bi-slash-square-fill::before {
  content: "\f568";
}

.bi-slash-square::before {
  content: "\f569";
}

.bi-slash::before {
  content: "\f56a";
}

.bi-sliders::before {
  content: "\f56b";
}

.bi-smartwatch::before {
  content: "\f56c";
}

.bi-snow::before {
  content: "\f56d";
}

.bi-snow2::before {
  content: "\f56e";
}

.bi-snow3::before {
  content: "\f56f";
}

.bi-sort-alpha-down-alt::before {
  content: "\f570";
}

.bi-sort-alpha-down::before {
  content: "\f571";
}

.bi-sort-alpha-up-alt::before {
  content: "\f572";
}

.bi-sort-alpha-up::before {
  content: "\f573";
}

.bi-sort-down-alt::before {
  content: "\f574";
}

.bi-sort-down::before {
  content: "\f575";
}

.bi-sort-numeric-down-alt::before {
  content: "\f576";
}

.bi-sort-numeric-down::before {
  content: "\f577";
}

.bi-sort-numeric-up-alt::before {
  content: "\f578";
}

.bi-sort-numeric-up::before {
  content: "\f579";
}

.bi-sort-up-alt::before {
  content: "\f57a";
}

.bi-sort-up::before {
  content: "\f57b";
}

.bi-soundwave::before {
  content: "\f57c";
}

.bi-speaker-fill::before {
  content: "\f57d";
}

.bi-speaker::before {
  content: "\f57e";
}

.bi-speedometer::before {
  content: "\f57f";
}

.bi-speedometer2::before {
  content: "\f580";
}

.bi-spellcheck::before {
  content: "\f581";
}

.bi-square-fill::before {
  content: "\f582";
}

.bi-square-half::before {
  content: "\f583";
}

.bi-square::before {
  content: "\f584";
}

.bi-stack::before {
  content: "\f585";
}

.bi-star-fill::before {
  content: "\f586";
}

.bi-star-half::before {
  content: "\f587";
}

.bi-star::before {
  content: "\f588";
}

.bi-stars::before {
  content: "\f589";
}

.bi-stickies-fill::before {
  content: "\f58a";
}

.bi-stickies::before {
  content: "\f58b";
}

.bi-sticky-fill::before {
  content: "\f58c";
}

.bi-sticky::before {
  content: "\f58d";
}

.bi-stop-btn-fill::before {
  content: "\f58e";
}

.bi-stop-btn::before {
  content: "\f58f";
}

.bi-stop-circle-fill::before {
  content: "\f590";
}

.bi-stop-circle::before {
  content: "\f591";
}

.bi-stop-fill::before {
  content: "\f592";
}

.bi-stop::before {
  content: "\f593";
}

.bi-stoplights-fill::before {
  content: "\f594";
}

.bi-stoplights::before {
  content: "\f595";
}

.bi-stopwatch-fill::before {
  content: "\f596";
}

.bi-stopwatch::before {
  content: "\f597";
}

.bi-subtract::before {
  content: "\f598";
}

.bi-suit-club-fill::before {
  content: "\f599";
}

.bi-suit-club::before {
  content: "\f59a";
}

.bi-suit-diamond-fill::before {
  content: "\f59b";
}

.bi-suit-diamond::before {
  content: "\f59c";
}

.bi-suit-heart-fill::before {
  content: "\f59d";
}

.bi-suit-heart::before {
  content: "\f59e";
}

.bi-suit-spade-fill::before {
  content: "\f59f";
}

.bi-suit-spade::before {
  content: "\f5a0";
}

.bi-sun-fill::before {
  content: "\f5a1";
}

.bi-sun::before {
  content: "\f5a2";
}

.bi-sunglasses::before {
  content: "\f5a3";
}

.bi-sunrise-fill::before {
  content: "\f5a4";
}

.bi-sunrise::before {
  content: "\f5a5";
}

.bi-sunset-fill::before {
  content: "\f5a6";
}

.bi-sunset::before {
  content: "\f5a7";
}

.bi-symmetry-horizontal::before {
  content: "\f5a8";
}

.bi-symmetry-vertical::before {
  content: "\f5a9";
}

.bi-table::before {
  content: "\f5aa";
}

.bi-tablet-fill::before {
  content: "\f5ab";
}

.bi-tablet-landscape-fill::before {
  content: "\f5ac";
}

.bi-tablet-landscape::before {
  content: "\f5ad";
}

.bi-tablet::before {
  content: "\f5ae";
}

.bi-tag-fill::before {
  content: "\f5af";
}

.bi-tag::before {
  content: "\f5b0";
}

.bi-tags-fill::before {
  content: "\f5b1";
}

.bi-tags::before {
  content: "\f5b2";
}

.bi-telegram::before {
  content: "\f5b3";
}

.bi-telephone-fill::before {
  content: "\f5b4";
}

.bi-telephone-forward-fill::before {
  content: "\f5b5";
}

.bi-telephone-forward::before {
  content: "\f5b6";
}

.bi-telephone-inbound-fill::before {
  content: "\f5b7";
}

.bi-telephone-inbound::before {
  content: "\f5b8";
}

.bi-telephone-minus-fill::before {
  content: "\f5b9";
}

.bi-telephone-minus::before {
  content: "\f5ba";
}

.bi-telephone-outbound-fill::before {
  content: "\f5bb";
}

.bi-telephone-outbound::before {
  content: "\f5bc";
}

.bi-telephone-plus-fill::before {
  content: "\f5bd";
}

.bi-telephone-plus::before {
  content: "\f5be";
}

.bi-telephone-x-fill::before {
  content: "\f5bf";
}

.bi-telephone-x::before {
  content: "\f5c0";
}

.bi-telephone::before {
  content: "\f5c1";
}

.bi-terminal-fill::before {
  content: "\f5c2";
}

.bi-terminal::before {
  content: "\f5c3";
}

.bi-text-center::before {
  content: "\f5c4";
}

.bi-text-indent-left::before {
  content: "\f5c5";
}

.bi-text-indent-right::before {
  content: "\f5c6";
}

.bi-text-left::before {
  content: "\f5c7";
}

.bi-text-paragraph::before {
  content: "\f5c8";
}

.bi-text-right::before {
  content: "\f5c9";
}

.bi-textarea-resize::before {
  content: "\f5ca";
}

.bi-textarea-t::before {
  content: "\f5cb";
}

.bi-textarea::before {
  content: "\f5cc";
}

.bi-thermometer-half::before {
  content: "\f5cd";
}

.bi-thermometer-high::before {
  content: "\f5ce";
}

.bi-thermometer-low::before {
  content: "\f5cf";
}

.bi-thermometer-snow::before {
  content: "\f5d0";
}

.bi-thermometer-sun::before {
  content: "\f5d1";
}

.bi-thermometer::before {
  content: "\f5d2";
}

.bi-three-dots-vertical::before {
  content: "\f5d3";
}

.bi-three-dots::before {
  content: "\f5d4";
}

.bi-toggle-off::before {
  content: "\f5d5";
}

.bi-toggle-on::before {
  content: "\f5d6";
}

.bi-toggle2-off::before {
  content: "\f5d7";
}

.bi-toggle2-on::before {
  content: "\f5d8";
}

.bi-toggles::before {
  content: "\f5d9";
}

.bi-toggles2::before {
  content: "\f5da";
}

.bi-tools::before {
  content: "\f5db";
}

.bi-tornado::before {
  content: "\f5dc";
}

.bi-trash-fill::before {
  content: "\f5dd";
}

.bi-trash::before {
  content: "\f5de";
}

.bi-trash2-fill::before {
  content: "\f5df";
}

.bi-trash2::before {
  content: "\f5e0";
}

.bi-tree-fill::before {
  content: "\f5e1";
}

.bi-tree::before {
  content: "\f5e2";
}

.bi-triangle-fill::before {
  content: "\f5e3";
}

.bi-triangle-half::before {
  content: "\f5e4";
}

.bi-triangle::before {
  content: "\f5e5";
}

.bi-trophy-fill::before {
  content: "\f5e6";
}

.bi-trophy::before {
  content: "\f5e7";
}

.bi-tropical-storm::before {
  content: "\f5e8";
}

.bi-truck-flatbed::before {
  content: "\f5e9";
}

.bi-truck::before {
  content: "\f5ea";
}

.bi-tsunami::before {
  content: "\f5eb";
}

.bi-tv-fill::before {
  content: "\f5ec";
}

.bi-tv::before {
  content: "\f5ed";
}

.bi-twitch::before {
  content: "\f5ee";
}

.bi-twitter::before {
  content: "\f5ef";
}

.bi-type-bold::before {
  content: "\f5f0";
}

.bi-type-h1::before {
  content: "\f5f1";
}

.bi-type-h2::before {
  content: "\f5f2";
}

.bi-type-h3::before {
  content: "\f5f3";
}

.bi-type-italic::before {
  content: "\f5f4";
}

.bi-type-strikethrough::before {
  content: "\f5f5";
}

.bi-type-underline::before {
  content: "\f5f6";
}

.bi-type::before {
  content: "\f5f7";
}

.bi-ui-checks-grid::before {
  content: "\f5f8";
}

.bi-ui-checks::before {
  content: "\f5f9";
}

.bi-ui-radios-grid::before {
  content: "\f5fa";
}

.bi-ui-radios::before {
  content: "\f5fb";
}

.bi-umbrella-fill::before {
  content: "\f5fc";
}

.bi-umbrella::before {
  content: "\f5fd";
}

.bi-union::before {
  content: "\f5fe";
}

.bi-unlock-fill::before {
  content: "\f5ff";
}

.bi-unlock::before {
  content: "\f600";
}

.bi-upc-scan::before {
  content: "\f601";
}

.bi-upc::before {
  content: "\f602";
}

.bi-upload::before {
  content: "\f603";
}

.bi-vector-pen::before {
  content: "\f604";
}

.bi-view-list::before {
  content: "\f605";
}

.bi-view-stacked::before {
  content: "\f606";
}

.bi-vinyl-fill::before {
  content: "\f607";
}

.bi-vinyl::before {
  content: "\f608";
}

.bi-voicemail::before {
  content: "\f609";
}

.bi-volume-down-fill::before {
  content: "\f60a";
}

.bi-volume-down::before {
  content: "\f60b";
}

.bi-volume-mute-fill::before {
  content: "\f60c";
}

.bi-volume-mute::before {
  content: "\f60d";
}

.bi-volume-off-fill::before {
  content: "\f60e";
}

.bi-volume-off::before {
  content: "\f60f";
}

.bi-volume-up-fill::before {
  content: "\f610";
}

.bi-volume-up::before {
  content: "\f611";
}

.bi-vr::before {
  content: "\f612";
}

.bi-wallet-fill::before {
  content: "\f613";
}

.bi-wallet::before {
  content: "\f614";
}

.bi-wallet2::before {
  content: "\f615";
}

.bi-watch::before {
  content: "\f616";
}

.bi-water::before {
  content: "\f617";
}

.bi-whatsapp::before {
  content: "\f618";
}

.bi-wifi-1::before {
  content: "\f619";
}

.bi-wifi-2::before {
  content: "\f61a";
}

.bi-wifi-off::before {
  content: "\f61b";
}

.bi-wifi::before {
  content: "\f61c";
}

.bi-wind::before {
  content: "\f61d";
}

.bi-window-dock::before {
  content: "\f61e";
}

.bi-window-sidebar::before {
  content: "\f61f";
}

.bi-window::before {
  content: "\f620";
}

.bi-wrench::before {
  content: "\f621";
}

.bi-x-circle-fill::before {
  content: "\f622";
}

.bi-x-circle::before {
  content: "\f623";
}

.bi-x-diamond-fill::before {
  content: "\f624";
}

.bi-x-diamond::before {
  content: "\f625";
}

.bi-x-octagon-fill::before {
  content: "\f626";
}

.bi-x-octagon::before {
  content: "\f627";
}

.bi-x-square-fill::before {
  content: "\f628";
}

.bi-x-square::before {
  content: "\f629";
}

.bi-x::before {
  content: "\f62a";
}

.bi-youtube::before {
  content: "\f62b";
}

.bi-zoom-in::before {
  content: "\f62c";
}

.bi-zoom-out::before {
  content: "\f62d";
}

.bi-bank::before {
  content: "\f62e";
}

.bi-bank2::before {
  content: "\f62f";
}

.bi-bell-slash-fill::before {
  content: "\f630";
}

.bi-bell-slash::before {
  content: "\f631";
}

.bi-cash-coin::before {
  content: "\f632";
}

.bi-check-lg::before {
  content: "\f633";
}

.bi-coin::before {
  content: "\f634";
}

.bi-currency-bitcoin::before {
  content: "\f635";
}

.bi-currency-dollar::before {
  content: "\f636";
}

.bi-currency-euro::before {
  content: "\f637";
}

.bi-currency-exchange::before {
  content: "\f638";
}

.bi-currency-pound::before {
  content: "\f639";
}

.bi-currency-yen::before {
  content: "\f63a";
}

.bi-dash-lg::before {
  content: "\f63b";
}

.bi-exclamation-lg::before {
  content: "\f63c";
}

.bi-file-earmark-pdf-fill::before {
  content: "\f63d";
}

.bi-file-earmark-pdf::before {
  content: "\f63e";
}

.bi-file-pdf-fill::before {
  content: "\f63f";
}

.bi-file-pdf::before {
  content: "\f640";
}

.bi-gender-ambiguous::before {
  content: "\f641";
}

.bi-gender-female::before {
  content: "\f642";
}

.bi-gender-male::before {
  content: "\f643";
}

.bi-gender-trans::before {
  content: "\f644";
}

.bi-headset-vr::before {
  content: "\f645";
}

.bi-info-lg::before {
  content: "\f646";
}

.bi-mastodon::before {
  content: "\f647";
}

.bi-messenger::before {
  content: "\f648";
}

.bi-piggy-bank-fill::before {
  content: "\f649";
}

.bi-piggy-bank::before {
  content: "\f64a";
}

.bi-pin-map-fill::before {
  content: "\f64b";
}

.bi-pin-map::before {
  content: "\f64c";
}

.bi-plus-lg::before {
  content: "\f64d";
}

.bi-question-lg::before {
  content: "\f64e";
}

.bi-recycle::before {
  content: "\f64f";
}

.bi-reddit::before {
  content: "\f650";
}

.bi-safe-fill::before {
  content: "\f651";
}

.bi-safe2-fill::before {
  content: "\f652";
}

.bi-safe2::before {
  content: "\f653";
}

.bi-sd-card-fill::before {
  content: "\f654";
}

.bi-sd-card::before {
  content: "\f655";
}

.bi-skype::before {
  content: "\f656";
}

.bi-slash-lg::before {
  content: "\f657";
}

.bi-translate::before {
  content: "\f658";
}

.bi-x-lg::before {
  content: "\f659";
}

.bi-safe::before {
  content: "\f65a";
}

.bi-apple::before {
  content: "\f65b";
}

.bi-microsoft::before {
  content: "\f65d";
}

.bi-windows::before {
  content: "\f65e";
}

.bi-behance::before {
  content: "\f65c";
}

.bi-dribbble::before {
  content: "\f65f";
}

.bi-line::before {
  content: "\f660";
}

.bi-medium::before {
  content: "\f661";
}

.bi-paypal::before {
  content: "\f662";
}

.bi-pinterest::before {
  content: "\f663";
}

.bi-signal::before {
  content: "\f664";
}

.bi-snapchat::before {
  content: "\f665";
}

.bi-spotify::before {
  content: "\f666";
}

.bi-stack-overflow::before {
  content: "\f667";
}

.bi-strava::before {
  content: "\f668";
}

.bi-wordpress::before {
  content: "\f669";
}

.bi-vimeo::before {
  content: "\f66a";
}

.bi-activity::before {
  content: "\f66b";
}

.bi-easel2-fill::before {
  content: "\f66c";
}

.bi-easel2::before {
  content: "\f66d";
}

.bi-easel3-fill::before {
  content: "\f66e";
}

.bi-easel3::before {
  content: "\f66f";
}

.bi-fan::before {
  content: "\f670";
}

.bi-fingerprint::before {
  content: "\f671";
}

.bi-graph-down-arrow::before {
  content: "\f672";
}

.bi-graph-up-arrow::before {
  content: "\f673";
}

.bi-hypnotize::before {
  content: "\f674";
}

.bi-magic::before {
  content: "\f675";
}

.bi-person-rolodex::before {
  content: "\f676";
}

.bi-person-video::before {
  content: "\f677";
}

.bi-person-video2::before {
  content: "\f678";
}

.bi-person-video3::before {
  content: "\f679";
}

.bi-person-workspace::before {
  content: "\f67a";
}

.bi-radioactive::before {
  content: "\f67b";
}

.bi-webcam-fill::before {
  content: "\f67c";
}

.bi-webcam::before {
  content: "\f67d";
}

.bi-yin-yang::before {
  content: "\f67e";
}

.bi-bandaid-fill::before {
  content: "\f680";
}

.bi-bandaid::before {
  content: "\f681";
}

.bi-bluetooth::before {
  content: "\f682";
}

.bi-body-text::before {
  content: "\f683";
}

.bi-boombox::before {
  content: "\f684";
}

.bi-boxes::before {
  content: "\f685";
}

.bi-dpad-fill::before {
  content: "\f686";
}

.bi-dpad::before {
  content: "\f687";
}

.bi-ear-fill::before {
  content: "\f688";
}

.bi-ear::before {
  content: "\f689";
}

.bi-envelope-check-fill::before {
  content: "\f68b";
}

.bi-envelope-check::before {
  content: "\f68c";
}

.bi-envelope-dash-fill::before {
  content: "\f68e";
}

.bi-envelope-dash::before {
  content: "\f68f";
}

.bi-envelope-exclamation-fill::before {
  content: "\f691";
}

.bi-envelope-exclamation::before {
  content: "\f692";
}

.bi-envelope-plus-fill::before {
  content: "\f693";
}

.bi-envelope-plus::before {
  content: "\f694";
}

.bi-envelope-slash-fill::before {
  content: "\f696";
}

.bi-envelope-slash::before {
  content: "\f697";
}

.bi-envelope-x-fill::before {
  content: "\f699";
}

.bi-envelope-x::before {
  content: "\f69a";
}

.bi-explicit-fill::before {
  content: "\f69b";
}

.bi-explicit::before {
  content: "\f69c";
}

.bi-git::before {
  content: "\f69d";
}

.bi-infinity::before {
  content: "\f69e";
}

.bi-list-columns-reverse::before {
  content: "\f69f";
}

.bi-list-columns::before {
  content: "\f6a0";
}

.bi-meta::before {
  content: "\f6a1";
}

.bi-nintendo-switch::before {
  content: "\f6a4";
}

.bi-pc-display-horizontal::before {
  content: "\f6a5";
}

.bi-pc-display::before {
  content: "\f6a6";
}

.bi-pc-horizontal::before {
  content: "\f6a7";
}

.bi-pc::before {
  content: "\f6a8";
}

.bi-playstation::before {
  content: "\f6a9";
}

.bi-plus-slash-minus::before {
  content: "\f6aa";
}

.bi-projector-fill::before {
  content: "\f6ab";
}

.bi-projector::before {
  content: "\f6ac";
}

.bi-qr-code-scan::before {
  content: "\f6ad";
}

.bi-qr-code::before {
  content: "\f6ae";
}

.bi-quora::before {
  content: "\f6af";
}

.bi-quote::before {
  content: "\f6b0";
}

.bi-robot::before {
  content: "\f6b1";
}

.bi-send-check-fill::before {
  content: "\f6b2";
}

.bi-send-check::before {
  content: "\f6b3";
}

.bi-send-dash-fill::before {
  content: "\f6b4";
}

.bi-send-dash::before {
  content: "\f6b5";
}

.bi-send-exclamation-fill::before {
  content: "\f6b7";
}

.bi-send-exclamation::before {
  content: "\f6b8";
}

.bi-send-fill::before {
  content: "\f6b9";
}

.bi-send-plus-fill::before {
  content: "\f6ba";
}

.bi-send-plus::before {
  content: "\f6bb";
}

.bi-send-slash-fill::before {
  content: "\f6bc";
}

.bi-send-slash::before {
  content: "\f6bd";
}

.bi-send-x-fill::before {
  content: "\f6be";
}

.bi-send-x::before {
  content: "\f6bf";
}

.bi-send::before {
  content: "\f6c0";
}

.bi-steam::before {
  content: "\f6c1";
}

.bi-terminal-dash::before {
  content: "\f6c3";
}

.bi-terminal-plus::before {
  content: "\f6c4";
}

.bi-terminal-split::before {
  content: "\f6c5";
}

.bi-ticket-detailed-fill::before {
  content: "\f6c6";
}

.bi-ticket-detailed::before {
  content: "\f6c7";
}

.bi-ticket-fill::before {
  content: "\f6c8";
}

.bi-ticket-perforated-fill::before {
  content: "\f6c9";
}

.bi-ticket-perforated::before {
  content: "\f6ca";
}

.bi-ticket::before {
  content: "\f6cb";
}

.bi-tiktok::before {
  content: "\f6cc";
}

.bi-window-dash::before {
  content: "\f6cd";
}

.bi-window-desktop::before {
  content: "\f6ce";
}

.bi-window-fullscreen::before {
  content: "\f6cf";
}

.bi-window-plus::before {
  content: "\f6d0";
}

.bi-window-split::before {
  content: "\f6d1";
}

.bi-window-stack::before {
  content: "\f6d2";
}

.bi-window-x::before {
  content: "\f6d3";
}

.bi-xbox::before {
  content: "\f6d4";
}

.bi-ethernet::before {
  content: "\f6d5";
}

.bi-hdmi-fill::before {
  content: "\f6d6";
}

.bi-hdmi::before {
  content: "\f6d7";
}

.bi-usb-c-fill::before {
  content: "\f6d8";
}

.bi-usb-c::before {
  content: "\f6d9";
}

.bi-usb-fill::before {
  content: "\f6da";
}

.bi-usb-plug-fill::before {
  content: "\f6db";
}

.bi-usb-plug::before {
  content: "\f6dc";
}

.bi-usb-symbol::before {
  content: "\f6dd";
}

.bi-usb::before {
  content: "\f6de";
}

.bi-boombox-fill::before {
  content: "\f6df";
}

.bi-displayport::before {
  content: "\f6e1";
}

.bi-gpu-card::before {
  content: "\f6e2";
}

.bi-memory::before {
  content: "\f6e3";
}

.bi-modem-fill::before {
  content: "\f6e4";
}

.bi-modem::before {
  content: "\f6e5";
}

.bi-motherboard-fill::before {
  content: "\f6e6";
}

.bi-motherboard::before {
  content: "\f6e7";
}

.bi-optical-audio-fill::before {
  content: "\f6e8";
}

.bi-optical-audio::before {
  content: "\f6e9";
}

.bi-pci-card::before {
  content: "\f6ea";
}

.bi-router-fill::before {
  content: "\f6eb";
}

.bi-router::before {
  content: "\f6ec";
}

.bi-thunderbolt-fill::before {
  content: "\f6ef";
}

.bi-thunderbolt::before {
  content: "\f6f0";
}

.bi-usb-drive-fill::before {
  content: "\f6f1";
}

.bi-usb-drive::before {
  content: "\f6f2";
}

.bi-usb-micro-fill::before {
  content: "\f6f3";
}

.bi-usb-micro::before {
  content: "\f6f4";
}

.bi-usb-mini-fill::before {
  content: "\f6f5";
}

.bi-usb-mini::before {
  content: "\f6f6";
}

.bi-cloud-haze2::before {
  content: "\f6f7";
}

.bi-device-hdd-fill::before {
  content: "\f6f8";
}

.bi-device-hdd::before {
  content: "\f6f9";
}

.bi-device-ssd-fill::before {
  content: "\f6fa";
}

.bi-device-ssd::before {
  content: "\f6fb";
}

.bi-displayport-fill::before {
  content: "\f6fc";
}

.bi-mortarboard-fill::before {
  content: "\f6fd";
}

.bi-mortarboard::before {
  content: "\f6fe";
}

.bi-terminal-x::before {
  content: "\f6ff";
}

.bi-arrow-through-heart-fill::before {
  content: "\f700";
}

.bi-arrow-through-heart::before {
  content: "\f701";
}

.bi-badge-sd-fill::before {
  content: "\f702";
}

.bi-badge-sd::before {
  content: "\f703";
}

.bi-bag-heart-fill::before {
  content: "\f704";
}

.bi-bag-heart::before {
  content: "\f705";
}

.bi-balloon-fill::before {
  content: "\f706";
}

.bi-balloon-heart-fill::before {
  content: "\f707";
}

.bi-balloon-heart::before {
  content: "\f708";
}

.bi-balloon::before {
  content: "\f709";
}

.bi-box2-fill::before {
  content: "\f70a";
}

.bi-box2-heart-fill::before {
  content: "\f70b";
}

.bi-box2-heart::before {
  content: "\f70c";
}

.bi-box2::before {
  content: "\f70d";
}

.bi-braces-asterisk::before {
  content: "\f70e";
}

.bi-calendar-heart-fill::before {
  content: "\f70f";
}

.bi-calendar-heart::before {
  content: "\f710";
}

.bi-calendar2-heart-fill::before {
  content: "\f711";
}

.bi-calendar2-heart::before {
  content: "\f712";
}

.bi-chat-heart-fill::before {
  content: "\f713";
}

.bi-chat-heart::before {
  content: "\f714";
}

.bi-chat-left-heart-fill::before {
  content: "\f715";
}

.bi-chat-left-heart::before {
  content: "\f716";
}

.bi-chat-right-heart-fill::before {
  content: "\f717";
}

.bi-chat-right-heart::before {
  content: "\f718";
}

.bi-chat-square-heart-fill::before {
  content: "\f719";
}

.bi-chat-square-heart::before {
  content: "\f71a";
}

.bi-clipboard-check-fill::before {
  content: "\f71b";
}

.bi-clipboard-data-fill::before {
  content: "\f71c";
}

.bi-clipboard-fill::before {
  content: "\f71d";
}

.bi-clipboard-heart-fill::before {
  content: "\f71e";
}

.bi-clipboard-heart::before {
  content: "\f71f";
}

.bi-clipboard-minus-fill::before {
  content: "\f720";
}

.bi-clipboard-plus-fill::before {
  content: "\f721";
}

.bi-clipboard-pulse::before {
  content: "\f722";
}

.bi-clipboard-x-fill::before {
  content: "\f723";
}

.bi-clipboard2-check-fill::before {
  content: "\f724";
}

.bi-clipboard2-check::before {
  content: "\f725";
}

.bi-clipboard2-data-fill::before {
  content: "\f726";
}

.bi-clipboard2-data::before {
  content: "\f727";
}

.bi-clipboard2-fill::before {
  content: "\f728";
}

.bi-clipboard2-heart-fill::before {
  content: "\f729";
}

.bi-clipboard2-heart::before {
  content: "\f72a";
}

.bi-clipboard2-minus-fill::before {
  content: "\f72b";
}

.bi-clipboard2-minus::before {
  content: "\f72c";
}

.bi-clipboard2-plus-fill::before {
  content: "\f72d";
}

.bi-clipboard2-plus::before {
  content: "\f72e";
}

.bi-clipboard2-pulse-fill::before {
  content: "\f72f";
}

.bi-clipboard2-pulse::before {
  content: "\f730";
}

.bi-clipboard2-x-fill::before {
  content: "\f731";
}

.bi-clipboard2-x::before {
  content: "\f732";
}

.bi-clipboard2::before {
  content: "\f733";
}

.bi-emoji-kiss-fill::before {
  content: "\f734";
}

.bi-emoji-kiss::before {
  content: "\f735";
}

.bi-envelope-heart-fill::before {
  content: "\f736";
}

.bi-envelope-heart::before {
  content: "\f737";
}

.bi-envelope-open-heart-fill::before {
  content: "\f738";
}

.bi-envelope-open-heart::before {
  content: "\f739";
}

.bi-envelope-paper-fill::before {
  content: "\f73a";
}

.bi-envelope-paper-heart-fill::before {
  content: "\f73b";
}

.bi-envelope-paper-heart::before {
  content: "\f73c";
}

.bi-envelope-paper::before {
  content: "\f73d";
}

.bi-filetype-aac::before {
  content: "\f73e";
}

.bi-filetype-ai::before {
  content: "\f73f";
}

.bi-filetype-bmp::before {
  content: "\f740";
}

.bi-filetype-cs::before {
  content: "\f741";
}

.bi-filetype-css::before {
  content: "\f742";
}

.bi-filetype-csv::before {
  content: "\f743";
}

.bi-filetype-doc::before {
  content: "\f744";
}

.bi-filetype-docx::before {
  content: "\f745";
}

.bi-filetype-exe::before {
  content: "\f746";
}

.bi-filetype-gif::before {
  content: "\f747";
}

.bi-filetype-heic::before {
  content: "\f748";
}

.bi-filetype-html::before {
  content: "\f749";
}

.bi-filetype-java::before {
  content: "\f74a";
}

.bi-filetype-jpg::before {
  content: "\f74b";
}

.bi-filetype-js::before {
  content: "\f74c";
}

.bi-filetype-jsx::before {
  content: "\f74d";
}

.bi-filetype-key::before {
  content: "\f74e";
}

.bi-filetype-m4p::before {
  content: "\f74f";
}

.bi-filetype-md::before {
  content: "\f750";
}

.bi-filetype-mdx::before {
  content: "\f751";
}

.bi-filetype-mov::before {
  content: "\f752";
}

.bi-filetype-mp3::before {
  content: "\f753";
}

.bi-filetype-mp4::before {
  content: "\f754";
}

.bi-filetype-otf::before {
  content: "\f755";
}

.bi-filetype-pdf::before {
  content: "\f756";
}

.bi-filetype-php::before {
  content: "\f757";
}

.bi-filetype-png::before {
  content: "\f758";
}

.bi-filetype-ppt::before {
  content: "\f75a";
}

.bi-filetype-psd::before {
  content: "\f75b";
}

.bi-filetype-py::before {
  content: "\f75c";
}

.bi-filetype-raw::before {
  content: "\f75d";
}

.bi-filetype-rb::before {
  content: "\f75e";
}

.bi-filetype-sass::before {
  content: "\f75f";
}

.bi-filetype-scss::before {
  content: "\f760";
}

.bi-filetype-sh::before {
  content: "\f761";
}

.bi-filetype-svg::before {
  content: "\f762";
}

.bi-filetype-tiff::before {
  content: "\f763";
}

.bi-filetype-tsx::before {
  content: "\f764";
}

.bi-filetype-ttf::before {
  content: "\f765";
}

.bi-filetype-txt::before {
  content: "\f766";
}

.bi-filetype-wav::before {
  content: "\f767";
}

.bi-filetype-woff::before {
  content: "\f768";
}

.bi-filetype-xls::before {
  content: "\f76a";
}

.bi-filetype-xml::before {
  content: "\f76b";
}

.bi-filetype-yml::before {
  content: "\f76c";
}

.bi-heart-arrow::before {
  content: "\f76d";
}

.bi-heart-pulse-fill::before {
  content: "\f76e";
}

.bi-heart-pulse::before {
  content: "\f76f";
}

.bi-heartbreak-fill::before {
  content: "\f770";
}

.bi-heartbreak::before {
  content: "\f771";
}

.bi-hearts::before {
  content: "\f772";
}

.bi-hospital-fill::before {
  content: "\f773";
}

.bi-hospital::before {
  content: "\f774";
}

.bi-house-heart-fill::before {
  content: "\f775";
}

.bi-house-heart::before {
  content: "\f776";
}

.bi-incognito::before {
  content: "\f777";
}

.bi-magnet-fill::before {
  content: "\f778";
}

.bi-magnet::before {
  content: "\f779";
}

.bi-person-heart::before {
  content: "\f77a";
}

.bi-person-hearts::before {
  content: "\f77b";
}

.bi-phone-flip::before {
  content: "\f77c";
}

.bi-plugin::before {
  content: "\f77d";
}

.bi-postage-fill::before {
  content: "\f77e";
}

.bi-postage-heart-fill::before {
  content: "\f77f";
}

.bi-postage-heart::before {
  content: "\f780";
}

.bi-postage::before {
  content: "\f781";
}

.bi-postcard-fill::before {
  content: "\f782";
}

.bi-postcard-heart-fill::before {
  content: "\f783";
}

.bi-postcard-heart::before {
  content: "\f784";
}

.bi-postcard::before {
  content: "\f785";
}

.bi-search-heart-fill::before {
  content: "\f786";
}

.bi-search-heart::before {
  content: "\f787";
}

.bi-sliders2-vertical::before {
  content: "\f788";
}

.bi-sliders2::before {
  content: "\f789";
}

.bi-trash3-fill::before {
  content: "\f78a";
}

.bi-trash3::before {
  content: "\f78b";
}

.bi-valentine::before {
  content: "\f78c";
}

.bi-valentine2::before {
  content: "\f78d";
}

.bi-wrench-adjustable-circle-fill::before {
  content: "\f78e";
}

.bi-wrench-adjustable-circle::before {
  content: "\f78f";
}

.bi-wrench-adjustable::before {
  content: "\f790";
}

.bi-filetype-json::before {
  content: "\f791";
}

.bi-filetype-pptx::before {
  content: "\f792";
}

.bi-filetype-xlsx::before {
  content: "\f793";
}

.bi-1-circle-fill::before {
  content: "\f796";
}

.bi-1-circle::before {
  content: "\f797";
}

.bi-1-square-fill::before {
  content: "\f798";
}

.bi-1-square::before {
  content: "\f799";
}

.bi-2-circle-fill::before {
  content: "\f79c";
}

.bi-2-circle::before {
  content: "\f79d";
}

.bi-2-square-fill::before {
  content: "\f79e";
}

.bi-2-square::before {
  content: "\f79f";
}

.bi-3-circle-fill::before {
  content: "\f7a2";
}

.bi-3-circle::before {
  content: "\f7a3";
}

.bi-3-square-fill::before {
  content: "\f7a4";
}

.bi-3-square::before {
  content: "\f7a5";
}

.bi-4-circle-fill::before {
  content: "\f7a8";
}

.bi-4-circle::before {
  content: "\f7a9";
}

.bi-4-square-fill::before {
  content: "\f7aa";
}

.bi-4-square::before {
  content: "\f7ab";
}

.bi-5-circle-fill::before {
  content: "\f7ae";
}

.bi-5-circle::before {
  content: "\f7af";
}

.bi-5-square-fill::before {
  content: "\f7b0";
}

.bi-5-square::before {
  content: "\f7b1";
}

.bi-6-circle-fill::before {
  content: "\f7b4";
}

.bi-6-circle::before {
  content: "\f7b5";
}

.bi-6-square-fill::before {
  content: "\f7b6";
}

.bi-6-square::before {
  content: "\f7b7";
}

.bi-7-circle-fill::before {
  content: "\f7ba";
}

.bi-7-circle::before {
  content: "\f7bb";
}

.bi-7-square-fill::before {
  content: "\f7bc";
}

.bi-7-square::before {
  content: "\f7bd";
}

.bi-8-circle-fill::before {
  content: "\f7c0";
}

.bi-8-circle::before {
  content: "\f7c1";
}

.bi-8-square-fill::before {
  content: "\f7c2";
}

.bi-8-square::before {
  content: "\f7c3";
}

.bi-9-circle-fill::before {
  content: "\f7c6";
}

.bi-9-circle::before {
  content: "\f7c7";
}

.bi-9-square-fill::before {
  content: "\f7c8";
}

.bi-9-square::before {
  content: "\f7c9";
}

.bi-airplane-engines-fill::before {
  content: "\f7ca";
}

.bi-airplane-engines::before {
  content: "\f7cb";
}

.bi-airplane-fill::before {
  content: "\f7cc";
}

.bi-airplane::before {
  content: "\f7cd";
}

.bi-alexa::before {
  content: "\f7ce";
}

.bi-alipay::before {
  content: "\f7cf";
}

.bi-android::before {
  content: "\f7d0";
}

.bi-android2::before {
  content: "\f7d1";
}

.bi-box-fill::before {
  content: "\f7d2";
}

.bi-box-seam-fill::before {
  content: "\f7d3";
}

.bi-browser-chrome::before {
  content: "\f7d4";
}

.bi-browser-edge::before {
  content: "\f7d5";
}

.bi-browser-firefox::before {
  content: "\f7d6";
}

.bi-browser-safari::before {
  content: "\f7d7";
}

.bi-c-circle-fill::before {
  content: "\f7da";
}

.bi-c-circle::before {
  content: "\f7db";
}

.bi-c-square-fill::before {
  content: "\f7dc";
}

.bi-c-square::before {
  content: "\f7dd";
}

.bi-capsule-pill::before {
  content: "\f7de";
}

.bi-capsule::before {
  content: "\f7df";
}

.bi-car-front-fill::before {
  content: "\f7e0";
}

.bi-car-front::before {
  content: "\f7e1";
}

.bi-cassette-fill::before {
  content: "\f7e2";
}

.bi-cassette::before {
  content: "\f7e3";
}

.bi-cc-circle-fill::before {
  content: "\f7e6";
}

.bi-cc-circle::before {
  content: "\f7e7";
}

.bi-cc-square-fill::before {
  content: "\f7e8";
}

.bi-cc-square::before {
  content: "\f7e9";
}

.bi-cup-hot-fill::before {
  content: "\f7ea";
}

.bi-cup-hot::before {
  content: "\f7eb";
}

.bi-currency-rupee::before {
  content: "\f7ec";
}

.bi-dropbox::before {
  content: "\f7ed";
}

.bi-escape::before {
  content: "\f7ee";
}

.bi-fast-forward-btn-fill::before {
  content: "\f7ef";
}

.bi-fast-forward-btn::before {
  content: "\f7f0";
}

.bi-fast-forward-circle-fill::before {
  content: "\f7f1";
}

.bi-fast-forward-circle::before {
  content: "\f7f2";
}

.bi-fast-forward-fill::before {
  content: "\f7f3";
}

.bi-fast-forward::before {
  content: "\f7f4";
}

.bi-filetype-sql::before {
  content: "\f7f5";
}

.bi-fire::before {
  content: "\f7f6";
}

.bi-google-play::before {
  content: "\f7f7";
}

.bi-h-circle-fill::before {
  content: "\f7fa";
}

.bi-h-circle::before {
  content: "\f7fb";
}

.bi-h-square-fill::before {
  content: "\f7fc";
}

.bi-h-square::before {
  content: "\f7fd";
}

.bi-indent::before {
  content: "\f7fe";
}

.bi-lungs-fill::before {
  content: "\f7ff";
}

.bi-lungs::before {
  content: "\f800";
}

.bi-microsoft-teams::before {
  content: "\f801";
}

.bi-p-circle-fill::before {
  content: "\f804";
}

.bi-p-circle::before {
  content: "\f805";
}

.bi-p-square-fill::before {
  content: "\f806";
}

.bi-p-square::before {
  content: "\f807";
}

.bi-pass-fill::before {
  content: "\f808";
}

.bi-pass::before {
  content: "\f809";
}

.bi-prescription::before {
  content: "\f80a";
}

.bi-prescription2::before {
  content: "\f80b";
}

.bi-r-circle-fill::before {
  content: "\f80e";
}

.bi-r-circle::before {
  content: "\f80f";
}

.bi-r-square-fill::before {
  content: "\f810";
}

.bi-r-square::before {
  content: "\f811";
}

.bi-repeat-1::before {
  content: "\f812";
}

.bi-repeat::before {
  content: "\f813";
}

.bi-rewind-btn-fill::before {
  content: "\f814";
}

.bi-rewind-btn::before {
  content: "\f815";
}

.bi-rewind-circle-fill::before {
  content: "\f816";
}

.bi-rewind-circle::before {
  content: "\f817";
}

.bi-rewind-fill::before {
  content: "\f818";
}

.bi-rewind::before {
  content: "\f819";
}

.bi-train-freight-front-fill::before {
  content: "\f81a";
}

.bi-train-freight-front::before {
  content: "\f81b";
}

.bi-train-front-fill::before {
  content: "\f81c";
}

.bi-train-front::before {
  content: "\f81d";
}

.bi-train-lightrail-front-fill::before {
  content: "\f81e";
}

.bi-train-lightrail-front::before {
  content: "\f81f";
}

.bi-truck-front-fill::before {
  content: "\f820";
}

.bi-truck-front::before {
  content: "\f821";
}

.bi-ubuntu::before {
  content: "\f822";
}

.bi-unindent::before {
  content: "\f823";
}

.bi-unity::before {
  content: "\f824";
}

.bi-universal-access-circle::before {
  content: "\f825";
}

.bi-universal-access::before {
  content: "\f826";
}

.bi-virus::before {
  content: "\f827";
}

.bi-virus2::before {
  content: "\f828";
}

.bi-wechat::before {
  content: "\f829";
}

.bi-yelp::before {
  content: "\f82a";
}

.bi-sign-stop-fill::before {
  content: "\f82b";
}

.bi-sign-stop-lights-fill::before {
  content: "\f82c";
}

.bi-sign-stop-lights::before {
  content: "\f82d";
}

.bi-sign-stop::before {
  content: "\f82e";
}

.bi-sign-turn-left-fill::before {
  content: "\f82f";
}

.bi-sign-turn-left::before {
  content: "\f830";
}

.bi-sign-turn-right-fill::before {
  content: "\f831";
}

.bi-sign-turn-right::before {
  content: "\f832";
}

.bi-sign-turn-slight-left-fill::before {
  content: "\f833";
}

.bi-sign-turn-slight-left::before {
  content: "\f834";
}

.bi-sign-turn-slight-right-fill::before {
  content: "\f835";
}

.bi-sign-turn-slight-right::before {
  content: "\f836";
}

.bi-sign-yield-fill::before {
  content: "\f837";
}

.bi-sign-yield::before {
  content: "\f838";
}

.bi-ev-station-fill::before {
  content: "\f839";
}

.bi-ev-station::before {
  content: "\f83a";
}

.bi-fuel-pump-diesel-fill::before {
  content: "\f83b";
}

.bi-fuel-pump-diesel::before {
  content: "\f83c";
}

.bi-fuel-pump-fill::before {
  content: "\f83d";
}

.bi-fuel-pump::before {
  content: "\f83e";
}

.bi-0-circle-fill::before {
  content: "\f83f";
}

.bi-0-circle::before {
  content: "\f840";
}

.bi-0-square-fill::before {
  content: "\f841";
}

.bi-0-square::before {
  content: "\f842";
}

.bi-rocket-fill::before {
  content: "\f843";
}

.bi-rocket-takeoff-fill::before {
  content: "\f844";
}

.bi-rocket-takeoff::before {
  content: "\f845";
}

.bi-rocket::before {
  content: "\f846";
}

.bi-stripe::before {
  content: "\f847";
}

.bi-subscript::before {
  content: "\f848";
}

.bi-superscript::before {
  content: "\f849";
}

.bi-trello::before {
  content: "\f84a";
}

.bi-envelope-at-fill::before {
  content: "\f84b";
}

.bi-envelope-at::before {
  content: "\f84c";
}

.bi-regex::before {
  content: "\f84d";
}

.bi-text-wrap::before {
  content: "\f84e";
}

.bi-sign-dead-end-fill::before {
  content: "\f84f";
}

.bi-sign-dead-end::before {
  content: "\f850";
}

.bi-sign-do-not-enter-fill::before {
  content: "\f851";
}

.bi-sign-do-not-enter::before {
  content: "\f852";
}

.bi-sign-intersection-fill::before {
  content: "\f853";
}

.bi-sign-intersection-side-fill::before {
  content: "\f854";
}

.bi-sign-intersection-side::before {
  content: "\f855";
}

.bi-sign-intersection-t-fill::before {
  content: "\f856";
}

.bi-sign-intersection-t::before {
  content: "\f857";
}

.bi-sign-intersection-y-fill::before {
  content: "\f858";
}

.bi-sign-intersection-y::before {
  content: "\f859";
}

.bi-sign-intersection::before {
  content: "\f85a";
}

.bi-sign-merge-left-fill::before {
  content: "\f85b";
}

.bi-sign-merge-left::before {
  content: "\f85c";
}

.bi-sign-merge-right-fill::before {
  content: "\f85d";
}

.bi-sign-merge-right::before {
  content: "\f85e";
}

.bi-sign-no-left-turn-fill::before {
  content: "\f85f";
}

.bi-sign-no-left-turn::before {
  content: "\f860";
}

.bi-sign-no-parking-fill::before {
  content: "\f861";
}

.bi-sign-no-parking::before {
  content: "\f862";
}

.bi-sign-no-right-turn-fill::before {
  content: "\f863";
}

.bi-sign-no-right-turn::before {
  content: "\f864";
}

.bi-sign-railroad-fill::before {
  content: "\f865";
}

.bi-sign-railroad::before {
  content: "\f866";
}

.bi-building-add::before {
  content: "\f867";
}

.bi-building-check::before {
  content: "\f868";
}

.bi-building-dash::before {
  content: "\f869";
}

.bi-building-down::before {
  content: "\f86a";
}

.bi-building-exclamation::before {
  content: "\f86b";
}

.bi-building-fill-add::before {
  content: "\f86c";
}

.bi-building-fill-check::before {
  content: "\f86d";
}

.bi-building-fill-dash::before {
  content: "\f86e";
}

.bi-building-fill-down::before {
  content: "\f86f";
}

.bi-building-fill-exclamation::before {
  content: "\f870";
}

.bi-building-fill-gear::before {
  content: "\f871";
}

.bi-building-fill-lock::before {
  content: "\f872";
}

.bi-building-fill-slash::before {
  content: "\f873";
}

.bi-building-fill-up::before {
  content: "\f874";
}

.bi-building-fill-x::before {
  content: "\f875";
}

.bi-building-fill::before {
  content: "\f876";
}

.bi-building-gear::before {
  content: "\f877";
}

.bi-building-lock::before {
  content: "\f878";
}

.bi-building-slash::before {
  content: "\f879";
}

.bi-building-up::before {
  content: "\f87a";
}

.bi-building-x::before {
  content: "\f87b";
}

.bi-buildings-fill::before {
  content: "\f87c";
}

.bi-buildings::before {
  content: "\f87d";
}

.bi-bus-front-fill::before {
  content: "\f87e";
}

.bi-bus-front::before {
  content: "\f87f";
}

.bi-ev-front-fill::before {
  content: "\f880";
}

.bi-ev-front::before {
  content: "\f881";
}

.bi-globe-americas::before {
  content: "\f882";
}

.bi-globe-asia-australia::before {
  content: "\f883";
}

.bi-globe-central-south-asia::before {
  content: "\f884";
}

.bi-globe-europe-africa::before {
  content: "\f885";
}

.bi-house-add-fill::before {
  content: "\f886";
}

.bi-house-add::before {
  content: "\f887";
}

.bi-house-check-fill::before {
  content: "\f888";
}

.bi-house-check::before {
  content: "\f889";
}

.bi-house-dash-fill::before {
  content: "\f88a";
}

.bi-house-dash::before {
  content: "\f88b";
}

.bi-house-down-fill::before {
  content: "\f88c";
}

.bi-house-down::before {
  content: "\f88d";
}

.bi-house-exclamation-fill::before {
  content: "\f88e";
}

.bi-house-exclamation::before {
  content: "\f88f";
}

.bi-house-gear-fill::before {
  content: "\f890";
}

.bi-house-gear::before {
  content: "\f891";
}

.bi-house-lock-fill::before {
  content: "\f892";
}

.bi-house-lock::before {
  content: "\f893";
}

.bi-house-slash-fill::before {
  content: "\f894";
}

.bi-house-slash::before {
  content: "\f895";
}

.bi-house-up-fill::before {
  content: "\f896";
}

.bi-house-up::before {
  content: "\f897";
}

.bi-house-x-fill::before {
  content: "\f898";
}

.bi-house-x::before {
  content: "\f899";
}

.bi-person-add::before {
  content: "\f89a";
}

.bi-person-down::before {
  content: "\f89b";
}

.bi-person-exclamation::before {
  content: "\f89c";
}

.bi-person-fill-add::before {
  content: "\f89d";
}

.bi-person-fill-check::before {
  content: "\f89e";
}

.bi-person-fill-dash::before {
  content: "\f89f";
}

.bi-person-fill-down::before {
  content: "\f8a0";
}

.bi-person-fill-exclamation::before {
  content: "\f8a1";
}

.bi-person-fill-gear::before {
  content: "\f8a2";
}

.bi-person-fill-lock::before {
  content: "\f8a3";
}

.bi-person-fill-slash::before {
  content: "\f8a4";
}

.bi-person-fill-up::before {
  content: "\f8a5";
}

.bi-person-fill-x::before {
  content: "\f8a6";
}

.bi-person-gear::before {
  content: "\f8a7";
}

.bi-person-lock::before {
  content: "\f8a8";
}

.bi-person-slash::before {
  content: "\f8a9";
}

.bi-person-up::before {
  content: "\f8aa";
}

.bi-scooter::before {
  content: "\f8ab";
}

.bi-taxi-front-fill::before {
  content: "\f8ac";
}

.bi-taxi-front::before {
  content: "\f8ad";
}

.bi-amd::before {
  content: "\f8ae";
}

.bi-database-add::before {
  content: "\f8af";
}

.bi-database-check::before {
  content: "\f8b0";
}

.bi-database-dash::before {
  content: "\f8b1";
}

.bi-database-down::before {
  content: "\f8b2";
}

.bi-database-exclamation::before {
  content: "\f8b3";
}

.bi-database-fill-add::before {
  content: "\f8b4";
}

.bi-database-fill-check::before {
  content: "\f8b5";
}

.bi-database-fill-dash::before {
  content: "\f8b6";
}

.bi-database-fill-down::before {
  content: "\f8b7";
}

.bi-database-fill-exclamation::before {
  content: "\f8b8";
}

.bi-database-fill-gear::before {
  content: "\f8b9";
}

.bi-database-fill-lock::before {
  content: "\f8ba";
}

.bi-database-fill-slash::before {
  content: "\f8bb";
}

.bi-database-fill-up::before {
  content: "\f8bc";
}

.bi-database-fill-x::before {
  content: "\f8bd";
}

.bi-database-fill::before {
  content: "\f8be";
}

.bi-database-gear::before {
  content: "\f8bf";
}

.bi-database-lock::before {
  content: "\f8c0";
}

.bi-database-slash::before {
  content: "\f8c1";
}

.bi-database-up::before {
  content: "\f8c2";
}

.bi-database-x::before {
  content: "\f8c3";
}

.bi-database::before {
  content: "\f8c4";
}

.bi-houses-fill::before {
  content: "\f8c5";
}

.bi-houses::before {
  content: "\f8c6";
}

.bi-nvidia::before {
  content: "\f8c7";
}

.bi-person-vcard-fill::before {
  content: "\f8c8";
}

.bi-person-vcard::before {
  content: "\f8c9";
}

.bi-sina-weibo::before {
  content: "\f8ca";
}

.bi-tencent-qq::before {
  content: "\f8cb";
}

.bi-wikipedia::before {
  content: "\f8cc";
}

.bi-alphabet-uppercase::before {
  content: "\f2a5";
}

.bi-alphabet::before {
  content: "\f68a";
}

.bi-amazon::before {
  content: "\f68d";
}

.bi-arrows-collapse-vertical::before {
  content: "\f690";
}

.bi-arrows-expand-vertical::before {
  content: "\f695";
}

.bi-arrows-vertical::before {
  content: "\f698";
}

.bi-arrows::before {
  content: "\f6a2";
}

.bi-ban-fill::before {
  content: "\f6a3";
}

.bi-ban::before {
  content: "\f6b6";
}

.bi-bing::before {
  content: "\f6c2";
}

.bi-cake::before {
  content: "\f6e0";
}

.bi-cake2::before {
  content: "\f6ed";
}

.bi-cookie::before {
  content: "\f6ee";
}

.bi-copy::before {
  content: "\f759";
}

.bi-crosshair::before {
  content: "\f769";
}

.bi-crosshair2::before {
  content: "\f794";
}

.bi-emoji-astonished-fill::before {
  content: "\f795";
}

.bi-emoji-astonished::before {
  content: "\f79a";
}

.bi-emoji-grimace-fill::before {
  content: "\f79b";
}

.bi-emoji-grimace::before {
  content: "\f7a0";
}

.bi-emoji-grin-fill::before {
  content: "\f7a1";
}

.bi-emoji-grin::before {
  content: "\f7a6";
}

.bi-emoji-surprise-fill::before {
  content: "\f7a7";
}

.bi-emoji-surprise::before {
  content: "\f7ac";
}

.bi-emoji-tear-fill::before {
  content: "\f7ad";
}

.bi-emoji-tear::before {
  content: "\f7b2";
}

.bi-envelope-arrow-down-fill::before {
  content: "\f7b3";
}

.bi-envelope-arrow-down::before {
  content: "\f7b8";
}

.bi-envelope-arrow-up-fill::before {
  content: "\f7b9";
}

.bi-envelope-arrow-up::before {
  content: "\f7be";
}

.bi-feather::before {
  content: "\f7bf";
}

.bi-feather2::before {
  content: "\f7c4";
}

.bi-floppy-fill::before {
  content: "\f7c5";
}

.bi-floppy::before {
  content: "\f7d8";
}

.bi-floppy2-fill::before {
  content: "\f7d9";
}

.bi-floppy2::before {
  content: "\f7e4";
}

.bi-gitlab::before {
  content: "\f7e5";
}

.bi-highlighter::before {
  content: "\f7f8";
}

.bi-marker-tip::before {
  content: "\f802";
}

.bi-nvme-fill::before {
  content: "\f803";
}

.bi-nvme::before {
  content: "\f80c";
}

.bi-opencollective::before {
  content: "\f80d";
}

.bi-pci-card-network::before {
  content: "\f8cd";
}

.bi-pci-card-sound::before {
  content: "\f8ce";
}

.bi-radar::before {
  content: "\f8cf";
}

.bi-send-arrow-down-fill::before {
  content: "\f8d0";
}

.bi-send-arrow-down::before {
  content: "\f8d1";
}

.bi-send-arrow-up-fill::before {
  content: "\f8d2";
}

.bi-send-arrow-up::before {
  content: "\f8d3";
}

.bi-sim-slash-fill::before {
  content: "\f8d4";
}

.bi-sim-slash::before {
  content: "\f8d5";
}

.bi-sourceforge::before {
  content: "\f8d6";
}

.bi-substack::before {
  content: "\f8d7";
}

.bi-threads-fill::before {
  content: "\f8d8";
}

.bi-threads::before {
  content: "\f8d9";
}

.bi-transparency::before {
  content: "\f8da";
}

.bi-twitter-x::before {
  content: "\f8db";
}

.bi-type-h4::before {
  content: "\f8dc";
}

.bi-type-h5::before {
  content: "\f8dd";
}

.bi-type-h6::before {
  content: "\f8de";
}

.bi-backpack-fill::before {
  content: "\f8df";
}

.bi-backpack::before {
  content: "\f8e0";
}

.bi-backpack2-fill::before {
  content: "\f8e1";
}

.bi-backpack2::before {
  content: "\f8e2";
}

.bi-backpack3-fill::before {
  content: "\f8e3";
}

.bi-backpack3::before {
  content: "\f8e4";
}

.bi-backpack4-fill::before {
  content: "\f8e5";
}

.bi-backpack4::before {
  content: "\f8e6";
}

.bi-brilliance::before {
  content: "\f8e7";
}

.bi-cake-fill::before {
  content: "\f8e8";
}

.bi-cake2-fill::before {
  content: "\f8e9";
}

.bi-duffle-fill::before {
  content: "\f8ea";
}

.bi-duffle::before {
  content: "\f8eb";
}

.bi-exposure::before {
  content: "\f8ec";
}

.bi-gender-neuter::before {
  content: "\f8ed";
}

.bi-highlights::before {
  content: "\f8ee";
}

.bi-luggage-fill::before {
  content: "\f8ef";
}

.bi-luggage::before {
  content: "\f8f0";
}

.bi-mailbox-flag::before {
  content: "\f8f1";
}

.bi-mailbox2-flag::before {
  content: "\f8f2";
}

.bi-noise-reduction::before {
  content: "\f8f3";
}

.bi-passport-fill::before {
  content: "\f8f4";
}

.bi-passport::before {
  content: "\f8f5";
}

.bi-person-arms-up::before {
  content: "\f8f6";
}

.bi-person-raised-hand::before {
  content: "\f8f7";
}

.bi-person-standing-dress::before {
  content: "\f8f8";
}

.bi-person-standing::before {
  content: "\f8f9";
}

.bi-person-walking::before {
  content: "\f8fa";
}

.bi-person-wheelchair::before {
  content: "\f8fb";
}

.bi-shadows::before {
  content: "\f8fc";
}

.bi-suitcase-fill::before {
  content: "\f8fd";
}

.bi-suitcase-lg-fill::before {
  content: "\f8fe";
}

.bi-suitcase-lg::before {
  content: "\f8ff";
}

.bi-suitcase::before {
  content: "豈";
}

.bi-suitcase2-fill::before {
  content: "更";
}

.bi-suitcase2::before {
  content: "車";
}

.bi-vignette::before {
  content: "賈";
}

.bi-bluesky::before {
  content: "\f7f9";
}

.bi-tux::before {
  content: "滑";
}

.bi-beaker-fill::before {
  content: "串";
}

.bi-beaker::before {
  content: "句";
}

.bi-flask-fill::before {
  content: "龜";
}

.bi-flask-florence-fill::before {
  content: "龜";
}

.bi-flask-florence::before {
  content: "契";
}

.bi-flask::before {
  content: "金";
}

.bi-leaf-fill::before {
  content: "喇";
}

.bi-leaf::before {
  content: "奈";
}

.bi-measuring-cup-fill::before {
  content: "懶";
}

.bi-measuring-cup::before {
  content: "癩";
}

.bi-unlock2-fill::before {
  content: "羅";
}

.bi-unlock2::before {
  content: "蘿";
}

.bi-battery-low::before {
  content: "螺";
}

.bi-anthropic::before {
  content: "裸";
}

.bi-apple-music::before {
  content: "邏";
}

.bi-claude::before {
  content: "樂";
}

.bi-openai::before {
  content: "洛";
}

.bi-perplexity::before {
  content: "烙";
}

.bi-css::before {
  content: "珞";
}

.bi-javascript::before {
  content: "落";
}

.bi-typescript::before {
  content: "酪";
}

.bi-fork-knife::before {
  content: "駱";
}

.bi-globe-americas-fill::before {
  content: "亂";
}

.bi-globe-asia-australia-fill::before {
  content: "卵";
}

.bi-globe-central-south-asia-fill::before {
  content: "欄";
}

.bi-globe-europe-africa-fill::before {
  content: "爛";
}

@keyframes row-pulse {
  0% {
    background-color: rgba(102, 126, 234, 0.25);
  }
  100% {
    background-color: transparent;
  }
}
* {
  box-sizing: border-box;
}

.auth-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 20px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.auth-card {
  max-width: 450px;
  width: 100%;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  padding: 3rem 2rem;
}

.auth-header {
  text-align: center;
  margin-bottom: 2rem;
}
.auth-header .auth-icon {
  font-size: 3rem;
  color: #667eea;
  margin-bottom: 1rem;
  display: block;
}
.auth-header h2, .auth-header .h2 {
  font-size: 1.875rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0 0 0.5rem 0;
}
.auth-header p {
  color: #718096;
  margin: 0;
  font-size: 0.938rem;
}

.auth-form .form-group {
  transition: opacity 0.15s ease;
}
.auth-form:has(:is(input:not([type=hidden]), select, textarea):focus) .form-group:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}
.auth-form .form-group {
  margin-bottom: 1.5rem;
}
.auth-form label {
  display: block;
  font-weight: 600;
  color: #4a5568;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.auth-form input[type=email],
.auth-form input[type=password],
.auth-form input[type=text] {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  color: #2d3748;
  transition: all 0.3s ease;
  font-family: inherit;
}
.auth-form input[type=email]::-moz-placeholder, .auth-form input[type=password]::-moz-placeholder, .auth-form input[type=text]::-moz-placeholder {
  color: #a0aec0;
}
.auth-form input[type=email]::placeholder,
.auth-form input[type=password]::placeholder,
.auth-form input[type=text]::placeholder {
  color: #a0aec0;
}
.auth-form input[type=email]:focus,
.auth-form input[type=password]:focus,
.auth-form input[type=text]:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.auth-form input[type=email]:disabled,
.auth-form input[type=password]:disabled,
.auth-form input[type=text]:disabled {
  background-color: #f7fafc;
  cursor: not-allowed;
}
.auth-form .field_with_errors {
  display: inline;
}
.auth-form .field_with_errors input {
  border-color: #e53e3e;
}
.auth-form .field_with_errors input:focus {
  border-color: #e53e3e !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.3), 0 4px 12px rgba(229, 62, 62, 0.2) !important;
}
.auth-form .hint {
  display: block;
  font-size: 0.813rem;
  color: #718096;
  margin-top: 0.25rem;
}
.auth-form .error {
  display: block;
  font-size: 0.813rem;
  color: #e53e3e;
  margin-top: 0.25rem;
}

.auth-checkbox {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.auth-checkbox input[type=checkbox] {
  width: 18px;
  height: 18px;
  margin-right: 0.5rem;
  cursor: pointer;
  border: 2px solid #e2e8f0;
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  transition: all 0.2s ease;
}
.auth-checkbox input[type=checkbox]:checked {
  background-color: #667eea;
  border-color: #667eea;
}
.auth-checkbox input[type=checkbox]:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
}
.auth-checkbox input[type=checkbox]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
.auth-checkbox label {
  margin: 0;
  font-weight: 400;
  font-size: 0.938rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  white-space: nowrap;
}

.auth-remember-forgot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.auth-remember-forgot a {
  font-size: 0.875rem;
  color: #667eea;
  text-decoration: none;
  transition: color 0.2s ease;
}
.auth-remember-forgot a:hover {
  color: #5568d3;
  text-decoration: underline;
}

.auth-submit {
  width: 100%;
  padding: 0.875rem 1rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
}
.auth-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.auth-submit:active {
  transform: translateY(0);
}
.auth-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.auth-divider {
  margin: 2rem 0;
  border: none;
  border-top: 1px solid #e2e8f0;
}

.auth-links {
  text-align: center;
}
.auth-links a {
  color: #667eea;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}
.auth-links a:hover {
  color: #764ba2;
  text-decoration: underline;
}
.auth-links .auth-link-item {
  margin: 1rem 0;
  display: block;
  font-size: 0.938rem;
}
.auth-links .auth-link-item i {
  margin-right: 0.25rem;
}
.auth-links .auth-link-item strong {
  font-weight: 600;
}
.auth-links .auth-link-secondary {
  font-size: 0.875rem;
}
.auth-links .auth-link-secondary a {
  color: #4a5568;
}
.auth-links .auth-link-secondary a:hover {
  color: #2d3748;
}
.auth-links .auth-oauth-button {
  width: 100%;
  padding: 0.75rem 1rem;
  background: #ffffff;
  color: #4a5568;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.938rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 1rem;
  font-family: inherit;
}
.auth-links .auth-oauth-button:hover {
  border-color: #667eea;
  color: #667eea;
  background: rgba(102, 126, 234, 0.05);
}

.auth-error-notification {
  background-color: #fff5f5;
  border: 1px solid #feb2b2;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1.5rem;
  color: #e53e3e;
  font-size: 0.875rem;
}

@media (max-width: 576px) {
  .auth-card {
    padding: 2rem 1.5rem;
  }
  .auth-header h2, .auth-header .h2 {
    font-size: 1.5rem;
  }
  .auth-header .auth-icon {
    font-size: 2.5rem;
  }
  .auth-remember-forgot {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 400px) {
  .auth-container {
    padding: 10px;
  }
  .auth-card {
    padding: 1.5rem 1rem;
  }
}
.navbar {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(10px);
  padding: 0;
}

.navbar-container {
  width: 100%;
  padding: 0 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  position: relative;
}

.navbar-brand {
  flex-shrink: 0;
}
.navbar-brand .brand-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #ffffff;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 700;
  transition: all 0.3s ease;
}
.navbar-brand .brand-link i {
  font-size: 1.8rem;
}
.navbar-brand .brand-link span {
  letter-spacing: 0.5px;
}
.navbar-brand .brand-link:hover {
  color: rgba(255, 255, 255, 0.9);
  transform: scale(1.05);
}

.navbar-alerts {
  position: relative;
  margin-left: auto;
  margin-right: 1rem;
}

.navbar-alert-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
}
.navbar-alert-btn i {
  font-size: 1.1rem;
}
.navbar-alert-btn:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: translateY(-2px);
}

.navbar-alert-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e53e3e;
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 700;
  border-radius: 9px;
  padding: 0 4px;
  line-height: 1;
}

body.notif-open .navbar {
  z-index: 0 !important;
}

.notif-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
}
.notif-backdrop.open {
  opacity: 1;
  visibility: visible;
}

.notif-panel {
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: 420px;
  height: calc(100vh - 1rem * 2);
  background: #ffffff;
  border-radius: 16px;
  z-index: 1101;
  display: flex;
  flex-direction: column;
  transform: translateX(calc(100% + 1rem));
  transition: transform 0.3s ease;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.notif-panel.open {
  transform: translateX(0);
}
@media (max-width: 480px) {
  .notif-panel {
    width: 100vw;
  }
}

.notif-panel-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
}

.notif-back {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: #ffffff;
  color: #667eea;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.3px;
  padding: 0.25rem 1rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.notif-back:hover {
  background: rgba(102, 126, 234, 0.05);
  border-color: #667eea;
}
.notif-back i {
  font-size: 0.85rem;
}

.notif-title {
  font-size: 1.4rem;
  font-weight: 800;
  color: #2d3748;
  padding: 0 1.5rem 1rem;
  border-bottom: 3px solid #667eea;
  margin: 0;
}

.notif-mark-all {
  display: block;
  width: 100%;
  border: none;
  background: none;
  color: #667eea;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  padding: 1rem 0;
  cursor: pointer;
  transition: background 0.15s ease;
}
.notif-mark-all:hover {
  background: rgba(102, 126, 234, 0.04);
}

.notif-section-label {
  padding: 0 1.5rem 0.5rem;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #718096;
}

.notif-list {
  flex: 1;
  overflow-y: auto;
  padding: 0 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.notif-card {
  display: block;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-left: 4px solid #667eea;
  background: #ffffff;
  text-decoration: none;
  transition: all 0.15s ease;
  position: relative;
}
.notif-card:hover {
  background: rgba(0, 0, 0, 0.015);
  text-decoration: none;
}
.notif-card:hover .notif-card-dismiss {
  opacity: 1;
}
.notif-card--danger {
  border-left-color: #e53e3e;
}
.notif-card--warning {
  border-left-color: #ed8936;
}
.notif-card--info {
  border-left-color: #667eea;
}
.notif-card--alert {
  border-left-color: #764ba2;
}
.notif-card--moneyness {
  border-left-color: #e53e3e;
}
.notif-card--read {
  opacity: 0.5;
}

.notif-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.notif-card-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #2d3748;
  line-height: 1.3;
}

.notif-card-date {
  font-size: 0.7rem;
  font-weight: 500;
  color: #718096;
  white-space: nowrap;
  flex-shrink: 0;
}

.notif-card-body {
  font-size: 0.8rem;
  font-weight: 400;
  color: #4a5568;
  line-height: 1.5;
  margin: 0;
}

.notif-card-dismiss {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  font-size: 0.8rem;
  cursor: pointer;
  opacity: 0;
  transition: all 0.15s ease;
}
.notif-card-dismiss:hover {
  background: rgba(56, 161, 105, 0.15);
  color: #38a169;
}

.navbar-menu-dropdown {
  position: relative;
  margin-left: auto;
}
.navbar-alerts + .navbar-menu-dropdown {
  margin-left: 0;
}

.navbar-menu-trigger {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.5rem;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #ffffff;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.3s ease;
}
.navbar-menu-trigger i {
  font-size: 1.1rem;
}
.navbar-menu-trigger .dropdown-chevron {
  font-size: 0.75rem;
  transition: transform 0.3s ease;
}
.navbar-menu-trigger .dropdown-chevron.rotated {
  transform: rotate(180deg);
}
.navbar-menu-trigger:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: translateY(-2px);
}

.navbar-menu-content {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 180px;
  max-height: calc(100vh - 90px);
  overflow-y: auto;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s ease;
  z-index: 1001;
}
.navbar-menu-content.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.navbar-menu-section {
  padding: 0.5rem 0;
}

.navbar-menu-label {
  display: block;
  padding: 0.5rem 1.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #718096;
}

.navbar-menu-divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.08);
  margin: 0;
}

.navbar-menu-user {
  padding: 1rem 1.5rem;
}

.navbar-menu-user-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #2d3748;
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.navbar-menu-user-info i {
  color: #667eea;
  font-size: 1.2rem;
}

.navbar-menu-logout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 1rem;
  background: rgba(102, 126, 234, 0.1);
  border: none;
  border-radius: 8px;
  color: #667eea;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.navbar-menu-logout i {
  font-size: 1rem;
}
.navbar-menu-logout:hover {
  background: rgba(102, 126, 234, 0.2);
}

.navbar-menu-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  color: #2d3748;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  position: relative;
}
.navbar-menu-item:last-child {
  border-bottom: none;
}
.navbar-menu-item i {
  color: #667eea;
  font-size: 1.1rem;
}
.navbar-menu-item:hover {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
  color: #667eea;
  text-decoration: none;
}
.navbar-menu-item.active {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.12) 0%, rgba(118, 75, 162, 0.12) 100%);
  color: #667eea;
}
.navbar-menu-item.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 60%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 0 2px 2px 0;
}

.navbar-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}

.user-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 600;
}
.user-info i {
  font-size: 1.3rem;
}

.logout-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  color: #ffffff;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}
.logout-btn i {
  font-size: 1.1rem;
}
.logout-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.logout-btn:active {
  transform: translateY(0);
}

.login-btn,
.signup-btn {
  padding: 0.625rem 1.5rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

.login-btn {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.login-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  transform: translateY(-2px);
}

.signup-btn {
  color: #667eea;
  background: #ffffff;
}
.signup-btn:hover {
  background: rgba(255, 255, 255, 0.95);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .navbar-container {
    padding: 0 1rem;
    height: 60px;
  }
  .navbar-alerts {
    margin-right: 0.5rem;
  }
  .navbar-alert-btn {
    width: 36px;
    height: 36px;
  }
  .navbar-alert-content {
    min-width: 250px;
  }
  .navbar-menu-trigger {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
  }
  .navbar-menu-trigger span {
    display: none;
  }
  .navbar-menu-trigger i:first-child {
    font-size: 1.3rem;
  }
  .navbar-menu-content {
    position: fixed;
    top: 60px;
    right: 0;
    left: auto;
    width: 300px;
    max-width: 92vw;
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
    max-height: none;
    border-radius: 8px 0 0 0;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.18);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .navbar-brand .brand-link {
    font-size: 1.2rem;
  }
  .navbar-brand .brand-link i {
    font-size: 1.4rem;
  }
  .navbar-brand .brand-link span {
    display: none;
  }
}
@media (max-width: 480px) {
  .navbar-container {
    padding: 0 0.5rem;
  }
  .navbar-menu-trigger {
    padding: 0.4rem 0.5rem;
  }
  .navbar-menu-trigger .dropdown-chevron {
    display: none;
  }
}
.navbar-context {
  display: flex;
  align-items: center;
  margin-left: 1.5rem;
}

.navbar-option-code {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  backdrop-filter: blur(4px);
}

.navbar-search {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.navbar-search-input-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.5rem;
  cursor: text;
  background: rgba(255, 255, 255, 0.95);
  border: 2px solid rgb(255, 255, 255);
  border-radius: 50px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.navbar-search-input-wrapper:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}
.navbar-search-input-wrapper:focus-within {
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}
.navbar-search-input-wrapper i {
  color: #667eea;
  font-size: 1rem;
}

.navbar-search-input {
  background: transparent;
  border: none;
  outline: none;
  color: #2d3748;
  font-size: 0.95rem;
  font-weight: 500;
  width: 180px;
  transition: width 0.3s ease;
}
.navbar-search-input::-moz-placeholder {
  color: #718096;
}
.navbar-search-input::placeholder {
  color: #718096;
}
.navbar-search-input:focus {
  width: 220px;
}

.navbar-search-results {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(-10px);
  min-width: 250px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 1001;
  max-height: 300px;
  overflow-y: auto;
}
.navbar-search-results.visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.navbar-search-result-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  color: #2d3748;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.navbar-search-result-item:last-child {
  border-bottom: none;
}
.navbar-search-result-item i {
  color: #667eea;
  font-size: 1.1rem;
}
.navbar-search-result-item:hover, .navbar-search-result-item.highlighted {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
  color: #667eea;
  text-decoration: none;
}
.navbar-search-result-item.has-trades {
  color: #667eea;
}
.navbar-search-result-item.has-trades::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #667eea;
  margin-left: auto;
  flex-shrink: 0;
}

.navbar-search-no-results {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1.5rem;
  color: #718096;
  font-size: 0.875rem;
}
.navbar-search-no-results i {
  font-size: 1.5rem;
  opacity: 0.5;
}

@media (max-width: 992px) {
  .navbar-search-input {
    width: 140px;
  }
  .navbar-search-input:focus {
    width: 180px;
  }
}
@media (max-width: 768px) {
  .navbar-search-input-wrapper {
    padding: 0.4rem 0.5rem;
  }
  .navbar-search-input {
    width: 160px;
    font-size: 0.85rem;
  }
  .navbar-search-input:focus {
    width: 200px;
  }
}
@media (max-width: 576px) {
  .navbar-search-input {
    width: 130px;
  }
  .navbar-search-input:focus {
    width: 170px;
  }
  .navbar-search-input::-moz-placeholder {
    font-size: 0.8rem;
  }
  .navbar-search-input::placeholder {
    font-size: 0.8rem;
  }
  .navbar-context {
    margin-left: 0.5rem;
  }
  .navbar-option-code {
    padding: 0.4rem 0.5rem;
    font-size: 0.85rem;
  }
}
.navbar-home-search {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.navbar-search-form {
  display: flex;
  align-items: center;
}

.navbar-search-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.5rem;
  background: rgba(255, 255, 255, 0.95);
  border: 2px solid rgb(255, 255, 255);
  border-radius: 50px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.navbar-search-wrapper:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}
.navbar-search-wrapper:focus-within {
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.3);
  transform: translateY(-1px);
}

.navbar-search-input-home {
  background: transparent;
  border: none;
  outline: none;
  color: #2d3748;
  font-size: 0.95rem;
  font-weight: 500;
  width: 300px;
  transition: width 0.3s ease;
}
.navbar-search-input-home::-moz-placeholder {
  color: #718096;
}
.navbar-search-input-home::placeholder {
  color: #718096;
}
.navbar-search-input-home:focus {
  width: 350px;
}

.navbar-search-btn,
.navbar-clear-btn {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.3s ease;
}

.navbar-search-btn {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.navbar-search-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.navbar-search-btn:active {
  transform: translateY(0);
}

.navbar-clear-btn {
  background: rgba(0, 0, 0, 0.05);
  color: #4a5568;
}
.navbar-clear-btn:hover {
  background: rgba(0, 0, 0, 0.1);
}

@media (max-width: 992px) {
  .navbar-search-input-home {
    width: 200px;
  }
  .navbar-search-input-home:focus {
    width: 250px;
  }
}
@media (max-width: 768px) {
  .navbar-search-wrapper {
    padding: 0.5rem 1rem;
  }
  .navbar-search-input-home {
    width: 150px;
    font-size: 0.85rem;
  }
  .navbar-search-input-home:focus {
    width: 180px;
  }
  .navbar-search-btn,
  .navbar-clear-btn {
    padding: 0.4rem 0.5rem;
    font-size: 0.8rem;
  }
}
@media (max-width: 576px) {
  .navbar-search-input-home {
    width: 100px;
  }
  .navbar-search-input-home:focus {
    width: 130px;
  }
  .navbar-search-input-home::-moz-placeholder {
    font-size: 0.8rem;
  }
  .navbar-search-input-home::placeholder {
    font-size: 0.8rem;
  }
}
.global-alert-dialog {
  border: none;
  border-radius: 12px;
  padding: 0;
  width: 400px;
  max-width: 90vw;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  animation: dialog-in 0.2s ease;
  overflow: visible;
}
.global-alert-dialog::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

@keyframes dialog-in {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.global-alert-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.global-alert-header h3, .global-alert-header .h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
  color: #2d3748;
}
.global-alert-header h3 i, .global-alert-header .h3 i {
  color: #667eea;
}

.global-alert-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  cursor: pointer;
  transition: all 0.15s ease;
}
.global-alert-close:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.global-alert-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.global-alert-body .global-alert-field {
  transition: opacity 0.15s ease;
}
.global-alert-body:has(:is(input:not([type=hidden]), select, textarea):focus) .global-alert-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.global-alert-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  position: relative;
}

.global-alert-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4a5568;
}

.global-alert-input {
  padding: 0.5rem 1rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.85rem;
  color: #2d3748;
  background: rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
  width: 100%;
}
.global-alert-input::-moz-placeholder {
  color: #718096;
}
.global-alert-input::placeholder {
  color: #718096;
}
.global-alert-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}

.global-alert-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.global-alert-footer {
  padding: 0.5rem 1.5rem 1.5rem;
  display: flex;
  justify-content: flex-end;
}

.global-alert-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1.5rem;
  border: none;
  border-radius: 8px;
  background: #667eea;
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.global-alert-submit:hover {
  opacity: 0.85;
}

.global-alert-list {
  max-height: 240px;
  overflow-y: auto;
  padding: 0 1.5rem 1rem;
}

.global-alert-list-header {
  padding: 0.5rem 0;
  margin-bottom: 0.25rem;
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #718096;
  border-top: 1px solid #e2e8f0;
}

.global-alert-list-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  margin-bottom: 4px;
  background: rgba(0, 0, 0, 0.02);
  border-radius: 8px;
  border-left: 3px solid #667eea;
  transition: all 0.15s ease;
}
.global-alert-list-item:hover {
  background: rgba(0, 0, 0, 0.04);
}
.global-alert-list-item:hover .global-alert-list-delete,
.global-alert-list-item:hover .global-alert-list-reactivate {
  opacity: 1;
}
.global-alert-list-item--dismissed {
  opacity: 0.5;
}
.global-alert-list-item--dismissed .global-alert-list-message {
  text-decoration: line-through;
}

.global-alert-list-reactivate {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  font-size: 0.75rem;
  cursor: pointer;
  opacity: 0;
  transition: all 0.15s ease;
}
.global-alert-list-reactivate:hover {
  background: rgba(102, 126, 234, 0.15);
  color: #667eea;
}

.global-alert-list-item-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.global-alert-list-ticker {
  font-size: 0.6rem;
  font-weight: 700;
  color: #667eea;
  letter-spacing: 0.3px;
}

.global-alert-list-message {
  font-size: 0.8rem;
  font-weight: 500;
  color: #2d3748;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.global-alert-list-item-meta {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}

.global-alert-list-expires {
  font-size: 0.6rem;
  font-weight: 600;
  color: #718096;
  white-space: nowrap;
  background: rgba(0, 0, 0, 0.04);
  padding: 2px 6px;
  border-radius: 4px;
}

.global-alert-list-delete {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  font-size: 0.8rem;
  cursor: pointer;
  opacity: 0;
  transition: all 0.15s ease;
}
.global-alert-list-delete:hover {
  background: rgba(229, 62, 62, 0.1);
  color: #e53e3e;
}

.confirm-modal-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  border: 0;
  background: rgba(15, 23, 42, 0);
  backdrop-filter: blur(0);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  z-index: 2000;
  opacity: 0;
  transition: background 0.32s ease, backdrop-filter 0.32s ease, opacity 0.32s ease;
}
.confirm-modal-overlay::backdrop {
  background: transparent;
}
.confirm-modal-overlay.visible {
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(6px);
  opacity: 1;
}
.confirm-modal-overlay.visible .confirm-modal {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.confirm-modal {
  position: relative;
  background: #ffffff;
  border-radius: 22px;
  border: 1px solid rgba(15, 23, 42, 0.04);
  box-shadow: 0 24px 70px -16px rgba(2, 6, 23, 0.38), 0 8px 24px -10px rgba(2, 6, 23, 0.22);
  padding: 2rem 2rem 1.5rem;
  max-width: 420px;
  width: 100%;
  text-align: center;
  transform: scale(0.9) translateY(16px);
  opacity: 0;
  transition: transform 0.34s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.26s ease;
}

.confirm-modal-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}
.confirm-modal-icon i {
  font-size: 1.6rem;
  line-height: 1;
}
.confirm-modal-icon--primary {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.16), rgba(102, 126, 234, 0.06));
  box-shadow: 0 0 0 6px rgba(102, 126, 234, 0.06), 0 0 0 13px rgba(102, 126, 234, 0.035);
}
.confirm-modal-icon--primary i {
  color: #667eea;
}
.confirm-modal-icon--danger {
  background: linear-gradient(135deg, rgba(229, 62, 62, 0.16), rgba(229, 62, 62, 0.06));
  box-shadow: 0 0 0 6px rgba(229, 62, 62, 0.06), 0 0 0 13px rgba(229, 62, 62, 0.035);
}
.confirm-modal-icon--danger i {
  color: #e53e3e;
}

.confirm-modal-title {
  font-size: 1.075rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.4;
  color: #2d3748;
  margin: 0 auto;
  max-width: 30ch;
}

.confirm-modal-detail {
  font-size: 0.875rem;
  color: #4a5568;
  line-height: 1.55;
  margin: 0.5rem auto 0;
  max-width: 34ch;
}

.confirm-modal-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: stretch;
  margin-top: 2rem;
}

.confirm-modal-btn {
  flex: 1;
  padding: 0.72rem 1.1rem;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.005em;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.confirm-modal-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.35);
}
.confirm-modal-btn:active {
  transform: translateY(0);
}
.confirm-modal-btn--cancel {
  background: #ffffff;
  color: #4a5568;
  border-color: #e2e8f0;
}
.confirm-modal-btn--cancel:hover {
  background: #f7fafc;
  color: #2d3748;
  border-color: rgb(205.8318181818, 216.0045454545, 229.5681818182);
}
.confirm-modal-btn--primary {
  background: linear-gradient(135deg, #667eea, #5568d3);
  color: #ffffff;
  box-shadow: 0 6px 16px -5px rgba(102, 126, 234, 0.6);
}
.confirm-modal-btn--primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px -6px rgba(102, 126, 234, 0.6);
}
.confirm-modal-btn--danger {
  background: linear-gradient(135deg, #e53e3e, #c53030);
  color: #ffffff;
  box-shadow: 0 6px 16px -5px rgba(229, 62, 62, 0.55);
}
.confirm-modal-btn--danger:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px -6px rgba(229, 62, 62, 0.55);
}
.confirm-modal-btn--danger:focus-visible {
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .confirm-modal-overlay,
  .confirm-modal,
  .confirm-modal-btn {
    transition-duration: 0.01ms;
  }
}
.cat-card {
  padding: 2rem;
}

.cat-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.cat-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
}

.cat-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 0.5rem;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  color: #718096;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
}

.cat-inline-form {
  margin-bottom: 1.5rem;
}

.cat-form-errors {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.5rem;
}
.cat-form-errors span {
  background: rgba(229, 62, 62, 0.08);
  color: #e53e3e;
  border: 1px solid rgba(229, 62, 62, 0.3);
  padding: 2px 0.5rem;
  border-radius: 4px;
  font-size: 0.8rem;
}

.cat-form-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  flex-wrap: wrap;
}

.cat-form-name {
  flex: 1 1 220px;
  min-width: 180px;
  padding: 0.25rem 0.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  font-size: 0.95rem;
  color: #2d3748;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cat-form-name:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.15);
}

.cat-form-submit {
  flex-shrink: 0;
}

.cat-form-cancel {
  flex-shrink: 0;
}

.cat-color-palette {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
}

.cat-color-option {
  position: relative;
  cursor: pointer;
  display: inline-block;
  margin: 0;
}

.cat-color-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.cat-color-swatch {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--swatch, #718096);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.cat-color-option:hover .cat-color-swatch {
  transform: scale(1.1);
}

.cat-color-radio:checked + .cat-color-swatch {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15), 0 0 0 2px #ffffff, 0 0 0 4px var(--swatch);
}

.cat-color-radio:focus-visible + .cat-color-swatch {
  outline: 2px solid #667eea;
  outline-offset: 2px;
}

.cat-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.cat-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cat-row:hover {
  border-color: rgb(199.1090909091, 210.6727272727, 226.0909090909);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.cat-swatch {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.cat-name {
  flex: 1;
  font-weight: 600;
  color: #2d3748;
}

.cat-row-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.cat-row-actions form {
  margin: 0;
}

.cat-row-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}
.cat-row-btn:hover {
  background: #f7fafc;
  color: #2d3748;
}
.cat-row-btn i {
  font-size: 0.85rem;
}
.cat-row-btn--delete:hover {
  background: rgba(229, 62, 62, 0.08);
  border-color: rgba(229, 62, 62, 0.3);
  color: #e53e3e;
}

.cat-empty {
  text-align: center;
  padding: 3rem 1rem;
  color: #718096;
}
.cat-empty.d-none {
  display: none;
}
.cat-empty i {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.5rem;
  opacity: 0.4;
}
.cat-empty p {
  margin: 0;
}

.cat-form {
  width: 100%;
}

.cat-chip-group {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  vertical-align: middle;
}
.cat-chip-group--compact {
  margin-top: 0.25rem;
}
.cat-chip-group:empty {
  display: none;
}

.cat-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 2px 0.5rem;
  border: 1px solid var(--cat-color, #718096);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  color: var(--cat-color, #4a5568);
  background: color-mix(in srgb, var(--cat-color, #718096) 10%, transparent);
}
.cat-chip-group--compact .cat-chip {
  font-size: 0.65rem;
  padding: 1px 6px;
}

.cat-chip-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cat-color, #718096);
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.cat-pills {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.cat-pills:empty {
  display: none;
}

.cat-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #ffffff;
  color: var(--cat-color, #4a5568);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.3;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
}

.cat-pill-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cat-color, #718096);
  flex-shrink: 0;
}

.cat-modal {
  border: none;
  background: #ffffff;
  border-radius: 16px;
  padding: 0;
  width: min(540px, 92vw);
  max-height: 84vh;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}
.cat-modal::backdrop {
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(2px);
}

.cat-modal-content {
  display: flex;
  flex-direction: column;
  max-height: 84vh;
}

.cat-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}

.cat-modal-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #2d3748;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.cat-modal-title i {
  color: #718096;
}

.cat-modal-close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #718096;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}
.cat-modal-close:hover {
  background: #f7fafc;
  color: #2d3748;
}

.cat-modal-create {
  padding: 1rem 1.5rem;
}

.cat-modal-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.cat-modal-input {
  flex: 1 1 200px;
  min-width: 0;
  padding: 0.25rem 0.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  font-size: 0.95rem;
  color: #2d3748;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cat-modal-input:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.15);
}

.cat-modal-palette {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}

.cat-modal-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 1rem;
  background: #667eea;
  color: #ffffff;
  border: none;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}
.cat-modal-submit:hover {
  background: #5568d3;
}

.cat-modal-divider {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 1.5rem;
  color: #718096;
  font-size: 0.75rem;
  font-weight: 600;
}
.cat-modal-divider::before, .cat-modal-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e2e8f0;
}
.cat-modal-divider span {
  padding: 0 0.5rem;
  background: #ffffff;
}

.cat-modal-list {
  flex: 1 1 auto;
  padding: 0.5rem 1.5rem 1rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.cat-modal-empty {
  text-align: center;
  color: #718096;
  font-size: 0.9rem;
  padding: 1rem 0;
  margin: 0;
}

.cat-modal-item-wrap {
  display: block;
}

.cat-modal-item-form {
  margin: 0;
  padding: 0;
  display: block;
}

.cat-modal-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 1rem;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
}
.cat-modal-item:hover {
  background: #ffffff;
  border-color: var(--cat-color, #667eea);
}

.cat-modal-item-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--cat-color, #718096);
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.cat-modal-item-name {
  flex: 1;
  font-weight: 600;
  color: #2d3748;
  font-size: 0.95rem;
}

.cat-modal-item-plus,
.cat-modal-item-check {
  font-size: 1rem;
  color: #718096;
}

.cat-modal-item--active {
  background: color-mix(in srgb, var(--cat-color) 8%, #ffffff);
  border-color: var(--cat-color);
}
.cat-modal-item--active .cat-modal-item-check {
  color: var(--cat-color);
}
.cat-modal-item--active:hover {
  background: color-mix(in srgb, var(--cat-color) 14%, #ffffff);
}

.cat-modal-footer {
  padding: 0.5rem 1.5rem;
  border-top: 1px solid #e2e8f0;
  display: flex;
  justify-content: flex-end;
}

.cat-modal-manage {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #667eea;
  text-decoration: none;
}
.cat-modal-manage:hover {
  text-decoration: underline;
}

.tdt {
  margin-top: 1.5rem;
  padding: 1rem 1rem 1.25rem;
  background: #ffffff;
  border: 1px solid #e9ecf2;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px -16px rgba(15, 23, 42, 0.08);
}

.tdt__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.85rem;
  padding: 0 0.15rem;
}

.tdt__title-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.tdt__pulse {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5);
  animation: tdt-pulse 2.2s ease-out infinite;
}

@keyframes tdt-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.45);
  }
  70% {
    box-shadow: 0 0 0 9px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}
.tdt__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a202c;
  margin: 0;
  letter-spacing: -0.005em;
}

.tdt__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 0.45rem;
  border-radius: 999px;
  background: #edf2f7;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.tdt__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}

.tdt__date {
  font-size: 0.72rem;
  color: #a0aec0;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.tdt__export-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.6rem;
  border-radius: 8px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #15803d;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.tdt__export-btn i {
  font-size: 0.85rem;
}
.tdt__export-btn:hover {
  background: #dcfce7;
  border-color: #86efac;
  color: #166534;
  text-decoration: none;
  box-shadow: 0 2px 6px -2px rgba(22, 163, 74, 0.25);
}
.tdt__export-btn:active {
  transform: translateY(1px);
}
@media (max-width: 576px) {
  .tdt__export-btn .tdt__export-label {
    display: none;
  }
  .tdt__export-btn {
    padding: 0.3rem 0.45rem;
  }
}

.tdt__periods {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  margin: 0 0.15rem 0.9rem;
  padding: 0.22rem;
  background: #f1f4f9;
  border: 1px solid #e9ecf2;
  border-radius: 11px;
  flex-wrap: wrap;
}

.tdt__period {
  display: inline-flex;
  align-items: center;
  padding: 0.34rem 0.72rem;
  border-radius: 8px;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #718096;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.tdt__period:hover {
  color: #1a202c;
  background: rgba(255, 255, 255, 0.7);
  text-decoration: none;
}
.tdt__period--active, .tdt__period--active:hover {
  background: #ffffff;
  color: #1a202c;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 1px 1px rgba(15, 23, 42, 0.04);
}

.tdt__empty {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 10px;
  background: #fbfcfe;
  border: 1px dashed #eef1f6;
}

.tdt__empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffffff;
  color: #94a3b8;
  font-size: 1.05rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.tdt__empty-text {
  margin: 0;
  color: #718096;
  font-size: 0.88rem;
}

.tdt__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  max-height: 80vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e0 transparent;
}
.tdt__list::-webkit-scrollbar {
  width: 8px;
}
.tdt__list::-webkit-scrollbar-track {
  background: transparent;
}
.tdt__list::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 4px;
}
.tdt__list::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}

.tdt__item {
  background: #fbfcfe;
  border: 1px solid #eef1f6;
  border-radius: 11px;
  overflow: hidden;
  flex-shrink: 0;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.tdt__item:hover {
  border-color: #d8dee9;
  background: #f3f5fa;
  box-shadow: 0 4px 14px -8px rgba(15, 23, 42, 0.18);
}
.tdt__item:active {
  transform: translateY(1px);
}

.tdt__row {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.7rem 0.85rem;
  color: #1a202c;
  text-decoration: none;
  font-size: 0.88rem;
}
.tdt__row:hover {
  color: #1a202c;
  text-decoration: none;
}

.tdt__avatar {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #ffffff;
  position: relative;
  box-shadow: 0 2px 6px -2px rgba(15, 23, 42, 0.16);
}
.tdt__avatar--buy {
  background: linear-gradient(135deg, #34d399 0%, #059669 100%);
  box-shadow: 0 2px 6px -2px rgba(5, 150, 105, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
.tdt__avatar--sell {
  background: linear-gradient(135deg, #fb7185 0%, #e11d48 100%);
  box-shadow: 0 2px 6px -2px rgba(225, 29, 72, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
.tdt__avatar i {
  line-height: 1;
}

.tdt__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.tdt__primary {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-width: 0;
}

.tdt__code {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  color: #1a202c;
  white-space: nowrap;
  flex-shrink: 0;
}

.tdt__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.13rem 0.5rem;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1;
}
.tdt__chip i {
  font-size: 0.7rem;
  opacity: 0.8;
}
.tdt__chip--stock {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid rgba(29, 78, 216, 0.12);
}
.tdt__chip--call {
  background: #d1fae5;
  color: #047857;
  border: 1px solid rgba(4, 120, 87, 0.12);
}
.tdt__chip--put {
  background: #ffe4e6;
  color: #be123c;
  border: 1px solid rgba(190, 18, 60, 0.12);
}

.tdt__strike {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #718096;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.tdt__meta {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.78rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}

.tdt__op {
  font-weight: 600;
}
.tdt__op--buy {
  color: #059669;
}
.tdt__op--sell {
  color: #dc2626;
}

.tdt__dot {
  color: #a0aec0;
  font-weight: 600;
}

.tdt__mul {
  color: #a0aec0;
  font-size: 0.72rem;
  padding: 0 0.05rem;
}

.tdt__qty,
.tdt__unit {
  color: #718096;
}

.tdt__exp {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: 0.15rem;
  padding: 0.08rem 0.4rem;
  border-radius: 999px;
  background: #f5f3ff;
  color: #6d28d9;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.tdt__exp i {
  font-size: 0.72rem;
  opacity: 0.85;
}

.tdt__amount {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15rem;
  min-width: 110px;
}

.tdt__total {
  font-weight: 700;
  font-size: 0.95rem;
  color: #1a202c;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.005em;
}

.tdt__time {
  font-size: 0.7rem;
  color: #a0aec0;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

.tdt__approx {
  margin-right: 0.05rem;
  opacity: 0.7;
}

.tdt__day {
  color: #718096;
  font-weight: 600;
}
.tdt__day::after {
  content: "·";
  margin: 0 0.3rem;
  color: #a0aec0;
  font-weight: 600;
}

.tdt__close {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.55rem 0.85rem;
  border-top: 1px dashed #eef1f6;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0) 0%, rgba(15, 23, 42, 0.012) 100%);
}

.tdt__close-marker {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  color: #a0aec0;
  font-size: 0.95rem;
  padding-right: 0.1rem;
}

.tdt__close-body {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3rem;
  font-size: 0.76rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}
.tdt__close-body strong {
  color: #1a202c;
  font-weight: 700;
}

.tdt__close-label {
  color: #718096;
}

.tdt__close-dot {
  color: #a0aec0;
}

.tdt__close-pnl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.005em;
  white-space: nowrap;
}

.tdt__close--profit .tdt__close-marker {
  color: #047857;
}
.tdt__close--profit .tdt__close-pnl {
  background: #d1fae5;
  color: #047857;
  box-shadow: inset 0 0 0 1px rgba(4, 120, 87, 0.15);
}

.tdt__close--loss .tdt__close-marker {
  color: #be123c;
}
.tdt__close--loss .tdt__close-pnl {
  background: #ffe4e6;
  color: #be123c;
  box-shadow: inset 0 0 0 1px rgba(190, 18, 60, 0.15);
}

.tdt__close--neutral .tdt__close-pnl {
  background: #f1f5f9;
  color: #475569;
  box-shadow: inset 0 0 0 1px rgba(71, 85, 105, 0.15);
}

@media (max-width: 576px) {
  .tdt {
    padding: 0.85rem;
    border-radius: 12px;
  }
  .tdt__row {
    grid-template-columns: 36px 1fr auto;
    gap: 0.65rem;
    padding: 0.6rem 0.7rem;
  }
  .tdt__close {
    grid-template-columns: 36px 1fr;
    grid-template-rows: auto auto;
    row-gap: 0.25rem;
    padding: 0.5rem 0.7rem 0.6rem;
  }
  .tdt__close .tdt__close-pnl {
    grid-column: 2/-1;
    justify-self: start;
  }
  .tdt__avatar {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    font-size: 0.85rem;
  }
  .tdt__periods {
    display: flex;
    width: 100%;
  }
  .tdt__period {
    flex: 1 1 0;
    justify-content: center;
    padding: 0.36rem 0.4rem;
    font-size: 0.72rem;
  }
  .tdt__code {
    font-size: 0.86rem;
  }
  .tdt__chip {
    font-size: 0.6rem;
    padding: 0.1rem 0.4rem;
  }
  .tdt__total {
    font-size: 0.88rem;
  }
  .tdt__meta {
    font-size: 0.72rem;
  }
  .tdt__exp {
    font-size: 0.66rem;
    padding: 0.06rem 0.34rem;
  }
  .tdt__close-body {
    font-size: 0.7rem;
  }
}
.home-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 20px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.home-card {
  max-width: 1280px;
  width: 100%;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  padding: 3rem 2rem;
  text-align: center;
}

.trade-form-container {
  margin-top: 3rem;
  width: 100%;
}
.trades-list-container + .trade-form-container {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid #e2e8f0;
}
.trade-form-container .trade-form {
  max-width: 900px;
}

.trade-form-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.trade-form-title i {
  color: #667eea;
}

.trade-form-toggle {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: opacity 0.2s ease;
}
.trade-form-toggle:hover {
  opacity: 0.7;
}

.trade-form .trade-form-group {
  transition: opacity 0.15s ease;
}
.trade-form:has(:is(input:not([type=hidden]), select, textarea):focus) .trade-form-group:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}
.trade-form .trade-form-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.trade-form .trade-form-row.trade-form-row-4col {
  grid-template-columns: repeat(4, 1fr);
}
.trade-form .trade-form-row.trade-form-row-5col {
  grid-template-columns: repeat(5, 1fr);
}
.trade-form .trade-form-group {
  display: flex;
  flex-direction: column;
  cursor: text;
}
.trade-form .trade-form-group-centered {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.trade-form .trade-label {
  display: block;
  font-weight: 600;
  color: #4a5568;
  margin-bottom: 0.25rem;
  font-size: 0.8rem;
}
.trade-form .trade-input,
.trade-form input[type=text],
.trade-form input[type=date],
.trade-form input[type=number],
.trade-form select {
  width: 100%;
  padding: 0.5rem 0.5rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.9rem;
  color: #2d3748;
  transition: all 0.3s ease;
  font-family: inherit;
  background: #ffffff;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.trade-form .trade-input::-moz-placeholder, .trade-form input[type=text]::-moz-placeholder, .trade-form input[type=date]::-moz-placeholder, .trade-form input[type=number]::-moz-placeholder, .trade-form select::-moz-placeholder {
  color: #a0aec0;
  text-align: center;
}
.trade-form .trade-input::placeholder,
.trade-form input[type=text]::placeholder,
.trade-form input[type=date]::placeholder,
.trade-form input[type=number]::placeholder,
.trade-form select::placeholder {
  color: #a0aec0;
  text-align: center;
}
.trade-form .trade-input:focus,
.trade-form input[type=text]:focus,
.trade-form input[type=date]:focus,
.trade-form input[type=number]:focus,
.trade-form select:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.trade-form .trade-input.input-filled,
.trade-form input[type=text].input-filled,
.trade-form input[type=date].input-filled,
.trade-form input[type=number].input-filled,
.trade-form select.input-filled {
  border-color: #48bb78;
  background: rgba(72, 187, 120, 0.05);
  box-shadow: 0 0 0 3px rgba(72, 187, 120, 0.1);
}
.trade-form select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
}

.trade-form-actions {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
}

.trade-submit-btn {
  padding: 0.625rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  min-width: 180px;
}
.trade-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.trade-submit-btn:active {
  transform: translateY(0);
}

.trade-form-submit-row {
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
}

.trade-form-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.trade-form-header .trade-form-title {
  margin-bottom: 0;
}

.trade-form-actions .yield-calculator-btn {
  background: rgba(102, 126, 234, 0.08);
  border-color: rgba(102, 126, 234, 0.2);
  color: #667eea;
}
.trade-form-actions .yield-calculator-btn:hover {
  background: rgba(102, 126, 234, 0.15);
  border-color: #667eea;
}

.trade-form-row-last {
  display: flex !important;
  justify-content: center;
  align-items: end;
  gap: 1rem;
  margin-top: 1.5rem;
}
.trade-form-row-last .trade-form-group:not(.trade-form-group-submit) {
  flex: 0 1 auto;
  width: calc((100% - 1rem * 2) / 3);
}

.trade-form-group-submit {
  display: flex;
  align-items: flex-end;
  flex: 0 0 auto;
}

.trades-list-container {
  width: 100%;
  margin-top: 2rem;
}

.search-container {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
  border-radius: 8px;
  border: 2px solid #e2e8f0;
}

.search-form .search-wrapper {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}
.search-form .search-input {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  color: #2d3748;
  transition: all 0.3s ease;
  font-family: inherit;
  background: #ffffff;
}
.search-form .search-input::-moz-placeholder {
  color: #a0aec0;
}
.search-form .search-input::placeholder {
  color: #a0aec0;
}
.search-form .search-input:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
.search-form .search-btn {
  padding: 0.75rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  white-space: nowrap;
}
.search-form .search-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.search-form .search-btn:active {
  transform: translateY(0);
}
.search-form .clear-btn {
  padding: 0.75rem 2rem;
  background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.search-form .clear-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108, 117, 125, 0.4);
  color: #ffffff;
  text-decoration: none;
}
.search-form .clear-btn:active {
  transform: translateY(0);
}

.controls-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.filter-toggle-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  position: relative;
  white-space: nowrap;
}
.filter-toggle-btn i:first-child {
  color: #764ba2;
}
.filter-toggle-btn > span:not(.filter-badge) {
  flex: 1;
  text-align: left;
}
.filter-toggle-btn i:last-of-type {
  color: #718096;
  transition: transform 0.3s ease;
  margin-left: 0.5rem;
}
.filter-toggle-btn .filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
  color: #ffffff;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}
.filter-toggle-btn .filter-badge:empty {
  display: none;
}
.filter-toggle-btn:hover {
  border-color: #764ba2;
  box-shadow: 0 2px 8px rgba(118, 75, 162, 0.15);
}
.filter-toggle-btn:active {
  transform: scale(0.98);
}

.filter-content {
  margin-top: 0.5rem;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

.filter-form .filter-fields-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}
.filter-form .filter-field-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
}
.filter-form .filter-group-label {
  font-weight: 600;
  color: #4a5568;
  font-size: 0.875rem;
  margin: 0;
}
.filter-form .filter-expiration-chips {
  display: flex;
  gap: 0.25rem;
  margin-bottom: 0.25rem;
}
.filter-form .filter-shortcut-chip {
  padding: 0.25rem 0.6rem;
  border-radius: 14px;
  font-size: 0.72rem;
  font-weight: 600;
  background: rgba(102, 126, 234, 0.08);
  color: #667eea;
  border: 1px solid rgba(102, 126, 234, 0.2);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.filter-form .filter-shortcut-chip:hover {
  background: rgba(102, 126, 234, 0.15);
  border-color: #667eea;
}
.filter-form .filter-date-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.filter-form .filter-separator {
  color: #718096;
  font-size: 0.8rem;
  white-space: nowrap;
}
.filter-form .filter-input {
  flex: 1;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.875rem;
  color: #2d3748;
  transition: all 0.3s ease;
  font-family: inherit;
  background: #ffffff;
}
.filter-form .filter-input.filter-date {
  min-width: 100px;
  text-align: center;
}
.filter-form .filter-input::-moz-placeholder {
  color: #a0aec0;
}
.filter-form .filter-input::placeholder {
  color: #a0aec0;
}
.filter-form .filter-input:focus {
  outline: none;
  border-color: #764ba2;
  box-shadow: 0 0 0 2px rgba(118, 75, 162, 0.1);
}
.filter-form .filter-select {
  width: 100%;
  padding: 0.5rem 2rem 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.875rem;
  color: #2d3748;
  transition: all 0.3s ease;
  font-family: inherit;
  background: #ffffff;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
}
.filter-form .filter-select:hover {
  border-color: #764ba2;
}
.filter-form .filter-select:focus {
  outline: none;
  border-color: #764ba2;
  box-shadow: 0 0 0 2px rgba(118, 75, 162, 0.1);
}
.filter-form .filter-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  padding-top: 0.5rem;
  border-top: 1px solid rgb(242.8068181818, 245.3295454545, 248.6931818182);
}
.filter-form .filter-actions .search-btn {
  padding: 0.625rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  min-width: auto;
}
.filter-form .filter-actions .search-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.filter-form .filter-actions .search-btn:active {
  transform: translateY(0);
}
.filter-form .filter-actions .clear-btn {
  padding: 0.625rem 1.5rem;
  background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-width: auto;
}
.filter-form .filter-actions .clear-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108, 117, 125, 0.4);
  color: #ffffff;
  text-decoration: none;
}
.filter-form .filter-actions .clear-btn:active {
  transform: translateY(0);
}

.sort-toggle-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  position: relative;
  white-space: nowrap;
}
.sort-toggle-btn i:first-child {
  color: #667eea;
}
.sort-toggle-btn > span:not(.sort-badge) {
  flex: 1;
  text-align: left;
}
.sort-toggle-btn i:last-of-type {
  color: #718096;
  transition: transform 0.3s ease;
  margin-left: 0.5rem;
}
.sort-toggle-btn .sort-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}
.sort-toggle-btn .sort-badge:empty {
  display: none;
}
.sort-toggle-btn .sort-badge.sort-badge-auto {
  background: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);
  gap: 4px;
  padding: 0 8px;
}
.sort-toggle-btn .sort-badge.sort-badge-auto i {
  font-size: 0.7rem;
}
.sort-toggle-btn:hover {
  border-color: #667eea;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.15);
}
.sort-toggle-btn:active {
  transform: scale(0.98);
}

.sort-content {
  margin-top: 0.5rem;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

.sort-form .sort-fields-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.sort-form .sort-field-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
}
.sort-form .sort-field-item:not(:last-child) {
  border-bottom: 1px solid rgb(242.8068181818, 245.3295454545, 248.6931818182);
}
.sort-form .sort-field-item.sort-field-auto {
  background: rgba(237, 137, 54, 0.08);
  margin: 0 -1rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  border-bottom: none !important;
}
.sort-form .sort-auto-icon {
  color: #ed8936;
  font-size: 0.85rem;
  margin-left: 2px;
}
.sort-form .sort-priority-badge {
  display: none;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 50%;
  font-size: 0.7rem;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}
.sort-form .sort-label {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  color: #4a5568;
  font-size: 0.875rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin: 0;
}
.sort-form .sort-label span:not(.sort-priority-badge) {
  flex: 1;
}
.sort-form .sort-checkbox {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: #667eea;
}
.sort-form .sort-select {
  min-width: 140px;
  padding: 0.4rem 2rem 0.4rem 0.75rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.8rem;
  color: #2d3748;
  transition: all 0.3s ease;
  font-family: inherit;
  background: #ffffff;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
}
.sort-form .sort-select:enabled:hover {
  border-color: #667eea;
}
.sort-form .sort-select:enabled:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);
}
.sort-form .sort-select:disabled {
  background-color: #fafafa;
  color: #cbd5e0;
  cursor: not-allowed;
  opacity: 0.5;
}
.sort-form .sort-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  padding-top: 0.5rem;
  border-top: 1px solid rgb(242.8068181818, 245.3295454545, 248.6931818182);
}
.sort-form .sort-actions .search-btn {
  padding: 0.625rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  min-width: auto;
}
.sort-form .sort-actions .search-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.sort-form .sort-actions .search-btn:active {
  transform: translateY(0);
}
.sort-form .sort-actions .clear-btn {
  padding: 0.625rem 1.5rem;
  background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-width: auto;
}
.sort-form .sort-actions .clear-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108, 117, 125, 0.4);
  color: #ffffff;
  text-decoration: none;
}
.sort-form .sort-actions .clear-btn:active {
  transform: translateY(0);
}

.trades-table-wrapper {
  max-height: 500px;
  overflow-y: auto;
  overflow-x: auto;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
}
.trades-table-wrapper::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.trades-table-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.trades-table-wrapper::-webkit-scrollbar-thumb {
  background: #667eea;
  border-radius: 4px;
}
.trades-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: #5568d3;
}
.trades-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.trades-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  background: #ffffff;
  font-size: 0.875rem;
  table-layout: auto;
}
.trades-table thead {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  position: sticky;
  top: 0;
  z-index: 10;
}
.trades-table thead tr th {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  white-space: nowrap;
  border-bottom: 2px solid #ffffff;
}
.trades-table thead tr th {
  white-space: nowrap;
}
.trades-table thead tr th:nth-child(1) {
  min-width: 65px;
}
.trades-table thead tr th:nth-child(2) {
  min-width: 45px;
}
.trades-table thead tr th:nth-child(3) {
  min-width: 120px;
}
.trades-table thead tr th:nth-child(4) {
  min-width: 50px;
}
.trades-table thead tr th:nth-child(5) {
  min-width: 50px;
}
.trades-table thead tr th:nth-child(6) {
  min-width: 85px;
}
.trades-table thead tr th:nth-child(7) {
  min-width: 85px;
}
.trades-table thead tr th:nth-child(8) {
  min-width: 60px;
}
.trades-table thead tr th:nth-child(9) {
  min-width: 95px;
}
.trades-table thead tr th:nth-child(10) {
  min-width: 80px;
}
.trades-table thead tr th:nth-child(11) {
  min-width: 100px;
}
.trades-table thead tr th:nth-child(12) {
  min-width: 70px;
}
.trades-table tbody tr {
  transition: all 0.2s ease;
  border-bottom: 1px solid #e2e8f0;
}
.trades-table tbody tr.clickable-row {
  cursor: pointer;
  transition: all 0.2s ease;
}
.trades-table tbody tr.clickable-row:hover {
  background-color: rgba(102, 126, 234, 0.08);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
}
.trades-table tbody tr.clickable-row.closed-trade {
  opacity: 0.5;
  filter: grayscale(50%);
  background-color: rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease;
}
.trades-table tbody tr.clickable-row.closed-trade:hover {
  opacity: 0.7;
  filter: grayscale(30%);
  background-color: rgba(102, 126, 234, 0.05);
}
.trades-table tbody tr:last-child {
  border-bottom: none;
}
.trades-table tbody tr td {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  color: #2d3748;
  white-space: nowrap;
}
.trades-table tbody tr td:first-child {
  font-size: 0.9rem;
  font-weight: 400;
  color: #718096;
}
.trades-table tbody tr td:nth-child(4) {
  padding: 0.25rem 0.5rem;
}
.trades-table tbody tr td.trade-code {
  font-weight: 700;
  color: #667eea;
}
.trades-table tbody tr td.trade-asset {
  font-weight: 600;
  color: #4a5568;
}
.trades-table tbody tr td.trade-total {
  font-weight: 700;
  color: #667eea;
}
.trades-table tbody tr td.trade-yield {
  font-weight: 700;
  color: #48bb78;
  font-size: 0.9rem;
}
.trades-table tbody tr td.trade-notional {
  font-weight: 700;
  color: #764ba2;
  font-size: 0.9rem;
}
.trades-table tbody tr td:nth-child(2) .trade-badge, .trades-table tbody tr td:nth-child(4) .trade-badge {
  padding: 3px 6px;
  font-size: 0.6rem;
}

.trade-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}
.trade-badge.call {
  background: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.put {
  background: #ffe2cc;
  color: #8a3a0a;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}
.trade-badge.buy {
  background: #d4e7fb;
  color: #0b4a8a;
  box-shadow: inset 0 0 0 1px rgba(66, 153, 225, 0.55);
}
.trade-badge.sell {
  background: #ffe7a3;
  color: #6b4e00;
  box-shadow: inset 0 0 0 1px rgba(214, 158, 46, 0.55);
}
.trade-badge.trade-badge-sm {
  padding: 2px 6px;
  font-size: 0.6rem;
}

.checkbox-column {
  width: 50px;
  min-width: 50px;
  text-align: center;
  padding: 0.5rem 1rem !important;
}
.checkbox-column input[type=checkbox] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #667eea;
  margin: 0;
}

.row-excluded {
  opacity: 0.4;
  filter: grayscale(60%);
  background-color: rgba(113, 128, 150, 0.1) !important;
}
.row-excluded td {
  color: #718096 !important;
}
.row-excluded td .trade-badge {
  opacity: 0.5;
}
.row-excluded:hover {
  opacity: 0.5;
  background-color: rgba(113, 128, 150, 0.15) !important;
}

.trades-totals {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
  border-top: 2px solid #667eea;
}
.trades-totals tr td {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  font-size: 0.875rem;
}
.trades-totals tr td.totals-label {
  text-align: right;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  padding-right: 1.5rem;
}
.trades-totals tr td.total-value {
  font-weight: 700;
  color: #667eea;
  font-size: 0.95rem;
}
.trades-totals tr td.total-value.highlight {
  color: #764ba2;
  font-size: 1rem;
}

@media (max-width: 768px) {
  .trades-table thead th {
    padding: 0.5rem;
    font-size: 0.75rem;
  }
  .trades-table tbody td {
    padding: 0.5rem;
    font-size: 0.8rem;
  }
  .trades-list-container + .trade-form-container {
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .trade-form-container {
    margin-top: 2rem;
  }
  .trades-list-container {
    margin-top: 2rem;
  }
  .trade-form-actions {
    margin-top: 1rem;
  }
  .pagination-container {
    margin-top: 1rem;
  }
}
@media (max-width: 576px) {
  .home-card {
    padding: 2rem 1.5rem;
  }
  .trade-form-container .trade-form .trade-form-row {
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem;
  }
  .trade-form-container .trade-form .trade-form-row.trade-form-row-4col, .trade-form-container .trade-form .trade-form-row.trade-form-row-5col {
    grid-template-columns: 1fr 1fr;
  }
  .trade-form-container .trade-form .trade-form-row-last {
    grid-template-columns: 1fr !important;
  }
  .trade-form-header {
    margin-bottom: 1rem;
  }
  .trade-form-card .trade-form .trade-form-row {
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem;
  }
  .trade-form .trade-label {
    font-size: 0.7rem;
    margin-bottom: 0.15rem;
  }
  .trade-form .trade-input,
  .trade-form input[type=text],
  .trade-form input[type=date],
  .trade-form input[type=number],
  .trade-form select {
    padding: 0.5rem 0.5rem;
    font-size: 0.7rem;
  }
  .trade-form .trade-form-row {
    margin-bottom: 0.5rem;
  }
  .trade-form-title {
    font-size: 1.1rem;
    margin-bottom: 1rem;
  }
  .trade-submit-btn {
    width: 100%;
    padding: 0.625rem 1.5rem;
    font-size: 0.9rem;
    min-width: unset;
  }
  .search-form .search-wrapper {
    flex-direction: column;
  }
  .search-form .search-btn,
  .search-form .clear-btn {
    width: 100%;
  }
  .controls-wrapper {
    flex-direction: column;
  }
  .trade-form-container {
    margin-top: 1.5rem;
  }
  .trades-list-container + .trade-form-container {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
  }
  .trades-list-container {
    margin-top: 2rem;
  }
  .trade-form-actions {
    margin-top: 1rem;
  }
  .pagination-container {
    margin-top: 1rem;
  }
  .filter-form .filter-date-range {
    flex-direction: column;
    align-items: stretch;
  }
  .filter-form .filter-separator {
    text-align: center;
  }
  .filter-form .filter-actions {
    flex-direction: column;
  }
  .filter-form .filter-actions .search-btn,
  .filter-form .filter-actions .clear-btn {
    width: 100%;
  }
  .sort-form .sort-field-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .sort-form .sort-label {
    width: 100%;
  }
  .sort-form .sort-select {
    width: 100%;
  }
  .sort-form .sort-actions {
    flex-direction: column;
  }
  .sort-form .sort-actions .search-btn,
  .sort-form .sort-actions .clear-btn {
    width: 100%;
  }
  .trades-table thead th {
    padding: 0.25rem 0.5rem;
    font-size: 0.65rem;
  }
  .trades-table tbody td {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
  .home-card .trades-table-wrapper {
    border: none;
    max-height: 60vh;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .home-card .trades-table {
    min-width: unset;
    border-spacing: 0;
    display: block;
  }
  .home-card .trades-table thead {
    display: none;
  }
  .home-card .trades-table tbody {
    display: block;
  }
  .home-card .trades-table tbody tr {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: dense;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px;
    background: #ffffff;
  }
  .home-card .trades-table tbody tr.clickable-row:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }
  .home-card .trades-table tbody tr td {
    padding: 0.25rem !important;
    text-align: left;
    white-space: normal;
    font-size: 0.75rem;
  }
  .home-card .trades-table tbody tr td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.55rem;
    font-weight: 700;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 1px;
  }
  .home-card .trades-table tbody tr td:first-child {
    font-size: 0.75rem;
    color: #2d3748;
  }
  .home-card .trades-table tbody tr td.trade-code {
    font-size: 0.85rem;
  }
  .home-card .trades-table tbody tr td.trade-total {
    font-size: 0.8rem;
  }
  .home-card .trades-table tbody tr td.trade-yield, .home-card .trades-table tbody tr td.trade-notional {
    font-size: 0.75rem;
  }
  .home-card .trades-table tbody tr td .trade-badge {
    padding: 2px 6px;
    font-size: 0.55rem;
  }
  .home-card .trades-table tbody tr td.trade-actions {
    grid-column: 1/-1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    padding-top: 0.25rem !important;
    margin-top: 0.25rem;
    border-top: 1px solid rgb(242.8068181818, 245.3295454545, 248.6931818182);
  }
  .home-card .trades-table tbody tr td.trade-actions::before {
    display: none;
  }
  .home-card .trades-table tbody tr td.checkbox-column {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .home-card .trades-table tbody tr td.checkbox-column::before {
    display: none;
  }
  .home-card .trades-table tfoot.trades-totals {
    display: block;
    border: none;
    border-top: 2px solid #667eea;
    border-radius: 0 0 8px 8px;
    padding: 0.5rem;
  }
  .home-card .trades-table tfoot.trades-totals tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 1rem;
  }
  .home-card .trades-table tfoot.trades-totals tr td {
    display: none;
    padding: 0.25rem;
    text-align: center;
  }
  .home-card .trades-table tfoot.trades-totals tr td.totals-label {
    display: block;
    width: 100%;
    font-size: 0.65rem;
  }
  .home-card .trades-table tfoot.trades-totals tr td.total-value {
    display: block;
    font-size: 0.85rem;
  }
}
@media (max-width: 400px) {
  .home-container {
    padding: 10px;
  }
  .home-card {
    padding: 1.5rem 1rem;
  }
}
.pagination-container {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

nav.pagination {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: inherit;
}
nav.pagination a.page,
nav.pagination a.first,
nav.pagination a.prev,
nav.pagination a.next,
nav.pagination a.last,
nav.pagination span.page,
nav.pagination span.first,
nav.pagination span.prev,
nav.pagination span.next,
nav.pagination span.last {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a5568;
  background: #ffffff;
  transition: all 0.3s ease;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}
nav.pagination a.page:hover,
nav.pagination a.first:hover,
nav.pagination a.prev:hover,
nav.pagination a.next:hover,
nav.pagination a.last:hover,
nav.pagination span.page:hover,
nav.pagination span.first:hover,
nav.pagination span.prev:hover,
nav.pagination span.next:hover,
nav.pagination span.last:hover {
  border-color: #667eea;
  color: #667eea;
  transform: translateY(-2px);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
}
nav.pagination a.page.current,
nav.pagination span.page.current {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-color: transparent;
  cursor: default;
  pointer-events: none;
}
nav.pagination a.page.current:hover,
nav.pagination span.page.current:hover {
  transform: none;
  box-shadow: none;
}
nav.pagination span.first,
nav.pagination span.prev,
nav.pagination span.next,
nav.pagination span.last {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
nav.pagination span.gap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  cursor: default;
  pointer-events: none;
  color: #718096;
}
nav.pagination span.gap:hover {
  transform: none;
  box-shadow: none;
}

@media (max-width: 576px) {
  nav.pagination {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem;
  }
  nav.pagination a.page,
  nav.pagination a.first,
  nav.pagination a.prev,
  nav.pagination a.next,
  nav.pagination a.last,
  nav.pagination span.page,
  nav.pagination span.first,
  nav.pagination span.prev,
  nav.pagination span.next,
  nav.pagination span.last {
    min-width: 32px;
    height: 32px;
    padding: 0 0.25rem;
    font-size: 0.75rem;
  }
  nav.pagination a.first,
  nav.pagination a.last,
  nav.pagination span.first,
  nav.pagination span.last {
    display: none;
  }
  nav.pagination span.gap {
    min-width: 24px;
    height: 32px;
  }
}
.matching-stocks-container {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
  border: 2px solid #e2e8f0;
  border-radius: 8px;
}

.matching-stocks-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a5568;
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.matching-stocks-title i {
  color: #667eea;
}

.matching-stocks-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.matching-stock-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.matching-stock-item:hover {
  border-color: #667eea;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
  text-decoration: none;
}
.matching-stock-item .stock-ticker {
  font-weight: 700;
  font-size: 0.95rem;
  color: #667eea;
}
.matching-stock-item i {
  font-size: 0.75rem;
  color: #718096;
  transition: transform 0.2s ease;
}
.matching-stock-item:hover i {
  transform: translateX(2px);
  color: #667eea;
}

.trades-table td.trade-actions {
  padding: 0.5rem !important;
  text-align: center;
  vertical-align: middle;
  overflow: visible !important;
  white-space: nowrap;
}
.trades-table td.trade-actions a.edit-link-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  background: transparent;
  color: #2b6cb0;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
  margin-right: 0.25rem;
}
.trades-table td.trade-actions a.edit-link-small i {
  font-size: 0.875rem;
}
.trades-table td.trade-actions a.edit-link-small:hover {
  background: rgba(66, 153, 225, 0.15);
  color: #2c5282;
  text-decoration: none;
}
.trades-table td.trade-actions form {
  display: inline;
  margin: 0;
  padding: 0;
}
.trades-table td.trade-actions button.delete-link-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  background: transparent;
  color: #c53030;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.trades-table td.trade-actions button.delete-link-small i {
  font-size: 0.875rem;
}
.trades-table td.trade-actions button.delete-link-small:hover {
  background: rgba(229, 62, 62, 0.15);
  color: #9b2c2c;
}

tr.row-exercised .ticker-cell .option-code-primary::after {
  content: " ⚡";
  font-size: 0.75em;
}

.ticker-cell .option-code-primary {
  display: inline;
}

.ticker-cell .badge-expired-pending {
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
}

.option-trade-note-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: 6px;
  vertical-align: middle;
  border: 1px solid rgba(102, 126, 234, 0.25);
  border-radius: 50%;
  background: rgba(102, 126, 234, 0.1);
  color: #667eea;
  font-size: 0.62rem;
  line-height: 1;
}
.option-trade-note-flag i {
  line-height: 1;
}

#option_series_table {
  table-layout: auto !important;
}
#option_series_table thead th {
  width: auto !important;
  min-width: 0 !important;
}
#option_series_table tbody td {
  min-width: 0 !important;
  white-space: normal !important;
}
#option_series_table tbody td.strike-cell .strike-cell-value {
  white-space: nowrap !important;
}
#option_series_table tbody td[data-label=Notional] {
  white-space: nowrap !important;
}

.table-responsive:has(#option_series_table) {
  overflow-x: auto;
}

#option_series_table tr.summary-row td {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04) 0%, rgba(118, 75, 162, 0.04) 100%);
}

#option_series_table tr.summary-row td.summary-notional-stack {
  display: table-cell !important;
  text-align: left;
  padding: 4px 8px;
}
#option_series_table tr.summary-row td.summary-notional-stack .notional-line:not(:first-child) {
  margin-top: 2px;
}

#option_series_table tr.summary-row td.summary-total {
  position: relative;
}
#option_series_table tr.summary-row td.summary-total .summary-total-stack {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  white-space: nowrap;
  line-height: 1.15;
}
#option_series_table tr.summary-row td.summary-total .summary-total-line {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
#option_series_table tr.summary-row td.summary-total .summary-total-label {
  font-size: 0.55rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #718096;
}
#option_series_table tr.summary-row td.summary-total .summary-total-line--main .summary-total-value {
  font-size: 0.9rem;
  font-weight: 700;
}
#option_series_table tr.summary-row td.summary-total .summary-total-line--sub {
  opacity: 0.7;
}
#option_series_table tr.summary-row td.summary-total .summary-total-line--sub .summary-total-label {
  font-size: 0.5rem;
}
#option_series_table tr.summary-row td.summary-total .summary-total-line--sub .summary-total-value {
  font-size: 0.65rem;
  font-weight: 600;
}

#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack {
  vertical-align: middle;
  padding: 4px 14px 4px 8px;
}
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-grid {
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: end;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 5px;
}
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-line {
  display: contents;
}
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-line-label {
  position: relative;
  padding-left: 12px;
  font-size: 0.62rem;
}
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-line-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 0.8em;
  border-radius: 2px;
  background: #718096;
  opacity: 0.55;
}
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-line[data-position=short][data-option=put] .notional-line-label::before,
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-line[data-position=long][data-option=call] .notional-line-label::before {
  background: #e53e3e;
  opacity: 0.85;
}
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-line[data-position=short][data-option=call] .notional-line-label::before,
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-line[data-position=long][data-option=put] .notional-line-label::before {
  background: #38a169;
  opacity: 0.85;
}
#option_series_table[data-tab=realizadas] tr.summary-row td.summary-notional-stack .notional-line-value {
  justify-self: end;
  font-size: 0.82rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

#option_series_table[data-tab=realizadas] tbody tr {
  height: 59px;
}

.active-filters-bar {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.active-filters-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  flex: 1;
}

.active-filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.3rem 0.6rem;
  background: #eef2ff;
  color: #667eea;
  border: 1px solid rgba(102, 126, 234, 0.2);
  border-radius: 100px;
  font-size: 0.8rem;
  font-weight: 500;
  white-space: nowrap;
}
.active-filter-tag.sort-tag {
  background: #fef3c7;
  color: #92400e;
  border-color: rgba(217, 119, 6, 0.2);
}
.active-filter-tag .active-filter-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  color: inherit;
  opacity: 0.6;
  transition: all 0.2s ease;
  text-decoration: none;
}
.active-filter-tag .active-filter-remove:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.1);
}
.active-filter-tag .active-filter-remove i {
  font-size: 0.75rem;
}

.view-mode-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
  padding: 0.55rem 0.85rem;
  background: #eef2ff;
  border: 1px solid rgba(102, 126, 234, 0.18);
  border-left: 3px solid #667eea;
  border-radius: 8px;
  font-size: 0.85rem;
}

.view-mode-toggle-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #4a5568;
  flex-wrap: wrap;
}
.view-mode-toggle-state > i {
  font-size: 1rem;
  color: #667eea;
}

.view-mode-toggle-state-label {
  font-weight: 600;
  color: #667eea;
}

.view-mode-toggle-state-hint {
  color: #718096;
  font-size: 0.78rem;
}

.view-mode-toggle-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.35rem 0.85rem;
  background: #ffffff;
  color: #667eea;
  border: 1px solid rgba(102, 126, 234, 0.4);
  border-radius: 100px;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.view-mode-toggle-action i {
  font-size: 0.9rem;
}
.view-mode-toggle-action:hover {
  background: #667eea;
  color: #ffffff;
  border-color: #667eea;
}

#clear_all_button_slot:empty {
  display: none;
}

.clear-all-filters-btn {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 4px;
  padding: 0.3rem 0.75rem;
  color: #dc2626;
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: 100px;
  transition: background 0.2s ease;
  white-space: nowrap;
}
.clear-all-filters-btn:hover {
  background: #fee2e2;
}
.clear-all-filters-btn i {
  font-size: 0.85rem;
}

.preset-toggle-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: inherit;
  position: relative;
  white-space: nowrap;
}
.preset-toggle-btn i:first-child {
  color: #667eea;
}
.preset-toggle-btn > span:not(.preset-badge) {
  flex: 1;
  text-align: left;
}
.preset-toggle-btn i:last-of-type {
  color: #718096;
  transition: transform 0.3s ease;
  margin-left: 0.5rem;
}
.preset-toggle-btn .preset-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}
.preset-toggle-btn:hover {
  border-color: #667eea;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.15);
}

.preset-content {
  margin-top: 0.5rem;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

.preset-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e2e8f0;
}

.preset-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.preset-item .preset-link {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 8px;
  color: #4a5568;
  text-decoration: none;
  font-size: 0.875rem;
  transition: background 0.2s ease;
}
.preset-item .preset-link:hover {
  background: rgb(242.8068181818, 245.3295454545, 248.6931818182);
  color: #667eea;
}
.preset-item .preset-link i {
  color: #667eea;
  font-size: 0.75rem;
}
.preset-item .preset-delete-form {
  display: inline;
}
.preset-item .preset-delete-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  color: #718096;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.preset-item .preset-delete-btn:hover {
  background: #fee2e2;
  color: #dc2626;
}
.preset-item .preset-delete-btn i {
  font-size: 0.7rem;
}

.preset-save-section .preset-save-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #718096;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.preset-save-row {
  display: flex;
  gap: 0.5rem;
}
.preset-save-row .preset-name-input {
  flex: 1;
  padding: 0.5rem 0.75rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.875rem;
  font-family: inherit;
}
.preset-save-row .preset-name-input:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.15);
}
.preset-save-row .preset-save-btn {
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
}
.preset-save-row .preset-save-btn:hover {
  opacity: 0.9;
}
.preset-save-row .preset-custom-order-icon {
  margin-left: 0.25rem;
  font-size: 0.75rem;
  color: #764ba2;
  opacity: 0.85;
}
.preset-save-row .preset-update-form {
  margin-top: 0.5rem;
}
.preset-save-row .preset-update-btn {
  width: 100%;
  padding: 0.45rem 0.75rem;
  background: transparent;
  color: #667eea;
  border: 1px dashed #667eea;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}
.preset-save-row .preset-update-btn:hover {
  background: rgba(102, 126, 234, 0.06);
}

.itm-panel {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 8px 24px -12px rgba(0, 0, 0, 0.08);
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem;
}
.itm-panel__head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.itm-panel__title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #4a5568;
}
.itm-panel__meta {
  margin-left: auto;
  font-size: 0.72rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}

.itm-tier {
  padding: 1rem 0;
}
.itm-tier + .itm-tier {
  border-top: 1px solid #e2e8f0;
}
.itm-tier__head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.itm-tier__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #718096;
}
.itm-tier__label i {
  font-size: 0.42rem;
}
.itm-tier__meta {
  margin-left: auto;
  font-size: 0.7rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}
.itm-tier--urgent .itm-tier__label {
  color: #c53030;
}
.itm-tier--urgent .itm-tier__label i {
  color: #e53e3e;
}
.itm-tier--urgent .itm-tier__meta {
  color: #c53030;
  font-weight: 600;
}
.itm-tier--later {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  text-decoration: none;
  padding-bottom: 0;
}
.itm-tier--later:hover {
  text-decoration: none;
}
.itm-tier--later:hover .itm-tier__link {
  color: #667eea;
}
.itm-tier__link {
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
  transition: color 0.15s ease;
}

.itm-scale-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  max-height: 18.5rem;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.itm-scale-list::-webkit-scrollbar {
  width: 5px;
}
.itm-scale-list::-webkit-scrollbar-track {
  background: rgba(113, 128, 150, 0.08);
  border-radius: 3px;
}
.itm-scale-list::-webkit-scrollbar-thumb {
  background: rgba(102, 126, 234, 0.2);
  border-radius: 3px;
}
@media (max-width: 768px) {
  .itm-scale-list {
    grid-template-columns: 1fr;
  }
}

.itm-scale {
  display: block;
  align-self: start;
  width: 100%;
  text-align: left;
  font: inherit;
  cursor: pointer;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  transition: border-color 0.15s ease;
}
.itm-scale:hover {
  border-color: #718096;
  text-decoration: none;
}
.itm-scale__head, .itm-scale__ends, .itm-scale__foot {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.itm-scale__code {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.72rem;
  font-weight: 700;
  color: #2d3748;
}
.itm-scale__ticker {
  font-size: 0.62rem;
  color: #a0aec0;
}
.itm-scale__kind {
  font-size: 0.54rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.itm-scale__pct {
  margin-left: auto;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.itm-scale__track {
  display: block;
  position: relative;
  height: 6px;
  margin: 6px 0 4px;
  background: #f7fafc;
  border-radius: 2px;
}
.itm-scale__fill {
  display: block;
  position: absolute;
  top: 0;
  height: 6px;
  border-radius: 2px;
}
.itm-scale__near {
  font-size: 0.64rem;
  font-weight: 700;
}
.itm-scale__near-label, .itm-scale__far-label {
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a0aec0;
}
.itm-scale__at {
  margin-left: 3px;
  letter-spacing: normal;
  color: #cbd5e0;
}
.itm-scale__far-label {
  margin-left: auto;
}
.itm-scale__far {
  font-size: 0.64rem;
  font-weight: 700;
  color: #2d3748;
}
.itm-scale__foot {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #edf2f7;
}
.itm-scale__contracts {
  font-size: 0.64rem;
  color: #718096;
}
.itm-scale__notional {
  font-size: 0.64rem;
  color: #718096;
}
.itm-scale__notional::before {
  content: "·";
  margin-right: 5px;
  color: #cbd5e0;
}
.itm-scale__exp {
  margin-left: auto;
  font-size: 0.62rem;
  color: #a0aec0;
}
.itm-scale__days {
  font-size: 0.64rem;
  font-weight: 700;
}
.itm-scale--put .itm-scale__kind,
.itm-scale--put .itm-scale__pct,
.itm-scale--put .itm-scale__near,
.itm-scale--put .itm-scale__days {
  color: #c53030;
}
.itm-scale--put .itm-scale__fill {
  right: 0;
  background: #c53030;
}
.itm-scale--call .itm-scale__kind,
.itm-scale--call .itm-scale__pct,
.itm-scale--call .itm-scale__near,
.itm-scale--call .itm-scale__days {
  color: #dd6b20;
}
.itm-scale--call .itm-scale__fill {
  left: 0;
  background: #dd6b20;
}

.itm-table__head, .itm-table__row {
  display: grid;
  grid-template-columns: 5rem 3rem 3rem minmax(0, 1fr) 5rem 5rem;
  gap: 12px;
  align-items: center;
}
.itm-table__head {
  padding: 0 6px 6px;
  border-bottom: 1px solid #edf2f7;
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #a0aec0;
}
.itm-table__num {
  text-align: right;
}
.itm-table__row {
  padding: 4px 6px;
  border-radius: 4px;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
}
.itm-table__row:hover {
  background: #f7fafc;
  text-decoration: none;
}
.itm-table__ticker {
  font-size: 0.76rem;
  font-weight: 700;
  color: #2d3748;
}
.itm-table__kind {
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.itm-table__series {
  font-size: 0.68rem;
  font-weight: 700;
  color: #a0aec0;
  text-align: right;
}
.itm-table__bar {
  display: block;
  height: 6px;
  background: #f7fafc;
  border-radius: 2px;
}
.itm-table__bar-fill {
  display: block;
  height: 6px;
  border-radius: 2px;
}
.itm-table__pct {
  font-size: 0.74rem;
  font-weight: 700;
  text-align: right;
}
.itm-table__contracts {
  font-size: 0.7rem;
  color: #718096;
  text-align: right;
}
.itm-table__row--put .itm-table__kind,
.itm-table__row--put .itm-table__pct {
  color: #c53030;
}
.itm-table__row--put .itm-table__bar-fill {
  background: #c53030;
}
.itm-table__row--call .itm-table__kind,
.itm-table__row--call .itm-table__pct {
  color: #dd6b20;
}
.itm-table__row--call .itm-table__bar-fill {
  background: #dd6b20;
}

.otm-panel {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 8px 24px -12px rgba(0, 0, 0, 0.08);
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem;
}
.otm-panel__head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.otm-panel__title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #4a5568;
}
.otm-panel__meta {
  margin-left: auto;
  font-size: 0.72rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}

.otm-tier {
  padding: 1rem 0;
}
.otm-tier + .otm-tier {
  border-top: 1px solid #e2e8f0;
}
.otm-tier__head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.otm-tier__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #718096;
}
.otm-tier__label i {
  font-size: 0.42rem;
}
.otm-tier__meta {
  margin-left: auto;
  font-size: 0.7rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}
.otm-tier--nearest .otm-tier__label {
  color: #4a5568;
}
.otm-tier--nearest .otm-tier__meta {
  color: #4a5568;
  font-weight: 600;
}
.otm-tier--later {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  text-decoration: none;
  padding-bottom: 0;
}
.otm-tier--later:hover {
  text-decoration: none;
}
.otm-tier--later:hover .otm-tier__link {
  color: #667eea;
}
.otm-tier__link {
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
  transition: color 0.15s ease;
}

.otm-scale-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  max-height: 18.5rem;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.otm-scale-list::-webkit-scrollbar {
  width: 5px;
}
.otm-scale-list::-webkit-scrollbar-track {
  background: rgba(113, 128, 150, 0.08);
  border-radius: 3px;
}
.otm-scale-list::-webkit-scrollbar-thumb {
  background: rgba(102, 126, 234, 0.2);
  border-radius: 3px;
}
@media (max-width: 768px) {
  .otm-scale-list {
    grid-template-columns: 1fr;
  }
}

.otm-scale {
  display: block;
  align-self: start;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  transition: border-color 0.15s ease;
}
.otm-scale:hover {
  border-color: #718096;
  text-decoration: none;
}
.otm-scale__head, .otm-scale__ends, .otm-scale__foot {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.otm-scale__code {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.72rem;
  font-weight: 700;
  color: #2d3748;
}
.otm-scale__ticker {
  font-size: 0.62rem;
  color: #a0aec0;
}
.otm-scale__kind {
  font-size: 0.54rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.otm-scale--short .otm-scale__kind {
  color: #38a169;
}
.otm-scale--long .otm-scale__kind {
  color: #667eea;
}
.otm-scale__pct {
  margin-left: auto;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.otm-scale__pct--near {
  color: #dd6b20;
}
.otm-scale__pct--mid {
  color: #4a5568;
}
.otm-scale__pct--far {
  color: #a0aec0;
}
.otm-scale__track {
  display: block;
  position: relative;
  height: 6px;
  margin: 6px 0 4px;
  background: #f7fafc;
  border-radius: 2px;
}
.otm-scale__fill {
  display: block;
  position: absolute;
  top: 0;
  height: 6px;
  border-radius: 2px;
}
.otm-scale__fill--up {
  left: 0;
}
.otm-scale__fill--down {
  right: 0;
}
.otm-scale__fill--near {
  background: #dd6b20;
}
.otm-scale__fill--mid {
  background: #4a5568;
}
.otm-scale__fill--far {
  background: #cbd5e0;
}
.otm-scale__near, .otm-scale__far {
  font-size: 0.64rem;
  font-weight: 700;
  color: #2d3748;
}
.otm-scale__near-label, .otm-scale__far-label {
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a0aec0;
}
.otm-scale__at {
  margin-left: 3px;
  letter-spacing: normal;
  color: #cbd5e0;
}
.otm-scale__far-label {
  margin-left: auto;
}
.otm-scale__foot {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #edf2f7;
}
.otm-scale__contracts {
  font-size: 0.64rem;
  color: #718096;
}
.otm-scale__notional {
  font-size: 0.64rem;
  color: #718096;
}
.otm-scale__notional::before {
  content: "·";
  margin-right: 5px;
  color: #cbd5e0;
}
.otm-scale__exp {
  margin-left: auto;
  font-size: 0.62rem;
  color: #a0aec0;
}
.otm-scale__days {
  font-size: 0.64rem;
  font-weight: 700;
  color: #718096;
}

.otm-table__head, .otm-table__row {
  display: grid;
  grid-template-columns: 5rem 4.5rem 3rem minmax(0, 1fr) 5rem 5rem;
  gap: 12px;
  align-items: center;
}
.otm-table__head {
  padding: 0 6px 6px;
  border-bottom: 1px solid #edf2f7;
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #a0aec0;
}
.otm-table__num {
  text-align: right;
}
.otm-table__row {
  padding: 4px 6px;
  border-radius: 4px;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
}
.otm-table__row:hover {
  background: #f7fafc;
  text-decoration: none;
}
.otm-table__ticker {
  font-size: 0.76rem;
  font-weight: 700;
  color: #2d3748;
}
.otm-table__kind {
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.otm-table__row--short .otm-table__kind {
  color: #38a169;
}
.otm-table__row--long .otm-table__kind {
  color: #667eea;
}
.otm-table__series {
  font-size: 0.68rem;
  font-weight: 700;
  color: #a0aec0;
  text-align: right;
}
.otm-table__bar {
  display: block;
  height: 6px;
  background: #f7fafc;
  border-radius: 2px;
}
.otm-table__bar-fill {
  display: block;
  height: 6px;
  border-radius: 2px;
}
.otm-table__bar-fill--near {
  background: #dd6b20;
}
.otm-table__bar-fill--mid {
  background: #4a5568;
}
.otm-table__bar-fill--far {
  background: #cbd5e0;
}
.otm-table__pct {
  font-size: 0.74rem;
  font-weight: 700;
  text-align: right;
}
.otm-table__pct--near {
  color: #dd6b20;
}
.otm-table__pct--mid {
  color: #4a5568;
}
.otm-table__pct--far {
  color: #a0aec0;
}
.otm-table__contracts {
  font-size: 0.7rem;
  color: #718096;
  text-align: right;
}

.portfolio-cards-capped .portfolio-cards > *:nth-child(n+9) {
  display: none;
}

.portfolio-cards-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 0.5rem;
  padding: 4px 2px;
  font-size: 0.72rem;
  font-weight: 600;
  color: #718096;
  text-decoration: none;
  transition: color 0.15s ease;
}
.portfolio-cards-more:hover {
  color: #667eea;
  text-decoration: none;
}
.portfolio-cards-more i {
  font-size: 0.7rem;
}

.portfolio-page {
  padding: 1.5rem 0;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 2rem;
  align-items: start;
}
@media (max-width: 992px) {
  .portfolio-page {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}

.portfolio-section-header {
  margin-bottom: 1rem;
}

.portfolio-section-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #2d3748;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.portfolio-section-title i {
  color: #667eea;
}

.portfolio-total-value {
  font-size: 1.4rem;
  font-weight: 800;
  color: #2d3748;
  margin-top: 0.25rem;
  letter-spacing: -0.02em;
}

.portfolio-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #667eea;
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0 0.25rem;
}

.stock-card {
  display: block;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
  cursor: pointer;
}
.stock-card:hover {
  border-color: #667eea;
  box-shadow: 0 4px 16px rgba(102, 126, 234, 0.1);
  transform: translateY(-1px);
}

.stock-card-wrap {
  position: relative;
}

.stock-card-pin-form {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  margin: 0;
  z-index: 2;
}

.stock-card-pin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: #ffffff;
  color: #718096;
  font-size: 0.85rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
}
.stock-card-pin:hover {
  border-color: #ed8936;
  color: #ed8936;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(237, 137, 54, 0.25);
}
.stock-card-pin--active {
  border-color: transparent;
  color: #ffffff;
  background: #ed8936;
  box-shadow: 0 2px 8px rgba(237, 137, 54, 0.4);
}
.stock-card-pin--active:hover {
  color: #ffffff;
  background: #dd6b20;
}

.stock-card-top {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  padding-right: 2.5rem;
}

.stock-card-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1), rgba(118, 75, 162, 0.08));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.stock-card-icon i {
  font-size: 1rem;
  color: #667eea;
}

.stock-card-identity {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.stock-card-ticker {
  font-weight: 800;
  font-size: 0.95rem;
  color: #2d3748;
  letter-spacing: -0.01em;
}

.stock-card-qty-label {
  font-size: 0.7rem;
  color: #718096;
  font-weight: 500;
}
.stock-card-qty-label span {
  font-weight: 400;
}

.stock-card-total {
  margin-left: auto;
  text-align: right;
  display: flex;
  flex-direction: column;
}

.stock-card-total-label {
  font-size: 0.6rem;
  font-weight: 600;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.stock-card-total-value {
  font-size: 0.95rem;
  font-weight: 700;
  color: #2d3748;
}

.stock-card-bottom {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(226, 232, 240, 0.6);
}

.stock-card-bottom--options {
  margin-top: 0.5rem;
}

.stock-card-metric {
  display: flex;
  flex-direction: column;
}

.stock-card-metric-label {
  font-size: 0.58rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.stock-card-metric-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a5568;
}

.stock-card-metric-pct {
  font-size: 0.65rem;
  font-weight: 500;
  color: #718096;
  margin-top: 0.1rem;
  font-variant-numeric: tabular-nums;
}

.portfolio-cards-scroll {
  max-height: 75vh;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.portfolio-cards-scroll::-webkit-scrollbar {
  width: 5px;
}
.portfolio-cards-scroll::-webkit-scrollbar-track {
  background: rgba(113, 128, 150, 0.08);
  border-radius: 3px;
}
.portfolio-cards-scroll::-webkit-scrollbar-thumb {
  background: rgba(102, 126, 234, 0.2);
  border-radius: 3px;
}

.portfolio-cards {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.portfolio-card {
  display: block;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: all 0.15s ease;
  cursor: pointer;
}
.portfolio-card:hover {
  border-color: rgba(102, 126, 234, 0.3);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.08);
}

.portfolio-card-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.portfolio-card-ticker {
  font-weight: 700;
  font-size: 0.9rem;
  color: #2d3748;
}

.portfolio-card-qty {
  font-weight: 700;
  font-size: 0.85rem;
  margin-left: auto;
}

.portfolio-card-sub {
  font-size: 0.7rem;
  color: #718096;
  margin-bottom: 0.25rem;
}

.portfolio-card-details {
  display: flex;
  gap: 1.5rem;
}

.portfolio-card-detail {
  display: flex;
  flex-direction: column;
}

.portfolio-card-label {
  font-size: 0.6rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.portfolio-card-value {
  font-size: 0.8rem;
  font-weight: 600;
  color: #2d3748;
}

.badge-option-type {
  font-size: 0.6rem;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 3px;
  text-transform: uppercase;
}
.badge-option-type--call {
  background: rgba(66, 153, 225, 0.12);
  color: #4299e1;
}
.badge-option-type--put {
  background: rgba(229, 62, 62, 0.12);
  color: #e53e3e;
}

.portfolio-empty {
  text-align: center;
  padding: 2rem;
  color: #718096;
}
.portfolio-empty i {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 0.5rem;
}
.portfolio-empty p {
  margin: 0;
  font-size: 0.85rem;
}

.text-positive {
  color: #38a169;
}

.text-negative {
  color: #e53e3e;
}

.sort-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding: 0 0.25rem 0.5rem;
}

.sort-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.7rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
  background: rgba(113, 128, 150, 0.08);
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease;
  white-space: nowrap;
}
.sort-pill:hover {
  background: rgba(102, 126, 234, 0.08);
  color: #667eea;
}
.sort-pill.is-active {
  background: rgba(102, 126, 234, 0.12);
  color: #667eea;
  border-color: rgba(102, 126, 234, 0.3);
}
.sort-pill--clear {
  margin-left: auto;
  background: transparent;
  color: #718096;
}
.sort-pill--clear i {
  font-size: 0.7rem;
}
.sort-pill--clear:hover {
  background: rgba(229, 62, 62, 0.08);
  color: #e53e3e;
}
.sort-pill--filter {
  background: rgba(66, 153, 225, 0.1);
  color: #4299e1;
}
.sort-pill--filter:hover {
  background: rgba(66, 153, 225, 0.18);
  color: #4299e1;
}
.sort-pill--filter.is-active {
  background: rgba(66, 153, 225, 0.18);
  color: #4299e1;
  border-color: rgba(66, 153, 225, 0.4);
}

.sort-pill-indicator {
  font-size: 0.7rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.portfolio-tudo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 768px) {
  .portfolio-tudo-grid {
    grid-template-columns: 1fr;
  }
}

.portfolio-tudo-cell {
  min-width: 0;
}

.portfolio-pie {
  position: relative;
  padding: 1.5rem 2rem;
  background: radial-gradient(120% 80% at 0% 0%, rgba(102, 126, 234, 0.04) 0%, transparent 55%), radial-gradient(120% 80% at 100% 100%, rgba(118, 75, 162, 0.035) 0%, transparent 55%), #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  margin-bottom: 1.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 8px 24px -12px rgba(0, 0, 0, 0.08);
}
@media (max-width: 768px) {
  .portfolio-pie {
    padding: 1rem;
  }
}

.portfolio-pie-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin-bottom: 1.5rem;
  text-align: center;
}

.portfolio-pie-heading-label {
  font-size: 0.7rem;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
}

.portfolio-pie-heading-value {
  font-size: 1.65rem;
  font-weight: 800;
  color: #2d3748;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.portfolio-pie-heading-meta {
  font-size: 0.7rem;
  color: #718096;
  font-weight: 500;
}

.portfolio-pie-toggles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 0.5rem;
}

.portfolio-pie-unit-switch {
  display: inline-flex;
  margin-top: 0.5rem;
  padding: 2px;
  gap: 2px;
  background: rgba(113, 128, 150, 0.08);
  border-radius: 999px;
}

.portfolio-pie-unit-btn {
  padding: 0.2rem 0.75rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
  background: transparent;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color 0.12s ease, color 0.12s ease;
}
.portfolio-pie-unit-btn:hover {
  color: #667eea;
}
.portfolio-pie-unit-btn.is-active {
  background: #fff;
  color: #667eea;
  box-shadow: 0 1px 2px rgba(45, 55, 72, 0.12);
}

.portfolio-pie-dual.is-qty {
  display: none;
}

.portfolio-pie--unit .portfolio-pie-dual.is-cur {
  display: none;
}
.portfolio-pie--unit .portfolio-pie-dual.is-qty {
  display: inline;
}

.portfolio-pie-body {
  display: grid;
  grid-template-columns: minmax(220px, 320px) 1fr;
  gap: 2rem;
  align-items: center;
}
@media (max-width: 768px) {
  .portfolio-pie-body {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.portfolio-pie-chart {
  display: flex;
  justify-content: center;
  align-items: center;
}

.portfolio-pie-detail {
  display: none;
  min-width: 0;
}

.portfolio-pie--selected .portfolio-pie-chart {
  display: none;
}
.portfolio-pie--selected .portfolio-pie-detail {
  display: block;
}

.portfolio-pie-svg {
  width: 100%;
  max-width: 300px;
  height: auto;
  display: block;
  overflow: visible;
}

.portfolio-pie-svg-group {
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.12));
}

.portfolio-pie-slice {
  transition: opacity 0.2s ease, transform 0.2s ease;
  transform-origin: 100px 100px;
  cursor: default;
}

.portfolio-pie--focused .portfolio-pie-slice {
  opacity: 0.22;
}
.portfolio-pie--focused .portfolio-pie-slice.is-active {
  opacity: 1;
  transform: scale(1.04);
}

.portfolio-pie-center-label {
  font-size: 7px;
  fill: #718096;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.portfolio-pie-center-value {
  font-size: 11px;
  fill: #2d3748;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

.portfolio-pie-legend {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 2px 0.5rem;
  max-height: 320px;
  overflow-y: auto;
  padding-right: 4px;
}
.portfolio-pie-legend::-webkit-scrollbar {
  width: 6px;
}
.portfolio-pie-legend::-webkit-scrollbar-track {
  background: transparent;
}
.portfolio-pie-legend::-webkit-scrollbar-thumb {
  background: rgba(113, 128, 150, 0.25);
  border-radius: 3px;
}

.portfolio-pie-legend-item {
  display: grid;
  grid-template-columns: 8px auto auto 1fr auto;
  align-items: center;
  gap: 0.25rem;
  padding: 4px 8px 4px 10px;
  border-radius: 4px;
  font-size: 0.78rem;
  color: #4a5568;
  position: relative;
  cursor: default;
  transition: background 0.15s ease;
  border-left: 2px solid transparent;
}
.portfolio-pie-legend-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: var(--slice-color);
  border-radius: 1px;
  opacity: 0.6;
  transition: opacity 0.15s ease, width 0.15s ease;
}
.portfolio-pie-legend-item:hover, .portfolio-pie-legend-item.is-active {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.03) 0%, transparent 100%);
}
.portfolio-pie-legend-item:hover::before, .portfolio-pie-legend-item.is-active::before {
  opacity: 1;
  width: 3px;
}

.portfolio-pie--focused .portfolio-pie-legend-item:not(.is-active) {
  opacity: 0.4;
}

.portfolio-pie-legend-swatch {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--slice-color);
  flex-shrink: 0;
}

.portfolio-pie-legend-ticker {
  font-weight: 700;
  color: #2d3748;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.76rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.portfolio-pie-legend-pct {
  color: #718096;
  font-variant-numeric: tabular-nums;
  font-size: 0.72rem;
  font-weight: 600;
}

.portfolio-pie-legend-bar {
  display: block;
  height: 4px;
  background: rgba(113, 128, 150, 0.12);
  border-radius: 2px;
  overflow: hidden;
  min-width: 30px;
  margin: 0 0.25rem;
}

.portfolio-pie-legend-bar-fill {
  display: block;
  height: 100%;
  background: var(--slice-color);
  border-radius: 2px;
  opacity: 0.75;
  transition: opacity 0.15s ease;
}

.portfolio-pie-legend-item:hover .portfolio-pie-legend-bar-fill,
.portfolio-pie-legend-item.is-active .portfolio-pie-legend-bar-fill {
  opacity: 1;
}

.portfolio-pie-legend-item {
  cursor: pointer;
}
.portfolio-pie-legend-item:focus-visible {
  outline: 2px solid var(--slice-color);
  outline-offset: 1px;
}

.portfolio-pie-legend-value {
  font-weight: 600;
  color: #2d3748;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
  font-size: 0.76rem;
}

.portfolio-pie-slice {
  cursor: pointer;
}

.portfolio-pie-detail-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 8px 24px -16px rgba(0, 0, 0, 0.08);
  animation: portfolio-pie-detail-in 0.25s ease-out;
}
.portfolio-pie-detail-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--slice-color);
  opacity: 0.9;
  border-radius: 8px 8px 0 0;
}

@keyframes portfolio-pie-detail-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.portfolio-pie-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.portfolio-pie-detail-title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: inherit;
  padding: 4px 8px;
  margin: -4px -8px;
  border-radius: 4px;
  transition: background 0.15s ease;
  cursor: pointer;
}
.portfolio-pie-detail-title .portfolio-pie-detail-title-arrow {
  font-size: 0.7rem;
  color: #718096;
  opacity: 0;
  transform: translate(-4px, 2px);
  transition: opacity 0.15s ease, transform 0.15s ease, color 0.15s ease;
}
.portfolio-pie-detail-title:hover {
  background: color-mix(in srgb, var(--slice-color) 8%, transparent);
  color: inherit;
}
.portfolio-pie-detail-title:hover .portfolio-pie-detail-ticker {
  color: var(--slice-color);
}
.portfolio-pie-detail-title:hover .portfolio-pie-detail-title-arrow {
  opacity: 1;
  transform: translate(0, 0);
  color: var(--slice-color);
}

.portfolio-pie-detail-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--slice-color);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--slice-color) 18%, transparent);
}

.portfolio-pie-detail-ticker {
  font-weight: 800;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 1.2rem;
  color: #2d3748;
  letter-spacing: -0.02em;
}

.portfolio-pie-detail-close {
  background: transparent;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #718096;
  cursor: pointer;
  transition: all 0.15s ease;
  padding: 0;
}
.portfolio-pie-detail-close i {
  font-size: 0.7rem;
}
.portfolio-pie-detail-close:hover {
  background: rgba(229, 62, 62, 0.1);
  color: #e53e3e;
}

.portfolio-pie-detail-total {
  position: relative;
  padding: 1rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--slice-color) 10%, transparent) 0%, transparent 65%), #f7fafc;
  border: 1px solid color-mix(in srgb, var(--slice-color) 15%, #e2e8f0);
  border-radius: 8px;
  margin-bottom: 1.5rem;
  overflow: hidden;
}

.portfolio-pie-detail-total-label {
  display: block;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #718096;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.portfolio-pie-detail-total-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 4px;
}

.portfolio-pie-detail-total-value {
  font-size: 1.5rem;
  font-weight: 800;
  color: #2d3748;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.025em;
  line-height: 1;
}

.portfolio-pie-detail-total-currency {
  font-size: 0.8rem;
  font-weight: 600;
  color: #718096;
  margin-right: 4px;
  letter-spacing: 0;
}

.portfolio-pie-detail-total-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--slice-color);
  background: color-mix(in srgb, var(--slice-color) 14%, white);
  border: 1px solid color-mix(in srgb, var(--slice-color) 25%, transparent);
  border-radius: 999px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  white-space: nowrap;
}

.portfolio-pie-detail-total-caption {
  display: block;
  font-size: 0.68rem;
  color: #718096;
  font-weight: 500;
}

.portfolio-pie-detail-sections {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.portfolio-pie-detail-section {
  padding: 0.5rem 0;
}
.portfolio-pie-detail-section + .portfolio-pie-detail-section {
  border-top: 1px solid #e2e8f0;
  padding-top: 1rem;
}

.portfolio-pie-detail-section-row {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 0.5rem;
}

.portfolio-pie-detail-section-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--slice-color) 12%, transparent);
  color: var(--slice-color);
  display: flex;
  align-items: center;
  justify-content: center;
}
.portfolio-pie-detail-section-icon i {
  font-size: 1rem;
}

.portfolio-pie-detail-section-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.portfolio-pie-detail-section-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #4a5568;
  line-height: 1;
}

.portfolio-pie-detail-section-sub {
  font-size: 0.72rem;
  color: #718096;
  line-height: 1.2;
}

.portfolio-pie-detail-section-amount {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1;
}

.portfolio-pie-detail-section-total {
  font-size: 0.95rem;
  font-weight: 800;
  color: #2d3748;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.portfolio-pie-detail-section-pct {
  font-size: 0.68rem;
  color: #718096;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.portfolio-pie-detail-exp-list {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.portfolio-pie-detail-exp-list li {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  align-items: center;
  gap: 0.5rem;
  padding: 5px 8px;
  border-radius: 4px;
  transition: background 0.15s ease;
}
.portfolio-pie-detail-exp-list li:hover {
  background: rgba(113, 128, 150, 0.05);
}

.portfolio-pie-detail-exp-date {
  color: #4a5568;
  font-variant-numeric: tabular-nums;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.portfolio-pie-detail-exp-bar {
  display: block;
  height: 6px;
  background: rgba(113, 128, 150, 0.1);
  border-radius: 3px;
  overflow: hidden;
  position: relative;
}

.portfolio-pie-detail-exp-bar-fill {
  display: block;
  height: 100%;
  width: var(--w-cur);
  background: linear-gradient(90deg, var(--slice-color) 0%, color-mix(in srgb, var(--slice-color) 70%, white) 100%);
  border-radius: 3px;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--slice-color) 28%, transparent);
}
.portfolio-pie--unit .portfolio-pie-detail-exp-bar-fill {
  width: var(--w-qty);
}

.portfolio-pie-detail-exp-value {
  color: #2d3748;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
  font-size: 0.78rem;
}

.trade-detail-container {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.trade-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  gap: 1.5rem;
}

.trade-detail-title {
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.trade-detail-title i {
  font-size: 1.8rem;
}
.trade-detail-title .title-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
}
.trade-detail-title .title-link:hover {
  color: rgba(255, 255, 255, 0.85);
  transform: translateX(4px);
  text-decoration: none;
}

.trade-detail-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.series-info {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  text-decoration: none;
}
.series-info i {
  font-size: 1.1rem;
  opacity: 0.85;
}
.series-info:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  color: #ffffff;
  text-decoration: none;
}

.edit-btn,
.delete-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  border: none;
  cursor: pointer;
  font-size: 0.95rem;
}
.edit-btn i,
.delete-btn i {
  font-size: 1.1rem;
}
.edit-btn:hover,
.delete-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.edit-btn {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.edit-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  text-decoration: none;
}

.delete-btn {
  background: rgba(229, 62, 62, 0.9);
  color: #ffffff;
}
.delete-btn:hover {
  background: #e53e3e;
  color: #ffffff;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  font-size: 0.95rem;
}
.back-link i {
  font-size: 1.1rem;
}
.back-link:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.trade-detail-main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.trade-detail-card,
.related-trades-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.detail-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}
.detail-section-header .detail-section-title {
  margin-bottom: 0;
}
@media (max-width: 480px) {
  .detail-section-header {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
  .detail-section-header .detail-section-title {
    flex: 1 1 100%;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

.detail-section-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 480px) {
  .detail-section-actions {
    width: 100%;
    gap: 0.375rem;
  }
  .detail-section-actions .sort-expiration-btn,
  .detail-section-actions .toggle-inactive-btn,
  .detail-section-actions .consolidated-filter-btn,
  .detail-section-actions .consolidated-sort-btn,
  .detail-section-actions .consolidated-clear-btn,
  .detail-section-actions .yield-calculator-btn {
    font-size: 0.75rem;
    padding: 0.375rem 0.5rem;
  }
  .detail-section-actions .sort-expiration-btn span,
  .detail-section-actions .toggle-inactive-btn span,
  .detail-section-actions .consolidated-filter-btn span,
  .detail-section-actions .consolidated-sort-btn span,
  .detail-section-actions .consolidated-clear-btn span,
  .detail-section-actions .yield-calculator-btn span {
    display: none;
  }
  .detail-section-actions .consolidated-filter-wrapper,
  .detail-section-actions .consolidated-sort-wrapper {
    flex: none;
  }
  .detail-section-actions .ordering-toggle-pill .ordering-toggle-option {
    font-size: 0.62rem;
    padding: 0.3rem 0.5rem;
  }
  .detail-section-actions .reorder-series-btn {
    width: 28px;
    height: 28px;
    margin-left: 0;
  }
}

.toggle-inactive-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.toggle-inactive-btn i {
  font-size: 0.9rem;
}
.toggle-inactive-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.toggle-inactive-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.toggle-inactive-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.2);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.active .toggle-inactive-count {
  background: rgba(255, 255, 255, 0.25);
}
.toggle-inactive-count:empty {
  display: none;
}

.sort-expiration-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.sort-expiration-btn i {
  font-size: 0.9rem;
}
.sort-expiration-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.sort-expiration-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.consolidated-filter-wrapper {
  position: relative;
}

.consolidated-filter-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-filter-btn i {
  font-size: 0.9rem;
}
.consolidated-filter-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.consolidated-filter-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.consolidated-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.2);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.active .consolidated-filter-badge {
  background: rgba(255, 255, 255, 0.25);
}
.consolidated-filter-badge:empty {
  display: none;
}

.consolidated-clear-btn {
  display: none;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(229, 62, 62, 0.1);
  border: 1px solid rgba(229, 62, 62, 0.3);
  border-radius: 8px;
  color: #e53e3e;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-clear-btn i {
  font-size: 0.9rem;
}
.consolidated-clear-btn.visible {
  display: inline-flex;
}
.consolidated-clear-btn:hover {
  background: rgba(229, 62, 62, 0.18);
  border-color: #e53e3e;
}

.consolidated-filter-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  width: 280px;
  max-width: calc(100vw - 2rem);
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  z-index: 100;
  display: none;
  padding: 0.5rem 0;
}
.consolidated-filter-dropdown.visible {
  display: block;
}

.filter-section {
  padding: 1rem 1.5rem;
}
.filter-section + .filter-section {
  border-top: 1px solid rgba(226, 232, 240, 0.6);
}

.filter-section-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #718096;
  margin-bottom: 0.5rem;
}
.filter-section-label i {
  font-size: 0.75rem;
}

.filter-chips {
  display: flex;
  gap: 0.5rem;
}

.filter-chip {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.75rem;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
  background: rgba(74, 85, 104, 0.1);
  color: #2d3748;
  border: 1.5px solid rgba(74, 85, 104, 0.08);
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-chip:hover {
  background: rgba(102, 126, 234, 0.08);
  border-color: rgba(102, 126, 234, 0.25);
  color: #667eea;
}
.filter-chip.active {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}

.filter-chip-group {
  display: flex;
  gap: 0.5rem;
}

.filter-chip-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.filter-chip-input:checked + .filter-chip {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}
.filter-chip-input:focus-visible + .filter-chip {
  outline: 2px solid rgba(102, 126, 234, 0.5);
  outline-offset: 2px;
}

.filter-chip--star {
  gap: 0.35rem;
}
.filter-chip--star i {
  font-size: 0.85em;
  line-height: 1;
}

.filter-chip-group--wrap {
  flex-wrap: wrap;
}
.filter-chip-group--wrap .filter-chip {
  flex: 1 1 calc(50% - 0.5rem);
}
@media (max-width: 576px) {
  .filter-chip-group--wrap .filter-chip {
    flex-basis: 100%;
  }
}

.filter-chip--amber i {
  color: #eab308;
}

.filter-chip--green i {
  color: #15803d;
}

.filter-chip--danger i {
  color: #e53e3e;
}

.filter-chip-input:checked + .filter-chip--amber i,
.filter-chip-input:checked + .filter-chip--green i,
.filter-chip-input:checked + .filter-chip--danger i {
  color: #ffffff;
}

.filter-chip--exercise {
  flex: 0 0 auto;
  gap: 0.35rem;
}
.filter-chip--exercise i {
  font-size: 0.85em;
  line-height: 1;
}

.filter-option-list {
  display: flex;
  flex-direction: column;
  max-height: 160px;
  overflow-y: auto;
  gap: 1px;
}

.filter-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.filter-range-input {
  flex: 1;
  min-width: 0;
  padding: 0.4rem 0.6rem;
  border: 1.5px solid rgba(74, 85, 104, 0.18);
  border-radius: 8px;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.filter-range-input::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.filter-range-input::placeholder {
  color: #718096;
  font-weight: 400;
}
.filter-range-input:focus {
  outline: none;
  border-color: rgba(102, 126, 234, 0.55);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.12);
}

.filter-range-sep {
  flex: 0 0 auto;
  font-size: 0.72rem;
  color: #718096;
}

.filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.45rem 0.5rem;
  background: none;
  border: none;
  border-radius: 8px;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.12s ease;
}
.filter-option .bi-check2 {
  opacity: 0;
  color: #667eea;
  font-size: 0.9rem;
  transition: opacity 0.12s ease;
}
.filter-option:hover {
  background: rgba(102, 126, 234, 0.05);
  color: #2d3748;
}
.filter-option.active {
  color: #667eea;
  font-weight: 600;
  background: rgba(102, 126, 234, 0.06);
}
.filter-option.active .bi-check2 {
  opacity: 1;
}

.filter-clear-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  border: none;
  border-top: 1px solid rgba(226, 232, 240, 0.6);
  font-size: 0.75rem;
  font-weight: 500;
  color: #718096;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s ease;
  margin-top: 0.25rem;
}
.filter-clear-btn i {
  font-size: 0.8rem;
}
.filter-clear-btn:hover {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.04);
}

tr.hidden-by-type,
tr.hidden-by-filter,
tr.hidden-by-exclusion {
  display: none;
}

.detail-section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0 0 2rem 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
}
.detail-section-title i {
  font-size: 1.4rem;
  color: #667eea;
}
.detail-section-title .section-count {
  font-size: 1rem;
  font-weight: 500;
  color: #718096;
}
.detail-section-title .related-subtitle {
  margin-left: auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: #4a5568;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.375rem 1rem;
  border-radius: 8px;
}
.detail-section-title .consolidated-active-count {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.65rem 0.2rem 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.12), rgba(118, 75, 162, 0.12));
  border: 1px solid rgba(102, 126, 234, 0.18);
  color: #5568d3;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  vertical-align: middle;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #38a169;
  box-shadow: 0 0 0 3px rgba(56, 161, 105, 0.18);
  flex-shrink: 0;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-value {
  font-size: 0.8rem;
  font-weight: 700;
  color: #5568d3;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-label {
  font-weight: 500;
  color: #4a5568;
  text-transform: lowercase;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}
.detail-grid.detail-grid-1col {
  grid-template-columns: 1fr;
  margin-bottom: 1.5rem;
}
.detail-grid.detail-grid-2cols {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 1.5rem;
}
@media (max-width: 576px) {
  .detail-grid.detail-grid-2cols {
    grid-template-columns: 1fr;
  }
}
.detail-grid.detail-grid-3cols {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .detail-grid.detail-grid-3cols {
    grid-template-columns: 1fr;
  }
}
.detail-grid.detail-grid-4cols {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 1.5rem;
}
@media (max-width: 992px) {
  .detail-grid.detail-grid-4cols {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .detail-grid.detail-grid-4cols {
    grid-template-columns: 1fr;
  }
}

.detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.detail-item:hover {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgb(209.1931818182, 218.6704545455, 231.3068181818);
}
.detail-item .detail-label {
  color: #4a5568;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
}
.detail-item .detail-label i {
  font-size: 1rem;
  color: #718096;
}
.detail-item .detail-value {
  color: #2d3748;
  font-weight: 700;
  font-size: 1.15rem;
}
.detail-item.detail-item-closed {
  border-left: 3px solid #f56565;
}
.detail-item.detail-item-closed .detail-value {
  color: #c53030;
}
.detail-item.detail-item-expiration {
  border-left: 3px solid #ed8936;
}
.detail-item.detail-item-expiration .detail-value {
  color: #9c4221;
}
.detail-item.detail-item-premium {
  border-left: 3px solid #667eea;
}
.detail-item.detail-item-premium .detail-value {
  color: #667eea;
}
.detail-item.detail-item-premium .detail-formula {
  font-size: 0.65rem;
  font-weight: 600;
  color: #718096;
  background: rgba(0, 0, 0, 0.04);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-family: "Courier New", monospace;
  margin-top: 0.25rem;
  display: inline-block;
}
.detail-item.detail-item-positive {
  border-left: 3px solid #38a169;
}
.detail-item.detail-item-positive .detail-value {
  color: #2f855a;
}
.detail-item.detail-item-negative {
  border-left: 3px solid #e53e3e;
}
.detail-item.detail-item-negative .detail-value {
  color: #c53030;
}
.detail-item.detail-item-strike {
  border-left: 3px solid #718096;
}
.detail-item.detail-item-strike .detail-value {
  color: #2d3748;
}
.detail-item.detail-item-clickable {
  cursor: pointer;
}
.detail-item.detail-item-clickable:active {
  transform: scale(0.98);
}
.detail-item.detail-item-split {
  flex-direction: row;
  align-items: stretch;
  gap: 1rem;
}
.detail-item.detail-item-split .detail-item-left {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
  justify-content: center;
}
.detail-item.detail-item-split .detail-item-right {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  justify-content: center;
}
.detail-item.detail-item-split .detail-sub-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.detail-item.detail-item-split .detail-sub-item--highlight .detail-sub-value {
  color: #38a169;
}
.detail-item.detail-item-split .detail-sub-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: inherit;
  opacity: 0.7;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 110px;
}
.detail-item.detail-item-split .detail-sub-label i {
  font-size: 0.75rem;
}
.detail-item.detail-item-split .committed-expiration-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0.25rem 0 0.25rem 0.5rem;
  margin-left: 0.5rem;
  border-left: 2px solid rgba(237, 137, 54, 0.3);
  max-height: 140px;
  overflow-y: auto;
}
.detail-item.detail-item-split .committed-expiration-item {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.68rem;
  color: #4a5568;
}
.detail-item.detail-item-split .committed-expiration-code {
  font-weight: 600;
  color: #2d3748;
}
.detail-item.detail-item-split .committed-expiration-qty {
  font-weight: 700;
  color: #ed8936;
  text-align: right;
}
.detail-item.detail-item-split .committed-expiration-strike {
  font-weight: 500;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
  font-size: 0.65rem;
  white-space: nowrap;
  text-align: right;
}
.detail-item.detail-item-split .committed-expiration-date {
  font-weight: 500;
  color: #718096;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.detail-item.detail-item-split .detail-sub-value {
  font-size: 0.85rem;
  font-weight: 700;
  color: inherit;
}
.detail-item.detail-item-split .detail-sub-value.text-warning {
  color: #ed8936;
}

.cotas-value-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cotas-value-row .asset-type-badge {
  margin-top: 0;
  align-self: center;
}

.asset-type-badge {
  display: inline-block;
  align-self: flex-start;
  margin-top: 6px;
  padding: 2px 8px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 4px;
  text-transform: uppercase;
}
.asset-type-badge.asset-type-acao {
  color: #39408f;
  background: #e0e3fb;
  box-shadow: inset 0 0 0 1px rgba(102, 126, 234, 0.55);
}
.asset-type-badge.asset-type-fii {
  color: #4a2d6b;
  background: #ece0f5;
  box-shadow: inset 0 0 0 1px rgba(118, 75, 162, 0.55);
}
.asset-type-badge.asset-type-etf {
  color: #8a3a0a;
  background: #ffe2cc;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}

.cotas-deriv {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.cotas-deriv-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 5px 11px;
  border-radius: 12px;
  font-size: 0.62rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  min-width: 0;
}
.cotas-deriv-chip .cotas-deriv-head {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.cotas-deriv-chip i {
  font-size: 0.7rem;
}
.cotas-deriv-chip .cotas-deriv-qty {
  font-size: 0.75rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.cotas-deriv-chip .cotas-deriv-total {
  font-size: 0.66rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}
.cotas-deriv-chip--put {
  color: #8a5a0a;
  background: #fff1d6;
  box-shadow: inset 0 0 0 1px rgba(237, 137, 54, 0.4);
}
.cotas-deriv-chip--call {
  color: #1f6f48;
  background: #d8f3e3;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.4);
}

.detail-breakdown-mini {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.65rem;
  font-weight: 600;
  margin-top: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 4px;
}
.detail-breakdown-mini .mini-buy {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  color: #38a169;
}
.detail-breakdown-mini .mini-buy i {
  font-size: 0.75rem;
}
.detail-breakdown-mini .mini-sell {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  color: #e53e3e;
}
.detail-breakdown-mini .mini-sell i {
  font-size: 0.75rem;
}
.detail-breakdown-mini .mini-separator {
  color: #718096;
  font-weight: 700;
}

.detail-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.detail-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2d3748;
}
.detail-value.highlight {
  color: #667eea;
  font-size: 1.25rem;
}

.cv-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
}
.cv-badge.buy {
  background: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.cv-badge.sell {
  background: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}

.trade-badge {
  display: inline-flex;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.trade-badge.buy {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.sell {
  background-color: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}
.trade-badge.call {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.put {
  background-color: #ffe2cc;
  color: #8a3a0a;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}

@media (max-width: 768px) {
  .trade-detail-container {
    padding: 1rem;
  }
  .trade-detail-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .trade-detail-title {
    font-size: 1.5rem;
  }
  .trade-detail-actions {
    width: 100%;
  }
  .trade-detail-actions .edit-btn,
  .trade-detail-actions .delete-btn {
    flex: 1;
    justify-content: center;
  }
  .series-info {
    font-size: 1.1rem;
    padding: 0.375rem 1rem;
  }
  .trade-detail-card,
  .related-trades-card {
    padding: 1rem;
  }
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .detail-section-title {
    font-size: 1.25rem;
  }
  .detail-section-title .related-subtitle {
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  .detail-section-title {
    font-size: 1.1rem;
    white-space: nowrap;
  }
  .detail-value {
    font-size: 1rem;
  }
  .detail-value.highlight {
    font-size: 1.1rem;
  }
  .edit-btn,
  .delete-btn {
    font-size: 0.85rem;
    padding: 0.625rem 1rem;
  }
  .edit-btn span,
  .delete-btn span {
    display: none;
  }
  .edit-btn i,
  .delete-btn i {
    font-size: 1.3rem;
  }
}
.badge-exercised {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  background-color: rgba(237, 137, 54, 0.2);
  color: rgb(220.2739726027, 110.6849315068, 19.7260273973);
  margin-left: 6px;
  vertical-align: middle;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: help;
}
.badge-exercised i {
  font-size: 0.7rem;
}

.notional-summary-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}

.notional-block {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  max-height: 425px;
  min-width: 0;
}
.notional-block.is-collapsed {
  max-height: none;
}
.notional-block.is-collapsed .notional-block__header {
  margin-bottom: 0;
}
.notional-block__header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
}
.notional-block__header:hover .notional-block__toggle {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
}
.notional-block__header:focus-visible {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
  border-radius: 6px;
}
.notional-block__header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notional-block__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notional-block__title i {
  color: #6366f1;
  font-size: 0.95rem;
}
.notional-block__count {
  font-size: 0.75rem;
  color: #6b7280;
  background: #f3f4f6;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-weight: 500;
}
.notional-block__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #6b7280;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.notional-block__toggle i {
  font-size: 0.85rem;
  line-height: 1;
}
.notional-block__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}
.notional-block__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.notional-block__table th, .notional-block__table td {
  padding: 0.55rem 0.85rem;
  text-align: center;
  white-space: nowrap;
}
.notional-block__table thead th {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}
.notional-block__table tbody tr {
  transition: background-color 0.12s ease;
}
.notional-block__table tbody tr:hover {
  background: #f9fafb;
}
.notional-block__table tbody tr td {
  border-bottom: 1px solid #f3f4f6;
}
.notional-block__table th.col-days,
.notional-block__table td.col-days {
  width: 1%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.notional-block__table tbody td.col-short-call .notional-block__cell-value,
.notional-block__table tbody td.col-short-put .notional-block__cell-value {
  color: #b45309;
}
.notional-block__table tbody td.col-long-call .notional-block__cell-value,
.notional-block__table tbody td.col-long-put .notional-block__cell-value {
  color: #166534;
}
.notional-block__table th.col-itm,
.notional-block__table td.col-itm {
  width: 1%;
  padding-left: 0.4rem;
  padding-right: 0.9rem;
  border-right: 1px solid #eef0f2;
}
.notional-block__table th.col-itm:last-child,
.notional-block__table td.col-itm:last-child {
  border-right: 0;
}
.notional-block__table th.col-itm {
  font-size: 0.65rem;
}
.notional-block__table td.col-itm .notional-block__cell-value {
  color: #cbd5e0;
  font-variant-numeric: tabular-nums;
}
.notional-block__table td.col-itm.is-itm .notional-block__cell-value {
  font-weight: 700;
}
.notional-block__table td.col-itm--short.is-itm .notional-block__cell-value {
  color: #c53030;
}
.notional-block__table td.col-itm--long.is-itm .notional-block__cell-value {
  color: #166534;
}
.notional-block__table tfoot td {
  font-weight: 600;
  color: #111827;
}
.notional-block__table tfoot td {
  border-top: 2px solid #e5e7eb;
  padding-top: 0.75rem;
  background: #fafbfc;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-block__table .empty-cell {
  color: #d1d5db;
  font-weight: 400;
}
.notional-block__table thead th.is-sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.notional-block__table thead th.is-sortable:hover {
  color: #4338ca;
  background: #f5f3ff;
}
.notional-block__table thead th.is-sortable .sort-indicator {
  font-size: 0.7rem;
  margin-left: 0.35rem;
  color: #d1d5db;
  transition: color 0.12s ease;
  vertical-align: middle;
}
.notional-block__table thead th.is-sortable.is-sorted {
  color: #4338ca;
}
.notional-block__table thead th.is-sortable.is-sorted .sort-indicator {
  color: #4338ca;
}
.notional-block__cell-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  line-height: 1.2;
}
.notional-block__cell-value {
  line-height: 1.2;
}
.notional-block__cell-pct {
  font-size: 0.7rem;
  font-weight: 400;
  line-height: 1.2;
  color: #9ca3af;
}
.notional-block__days {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: 0.85rem;
  color: #6b7280;
}
.notional-block__key-badge {
  display: inline-block;
  padding: 0.25rem 0.65rem;
  background: #eef2ff;
  color: #4338ca;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.notional-block__table tbody td.is-clickable {
  cursor: pointer;
  transition: background-color 0.12s ease;
}
.notional-block__table tbody td.is-clickable:hover {
  background: #f5f3ff;
}
@media (max-width: 767.98px) {
  .notional-block {
    padding: 0.85rem 0.9rem 1rem;
    max-height: none;
  }
  .notional-block__title {
    font-size: 0.9rem;
  }
  .notional-block__cell-stack {
    align-items: flex-end;
  }
  .notional-block__cell-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }
  .notional-block__table {
    display: block;
  }
  .notional-block__table thead {
    display: none;
  }
  .notional-block__table tbody, .notional-block__table tfoot {
    display: block;
  }
  .notional-block__table tbody tr {
    display: block;
    padding: 0.7rem 0.85rem 0.75rem;
    margin-bottom: 0.6rem;
    background: #fff;
    border: 1px solid #ebedf0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  }
  .notional-block__table tbody tr:hover {
    background: #fff;
  }
  .notional-block__table tbody tr:last-child {
    margin-bottom: 0;
  }
  .notional-block__table td.col-key {
    display: block;
    padding: 0 0 0.55rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #f1f3f5;
    text-align: left;
  }
  .notional-block__table td.col-key::before {
    display: none;
  }
  .notional-block__table tbody td:not(.col-key) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.3rem 0;
    border: 0;
    white-space: nowrap;
  }
  .notional-block__table tbody td:not(.col-key)::before {
    content: attr(data-label);
    padding-left: 0.6rem;
    border-left: 3px solid #d1d5db;
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #6b7280;
    margin: 0;
  }
  .notional-block__table tbody td:not(.col-key):has(> .empty-cell) {
    display: none;
  }
  .notional-block__table tbody td.col-short-put::before,
  .notional-block__table tbody td.col-short-call::before {
    border-left-color: #f59e0b;
  }
  .notional-block__table tbody td.col-long-put::before,
  .notional-block__table tbody td.col-long-call::before {
    border-left-color: #22c55e;
  }
  .notional-block__table tbody td.col-itm,
  .notional-block__table tfoot td.col-itm {
    border-right: 0;
    padding-left: 0.85rem;
  }
  .notional-block__table tbody td.col-itm::before,
  .notional-block__table tfoot td.col-itm::before {
    border-left: 0;
    padding-left: 0;
    color: #9ca3af;
    font-weight: 500;
  }
  .notional-block__table tbody tr:has(td.col-days) {
    display: flex;
    flex-direction: column;
  }
  .notional-block__table tbody tr:has(td.col-days) td.col-key {
    order: -1;
  }
  .notional-block__table tbody td.col-days::before {
    border-left-color: #6366f1;
  }
  .notional-block__table tfoot td {
    position: static;
  }
  .notional-block__table tfoot tr {
    display: block;
    margin-top: 0.5rem;
    padding: 0.75rem 0.85rem;
    background: #f5f3ff;
    border: 1px solid #e0e7ff;
    border-radius: 12px;
  }
  .notional-block__table tfoot td.col-key {
    display: block;
    padding: 0 0 0.5rem;
    margin-bottom: 0.45rem;
    font-weight: 700;
    color: #4338ca;
    border-bottom: 1px solid #e0e7ff;
    text-align: left;
  }
  .notional-block__table tfoot td.col-key::before {
    display: none;
  }
  .notional-block__table tfoot td:not(.col-key) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3rem 0;
    border: 0;
  }
  .notional-block__table tfoot td:not(.col-key)::before {
    content: attr(data-label);
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #6b7280;
  }
  .notional-block__table tfoot td:not(.col-key):has(> .empty-cell) {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1399.98px) {
  .notional-summary-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .notional-block {
    padding: 1.25rem 1.5rem;
    max-height: 480px;
  }
  .notional-block__header {
    margin-bottom: 1rem;
  }
  .notional-block__title {
    font-size: 1rem;
  }
  .notional-block__table th, .notional-block__table td {
    padding: 0.7rem 1.1rem;
  }
  .notional-block__table thead th {
    font-size: 0.72rem;
  }
}
@media (max-width: 767.98px) {
  .notional-summary-grid {
    grid-template-columns: 1fr;
  }
}
.notional-breakdown-modal .modal-title-divider {
  color: #d1d5db;
  margin: 0 0.35rem;
  font-weight: 400;
}
.notional-breakdown-modal .modal-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
  padding: 0;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #4338ca;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease;
  vertical-align: middle;
}
.notional-breakdown-modal .modal-back-btn:hover {
  background: #eef2ff;
  border-color: #c7d2fe;
}
.notional-breakdown-modal .modal-back-btn i {
  font-size: 0.85rem;
}
.notional-breakdown-modal .series-history-modal-content .modal-body {
  max-height: 60vh;
  overflow-y: auto;
  padding: 0;
}
.notional-breakdown-modal .notional-breakdown-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.notional-breakdown-modal .notional-breakdown-table th, .notional-breakdown-modal .notional-breakdown-table td {
  padding: 1rem 1.25rem;
  text-align: center;
  white-space: nowrap;
  line-height: 1.4;
}
.notional-breakdown-modal .notional-breakdown-table thead th {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 2;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable:hover {
  color: #4338ca;
  background: #fafbfc;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable .sort-indicator {
  font-size: 0.7rem;
  margin-left: 0.35rem;
  color: #d1d5db;
  transition: color 0.12s ease;
  vertical-align: middle;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable.is-sorted {
  color: #4338ca;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable.is-sorted .sort-indicator {
  color: #4338ca;
}
.notional-breakdown-modal .notional-breakdown-table tbody td {
  border-bottom: 1px solid #f3f4f6;
  color: #111827;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr {
  transition: background-color 0.12s ease;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr:hover {
  background: #fafafa;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr.is-clickable {
  cursor: pointer;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr.is-clickable:hover {
  background: #f5f3ff;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-value {
  font-variant-numeric: tabular-nums;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty {
  font-weight: 600;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty.text-positive {
  color: #16a34a;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty.text-negative {
  color: #dc2626;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-pct {
  color: #6b7280;
  font-variant-numeric: tabular-nums;
}
.notional-breakdown-modal .notional-breakdown-table tfoot td {
  border-top: 2px solid #e5e7eb;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 700;
  color: #111827;
  background: #fafbfc;
  font-variant-numeric: tabular-nums;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-breakdown-modal .notional-trade-cards__sort-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafbfc;
}
.notional-breakdown-modal .sort-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.65rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: 1;
}
.notional-breakdown-modal .sort-chip:hover {
  border-color: #c7d2fe;
  color: #4338ca;
}
.notional-breakdown-modal .sort-chip--active {
  background: #eef2ff;
  border-color: #c7d2fe;
  color: #4338ca;
}
.notional-breakdown-modal .sort-chip__direction {
  font-size: 0.85rem;
  line-height: 1;
  color: inherit;
}
.notional-breakdown-modal .sort-chip__priority {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.3rem;
  background: #4338ca;
  color: #fff;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
}
.notional-breakdown-modal .notional-trade-cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}
.notional-breakdown-modal .notional-trade-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 0.95rem 1.1rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.notional-breakdown-modal .notional-trade-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 2px 8px rgba(67, 56, 202, 0.08);
}
.notional-breakdown-modal .notional-trade-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #f3f4f6;
}
.notional-breakdown-modal .notional-trade-card__notional {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.notional-breakdown-modal .notional-trade-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.75rem;
  margin: 0;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dt {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0;
  line-height: 1.2;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd.text-positive {
  color: #16a34a;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd.text-negative {
  color: #dc2626;
}
.notional-breakdown-modal .notional-trade-cards__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  border-top: 2px solid #e5e7eb;
  background: #fafbfc;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-breakdown-modal .notional-trade-cards__footer > span:last-child {
  font-size: 1.05rem;
}

.itm-series-modal .itm-modal__flag {
  color: #c53030;
  font-weight: 700;
}
.itm-series-modal .itm-modal__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.75rem;
  margin: 0;
  padding: 0.95rem 1.25rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafbfc;
}
.itm-series-modal .itm-modal__stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.itm-series-modal .itm-modal__stat dt {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0;
  line-height: 1.2;
}
.itm-series-modal .itm-modal__stat dd {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.itm-series-modal .itm-modal__stat-share {
  color: #c53030;
}
.itm-series-modal .itm-modal__cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}
.itm-series-modal .itm-modal__identity {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.itm-series-modal .itm-modal__ticker {
  font-size: 0.75rem;
  font-weight: 600;
  color: #9ca3af;
  letter-spacing: 0.02em;
}
.itm-series-modal .notional-trade-card__header .strike-moneyness {
  margin-top: 0;
}
.itm-series-modal .itm-modal__quote {
  color: #4a5568;
}
.itm-series-modal .itm-modal__depth {
  margin-top: 0.8rem;
  height: 3px;
  background: #f3f4f6;
  border-radius: 999px;
  overflow: hidden;
}
.itm-series-modal .itm-modal__depth-fill {
  height: 100%;
  background: #c53030;
  border-radius: 999px;
}

.notional-breakdown-modal.itm-series-modal .notional-trade-card__metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.notional-breakdown-modal.itm-series-modal .notional-trade-card:hover {
  border-color: #e5e7eb;
  box-shadow: none;
}

.realized-pnl-chart-slot {
  display: block;
}

.realized-pnl-chart {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__header {
  margin-bottom: 0;
}
.realized-pnl-chart__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
  flex-wrap: wrap;
}
.realized-pnl-chart__header:hover .realized-pnl-chart__toggle {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
}
.realized-pnl-chart__header:focus-visible {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
  border-radius: 6px;
}
.realized-pnl-chart__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #111827;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.realized-pnl-chart__title i {
  color: #38a169;
}
.realized-pnl-chart__header-actions {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
.realized-pnl-chart__stat {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.1;
}
.realized-pnl-chart__stat-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  font-weight: 600;
}
.realized-pnl-chart__stat-value {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-value.is-positive {
  color: #38a169;
}
.realized-pnl-chart__stat-value.is-negative {
  color: #e53e3e;
}
.realized-pnl-chart__stat-value.is-net {
  color: #667eea;
}
.realized-pnl-chart__stat-share {
  margin-top: 0.2rem;
  padding: 0.05rem 0.35rem;
  border-radius: 0.4rem;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-share.is-positive {
  color: #38a169;
  background: rgba(56, 161, 105, 0.12);
}
.realized-pnl-chart__stat-share.is-negative {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.12);
}
.realized-pnl-chart__stat-share.is-net {
  color: #667eea;
  background: rgba(102, 126, 234, 0.12);
}
.realized-pnl-chart__stat-avg {
  margin-top: 0.2rem;
  font-size: 0.6rem;
  font-weight: 600;
  color: #9ca3af;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-sub {
  font-size: 0.65rem;
  font-weight: 500;
  color: #6b7280;
  margin-left: 0.25rem;
}
.realized-pnl-chart__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 28px;
  height: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  background: #fff;
  color: #6b7280;
  transition: all 0.15s ease;
}
.realized-pnl-chart__toggle i {
  font-size: 0.85rem;
  transition: transform 0.2s ease;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__toggle i {
  transform: rotate(180deg);
}
.realized-pnl-chart__body {
  overflow: hidden;
  transition: max-height 0.25s ease;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__body {
  display: none;
}
.realized-pnl-chart__svg {
  width: 100%;
  height: auto;
  display: block;
  max-height: 460px;
  overflow: visible;
}
.realized-pnl-chart__gridline {
  stroke: #e5e7eb;
  stroke-width: 1;
  stroke-dasharray: 2 4;
}
.realized-pnl-chart__gridline.is-zero {
  stroke: #94a3b8;
  stroke-width: 1.25;
  stroke-dasharray: none;
}
.realized-pnl-chart__axis-line {
  stroke: #cbd5e1;
  stroke-width: 1;
}
.realized-pnl-chart__axis-label {
  fill: #6b7280;
  font-size: 11px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}
.realized-pnl-chart__area {
  fill: rgba(56, 161, 105, 0.24);
  stroke: none;
}
.realized-pnl-chart__area--negative {
  fill: rgba(229, 62, 62, 0.18);
}
.realized-pnl-chart__line {
  fill: none;
  stroke: #38a169;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.realized-pnl-chart__line--negative {
  stroke: #e53e3e;
}
.realized-pnl-chart__line--net {
  stroke: #667eea;
}
.realized-pnl-chart__point {
  fill: #fff;
  stroke: #38a169;
  stroke-width: 2;
  transition: r 0.15s ease, fill 0.15s ease;
  cursor: pointer;
}
.realized-pnl-chart__point:hover {
  fill: #38a169;
  r: 6;
}
.realized-pnl-chart__point--negative {
  stroke: #e53e3e;
}
.realized-pnl-chart__point--negative:hover {
  fill: #e53e3e;
}
.realized-pnl-chart__point--net {
  stroke: #667eea;
}
.realized-pnl-chart__point--net:hover {
  fill: #667eea;
}
.realized-pnl-chart__body {
  position: relative;
}
.realized-pnl-chart__tooltip {
  position: absolute;
  pointer-events: none;
  background: #111827;
  color: #f9fafb;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 10;
}
.realized-pnl-chart__tooltip[hidden] {
  display: none;
}

.short-pnl-chart .short-pnl-chart__bar {
  transition: opacity 0.15s ease;
}
.short-pnl-chart .short-pnl-chart__bar:hover {
  opacity: 0.85;
}
.short-pnl-chart .short-pnl-chart__bar--put {
  fill: #667eea;
}
.short-pnl-chart .short-pnl-chart__bar--call {
  fill: #ed8936;
}
.short-pnl-chart .short-pnl-chart__bar--loss {
  opacity: 0.6;
}
.short-pnl-chart .short-pnl-chart__bar--loss:hover {
  opacity: 0.8;
}
.short-pnl-chart .short-pnl-chart__value--put {
  color: #667eea;
}
.short-pnl-chart .short-pnl-chart__value--call {
  color: #ed8936;
}
.short-pnl-chart .short-pnl-chart__legend-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  margin-right: 0.25rem;
  vertical-align: middle;
}
.short-pnl-chart .short-pnl-chart__legend-dot--put {
  background: #667eea;
}
.short-pnl-chart .short-pnl-chart__legend-dot--call {
  background: #ed8936;
}
.short-pnl-chart .short-pnl-chart__legend-dot--loss {
  opacity: 0.6;
}

@media (max-width: 576px) {
  .realized-pnl-chart {
    padding: 0.75rem;
  }
  .realized-pnl-chart__header-actions {
    gap: 0.5rem;
    width: 100%;
    justify-content: flex-end;
  }
  .realized-pnl-chart__stat-label {
    font-size: 0.6rem;
  }
  .realized-pnl-chart__stat-value {
    font-size: 0.8rem;
  }
}
.notional-summary-card {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
  border: 2px solid rgba(102, 126, 234, 0.3);
  border-radius: 16px;
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: 0 4px 20px rgba(102, 126, 234, 0.15);
}

.notional-summary-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgba(102, 126, 234, 0.2);
}
.notional-summary-header i {
  font-size: 1.5rem;
  color: #667eea;
}
.notional-summary-header .notional-summary-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #2d3748;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.notional-summary-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.notional-summary-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a5568;
  text-align: center;
}

.notional-summary-value {
  font-size: 2.5rem;
  font-weight: 700;
  color: #667eea;
  text-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.notional-summary-count {
  font-size: 0.875rem;
  font-weight: 600;
  color: #718096;
  background: rgba(255, 255, 255, 0.8);
  padding: 0.5rem 1rem;
  border-radius: 8px;
}

.related-trades-wrapper {
  overflow-x: auto;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
}
.related-trades-wrapper::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.related-trades-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.related-trades-wrapper::-webkit-scrollbar-thumb {
  background: #667eea;
  border-radius: 4px;
}
.related-trades-wrapper::-webkit-scrollbar-thumb:hover {
  background: #5568d3;
}

.related-trades-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.related-trades-table thead {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.related-trades-table thead tr th {
  padding: 1rem;
  text-align: center;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
.related-trades-table tbody tr {
  transition: all 0.2s ease;
  border-bottom: 1px solid #e2e8f0;
}
.related-trades-table tbody tr:hover {
  background-color: rgba(102, 126, 234, 0.05);
}
.related-trades-table tbody tr:last-child {
  border-bottom: none;
}
.related-trades-table tbody tr td {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  color: #2d3748;
  white-space: nowrap;
}
.related-trades-table tbody tr td.trade-total {
  font-weight: 700;
  color: #667eea;
}
.related-trades-table tbody tr td.trade-notional {
  font-weight: 700;
  color: #764ba2;
  font-size: 0.9rem;
}

.view-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.view-link i {
  font-size: 0.875rem;
}
.view-link {
  background: transparent;
  color: #667eea;
}
.view-link:hover {
  background: rgba(102, 126, 234, 0.15);
  color: #5568d3;
  text-decoration: none;
}
.view-link {
  padding: 0.375rem 0.75rem;
  font-weight: 600;
}
.view-link i {
  font-size: 1.1rem;
}
.view-link:hover {
  transform: scale(1.1);
}

.edit-link-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  background: rgba(237, 137, 54, 0.1);
  color: #c05621;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s ease;
  margin-left: 0.5rem;
}
.edit-link-small i {
  font-size: 1rem;
}
.edit-link-small:hover {
  background: rgba(237, 137, 54, 0.2);
  color: #9c4221;
  text-decoration: none;
  transform: scale(1.1);
}

.empty-related {
  padding: 3rem;
  text-align: center;
}
.empty-related i {
  font-size: 3rem;
  color: #718096;
  margin-bottom: 1rem;
  display: block;
}
.empty-related p {
  color: #4a5568;
  font-size: 1rem;
  margin: 0;
}

@media (max-width: 768px) {
  .notional-summary-card {
    padding: 1rem;
  }
  .notional-summary-value {
    font-size: 2rem;
  }
  .related-trades-table {
    font-size: 0.75rem;
  }
  .related-trades-table thead tr th,
  .related-trades-table tbody tr td {
    padding: 0.5rem;
  }
}
@media (max-width: 480px) {
  .notional-summary-value {
    font-size: 1.75rem;
  }
  .notional-summary-label {
    font-size: 0.75rem;
  }
  .notional-summary-count {
    font-size: 0.75rem;
  }
}
.trade-detail-container {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.trade-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  gap: 1.5rem;
}

.trade-detail-title {
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.trade-detail-title i {
  font-size: 1.8rem;
}
.trade-detail-title .title-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
}
.trade-detail-title .title-link:hover {
  color: rgba(255, 255, 255, 0.85);
  transform: translateX(4px);
  text-decoration: none;
}

.trade-detail-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.series-info {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  text-decoration: none;
}
.series-info i {
  font-size: 1.1rem;
  opacity: 0.85;
}
.series-info:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  color: #ffffff;
  text-decoration: none;
}

.edit-btn,
.delete-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  border: none;
  cursor: pointer;
  font-size: 0.95rem;
}
.edit-btn i,
.delete-btn i {
  font-size: 1.1rem;
}
.edit-btn:hover,
.delete-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.edit-btn {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.edit-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  text-decoration: none;
}

.delete-btn {
  background: rgba(229, 62, 62, 0.9);
  color: #ffffff;
}
.delete-btn:hover {
  background: #e53e3e;
  color: #ffffff;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  font-size: 0.95rem;
}
.back-link i {
  font-size: 1.1rem;
}
.back-link:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.trade-detail-main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.trade-detail-card,
.related-trades-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.detail-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}
.detail-section-header .detail-section-title {
  margin-bottom: 0;
}
@media (max-width: 480px) {
  .detail-section-header {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
  .detail-section-header .detail-section-title {
    flex: 1 1 100%;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

.detail-section-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 480px) {
  .detail-section-actions {
    width: 100%;
    gap: 0.375rem;
  }
  .detail-section-actions .sort-expiration-btn,
  .detail-section-actions .toggle-inactive-btn,
  .detail-section-actions .consolidated-filter-btn,
  .detail-section-actions .consolidated-sort-btn,
  .detail-section-actions .consolidated-clear-btn,
  .detail-section-actions .yield-calculator-btn {
    font-size: 0.75rem;
    padding: 0.375rem 0.5rem;
  }
  .detail-section-actions .sort-expiration-btn span,
  .detail-section-actions .toggle-inactive-btn span,
  .detail-section-actions .consolidated-filter-btn span,
  .detail-section-actions .consolidated-sort-btn span,
  .detail-section-actions .consolidated-clear-btn span,
  .detail-section-actions .yield-calculator-btn span {
    display: none;
  }
  .detail-section-actions .consolidated-filter-wrapper,
  .detail-section-actions .consolidated-sort-wrapper {
    flex: none;
  }
  .detail-section-actions .ordering-toggle-pill .ordering-toggle-option {
    font-size: 0.62rem;
    padding: 0.3rem 0.5rem;
  }
  .detail-section-actions .reorder-series-btn {
    width: 28px;
    height: 28px;
    margin-left: 0;
  }
}

.toggle-inactive-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.toggle-inactive-btn i {
  font-size: 0.9rem;
}
.toggle-inactive-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.toggle-inactive-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.toggle-inactive-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.2);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.active .toggle-inactive-count {
  background: rgba(255, 255, 255, 0.25);
}
.toggle-inactive-count:empty {
  display: none;
}

.sort-expiration-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.sort-expiration-btn i {
  font-size: 0.9rem;
}
.sort-expiration-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.sort-expiration-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.consolidated-filter-wrapper {
  position: relative;
}

.consolidated-filter-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-filter-btn i {
  font-size: 0.9rem;
}
.consolidated-filter-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.consolidated-filter-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.consolidated-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.2);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.active .consolidated-filter-badge {
  background: rgba(255, 255, 255, 0.25);
}
.consolidated-filter-badge:empty {
  display: none;
}

.consolidated-clear-btn {
  display: none;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(229, 62, 62, 0.1);
  border: 1px solid rgba(229, 62, 62, 0.3);
  border-radius: 8px;
  color: #e53e3e;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-clear-btn i {
  font-size: 0.9rem;
}
.consolidated-clear-btn.visible {
  display: inline-flex;
}
.consolidated-clear-btn:hover {
  background: rgba(229, 62, 62, 0.18);
  border-color: #e53e3e;
}

.consolidated-filter-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  width: 280px;
  max-width: calc(100vw - 2rem);
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  z-index: 100;
  display: none;
  padding: 0.5rem 0;
}
.consolidated-filter-dropdown.visible {
  display: block;
}

.filter-section {
  padding: 1rem 1.5rem;
}
.filter-section + .filter-section {
  border-top: 1px solid rgba(226, 232, 240, 0.6);
}

.filter-section-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #718096;
  margin-bottom: 0.5rem;
}
.filter-section-label i {
  font-size: 0.75rem;
}

.filter-chips {
  display: flex;
  gap: 0.5rem;
}

.filter-chip {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.75rem;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
  background: rgba(74, 85, 104, 0.1);
  color: #2d3748;
  border: 1.5px solid rgba(74, 85, 104, 0.08);
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-chip:hover {
  background: rgba(102, 126, 234, 0.08);
  border-color: rgba(102, 126, 234, 0.25);
  color: #667eea;
}
.filter-chip.active {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}

.filter-chip-group {
  display: flex;
  gap: 0.5rem;
}

.filter-chip-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.filter-chip-input:checked + .filter-chip {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}
.filter-chip-input:focus-visible + .filter-chip {
  outline: 2px solid rgba(102, 126, 234, 0.5);
  outline-offset: 2px;
}

.filter-chip--star {
  gap: 0.35rem;
}
.filter-chip--star i {
  font-size: 0.85em;
  line-height: 1;
}

.filter-chip-group--wrap {
  flex-wrap: wrap;
}
.filter-chip-group--wrap .filter-chip {
  flex: 1 1 calc(50% - 0.5rem);
}
@media (max-width: 576px) {
  .filter-chip-group--wrap .filter-chip {
    flex-basis: 100%;
  }
}

.filter-chip--amber i {
  color: #eab308;
}

.filter-chip--green i {
  color: #15803d;
}

.filter-chip--danger i {
  color: #e53e3e;
}

.filter-chip-input:checked + .filter-chip--amber i,
.filter-chip-input:checked + .filter-chip--green i,
.filter-chip-input:checked + .filter-chip--danger i {
  color: #ffffff;
}

.filter-chip--exercise {
  flex: 0 0 auto;
  gap: 0.35rem;
}
.filter-chip--exercise i {
  font-size: 0.85em;
  line-height: 1;
}

.filter-option-list {
  display: flex;
  flex-direction: column;
  max-height: 160px;
  overflow-y: auto;
  gap: 1px;
}

.filter-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.filter-range-input {
  flex: 1;
  min-width: 0;
  padding: 0.4rem 0.6rem;
  border: 1.5px solid rgba(74, 85, 104, 0.18);
  border-radius: 8px;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.filter-range-input::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.filter-range-input::placeholder {
  color: #718096;
  font-weight: 400;
}
.filter-range-input:focus {
  outline: none;
  border-color: rgba(102, 126, 234, 0.55);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.12);
}

.filter-range-sep {
  flex: 0 0 auto;
  font-size: 0.72rem;
  color: #718096;
}

.filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.45rem 0.5rem;
  background: none;
  border: none;
  border-radius: 8px;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.12s ease;
}
.filter-option .bi-check2 {
  opacity: 0;
  color: #667eea;
  font-size: 0.9rem;
  transition: opacity 0.12s ease;
}
.filter-option:hover {
  background: rgba(102, 126, 234, 0.05);
  color: #2d3748;
}
.filter-option.active {
  color: #667eea;
  font-weight: 600;
  background: rgba(102, 126, 234, 0.06);
}
.filter-option.active .bi-check2 {
  opacity: 1;
}

.filter-clear-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  border: none;
  border-top: 1px solid rgba(226, 232, 240, 0.6);
  font-size: 0.75rem;
  font-weight: 500;
  color: #718096;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s ease;
  margin-top: 0.25rem;
}
.filter-clear-btn i {
  font-size: 0.8rem;
}
.filter-clear-btn:hover {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.04);
}

tr.hidden-by-type,
tr.hidden-by-filter,
tr.hidden-by-exclusion {
  display: none;
}

.detail-section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0 0 2rem 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
}
.detail-section-title i {
  font-size: 1.4rem;
  color: #667eea;
}
.detail-section-title .section-count {
  font-size: 1rem;
  font-weight: 500;
  color: #718096;
}
.detail-section-title .related-subtitle {
  margin-left: auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: #4a5568;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.375rem 1rem;
  border-radius: 8px;
}
.detail-section-title .consolidated-active-count {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.65rem 0.2rem 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.12), rgba(118, 75, 162, 0.12));
  border: 1px solid rgba(102, 126, 234, 0.18);
  color: #5568d3;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  vertical-align: middle;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #38a169;
  box-shadow: 0 0 0 3px rgba(56, 161, 105, 0.18);
  flex-shrink: 0;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-value {
  font-size: 0.8rem;
  font-weight: 700;
  color: #5568d3;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-label {
  font-weight: 500;
  color: #4a5568;
  text-transform: lowercase;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}
.detail-grid.detail-grid-1col {
  grid-template-columns: 1fr;
  margin-bottom: 1.5rem;
}
.detail-grid.detail-grid-2cols {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 1.5rem;
}
@media (max-width: 576px) {
  .detail-grid.detail-grid-2cols {
    grid-template-columns: 1fr;
  }
}
.detail-grid.detail-grid-3cols {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .detail-grid.detail-grid-3cols {
    grid-template-columns: 1fr;
  }
}
.detail-grid.detail-grid-4cols {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 1.5rem;
}
@media (max-width: 992px) {
  .detail-grid.detail-grid-4cols {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .detail-grid.detail-grid-4cols {
    grid-template-columns: 1fr;
  }
}

.detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.detail-item:hover {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgb(209.1931818182, 218.6704545455, 231.3068181818);
}
.detail-item .detail-label {
  color: #4a5568;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
}
.detail-item .detail-label i {
  font-size: 1rem;
  color: #718096;
}
.detail-item .detail-value {
  color: #2d3748;
  font-weight: 700;
  font-size: 1.15rem;
}
.detail-item.detail-item-closed {
  border-left: 3px solid #f56565;
}
.detail-item.detail-item-closed .detail-value {
  color: #c53030;
}
.detail-item.detail-item-expiration {
  border-left: 3px solid #ed8936;
}
.detail-item.detail-item-expiration .detail-value {
  color: #9c4221;
}
.detail-item.detail-item-premium {
  border-left: 3px solid #667eea;
}
.detail-item.detail-item-premium .detail-value {
  color: #667eea;
}
.detail-item.detail-item-premium .detail-formula {
  font-size: 0.65rem;
  font-weight: 600;
  color: #718096;
  background: rgba(0, 0, 0, 0.04);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-family: "Courier New", monospace;
  margin-top: 0.25rem;
  display: inline-block;
}
.detail-item.detail-item-positive {
  border-left: 3px solid #38a169;
}
.detail-item.detail-item-positive .detail-value {
  color: #2f855a;
}
.detail-item.detail-item-negative {
  border-left: 3px solid #e53e3e;
}
.detail-item.detail-item-negative .detail-value {
  color: #c53030;
}
.detail-item.detail-item-strike {
  border-left: 3px solid #718096;
}
.detail-item.detail-item-strike .detail-value {
  color: #2d3748;
}
.detail-item.detail-item-clickable {
  cursor: pointer;
}
.detail-item.detail-item-clickable:active {
  transform: scale(0.98);
}
.detail-item.detail-item-split {
  flex-direction: row;
  align-items: stretch;
  gap: 1rem;
}
.detail-item.detail-item-split .detail-item-left {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
  justify-content: center;
}
.detail-item.detail-item-split .detail-item-right {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  justify-content: center;
}
.detail-item.detail-item-split .detail-sub-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.detail-item.detail-item-split .detail-sub-item--highlight .detail-sub-value {
  color: #38a169;
}
.detail-item.detail-item-split .detail-sub-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: inherit;
  opacity: 0.7;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 110px;
}
.detail-item.detail-item-split .detail-sub-label i {
  font-size: 0.75rem;
}
.detail-item.detail-item-split .committed-expiration-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0.25rem 0 0.25rem 0.5rem;
  margin-left: 0.5rem;
  border-left: 2px solid rgba(237, 137, 54, 0.3);
  max-height: 140px;
  overflow-y: auto;
}
.detail-item.detail-item-split .committed-expiration-item {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.68rem;
  color: #4a5568;
}
.detail-item.detail-item-split .committed-expiration-code {
  font-weight: 600;
  color: #2d3748;
}
.detail-item.detail-item-split .committed-expiration-qty {
  font-weight: 700;
  color: #ed8936;
  text-align: right;
}
.detail-item.detail-item-split .committed-expiration-strike {
  font-weight: 500;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
  font-size: 0.65rem;
  white-space: nowrap;
  text-align: right;
}
.detail-item.detail-item-split .committed-expiration-date {
  font-weight: 500;
  color: #718096;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.detail-item.detail-item-split .detail-sub-value {
  font-size: 0.85rem;
  font-weight: 700;
  color: inherit;
}
.detail-item.detail-item-split .detail-sub-value.text-warning {
  color: #ed8936;
}

.cotas-value-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cotas-value-row .asset-type-badge {
  margin-top: 0;
  align-self: center;
}

.asset-type-badge {
  display: inline-block;
  align-self: flex-start;
  margin-top: 6px;
  padding: 2px 8px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 4px;
  text-transform: uppercase;
}
.asset-type-badge.asset-type-acao {
  color: #39408f;
  background: #e0e3fb;
  box-shadow: inset 0 0 0 1px rgba(102, 126, 234, 0.55);
}
.asset-type-badge.asset-type-fii {
  color: #4a2d6b;
  background: #ece0f5;
  box-shadow: inset 0 0 0 1px rgba(118, 75, 162, 0.55);
}
.asset-type-badge.asset-type-etf {
  color: #8a3a0a;
  background: #ffe2cc;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}

.cotas-deriv {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.cotas-deriv-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 5px 11px;
  border-radius: 12px;
  font-size: 0.62rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  min-width: 0;
}
.cotas-deriv-chip .cotas-deriv-head {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.cotas-deriv-chip i {
  font-size: 0.7rem;
}
.cotas-deriv-chip .cotas-deriv-qty {
  font-size: 0.75rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.cotas-deriv-chip .cotas-deriv-total {
  font-size: 0.66rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}
.cotas-deriv-chip--put {
  color: #8a5a0a;
  background: #fff1d6;
  box-shadow: inset 0 0 0 1px rgba(237, 137, 54, 0.4);
}
.cotas-deriv-chip--call {
  color: #1f6f48;
  background: #d8f3e3;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.4);
}

.detail-breakdown-mini {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.65rem;
  font-weight: 600;
  margin-top: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 4px;
}
.detail-breakdown-mini .mini-buy {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  color: #38a169;
}
.detail-breakdown-mini .mini-buy i {
  font-size: 0.75rem;
}
.detail-breakdown-mini .mini-sell {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  color: #e53e3e;
}
.detail-breakdown-mini .mini-sell i {
  font-size: 0.75rem;
}
.detail-breakdown-mini .mini-separator {
  color: #718096;
  font-weight: 700;
}

.detail-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.detail-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2d3748;
}
.detail-value.highlight {
  color: #667eea;
  font-size: 1.25rem;
}

.cv-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
}
.cv-badge.buy {
  background: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.cv-badge.sell {
  background: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}

.trade-badge {
  display: inline-flex;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.trade-badge.buy {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.sell {
  background-color: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}
.trade-badge.call {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.put {
  background-color: #ffe2cc;
  color: #8a3a0a;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}

@media (max-width: 768px) {
  .trade-detail-container {
    padding: 1rem;
  }
  .trade-detail-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .trade-detail-title {
    font-size: 1.5rem;
  }
  .trade-detail-actions {
    width: 100%;
  }
  .trade-detail-actions .edit-btn,
  .trade-detail-actions .delete-btn {
    flex: 1;
    justify-content: center;
  }
  .series-info {
    font-size: 1.1rem;
    padding: 0.375rem 1rem;
  }
  .trade-detail-card,
  .related-trades-card {
    padding: 1rem;
  }
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .detail-section-title {
    font-size: 1.25rem;
  }
  .detail-section-title .related-subtitle {
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  .detail-section-title {
    font-size: 1.1rem;
    white-space: nowrap;
  }
  .detail-value {
    font-size: 1rem;
  }
  .detail-value.highlight {
    font-size: 1.1rem;
  }
  .edit-btn,
  .delete-btn {
    font-size: 0.85rem;
    padding: 0.625rem 1rem;
  }
  .edit-btn span,
  .delete-btn span {
    display: none;
  }
  .edit-btn i,
  .delete-btn i {
    font-size: 1.3rem;
  }
}
.badge-exercised {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  background-color: rgba(237, 137, 54, 0.2);
  color: rgb(220.2739726027, 110.6849315068, 19.7260273973);
  margin-left: 6px;
  vertical-align: middle;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: help;
}
.badge-exercised i {
  font-size: 0.7rem;
}

.notional-summary-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}

.notional-block {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  max-height: 425px;
  min-width: 0;
}
.notional-block.is-collapsed {
  max-height: none;
}
.notional-block.is-collapsed .notional-block__header {
  margin-bottom: 0;
}
.notional-block__header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
}
.notional-block__header:hover .notional-block__toggle {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
}
.notional-block__header:focus-visible {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
  border-radius: 6px;
}
.notional-block__header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notional-block__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notional-block__title i {
  color: #6366f1;
  font-size: 0.95rem;
}
.notional-block__count {
  font-size: 0.75rem;
  color: #6b7280;
  background: #f3f4f6;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-weight: 500;
}
.notional-block__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #6b7280;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.notional-block__toggle i {
  font-size: 0.85rem;
  line-height: 1;
}
.notional-block__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}
.notional-block__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.notional-block__table th, .notional-block__table td {
  padding: 0.55rem 0.85rem;
  text-align: center;
  white-space: nowrap;
}
.notional-block__table thead th {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}
.notional-block__table tbody tr {
  transition: background-color 0.12s ease;
}
.notional-block__table tbody tr:hover {
  background: #f9fafb;
}
.notional-block__table tbody tr td {
  border-bottom: 1px solid #f3f4f6;
}
.notional-block__table th.col-days,
.notional-block__table td.col-days {
  width: 1%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.notional-block__table tbody td.col-short-call .notional-block__cell-value,
.notional-block__table tbody td.col-short-put .notional-block__cell-value {
  color: #b45309;
}
.notional-block__table tbody td.col-long-call .notional-block__cell-value,
.notional-block__table tbody td.col-long-put .notional-block__cell-value {
  color: #166534;
}
.notional-block__table th.col-itm,
.notional-block__table td.col-itm {
  width: 1%;
  padding-left: 0.4rem;
  padding-right: 0.9rem;
  border-right: 1px solid #eef0f2;
}
.notional-block__table th.col-itm:last-child,
.notional-block__table td.col-itm:last-child {
  border-right: 0;
}
.notional-block__table th.col-itm {
  font-size: 0.65rem;
}
.notional-block__table td.col-itm .notional-block__cell-value {
  color: #cbd5e0;
  font-variant-numeric: tabular-nums;
}
.notional-block__table td.col-itm.is-itm .notional-block__cell-value {
  font-weight: 700;
}
.notional-block__table td.col-itm--short.is-itm .notional-block__cell-value {
  color: #c53030;
}
.notional-block__table td.col-itm--long.is-itm .notional-block__cell-value {
  color: #166534;
}
.notional-block__table tfoot td {
  font-weight: 600;
  color: #111827;
}
.notional-block__table tfoot td {
  border-top: 2px solid #e5e7eb;
  padding-top: 0.75rem;
  background: #fafbfc;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-block__table .empty-cell {
  color: #d1d5db;
  font-weight: 400;
}
.notional-block__table thead th.is-sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.notional-block__table thead th.is-sortable:hover {
  color: #4338ca;
  background: #f5f3ff;
}
.notional-block__table thead th.is-sortable .sort-indicator {
  font-size: 0.7rem;
  margin-left: 0.35rem;
  color: #d1d5db;
  transition: color 0.12s ease;
  vertical-align: middle;
}
.notional-block__table thead th.is-sortable.is-sorted {
  color: #4338ca;
}
.notional-block__table thead th.is-sortable.is-sorted .sort-indicator {
  color: #4338ca;
}
.notional-block__cell-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  line-height: 1.2;
}
.notional-block__cell-value {
  line-height: 1.2;
}
.notional-block__cell-pct {
  font-size: 0.7rem;
  font-weight: 400;
  line-height: 1.2;
  color: #9ca3af;
}
.notional-block__days {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: 0.85rem;
  color: #6b7280;
}
.notional-block__key-badge {
  display: inline-block;
  padding: 0.25rem 0.65rem;
  background: #eef2ff;
  color: #4338ca;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.notional-block__table tbody td.is-clickable {
  cursor: pointer;
  transition: background-color 0.12s ease;
}
.notional-block__table tbody td.is-clickable:hover {
  background: #f5f3ff;
}
@media (max-width: 767.98px) {
  .notional-block {
    padding: 0.85rem 0.9rem 1rem;
    max-height: none;
  }
  .notional-block__title {
    font-size: 0.9rem;
  }
  .notional-block__cell-stack {
    align-items: flex-end;
  }
  .notional-block__cell-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }
  .notional-block__table {
    display: block;
  }
  .notional-block__table thead {
    display: none;
  }
  .notional-block__table tbody, .notional-block__table tfoot {
    display: block;
  }
  .notional-block__table tbody tr {
    display: block;
    padding: 0.7rem 0.85rem 0.75rem;
    margin-bottom: 0.6rem;
    background: #fff;
    border: 1px solid #ebedf0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  }
  .notional-block__table tbody tr:hover {
    background: #fff;
  }
  .notional-block__table tbody tr:last-child {
    margin-bottom: 0;
  }
  .notional-block__table td.col-key {
    display: block;
    padding: 0 0 0.55rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #f1f3f5;
    text-align: left;
  }
  .notional-block__table td.col-key::before {
    display: none;
  }
  .notional-block__table tbody td:not(.col-key) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.3rem 0;
    border: 0;
    white-space: nowrap;
  }
  .notional-block__table tbody td:not(.col-key)::before {
    content: attr(data-label);
    padding-left: 0.6rem;
    border-left: 3px solid #d1d5db;
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #6b7280;
    margin: 0;
  }
  .notional-block__table tbody td:not(.col-key):has(> .empty-cell) {
    display: none;
  }
  .notional-block__table tbody td.col-short-put::before,
  .notional-block__table tbody td.col-short-call::before {
    border-left-color: #f59e0b;
  }
  .notional-block__table tbody td.col-long-put::before,
  .notional-block__table tbody td.col-long-call::before {
    border-left-color: #22c55e;
  }
  .notional-block__table tbody td.col-itm,
  .notional-block__table tfoot td.col-itm {
    border-right: 0;
    padding-left: 0.85rem;
  }
  .notional-block__table tbody td.col-itm::before,
  .notional-block__table tfoot td.col-itm::before {
    border-left: 0;
    padding-left: 0;
    color: #9ca3af;
    font-weight: 500;
  }
  .notional-block__table tbody tr:has(td.col-days) {
    display: flex;
    flex-direction: column;
  }
  .notional-block__table tbody tr:has(td.col-days) td.col-key {
    order: -1;
  }
  .notional-block__table tbody td.col-days::before {
    border-left-color: #6366f1;
  }
  .notional-block__table tfoot td {
    position: static;
  }
  .notional-block__table tfoot tr {
    display: block;
    margin-top: 0.5rem;
    padding: 0.75rem 0.85rem;
    background: #f5f3ff;
    border: 1px solid #e0e7ff;
    border-radius: 12px;
  }
  .notional-block__table tfoot td.col-key {
    display: block;
    padding: 0 0 0.5rem;
    margin-bottom: 0.45rem;
    font-weight: 700;
    color: #4338ca;
    border-bottom: 1px solid #e0e7ff;
    text-align: left;
  }
  .notional-block__table tfoot td.col-key::before {
    display: none;
  }
  .notional-block__table tfoot td:not(.col-key) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3rem 0;
    border: 0;
  }
  .notional-block__table tfoot td:not(.col-key)::before {
    content: attr(data-label);
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #6b7280;
  }
  .notional-block__table tfoot td:not(.col-key):has(> .empty-cell) {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1399.98px) {
  .notional-summary-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .notional-block {
    padding: 1.25rem 1.5rem;
    max-height: 480px;
  }
  .notional-block__header {
    margin-bottom: 1rem;
  }
  .notional-block__title {
    font-size: 1rem;
  }
  .notional-block__table th, .notional-block__table td {
    padding: 0.7rem 1.1rem;
  }
  .notional-block__table thead th {
    font-size: 0.72rem;
  }
}
@media (max-width: 767.98px) {
  .notional-summary-grid {
    grid-template-columns: 1fr;
  }
}
.notional-breakdown-modal .modal-title-divider {
  color: #d1d5db;
  margin: 0 0.35rem;
  font-weight: 400;
}
.notional-breakdown-modal .modal-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
  padding: 0;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #4338ca;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease;
  vertical-align: middle;
}
.notional-breakdown-modal .modal-back-btn:hover {
  background: #eef2ff;
  border-color: #c7d2fe;
}
.notional-breakdown-modal .modal-back-btn i {
  font-size: 0.85rem;
}
.notional-breakdown-modal .series-history-modal-content .modal-body {
  max-height: 60vh;
  overflow-y: auto;
  padding: 0;
}
.notional-breakdown-modal .notional-breakdown-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.notional-breakdown-modal .notional-breakdown-table th, .notional-breakdown-modal .notional-breakdown-table td {
  padding: 1rem 1.25rem;
  text-align: center;
  white-space: nowrap;
  line-height: 1.4;
}
.notional-breakdown-modal .notional-breakdown-table thead th {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 2;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable:hover {
  color: #4338ca;
  background: #fafbfc;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable .sort-indicator {
  font-size: 0.7rem;
  margin-left: 0.35rem;
  color: #d1d5db;
  transition: color 0.12s ease;
  vertical-align: middle;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable.is-sorted {
  color: #4338ca;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable.is-sorted .sort-indicator {
  color: #4338ca;
}
.notional-breakdown-modal .notional-breakdown-table tbody td {
  border-bottom: 1px solid #f3f4f6;
  color: #111827;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr {
  transition: background-color 0.12s ease;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr:hover {
  background: #fafafa;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr.is-clickable {
  cursor: pointer;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr.is-clickable:hover {
  background: #f5f3ff;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-value {
  font-variant-numeric: tabular-nums;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty {
  font-weight: 600;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty.text-positive {
  color: #16a34a;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty.text-negative {
  color: #dc2626;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-pct {
  color: #6b7280;
  font-variant-numeric: tabular-nums;
}
.notional-breakdown-modal .notional-breakdown-table tfoot td {
  border-top: 2px solid #e5e7eb;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 700;
  color: #111827;
  background: #fafbfc;
  font-variant-numeric: tabular-nums;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-breakdown-modal .notional-trade-cards__sort-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafbfc;
}
.notional-breakdown-modal .sort-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.65rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: 1;
}
.notional-breakdown-modal .sort-chip:hover {
  border-color: #c7d2fe;
  color: #4338ca;
}
.notional-breakdown-modal .sort-chip--active {
  background: #eef2ff;
  border-color: #c7d2fe;
  color: #4338ca;
}
.notional-breakdown-modal .sort-chip__direction {
  font-size: 0.85rem;
  line-height: 1;
  color: inherit;
}
.notional-breakdown-modal .sort-chip__priority {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.3rem;
  background: #4338ca;
  color: #fff;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
}
.notional-breakdown-modal .notional-trade-cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}
.notional-breakdown-modal .notional-trade-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 0.95rem 1.1rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.notional-breakdown-modal .notional-trade-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 2px 8px rgba(67, 56, 202, 0.08);
}
.notional-breakdown-modal .notional-trade-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #f3f4f6;
}
.notional-breakdown-modal .notional-trade-card__notional {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.notional-breakdown-modal .notional-trade-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.75rem;
  margin: 0;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dt {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0;
  line-height: 1.2;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd.text-positive {
  color: #16a34a;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd.text-negative {
  color: #dc2626;
}
.notional-breakdown-modal .notional-trade-cards__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  border-top: 2px solid #e5e7eb;
  background: #fafbfc;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-breakdown-modal .notional-trade-cards__footer > span:last-child {
  font-size: 1.05rem;
}

.itm-series-modal .itm-modal__flag {
  color: #c53030;
  font-weight: 700;
}
.itm-series-modal .itm-modal__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.75rem;
  margin: 0;
  padding: 0.95rem 1.25rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafbfc;
}
.itm-series-modal .itm-modal__stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.itm-series-modal .itm-modal__stat dt {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0;
  line-height: 1.2;
}
.itm-series-modal .itm-modal__stat dd {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.itm-series-modal .itm-modal__stat-share {
  color: #c53030;
}
.itm-series-modal .itm-modal__cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}
.itm-series-modal .itm-modal__identity {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.itm-series-modal .itm-modal__ticker {
  font-size: 0.75rem;
  font-weight: 600;
  color: #9ca3af;
  letter-spacing: 0.02em;
}
.itm-series-modal .notional-trade-card__header .strike-moneyness {
  margin-top: 0;
}
.itm-series-modal .itm-modal__quote {
  color: #4a5568;
}
.itm-series-modal .itm-modal__depth {
  margin-top: 0.8rem;
  height: 3px;
  background: #f3f4f6;
  border-radius: 999px;
  overflow: hidden;
}
.itm-series-modal .itm-modal__depth-fill {
  height: 100%;
  background: #c53030;
  border-radius: 999px;
}

.notional-breakdown-modal.itm-series-modal .notional-trade-card__metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.notional-breakdown-modal.itm-series-modal .notional-trade-card:hover {
  border-color: #e5e7eb;
  box-shadow: none;
}

.realized-pnl-chart-slot {
  display: block;
}

.realized-pnl-chart {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__header {
  margin-bottom: 0;
}
.realized-pnl-chart__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
  flex-wrap: wrap;
}
.realized-pnl-chart__header:hover .realized-pnl-chart__toggle {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
}
.realized-pnl-chart__header:focus-visible {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
  border-radius: 6px;
}
.realized-pnl-chart__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #111827;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.realized-pnl-chart__title i {
  color: #38a169;
}
.realized-pnl-chart__header-actions {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
.realized-pnl-chart__stat {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.1;
}
.realized-pnl-chart__stat-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  font-weight: 600;
}
.realized-pnl-chart__stat-value {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-value.is-positive {
  color: #38a169;
}
.realized-pnl-chart__stat-value.is-negative {
  color: #e53e3e;
}
.realized-pnl-chart__stat-value.is-net {
  color: #667eea;
}
.realized-pnl-chart__stat-share {
  margin-top: 0.2rem;
  padding: 0.05rem 0.35rem;
  border-radius: 0.4rem;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-share.is-positive {
  color: #38a169;
  background: rgba(56, 161, 105, 0.12);
}
.realized-pnl-chart__stat-share.is-negative {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.12);
}
.realized-pnl-chart__stat-share.is-net {
  color: #667eea;
  background: rgba(102, 126, 234, 0.12);
}
.realized-pnl-chart__stat-avg {
  margin-top: 0.2rem;
  font-size: 0.6rem;
  font-weight: 600;
  color: #9ca3af;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-sub {
  font-size: 0.65rem;
  font-weight: 500;
  color: #6b7280;
  margin-left: 0.25rem;
}
.realized-pnl-chart__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 28px;
  height: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  background: #fff;
  color: #6b7280;
  transition: all 0.15s ease;
}
.realized-pnl-chart__toggle i {
  font-size: 0.85rem;
  transition: transform 0.2s ease;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__toggle i {
  transform: rotate(180deg);
}
.realized-pnl-chart__body {
  overflow: hidden;
  transition: max-height 0.25s ease;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__body {
  display: none;
}
.realized-pnl-chart__svg {
  width: 100%;
  height: auto;
  display: block;
  max-height: 460px;
  overflow: visible;
}
.realized-pnl-chart__gridline {
  stroke: #e5e7eb;
  stroke-width: 1;
  stroke-dasharray: 2 4;
}
.realized-pnl-chart__gridline.is-zero {
  stroke: #94a3b8;
  stroke-width: 1.25;
  stroke-dasharray: none;
}
.realized-pnl-chart__axis-line {
  stroke: #cbd5e1;
  stroke-width: 1;
}
.realized-pnl-chart__axis-label {
  fill: #6b7280;
  font-size: 11px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}
.realized-pnl-chart__area {
  fill: rgba(56, 161, 105, 0.24);
  stroke: none;
}
.realized-pnl-chart__area--negative {
  fill: rgba(229, 62, 62, 0.18);
}
.realized-pnl-chart__line {
  fill: none;
  stroke: #38a169;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.realized-pnl-chart__line--negative {
  stroke: #e53e3e;
}
.realized-pnl-chart__line--net {
  stroke: #667eea;
}
.realized-pnl-chart__point {
  fill: #fff;
  stroke: #38a169;
  stroke-width: 2;
  transition: r 0.15s ease, fill 0.15s ease;
  cursor: pointer;
}
.realized-pnl-chart__point:hover {
  fill: #38a169;
  r: 6;
}
.realized-pnl-chart__point--negative {
  stroke: #e53e3e;
}
.realized-pnl-chart__point--negative:hover {
  fill: #e53e3e;
}
.realized-pnl-chart__point--net {
  stroke: #667eea;
}
.realized-pnl-chart__point--net:hover {
  fill: #667eea;
}
.realized-pnl-chart__body {
  position: relative;
}
.realized-pnl-chart__tooltip {
  position: absolute;
  pointer-events: none;
  background: #111827;
  color: #f9fafb;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 10;
}
.realized-pnl-chart__tooltip[hidden] {
  display: none;
}

.short-pnl-chart .short-pnl-chart__bar {
  transition: opacity 0.15s ease;
}
.short-pnl-chart .short-pnl-chart__bar:hover {
  opacity: 0.85;
}
.short-pnl-chart .short-pnl-chart__bar--put {
  fill: #667eea;
}
.short-pnl-chart .short-pnl-chart__bar--call {
  fill: #ed8936;
}
.short-pnl-chart .short-pnl-chart__bar--loss {
  opacity: 0.6;
}
.short-pnl-chart .short-pnl-chart__bar--loss:hover {
  opacity: 0.8;
}
.short-pnl-chart .short-pnl-chart__value--put {
  color: #667eea;
}
.short-pnl-chart .short-pnl-chart__value--call {
  color: #ed8936;
}
.short-pnl-chart .short-pnl-chart__legend-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  margin-right: 0.25rem;
  vertical-align: middle;
}
.short-pnl-chart .short-pnl-chart__legend-dot--put {
  background: #667eea;
}
.short-pnl-chart .short-pnl-chart__legend-dot--call {
  background: #ed8936;
}
.short-pnl-chart .short-pnl-chart__legend-dot--loss {
  opacity: 0.6;
}

@media (max-width: 576px) {
  .realized-pnl-chart {
    padding: 0.75rem;
  }
  .realized-pnl-chart__header-actions {
    gap: 0.5rem;
    width: 100%;
    justify-content: flex-end;
  }
  .realized-pnl-chart__stat-label {
    font-size: 0.6rem;
  }
  .realized-pnl-chart__stat-value {
    font-size: 0.8rem;
  }
}
.simulators-row > .calculator-card {
  margin-top: 3rem;
}

.series-info {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  backdrop-filter: blur(10px);
}
.series-info i {
  font-size: 1.1rem;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.625rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.status-badge.open {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.status-badge.open i {
  color: #1b5e36;
}
.status-badge.closed {
  background-color: #e2e6ea;
  color: #41505f;
  box-shadow: inset 0 0 0 1px rgba(113, 128, 150, 0.55);
}
.status-badge.closed i {
  color: #41505f;
}

.quick-trade-card {
  margin-top: 3rem;
}

.quick-trade-form {
  margin-top: 1rem;
}
.quick-trade-form .quick-trade-field {
  transition: opacity 0.15s ease;
}
.quick-trade-form:has(:is(input:not([type=hidden]), select, textarea):focus) .quick-trade-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.quick-trade-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  align-items: end;
}
@media (max-width: 768px) {
  .quick-trade-grid {
    grid-template-columns: 1fr;
  }
}

.quick-trade-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.quick-trade-input,
.quick-trade-select {
  padding: 1rem 1.5rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
  background: #ffffff;
  transition: all 0.3s ease;
}
.quick-trade-input:focus,
.quick-trade-select:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.quick-trade-input::-moz-placeholder, .quick-trade-select::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.quick-trade-input::placeholder,
.quick-trade-select::placeholder {
  color: #718096;
  font-weight: 400;
}

.quick-trade-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 3rem;
}

.quick-trade-submit {
  display: flex;
  align-items: flex-end;
}

.quick-trade-btn {
  width: 100%;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}
.quick-trade-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}
.quick-trade-btn:active {
  transform: translateY(0);
}

.simulators-row {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
  align-items: flex-start;
}
.simulators-row .calculator-card,
.simulators-row .pnl-calculator-card {
  flex: 1;
  margin-top: 0;
}
.simulators-row .quick-trade-card {
  flex: 1;
  margin-top: 0;
}
.simulators-row .quick-trade-card .quick-trade-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.simulators-row .quick-trade-card .quick-trade-grid .quick-trade-submit {
  grid-column: 1/-1;
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 992px) {
  .simulators-row {
    flex-direction: column;
  }
}
.related-trades-card {
  margin-top: 3rem;
}

.related-trades-wrapper {
  overflow-x: auto;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
}
.related-trades-wrapper::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.related-trades-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.related-trades-wrapper::-webkit-scrollbar-thumb {
  background: #667eea;
  border-radius: 4px;
}
.related-trades-wrapper::-webkit-scrollbar-thumb:hover {
  background: #5568d3;
}

.related-trades-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.related-trades-table thead {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.related-trades-table thead tr th {
  padding: 1rem;
  text-align: center;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
.related-trades-table tbody tr {
  transition: all 0.2s ease;
  border-bottom: 1px solid #e2e8f0;
}
.related-trades-table tbody tr:hover {
  background-color: rgba(102, 126, 234, 0.05);
}
.related-trades-table tbody tr:last-child {
  border-bottom: none;
}
.related-trades-table tbody tr td {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  color: #2d3748;
  white-space: nowrap;
}
.related-trades-table tbody tr td.trade-total {
  font-weight: 700;
  color: #667eea;
}
.related-trades-table tbody tr td.trade-notional {
  font-weight: 700;
  color: #764ba2;
  font-size: 0.9rem;
}
.related-trades-table tbody tr td.trade-pnl {
  font-weight: 700;
  font-size: 0.9rem;
}
.related-trades-table tbody tr td.trade-pnl .pnl-positive {
  color: #38a169;
}
.related-trades-table tbody tr td.trade-pnl .pnl-negative {
  color: #e53e3e;
}
.related-trades-table tbody tr.closed-trade {
  opacity: 0.6;
  background-color: rgba(0, 0, 0, 0.02);
}
.related-trades-table tbody tr.closed-trade:hover {
  opacity: 0.8;
  background-color: rgba(102, 126, 234, 0.05);
}

.view-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.view-link i {
  font-size: 0.875rem;
}
.view-link {
  background: transparent;
  color: #667eea;
}
.view-link:hover {
  background: rgba(102, 126, 234, 0.15);
  color: #5568d3;
  text-decoration: none;
}
.view-link {
  padding: 0.375rem 0.75rem;
  font-weight: 600;
}
.view-link i {
  font-size: 1.1rem;
}
.view-link:hover {
  transform: scale(1.1);
}

.edit-link-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.edit-link-small i {
  font-size: 0.875rem;
}
.edit-link-small {
  background: transparent;
  color: #2b6cb0;
}
.edit-link-small:hover {
  background: rgba(66, 153, 225, 0.15);
  color: #2c5282;
  text-decoration: none;
}
.edit-link-small {
  padding: 0.375rem 0.75rem;
  font-weight: 600;
}
.edit-link-small i {
  font-size: 1rem;
}
.edit-link-small:hover {
  transform: scale(1.1);
}

form:has(.delete-link-small) {
  display: inline;
  margin-left: 0.5rem;
}

.delete-link-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.delete-link-small i {
  font-size: 0.875rem;
}
.delete-link-small {
  background: transparent;
  color: #c53030;
  border: none;
  cursor: pointer;
}
.delete-link-small:hover {
  background: rgba(229, 62, 62, 0.15);
  color: #9b2c2c;
}
.delete-link-small {
  padding: 0.375rem 0.75rem;
  font-weight: 600;
}
.delete-link-small i {
  font-size: 1rem;
}
.delete-link-small:hover {
  transform: scale(1.1);
}

.reorder-indicator {
  background: none;
  border: none;
  padding: 0 0.25rem;
  cursor: pointer;
  color: #718096;
  font-size: 0.8rem;
  vertical-align: middle;
  transition: color 0.2s;
}
.reorder-indicator:hover {
  color: #667eea;
}

.empty-related {
  padding: 3rem;
  text-align: center;
}
.empty-related i {
  font-size: 3rem;
  color: #718096;
  margin-bottom: 1rem;
  display: block;
}
.empty-related p {
  color: #4a5568;
  font-size: 1rem;
  margin: 0;
}

.calculator-description {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a5568;
  padding: 1rem;
  background: rgba(102, 126, 234, 0.05);
  border-radius: 8px;
  border-left: 4px solid #667eea;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.calculator-description i {
  color: #667eea;
  font-size: 1rem;
}

.simulators-row .calculator-content {
  margin-top: 1rem;
}
.simulators-row .detail-grid.calculator-grid.calculator-grid {
  display: flex;
  grid-template-columns: none;
  flex-wrap: nowrap;
  gap: 1.5rem;
  align-items: flex-end;
}
.simulators-row .detail-grid.calculator-grid.calculator-grid .calculator-input-wrapper {
  flex: 0 0 100px;
  min-width: 0;
}
.simulators-row .detail-grid.calculator-grid.calculator-grid .calculator-result-wrapper {
  flex: 1;
  min-width: 0;
}
.simulators-row .detail-grid.calculator-grid.calculator-grid .calculator-result-wrapper .detail-label {
  white-space: nowrap;
}
@media (max-width: 768px) {
  .simulators-row .detail-grid.calculator-grid.calculator-grid {
    flex-direction: column;
    align-items: stretch;
  }
}
.simulators-row .calculator-input-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.simulators-row .calculator-input-wrapper .calculator-input {
  width: 100%;
  padding: 1rem 1.5rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1.25rem;
  font-weight: 600;
  color: #2d3748;
  background: #ffffff;
  transition: all 0.3s ease;
  box-sizing: border-box;
}
.simulators-row .calculator-input-wrapper .calculator-input:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
.simulators-row .calculator-input-wrapper .calculator-input::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.simulators-row .calculator-input-wrapper .calculator-input::placeholder {
  color: #718096;
  font-weight: 400;
}
.simulators-row .calculator-result-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.simulators-row .calculator-result-wrapper .calculator-result {
  font-size: 1.75rem;
  font-weight: 700;
  color: #667eea;
}
.simulators-row .calculator-result-wrapper.calculator-diff-positive .calculator-result {
  color: #38a169;
}
.simulators-row .calculator-result-wrapper.calculator-diff-negative .calculator-result {
  color: #e53e3e;
}

@media (max-width: 768px) {
  .related-trades-table {
    font-size: 0.75rem;
  }
  .related-trades-table thead tr th,
  .related-trades-table tbody tr td {
    padding: 0.5rem;
  }
}
.simulators-row .pnl-calculator-card {
  margin-top: 0;
}
.simulators-row .detail-grid.pnl-calculator-grid.pnl-calculator-grid {
  display: flex;
  grid-template-columns: none;
  flex-wrap: nowrap;
  gap: 1.5rem;
  align-items: flex-end;
}
.simulators-row .detail-grid.pnl-calculator-grid.pnl-calculator-grid .calculator-input-wrapper,
.simulators-row .detail-grid.pnl-calculator-grid.pnl-calculator-grid .calculator-result-wrapper {
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  .simulators-row .detail-grid.pnl-calculator-grid.pnl-calculator-grid {
    flex-direction: column;
    align-items: stretch;
  }
}
.simulators-row .pnl-result-wrapper {
  background: rgba(102, 126, 234, 0.08);
  padding: 1rem;
  border-radius: 8px;
}
.simulators-row .detail-grid.pnl-calculator-grid.pnl-calculator-grid .calculator-result-wrapper {
  padding: 1rem;
  background: rgba(102, 126, 234, 0.08);
  border-radius: 8px;
}
.simulators-row .calculator-result.pnl-value.pnl-value {
  font-size: 1.25rem;
  font-weight: 700;
  transition: color 0.3s ease;
}
.simulators-row .calculator-result.pnl-value.pnl-value.pnl-positive {
  color: #38a169;
}
.simulators-row .calculator-result.pnl-value.pnl-value.pnl-negative {
  color: #e53e3e;
}

#option_series_table tbody tr[data-option-code] {
  cursor: copy;
}

.row-copy-toast {
  position: fixed;
  z-index: 2000;
  transform: translate(-50%, -140%) scale(0.9);
  padding: 0.3rem 0.6rem;
  background: rgba(102, 126, 234, 0.95);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.18s ease-out, transform 0.18s ease-out;
}
.row-copy-toast i {
  margin-right: 0.25rem;
}
.row-copy-toast--in {
  opacity: 1;
  transform: translate(-50%, -160%) scale(1);
}

#option_series_table tbody tr.row-has-close {
  border-bottom: 0;
}

#option_series_table tbody tr.row-highlighted + tr.option-close-row {
  border-left: 5px solid #eab308;
  border-right: 5px solid #eab308;
}
#option_series_table tbody tr.row-highlighted--green + tr.option-close-row {
  border-left: 5px solid #15803d;
  border-right: 5px solid #15803d;
}
#option_series_table tbody tr.row-highlighted--danger + tr.option-close-row {
  border-left: 5px solid #e53e3e;
  border-right: 5px solid #e53e3e;
}
#option_series_table tbody tr.row-expired-pending + tr.option-close-row {
  border-left: 5px solid #f59e0b;
  background-color: rgba(245, 158, 11, 0.18);
}
#option_series_table tbody tr.row-guide-highlight + tr.option-close-row {
  background-color: rgba(147, 51, 234, 0.28);
}

.option-close-row > td {
  padding: 0 0.75rem 0.6rem 1rem;
  border-top: 0;
}
.option-close-row .option-close {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-size: 0.8rem;
  line-height: 1.2;
  color: #475569;
}
.option-close-row__marker {
  color: #94a3b8;
  font-size: 0.85rem;
  margin-right: 0.15rem;
}
.option-close-row__body {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.option-close-row__label {
  color: #64748b;
}
.option-close-row__dot {
  color: #cbd5e1;
}
.option-close-row__qty, .option-close-row__pm, .option-close-row__since, .option-close-row__days {
  color: #334155;
  font-weight: 600;
}
.option-close-row__pnl {
  margin-left: auto;
  font-weight: 700;
  white-space: nowrap;
}
.option-close-row--profit .option-close__pnl {
  color: #38a169;
}
.option-close-row--loss .option-close__pnl {
  color: #e53e3e;
}
.option-close-row--neutral .option-close__pnl {
  color: #475569;
}

.trade-detail-container {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.trade-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  gap: 1.5rem;
}

.trade-detail-title {
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.trade-detail-title i {
  font-size: 1.8rem;
}
.trade-detail-title .title-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
}
.trade-detail-title .title-link:hover {
  color: rgba(255, 255, 255, 0.85);
  transform: translateX(4px);
  text-decoration: none;
}

.trade-detail-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.series-info {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  text-decoration: none;
}
.series-info i {
  font-size: 1.1rem;
  opacity: 0.85;
}
.series-info:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  color: #ffffff;
  text-decoration: none;
}

.edit-btn,
.delete-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  border: none;
  cursor: pointer;
  font-size: 0.95rem;
}
.edit-btn i,
.delete-btn i {
  font-size: 1.1rem;
}
.edit-btn:hover,
.delete-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.edit-btn {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.edit-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  text-decoration: none;
}

.delete-btn {
  background: rgba(229, 62, 62, 0.9);
  color: #ffffff;
}
.delete-btn:hover {
  background: #e53e3e;
  color: #ffffff;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  font-size: 0.95rem;
}
.back-link i {
  font-size: 1.1rem;
}
.back-link:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.trade-detail-main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.trade-detail-card,
.related-trades-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.detail-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}
.detail-section-header .detail-section-title {
  margin-bottom: 0;
}
@media (max-width: 480px) {
  .detail-section-header {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
  .detail-section-header .detail-section-title {
    flex: 1 1 100%;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

.detail-section-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 480px) {
  .detail-section-actions {
    width: 100%;
    gap: 0.375rem;
  }
  .detail-section-actions .sort-expiration-btn,
  .detail-section-actions .toggle-inactive-btn,
  .detail-section-actions .consolidated-filter-btn,
  .detail-section-actions .consolidated-sort-btn,
  .detail-section-actions .consolidated-clear-btn,
  .detail-section-actions .yield-calculator-btn {
    font-size: 0.75rem;
    padding: 0.375rem 0.5rem;
  }
  .detail-section-actions .sort-expiration-btn span,
  .detail-section-actions .toggle-inactive-btn span,
  .detail-section-actions .consolidated-filter-btn span,
  .detail-section-actions .consolidated-sort-btn span,
  .detail-section-actions .consolidated-clear-btn span,
  .detail-section-actions .yield-calculator-btn span {
    display: none;
  }
  .detail-section-actions .consolidated-filter-wrapper,
  .detail-section-actions .consolidated-sort-wrapper {
    flex: none;
  }
  .detail-section-actions .ordering-toggle-pill .ordering-toggle-option {
    font-size: 0.62rem;
    padding: 0.3rem 0.5rem;
  }
  .detail-section-actions .reorder-series-btn {
    width: 28px;
    height: 28px;
    margin-left: 0;
  }
}

.toggle-inactive-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.toggle-inactive-btn i {
  font-size: 0.9rem;
}
.toggle-inactive-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.toggle-inactive-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.toggle-inactive-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.2);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.active .toggle-inactive-count {
  background: rgba(255, 255, 255, 0.25);
}
.toggle-inactive-count:empty {
  display: none;
}

.sort-expiration-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.sort-expiration-btn i {
  font-size: 0.9rem;
}
.sort-expiration-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.sort-expiration-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.consolidated-filter-wrapper {
  position: relative;
}

.consolidated-filter-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-filter-btn i {
  font-size: 0.9rem;
}
.consolidated-filter-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.consolidated-filter-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.consolidated-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.2);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.active .consolidated-filter-badge {
  background: rgba(255, 255, 255, 0.25);
}
.consolidated-filter-badge:empty {
  display: none;
}

.consolidated-clear-btn {
  display: none;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(229, 62, 62, 0.1);
  border: 1px solid rgba(229, 62, 62, 0.3);
  border-radius: 8px;
  color: #e53e3e;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-clear-btn i {
  font-size: 0.9rem;
}
.consolidated-clear-btn.visible {
  display: inline-flex;
}
.consolidated-clear-btn:hover {
  background: rgba(229, 62, 62, 0.18);
  border-color: #e53e3e;
}

.consolidated-filter-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  width: 280px;
  max-width: calc(100vw - 2rem);
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  z-index: 100;
  display: none;
  padding: 0.5rem 0;
}
.consolidated-filter-dropdown.visible {
  display: block;
}

.filter-section {
  padding: 1rem 1.5rem;
}
.filter-section + .filter-section {
  border-top: 1px solid rgba(226, 232, 240, 0.6);
}

.filter-section-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #718096;
  margin-bottom: 0.5rem;
}
.filter-section-label i {
  font-size: 0.75rem;
}

.filter-chips {
  display: flex;
  gap: 0.5rem;
}

.filter-chip {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.75rem;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
  background: rgba(74, 85, 104, 0.1);
  color: #2d3748;
  border: 1.5px solid rgba(74, 85, 104, 0.08);
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-chip:hover {
  background: rgba(102, 126, 234, 0.08);
  border-color: rgba(102, 126, 234, 0.25);
  color: #667eea;
}
.filter-chip.active {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}

.filter-chip-group {
  display: flex;
  gap: 0.5rem;
}

.filter-chip-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.filter-chip-input:checked + .filter-chip {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}
.filter-chip-input:focus-visible + .filter-chip {
  outline: 2px solid rgba(102, 126, 234, 0.5);
  outline-offset: 2px;
}

.filter-chip--star {
  gap: 0.35rem;
}
.filter-chip--star i {
  font-size: 0.85em;
  line-height: 1;
}

.filter-chip-group--wrap {
  flex-wrap: wrap;
}
.filter-chip-group--wrap .filter-chip {
  flex: 1 1 calc(50% - 0.5rem);
}
@media (max-width: 576px) {
  .filter-chip-group--wrap .filter-chip {
    flex-basis: 100%;
  }
}

.filter-chip--amber i {
  color: #eab308;
}

.filter-chip--green i {
  color: #15803d;
}

.filter-chip--danger i {
  color: #e53e3e;
}

.filter-chip-input:checked + .filter-chip--amber i,
.filter-chip-input:checked + .filter-chip--green i,
.filter-chip-input:checked + .filter-chip--danger i {
  color: #ffffff;
}

.filter-chip--exercise {
  flex: 0 0 auto;
  gap: 0.35rem;
}
.filter-chip--exercise i {
  font-size: 0.85em;
  line-height: 1;
}

.filter-option-list {
  display: flex;
  flex-direction: column;
  max-height: 160px;
  overflow-y: auto;
  gap: 1px;
}

.filter-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.filter-range-input {
  flex: 1;
  min-width: 0;
  padding: 0.4rem 0.6rem;
  border: 1.5px solid rgba(74, 85, 104, 0.18);
  border-radius: 8px;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.filter-range-input::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.filter-range-input::placeholder {
  color: #718096;
  font-weight: 400;
}
.filter-range-input:focus {
  outline: none;
  border-color: rgba(102, 126, 234, 0.55);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.12);
}

.filter-range-sep {
  flex: 0 0 auto;
  font-size: 0.72rem;
  color: #718096;
}

.filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.45rem 0.5rem;
  background: none;
  border: none;
  border-radius: 8px;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.12s ease;
}
.filter-option .bi-check2 {
  opacity: 0;
  color: #667eea;
  font-size: 0.9rem;
  transition: opacity 0.12s ease;
}
.filter-option:hover {
  background: rgba(102, 126, 234, 0.05);
  color: #2d3748;
}
.filter-option.active {
  color: #667eea;
  font-weight: 600;
  background: rgba(102, 126, 234, 0.06);
}
.filter-option.active .bi-check2 {
  opacity: 1;
}

.filter-clear-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  border: none;
  border-top: 1px solid rgba(226, 232, 240, 0.6);
  font-size: 0.75rem;
  font-weight: 500;
  color: #718096;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s ease;
  margin-top: 0.25rem;
}
.filter-clear-btn i {
  font-size: 0.8rem;
}
.filter-clear-btn:hover {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.04);
}

tr.hidden-by-type,
tr.hidden-by-filter,
tr.hidden-by-exclusion {
  display: none;
}

.detail-section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0 0 2rem 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
}
.detail-section-title i {
  font-size: 1.4rem;
  color: #667eea;
}
.detail-section-title .section-count {
  font-size: 1rem;
  font-weight: 500;
  color: #718096;
}
.detail-section-title .related-subtitle {
  margin-left: auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: #4a5568;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.375rem 1rem;
  border-radius: 8px;
}
.detail-section-title .consolidated-active-count {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.65rem 0.2rem 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.12), rgba(118, 75, 162, 0.12));
  border: 1px solid rgba(102, 126, 234, 0.18);
  color: #5568d3;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  vertical-align: middle;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #38a169;
  box-shadow: 0 0 0 3px rgba(56, 161, 105, 0.18);
  flex-shrink: 0;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-value {
  font-size: 0.8rem;
  font-weight: 700;
  color: #5568d3;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-label {
  font-weight: 500;
  color: #4a5568;
  text-transform: lowercase;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}
.detail-grid.detail-grid-1col {
  grid-template-columns: 1fr;
  margin-bottom: 1.5rem;
}
.detail-grid.detail-grid-2cols {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 1.5rem;
}
@media (max-width: 576px) {
  .detail-grid.detail-grid-2cols {
    grid-template-columns: 1fr;
  }
}
.detail-grid.detail-grid-3cols {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .detail-grid.detail-grid-3cols {
    grid-template-columns: 1fr;
  }
}
.detail-grid.detail-grid-4cols {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 1.5rem;
}
@media (max-width: 992px) {
  .detail-grid.detail-grid-4cols {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .detail-grid.detail-grid-4cols {
    grid-template-columns: 1fr;
  }
}

.detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.detail-item:hover {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgb(209.1931818182, 218.6704545455, 231.3068181818);
}
.detail-item .detail-label {
  color: #4a5568;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
}
.detail-item .detail-label i {
  font-size: 1rem;
  color: #718096;
}
.detail-item .detail-value {
  color: #2d3748;
  font-weight: 700;
  font-size: 1.15rem;
}
.detail-item.detail-item-closed {
  border-left: 3px solid #f56565;
}
.detail-item.detail-item-closed .detail-value {
  color: #c53030;
}
.detail-item.detail-item-expiration {
  border-left: 3px solid #ed8936;
}
.detail-item.detail-item-expiration .detail-value {
  color: #9c4221;
}
.detail-item.detail-item-premium {
  border-left: 3px solid #667eea;
}
.detail-item.detail-item-premium .detail-value {
  color: #667eea;
}
.detail-item.detail-item-premium .detail-formula {
  font-size: 0.65rem;
  font-weight: 600;
  color: #718096;
  background: rgba(0, 0, 0, 0.04);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-family: "Courier New", monospace;
  margin-top: 0.25rem;
  display: inline-block;
}
.detail-item.detail-item-positive {
  border-left: 3px solid #38a169;
}
.detail-item.detail-item-positive .detail-value {
  color: #2f855a;
}
.detail-item.detail-item-negative {
  border-left: 3px solid #e53e3e;
}
.detail-item.detail-item-negative .detail-value {
  color: #c53030;
}
.detail-item.detail-item-strike {
  border-left: 3px solid #718096;
}
.detail-item.detail-item-strike .detail-value {
  color: #2d3748;
}
.detail-item.detail-item-clickable {
  cursor: pointer;
}
.detail-item.detail-item-clickable:active {
  transform: scale(0.98);
}
.detail-item.detail-item-split {
  flex-direction: row;
  align-items: stretch;
  gap: 1rem;
}
.detail-item.detail-item-split .detail-item-left {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
  justify-content: center;
}
.detail-item.detail-item-split .detail-item-right {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  justify-content: center;
}
.detail-item.detail-item-split .detail-sub-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.detail-item.detail-item-split .detail-sub-item--highlight .detail-sub-value {
  color: #38a169;
}
.detail-item.detail-item-split .detail-sub-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: inherit;
  opacity: 0.7;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 110px;
}
.detail-item.detail-item-split .detail-sub-label i {
  font-size: 0.75rem;
}
.detail-item.detail-item-split .committed-expiration-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0.25rem 0 0.25rem 0.5rem;
  margin-left: 0.5rem;
  border-left: 2px solid rgba(237, 137, 54, 0.3);
  max-height: 140px;
  overflow-y: auto;
}
.detail-item.detail-item-split .committed-expiration-item {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.68rem;
  color: #4a5568;
}
.detail-item.detail-item-split .committed-expiration-code {
  font-weight: 600;
  color: #2d3748;
}
.detail-item.detail-item-split .committed-expiration-qty {
  font-weight: 700;
  color: #ed8936;
  text-align: right;
}
.detail-item.detail-item-split .committed-expiration-strike {
  font-weight: 500;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
  font-size: 0.65rem;
  white-space: nowrap;
  text-align: right;
}
.detail-item.detail-item-split .committed-expiration-date {
  font-weight: 500;
  color: #718096;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.detail-item.detail-item-split .detail-sub-value {
  font-size: 0.85rem;
  font-weight: 700;
  color: inherit;
}
.detail-item.detail-item-split .detail-sub-value.text-warning {
  color: #ed8936;
}

.cotas-value-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cotas-value-row .asset-type-badge {
  margin-top: 0;
  align-self: center;
}

.asset-type-badge {
  display: inline-block;
  align-self: flex-start;
  margin-top: 6px;
  padding: 2px 8px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 4px;
  text-transform: uppercase;
}
.asset-type-badge.asset-type-acao {
  color: #39408f;
  background: #e0e3fb;
  box-shadow: inset 0 0 0 1px rgba(102, 126, 234, 0.55);
}
.asset-type-badge.asset-type-fii {
  color: #4a2d6b;
  background: #ece0f5;
  box-shadow: inset 0 0 0 1px rgba(118, 75, 162, 0.55);
}
.asset-type-badge.asset-type-etf {
  color: #8a3a0a;
  background: #ffe2cc;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}

.cotas-deriv {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.cotas-deriv-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 5px 11px;
  border-radius: 12px;
  font-size: 0.62rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  min-width: 0;
}
.cotas-deriv-chip .cotas-deriv-head {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.cotas-deriv-chip i {
  font-size: 0.7rem;
}
.cotas-deriv-chip .cotas-deriv-qty {
  font-size: 0.75rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.cotas-deriv-chip .cotas-deriv-total {
  font-size: 0.66rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}
.cotas-deriv-chip--put {
  color: #8a5a0a;
  background: #fff1d6;
  box-shadow: inset 0 0 0 1px rgba(237, 137, 54, 0.4);
}
.cotas-deriv-chip--call {
  color: #1f6f48;
  background: #d8f3e3;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.4);
}

.detail-breakdown-mini {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.65rem;
  font-weight: 600;
  margin-top: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 4px;
}
.detail-breakdown-mini .mini-buy {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  color: #38a169;
}
.detail-breakdown-mini .mini-buy i {
  font-size: 0.75rem;
}
.detail-breakdown-mini .mini-sell {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  color: #e53e3e;
}
.detail-breakdown-mini .mini-sell i {
  font-size: 0.75rem;
}
.detail-breakdown-mini .mini-separator {
  color: #718096;
  font-weight: 700;
}

.detail-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.detail-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2d3748;
}
.detail-value.highlight {
  color: #667eea;
  font-size: 1.25rem;
}

.cv-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
}
.cv-badge.buy {
  background: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.cv-badge.sell {
  background: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}

.trade-badge {
  display: inline-flex;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.trade-badge.buy {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.sell {
  background-color: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}
.trade-badge.call {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.put {
  background-color: #ffe2cc;
  color: #8a3a0a;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}

@media (max-width: 768px) {
  .trade-detail-container {
    padding: 1rem;
  }
  .trade-detail-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .trade-detail-title {
    font-size: 1.5rem;
  }
  .trade-detail-actions {
    width: 100%;
  }
  .trade-detail-actions .edit-btn,
  .trade-detail-actions .delete-btn {
    flex: 1;
    justify-content: center;
  }
  .series-info {
    font-size: 1.1rem;
    padding: 0.375rem 1rem;
  }
  .trade-detail-card,
  .related-trades-card {
    padding: 1rem;
  }
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .detail-section-title {
    font-size: 1.25rem;
  }
  .detail-section-title .related-subtitle {
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  .detail-section-title {
    font-size: 1.1rem;
    white-space: nowrap;
  }
  .detail-value {
    font-size: 1rem;
  }
  .detail-value.highlight {
    font-size: 1.1rem;
  }
  .edit-btn,
  .delete-btn {
    font-size: 0.85rem;
    padding: 0.625rem 1rem;
  }
  .edit-btn span,
  .delete-btn span {
    display: none;
  }
  .edit-btn i,
  .delete-btn i {
    font-size: 1.3rem;
  }
}
.badge-exercised {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  background-color: rgba(237, 137, 54, 0.2);
  color: rgb(220.2739726027, 110.6849315068, 19.7260273973);
  margin-left: 6px;
  vertical-align: middle;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: help;
}
.badge-exercised i {
  font-size: 0.7rem;
}

.notional-summary-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}

.notional-block {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  max-height: 425px;
  min-width: 0;
}
.notional-block.is-collapsed {
  max-height: none;
}
.notional-block.is-collapsed .notional-block__header {
  margin-bottom: 0;
}
.notional-block__header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
}
.notional-block__header:hover .notional-block__toggle {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
}
.notional-block__header:focus-visible {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
  border-radius: 6px;
}
.notional-block__header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notional-block__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notional-block__title i {
  color: #6366f1;
  font-size: 0.95rem;
}
.notional-block__count {
  font-size: 0.75rem;
  color: #6b7280;
  background: #f3f4f6;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-weight: 500;
}
.notional-block__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #6b7280;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.notional-block__toggle i {
  font-size: 0.85rem;
  line-height: 1;
}
.notional-block__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}
.notional-block__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.notional-block__table th, .notional-block__table td {
  padding: 0.55rem 0.85rem;
  text-align: center;
  white-space: nowrap;
}
.notional-block__table thead th {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}
.notional-block__table tbody tr {
  transition: background-color 0.12s ease;
}
.notional-block__table tbody tr:hover {
  background: #f9fafb;
}
.notional-block__table tbody tr td {
  border-bottom: 1px solid #f3f4f6;
}
.notional-block__table th.col-days,
.notional-block__table td.col-days {
  width: 1%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.notional-block__table tbody td.col-short-call .notional-block__cell-value,
.notional-block__table tbody td.col-short-put .notional-block__cell-value {
  color: #b45309;
}
.notional-block__table tbody td.col-long-call .notional-block__cell-value,
.notional-block__table tbody td.col-long-put .notional-block__cell-value {
  color: #166534;
}
.notional-block__table th.col-itm,
.notional-block__table td.col-itm {
  width: 1%;
  padding-left: 0.4rem;
  padding-right: 0.9rem;
  border-right: 1px solid #eef0f2;
}
.notional-block__table th.col-itm:last-child,
.notional-block__table td.col-itm:last-child {
  border-right: 0;
}
.notional-block__table th.col-itm {
  font-size: 0.65rem;
}
.notional-block__table td.col-itm .notional-block__cell-value {
  color: #cbd5e0;
  font-variant-numeric: tabular-nums;
}
.notional-block__table td.col-itm.is-itm .notional-block__cell-value {
  font-weight: 700;
}
.notional-block__table td.col-itm--short.is-itm .notional-block__cell-value {
  color: #c53030;
}
.notional-block__table td.col-itm--long.is-itm .notional-block__cell-value {
  color: #166534;
}
.notional-block__table tfoot td {
  font-weight: 600;
  color: #111827;
}
.notional-block__table tfoot td {
  border-top: 2px solid #e5e7eb;
  padding-top: 0.75rem;
  background: #fafbfc;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-block__table .empty-cell {
  color: #d1d5db;
  font-weight: 400;
}
.notional-block__table thead th.is-sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.notional-block__table thead th.is-sortable:hover {
  color: #4338ca;
  background: #f5f3ff;
}
.notional-block__table thead th.is-sortable .sort-indicator {
  font-size: 0.7rem;
  margin-left: 0.35rem;
  color: #d1d5db;
  transition: color 0.12s ease;
  vertical-align: middle;
}
.notional-block__table thead th.is-sortable.is-sorted {
  color: #4338ca;
}
.notional-block__table thead th.is-sortable.is-sorted .sort-indicator {
  color: #4338ca;
}
.notional-block__cell-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  line-height: 1.2;
}
.notional-block__cell-value {
  line-height: 1.2;
}
.notional-block__cell-pct {
  font-size: 0.7rem;
  font-weight: 400;
  line-height: 1.2;
  color: #9ca3af;
}
.notional-block__days {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: 0.85rem;
  color: #6b7280;
}
.notional-block__key-badge {
  display: inline-block;
  padding: 0.25rem 0.65rem;
  background: #eef2ff;
  color: #4338ca;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.notional-block__table tbody td.is-clickable {
  cursor: pointer;
  transition: background-color 0.12s ease;
}
.notional-block__table tbody td.is-clickable:hover {
  background: #f5f3ff;
}
@media (max-width: 767.98px) {
  .notional-block {
    padding: 0.85rem 0.9rem 1rem;
    max-height: none;
  }
  .notional-block__title {
    font-size: 0.9rem;
  }
  .notional-block__cell-stack {
    align-items: flex-end;
  }
  .notional-block__cell-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }
  .notional-block__table {
    display: block;
  }
  .notional-block__table thead {
    display: none;
  }
  .notional-block__table tbody, .notional-block__table tfoot {
    display: block;
  }
  .notional-block__table tbody tr {
    display: block;
    padding: 0.7rem 0.85rem 0.75rem;
    margin-bottom: 0.6rem;
    background: #fff;
    border: 1px solid #ebedf0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  }
  .notional-block__table tbody tr:hover {
    background: #fff;
  }
  .notional-block__table tbody tr:last-child {
    margin-bottom: 0;
  }
  .notional-block__table td.col-key {
    display: block;
    padding: 0 0 0.55rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #f1f3f5;
    text-align: left;
  }
  .notional-block__table td.col-key::before {
    display: none;
  }
  .notional-block__table tbody td:not(.col-key) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.3rem 0;
    border: 0;
    white-space: nowrap;
  }
  .notional-block__table tbody td:not(.col-key)::before {
    content: attr(data-label);
    padding-left: 0.6rem;
    border-left: 3px solid #d1d5db;
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #6b7280;
    margin: 0;
  }
  .notional-block__table tbody td:not(.col-key):has(> .empty-cell) {
    display: none;
  }
  .notional-block__table tbody td.col-short-put::before,
  .notional-block__table tbody td.col-short-call::before {
    border-left-color: #f59e0b;
  }
  .notional-block__table tbody td.col-long-put::before,
  .notional-block__table tbody td.col-long-call::before {
    border-left-color: #22c55e;
  }
  .notional-block__table tbody td.col-itm,
  .notional-block__table tfoot td.col-itm {
    border-right: 0;
    padding-left: 0.85rem;
  }
  .notional-block__table tbody td.col-itm::before,
  .notional-block__table tfoot td.col-itm::before {
    border-left: 0;
    padding-left: 0;
    color: #9ca3af;
    font-weight: 500;
  }
  .notional-block__table tbody tr:has(td.col-days) {
    display: flex;
    flex-direction: column;
  }
  .notional-block__table tbody tr:has(td.col-days) td.col-key {
    order: -1;
  }
  .notional-block__table tbody td.col-days::before {
    border-left-color: #6366f1;
  }
  .notional-block__table tfoot td {
    position: static;
  }
  .notional-block__table tfoot tr {
    display: block;
    margin-top: 0.5rem;
    padding: 0.75rem 0.85rem;
    background: #f5f3ff;
    border: 1px solid #e0e7ff;
    border-radius: 12px;
  }
  .notional-block__table tfoot td.col-key {
    display: block;
    padding: 0 0 0.5rem;
    margin-bottom: 0.45rem;
    font-weight: 700;
    color: #4338ca;
    border-bottom: 1px solid #e0e7ff;
    text-align: left;
  }
  .notional-block__table tfoot td.col-key::before {
    display: none;
  }
  .notional-block__table tfoot td:not(.col-key) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3rem 0;
    border: 0;
  }
  .notional-block__table tfoot td:not(.col-key)::before {
    content: attr(data-label);
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #6b7280;
  }
  .notional-block__table tfoot td:not(.col-key):has(> .empty-cell) {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1399.98px) {
  .notional-summary-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .notional-block {
    padding: 1.25rem 1.5rem;
    max-height: 480px;
  }
  .notional-block__header {
    margin-bottom: 1rem;
  }
  .notional-block__title {
    font-size: 1rem;
  }
  .notional-block__table th, .notional-block__table td {
    padding: 0.7rem 1.1rem;
  }
  .notional-block__table thead th {
    font-size: 0.72rem;
  }
}
@media (max-width: 767.98px) {
  .notional-summary-grid {
    grid-template-columns: 1fr;
  }
}
.notional-breakdown-modal .modal-title-divider {
  color: #d1d5db;
  margin: 0 0.35rem;
  font-weight: 400;
}
.notional-breakdown-modal .modal-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
  padding: 0;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #4338ca;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease;
  vertical-align: middle;
}
.notional-breakdown-modal .modal-back-btn:hover {
  background: #eef2ff;
  border-color: #c7d2fe;
}
.notional-breakdown-modal .modal-back-btn i {
  font-size: 0.85rem;
}
.notional-breakdown-modal .series-history-modal-content .modal-body {
  max-height: 60vh;
  overflow-y: auto;
  padding: 0;
}
.notional-breakdown-modal .notional-breakdown-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.notional-breakdown-modal .notional-breakdown-table th, .notional-breakdown-modal .notional-breakdown-table td {
  padding: 1rem 1.25rem;
  text-align: center;
  white-space: nowrap;
  line-height: 1.4;
}
.notional-breakdown-modal .notional-breakdown-table thead th {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 2;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable:hover {
  color: #4338ca;
  background: #fafbfc;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable .sort-indicator {
  font-size: 0.7rem;
  margin-left: 0.35rem;
  color: #d1d5db;
  transition: color 0.12s ease;
  vertical-align: middle;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable.is-sorted {
  color: #4338ca;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable.is-sorted .sort-indicator {
  color: #4338ca;
}
.notional-breakdown-modal .notional-breakdown-table tbody td {
  border-bottom: 1px solid #f3f4f6;
  color: #111827;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr {
  transition: background-color 0.12s ease;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr:hover {
  background: #fafafa;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr.is-clickable {
  cursor: pointer;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr.is-clickable:hover {
  background: #f5f3ff;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-value {
  font-variant-numeric: tabular-nums;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty {
  font-weight: 600;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty.text-positive {
  color: #16a34a;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty.text-negative {
  color: #dc2626;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-pct {
  color: #6b7280;
  font-variant-numeric: tabular-nums;
}
.notional-breakdown-modal .notional-breakdown-table tfoot td {
  border-top: 2px solid #e5e7eb;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 700;
  color: #111827;
  background: #fafbfc;
  font-variant-numeric: tabular-nums;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-breakdown-modal .notional-trade-cards__sort-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafbfc;
}
.notional-breakdown-modal .sort-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.65rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: 1;
}
.notional-breakdown-modal .sort-chip:hover {
  border-color: #c7d2fe;
  color: #4338ca;
}
.notional-breakdown-modal .sort-chip--active {
  background: #eef2ff;
  border-color: #c7d2fe;
  color: #4338ca;
}
.notional-breakdown-modal .sort-chip__direction {
  font-size: 0.85rem;
  line-height: 1;
  color: inherit;
}
.notional-breakdown-modal .sort-chip__priority {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.3rem;
  background: #4338ca;
  color: #fff;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
}
.notional-breakdown-modal .notional-trade-cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}
.notional-breakdown-modal .notional-trade-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 0.95rem 1.1rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.notional-breakdown-modal .notional-trade-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 2px 8px rgba(67, 56, 202, 0.08);
}
.notional-breakdown-modal .notional-trade-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #f3f4f6;
}
.notional-breakdown-modal .notional-trade-card__notional {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.notional-breakdown-modal .notional-trade-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.75rem;
  margin: 0;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dt {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0;
  line-height: 1.2;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd.text-positive {
  color: #16a34a;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd.text-negative {
  color: #dc2626;
}
.notional-breakdown-modal .notional-trade-cards__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  border-top: 2px solid #e5e7eb;
  background: #fafbfc;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-breakdown-modal .notional-trade-cards__footer > span:last-child {
  font-size: 1.05rem;
}

.itm-series-modal .itm-modal__flag {
  color: #c53030;
  font-weight: 700;
}
.itm-series-modal .itm-modal__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.75rem;
  margin: 0;
  padding: 0.95rem 1.25rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafbfc;
}
.itm-series-modal .itm-modal__stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.itm-series-modal .itm-modal__stat dt {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0;
  line-height: 1.2;
}
.itm-series-modal .itm-modal__stat dd {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.itm-series-modal .itm-modal__stat-share {
  color: #c53030;
}
.itm-series-modal .itm-modal__cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}
.itm-series-modal .itm-modal__identity {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.itm-series-modal .itm-modal__ticker {
  font-size: 0.75rem;
  font-weight: 600;
  color: #9ca3af;
  letter-spacing: 0.02em;
}
.itm-series-modal .notional-trade-card__header .strike-moneyness {
  margin-top: 0;
}
.itm-series-modal .itm-modal__quote {
  color: #4a5568;
}
.itm-series-modal .itm-modal__depth {
  margin-top: 0.8rem;
  height: 3px;
  background: #f3f4f6;
  border-radius: 999px;
  overflow: hidden;
}
.itm-series-modal .itm-modal__depth-fill {
  height: 100%;
  background: #c53030;
  border-radius: 999px;
}

.notional-breakdown-modal.itm-series-modal .notional-trade-card__metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.notional-breakdown-modal.itm-series-modal .notional-trade-card:hover {
  border-color: #e5e7eb;
  box-shadow: none;
}

.realized-pnl-chart-slot {
  display: block;
}

.realized-pnl-chart {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__header {
  margin-bottom: 0;
}
.realized-pnl-chart__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
  flex-wrap: wrap;
}
.realized-pnl-chart__header:hover .realized-pnl-chart__toggle {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
}
.realized-pnl-chart__header:focus-visible {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
  border-radius: 6px;
}
.realized-pnl-chart__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #111827;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.realized-pnl-chart__title i {
  color: #38a169;
}
.realized-pnl-chart__header-actions {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
.realized-pnl-chart__stat {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.1;
}
.realized-pnl-chart__stat-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  font-weight: 600;
}
.realized-pnl-chart__stat-value {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-value.is-positive {
  color: #38a169;
}
.realized-pnl-chart__stat-value.is-negative {
  color: #e53e3e;
}
.realized-pnl-chart__stat-value.is-net {
  color: #667eea;
}
.realized-pnl-chart__stat-share {
  margin-top: 0.2rem;
  padding: 0.05rem 0.35rem;
  border-radius: 0.4rem;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-share.is-positive {
  color: #38a169;
  background: rgba(56, 161, 105, 0.12);
}
.realized-pnl-chart__stat-share.is-negative {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.12);
}
.realized-pnl-chart__stat-share.is-net {
  color: #667eea;
  background: rgba(102, 126, 234, 0.12);
}
.realized-pnl-chart__stat-avg {
  margin-top: 0.2rem;
  font-size: 0.6rem;
  font-weight: 600;
  color: #9ca3af;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-sub {
  font-size: 0.65rem;
  font-weight: 500;
  color: #6b7280;
  margin-left: 0.25rem;
}
.realized-pnl-chart__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 28px;
  height: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  background: #fff;
  color: #6b7280;
  transition: all 0.15s ease;
}
.realized-pnl-chart__toggle i {
  font-size: 0.85rem;
  transition: transform 0.2s ease;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__toggle i {
  transform: rotate(180deg);
}
.realized-pnl-chart__body {
  overflow: hidden;
  transition: max-height 0.25s ease;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__body {
  display: none;
}
.realized-pnl-chart__svg {
  width: 100%;
  height: auto;
  display: block;
  max-height: 460px;
  overflow: visible;
}
.realized-pnl-chart__gridline {
  stroke: #e5e7eb;
  stroke-width: 1;
  stroke-dasharray: 2 4;
}
.realized-pnl-chart__gridline.is-zero {
  stroke: #94a3b8;
  stroke-width: 1.25;
  stroke-dasharray: none;
}
.realized-pnl-chart__axis-line {
  stroke: #cbd5e1;
  stroke-width: 1;
}
.realized-pnl-chart__axis-label {
  fill: #6b7280;
  font-size: 11px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}
.realized-pnl-chart__area {
  fill: rgba(56, 161, 105, 0.24);
  stroke: none;
}
.realized-pnl-chart__area--negative {
  fill: rgba(229, 62, 62, 0.18);
}
.realized-pnl-chart__line {
  fill: none;
  stroke: #38a169;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.realized-pnl-chart__line--negative {
  stroke: #e53e3e;
}
.realized-pnl-chart__line--net {
  stroke: #667eea;
}
.realized-pnl-chart__point {
  fill: #fff;
  stroke: #38a169;
  stroke-width: 2;
  transition: r 0.15s ease, fill 0.15s ease;
  cursor: pointer;
}
.realized-pnl-chart__point:hover {
  fill: #38a169;
  r: 6;
}
.realized-pnl-chart__point--negative {
  stroke: #e53e3e;
}
.realized-pnl-chart__point--negative:hover {
  fill: #e53e3e;
}
.realized-pnl-chart__point--net {
  stroke: #667eea;
}
.realized-pnl-chart__point--net:hover {
  fill: #667eea;
}
.realized-pnl-chart__body {
  position: relative;
}
.realized-pnl-chart__tooltip {
  position: absolute;
  pointer-events: none;
  background: #111827;
  color: #f9fafb;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 10;
}
.realized-pnl-chart__tooltip[hidden] {
  display: none;
}

.short-pnl-chart .short-pnl-chart__bar {
  transition: opacity 0.15s ease;
}
.short-pnl-chart .short-pnl-chart__bar:hover {
  opacity: 0.85;
}
.short-pnl-chart .short-pnl-chart__bar--put {
  fill: #667eea;
}
.short-pnl-chart .short-pnl-chart__bar--call {
  fill: #ed8936;
}
.short-pnl-chart .short-pnl-chart__bar--loss {
  opacity: 0.6;
}
.short-pnl-chart .short-pnl-chart__bar--loss:hover {
  opacity: 0.8;
}
.short-pnl-chart .short-pnl-chart__value--put {
  color: #667eea;
}
.short-pnl-chart .short-pnl-chart__value--call {
  color: #ed8936;
}
.short-pnl-chart .short-pnl-chart__legend-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  margin-right: 0.25rem;
  vertical-align: middle;
}
.short-pnl-chart .short-pnl-chart__legend-dot--put {
  background: #667eea;
}
.short-pnl-chart .short-pnl-chart__legend-dot--call {
  background: #ed8936;
}
.short-pnl-chart .short-pnl-chart__legend-dot--loss {
  opacity: 0.6;
}

@media (max-width: 576px) {
  .realized-pnl-chart {
    padding: 0.75rem;
  }
  .realized-pnl-chart__header-actions {
    gap: 0.5rem;
    width: 100%;
    justify-content: flex-end;
  }
  .realized-pnl-chart__stat-label {
    font-size: 0.6rem;
  }
  .realized-pnl-chart__stat-value {
    font-size: 0.8rem;
  }
}
.edit-form-container {
  background: #ffffff;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}
.edit-form-container .edit-form-group {
  transition: opacity 0.15s ease;
}
.edit-form-container:has(:is(input:not([type=hidden]), select, textarea):focus) .edit-form-group:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.edit-form-section {
  margin-bottom: 2rem;
}
.edit-form-section:last-of-type {
  margin-bottom: 0;
}

.edit-section-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0 0 1.5rem 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
}
.edit-section-title i {
  font-size: 1.2rem;
  color: #667eea;
}

.edit-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}

.edit-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.edit-label {
  font-size: 0.875rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.edit-input {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  color: #2d3748;
  transition: all 0.2s ease;
  background: #ffffff;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.edit-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.edit-input::-moz-placeholder {
  color: #718096;
}
.edit-input::placeholder {
  color: #718096;
}

.edit-form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 2px solid #e2e8f0;
}

.edit-submit-btn,
.edit-cancel-btn {
  flex: 1;
  padding: 1rem 2rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.edit-submit-btn {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.edit-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.edit-submit-btn:active {
  transform: translateY(0);
}

.edit-cancel-btn {
  background: rgba(108, 117, 125, 0.1);
  color: #4a5568;
  border: 2px solid #e2e8f0;
}
.edit-cancel-btn:hover {
  background: rgba(108, 117, 125, 0.2);
  border-color: #4a5568;
  color: #2d3748;
  text-decoration: none;
  transform: translateY(-2px);
}
.edit-cancel-btn:active {
  transform: translateY(0);
}

@media (max-width: 768px) {
  .edit-form-container {
    padding: 1rem;
  }
  .edit-form-grid {
    grid-template-columns: 1fr;
  }
  .edit-section-title {
    font-size: 1.1rem;
  }
}
@media (max-width: 480px) {
  .edit-form-actions {
    flex-direction: column;
  }
  .edit-form-actions .edit-submit-btn,
  .edit-form-actions .edit-cancel-btn {
    width: 100%;
  }
}
.bond-select-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.bond-select-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.55rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #718096;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
}
.bond-select-toggle i {
  font-size: 0.95rem;
  opacity: 0.75;
  transition: opacity 0.15s ease;
}
.bond-select-toggle:hover {
  color: #667eea;
  background: rgba(102, 126, 234, 0.06);
}
.bond-select-toggle:hover i {
  opacity: 1;
}
.bond-selecting .bond-select-toggle {
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
}
.bond-selecting .bond-select-toggle i {
  opacity: 1;
}

.bond-select-hint {
  font-size: 0.8rem;
  color: #718096;
}

.bond-badge {
  --bond-color: #667eea;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.3rem;
  height: 1.3rem;
  margin-left: 0.3rem;
  padding: 0;
  color: #fff;
  background: var(--bond-color);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  vertical-align: middle;
  line-height: 1;
  transition: filter 0.15s, transform 0.1s;
}
.bond-badge i {
  font-size: 0.8rem;
}
.bond-badge:hover {
  filter: brightness(0.9);
}
.bond-badge:active {
  transform: scale(0.92);
}

.bond-builder-layout {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}

.bond-builder-main {
  flex: 1 1 auto;
  min-width: 0;
}

.bond-selecting #option_series_table {
  display: block;
}
.bond-selecting #option_series_table thead {
  display: none;
}
.bond-selecting #option_series_table tbody {
  display: block;
}
.bond-selecting #option_series_table tbody tr {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-flow: dense;
  padding: 1rem 2rem 1rem 1.5rem;
  margin-bottom: 0.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}
.bond-selecting #option_series_table tbody tr td {
  padding: 0.5rem 0.25rem !important;
  text-align: left !important;
  white-space: normal !important;
  border: none !important;
  font-size: 0.9rem;
}
.bond-selecting #option_series_table tbody tr td::before {
  content: attr(data-label);
  display: block;
  margin-bottom: 4px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: #718096;
}
.bond-selecting #option_series_table tbody tr td[data-label=Abertura],
.bond-selecting #option_series_table tbody tr td[data-label=Ativo],
.bond-selecting #option_series_table tbody tr td[data-label=Tipo],
.bond-selecting #option_series_table tbody tr td[data-label=Vencimento] {
  display: none;
}
.bond-selecting #option_series_table tbody tr td.ticker-cell {
  grid-column: 1;
  grid-row: 1;
}
.bond-selecting #option_series_table tbody tr td.strike-cell {
  grid-column: 1;
  grid-row: 2;
}
.bond-selecting #option_series_table tbody tr td[data-label=Posição] {
  grid-column: 2;
  grid-row: 1;
}
.bond-selecting #option_series_table tbody tr td[data-label=Notional] {
  grid-column: 2;
  grid-row: 2;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] {
  grid-column: 3;
  grid-row: 1;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Líquido Saldo"] {
  grid-column: 3;
  grid-row: 2;
}
.bond-selecting #option_series_table tbody tr td.ticker-cell .option-code-primary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  row-gap: 2px;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #2d3748;
}
.bond-selecting #option_series_table tbody tr td.ticker-cell .option-type-pill {
  display: inline-flex;
  padding: 1px 7px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.4px;
  line-height: 1.4;
}
.bond-selecting #option_series_table tbody tr td.ticker-cell .option-code-date {
  display: block;
  margin-top: 2px;
}
.bond-selecting #option_series_table tbody tr td.strike-cell {
  font-size: 1.5rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.bond-selecting #option_series_table tbody tr td.strike-cell::before {
  margin-bottom: 6px;
}
.bond-selecting #option_series_table tbody tr td.strike-cell .strike-cell-value {
  display: block;
  line-height: 1;
}
.bond-selecting #option_series_table tbody tr td.strike-cell .strike-cell-expiration {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  color: #0d9488;
  font-variant-numeric: tabular-nums;
}
.bond-selecting #option_series_table tbody tr td.strike-cell .strike-cell-expiration i {
  font-size: 0.85rem;
  color: #0d9488;
}
.bond-selecting #option_series_table tbody tr td[data-label=Posição],
.bond-selecting #option_series_table tbody tr td[data-label=Notional] {
  font-size: 1.25rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.bond-selecting #option_series_table tbody tr td[data-label=Posição]::before,
.bond-selecting #option_series_table tbody tr td[data-label=Notional]::before {
  margin-bottom: 6px;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] .premium-cell {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: flex-start;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] .premium-stack {
  align-items: flex-start;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] .premium-average {
  justify-content: flex-start;
  gap: 5px;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] .premium-value {
  font-size: 1.15rem;
  font-weight: 800;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] .premium-latest {
  margin-top: 4px;
  font-size: 0.7rem;
  color: #718096;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] .premium-bracket-group {
  display: flex;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] .premium-bracket-brace {
  width: 7px;
  min-height: 32px;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Médio"] .premium-delta {
  font-size: 0.65rem;
}
.bond-selecting #option_series_table tbody tr td[data-label="Prêmio Líquido Saldo"] {
  font-size: 1.15rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.bond-selecting #option_series_table tbody tr td.actions-cell {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  padding: 0 !important;
}
.bond-selecting #option_series_table tbody tr td.actions-cell::before {
  display: none;
}
.bond-selecting #option_series_table tfoot {
  display: block;
}
.bond-selecting #option_series_table tfoot tr.summary-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 1rem;
  padding: 0.6rem 0.9rem;
  border-top: 2px solid #667eea;
}
.bond-selecting #option_series_table tfoot tr.summary-row td {
  padding: 0 !important;
  border: none !important;
}
.bond-selecting #option_series_table tfoot tr.summary-row td::before {
  display: none;
}
.bond-selecting #option_series_table tfoot tr.summary-row td.summary-label {
  font-weight: 700;
}

.bond-panel {
  display: none;
  flex-direction: column;
  flex: 0 0 280px;
  max-width: 280px;
  align-self: flex-start;
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 2rem);
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  text-align: left;
}
.bond-selecting .bond-panel {
  display: flex;
}

.bond-panel-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.06) 100%);
  border-bottom: 1px solid #e2e8f0;
}
.bond-panel-header .bond-panel-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  color: #fff;
  background: #667eea;
  border-radius: 4px;
}
.bond-panel-header .bond-panel-icon i {
  font-size: 0.95rem;
}
.bond-panel-header .bond-panel-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: #2d3748;
}

.bond-panel-list {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.5rem;
  min-height: 4rem;
}

.bond-panel-empty {
  margin: 0;
  padding: 1rem 0.5rem;
  font-size: 0.8rem;
  color: #718096;
  text-align: center;
}
.bond-panel-empty[hidden] {
  display: none;
}

.bond-leg {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.6rem;
  border-radius: 4px;
  transition: background 0.12s;
}
.bond-leg + .bond-leg {
  border-top: 1px solid rgba(226, 232, 240, 0.6);
}
.bond-leg:hover {
  background: rgba(102, 126, 234, 0.04);
}
.bond-leg .bond-leg-left {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.bond-leg .bond-leg-head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.bond-leg .bond-leg-code {
  font-size: 0.82rem;
  font-weight: 700;
  color: #2d3748;
}
.bond-leg .bond-leg-badge {
  padding: 0.05rem 0.4rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 999px;
}
.bond-leg .bond-leg-badge.sell {
  color: #38a169;
  background: rgba(56, 161, 105, 0.12);
}
.bond-leg .bond-leg-badge.buy {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.12);
}
.bond-leg .bond-leg-meta {
  font-size: 0.72rem;
  color: #718096;
}
.bond-leg .bond-leg-remove {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  padding: 0;
  color: #718096;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.bond-leg .bond-leg-remove:hover {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.08);
}

.bond-panel-add-leg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin: 0.5rem 0.75rem 0;
  padding: 0.45rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #667eea;
  background: transparent;
  border: 1px dashed rgba(102, 126, 234, 0.45);
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.bond-panel-add-leg:hover {
  background: rgba(102, 126, 234, 0.06);
  border-color: #667eea;
}
.bond-panel-add-leg i {
  font-size: 0.95rem;
}

.bond-panel-footer {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid #e2e8f0;
}

.bond-panel-note {
  padding: 0.4rem 0.6rem;
  font-family: inherit;
  font-size: 0.82rem;
  line-height: 1.35;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  resize: vertical;
}
.bond-panel-note:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.15);
}

.bond-panel-error {
  font-size: 0.78rem;
  color: #e53e3e;
}
.bond-panel-error[hidden] {
  display: none;
}

.bond-panel-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.bond-panel-create {
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  background: #667eea;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s;
}
.bond-panel-create:hover:not(:disabled) {
  background: #5568d3;
}
.bond-panel-create:disabled {
  background: #e2e8f0;
  color: #718096;
  cursor: not-allowed;
}

.bond-panel-clear {
  flex: 0 0 auto;
  padding: 0.45rem 0.6rem;
  font-size: 0.82rem;
  color: #718096;
  background: transparent;
  border: none;
  cursor: pointer;
}
.bond-panel-clear:hover {
  color: #2d3748;
}

@media (max-width: 767.98px) {
  .bond-builder-layout {
    flex-direction: column;
  }
  .bond-panel {
    position: fixed;
    inset: auto 0 0 0;
    flex: none;
    max-width: 100%;
    max-height: 45vh;
    border-radius: 16px 16px 0 0;
    z-index: 1050;
  }
}
.bond-leg-modal {
  padding: 0;
  border: none;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  max-width: 540px;
  width: calc(100vw - 2rem);
}
.bond-leg-modal::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

.bond-leg-modal-content {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 4rem);
}

.bond-leg-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #e2e8f0;
}
.bond-leg-modal-header .bond-leg-modal-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
}

.bond-leg-modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 1rem;
}

.bond-leg-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid #e2e8f0;
  background: rgba(226, 232, 240, 0.25);
}

.bond-leg-modal-cancel {
  padding: 0.45rem 0.75rem;
  font-size: 0.85rem;
  color: #718096;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.bond-leg-modal-cancel:hover {
  color: #2d3748;
}

.bond-leg-modal-commit {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.9rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  background: #667eea;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s;
}
.bond-leg-modal-commit:hover:not(:disabled) {
  background: #5568d3;
}
.bond-leg-modal-commit:disabled {
  background: #e2e8f0;
  color: #718096;
  cursor: not-allowed;
}

.leg-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 0.7fr;
  gap: 0.6rem 0.75rem;
  margin-bottom: 1rem;
}
.leg-form-grid .leg-form-field {
  transition: opacity 0.15s ease;
}
.leg-form-grid:has(:is(input:not([type=hidden]), select, textarea):focus) .leg-form-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}
.leg-form-grid .leg-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.leg-form-grid .leg-form-field label {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: #718096;
}
.leg-form-grid .leg-form-field--code {
  grid-column: 1/3;
}
.leg-form-grid .leg-form-field--side {
  grid-column: 3/4;
}
.leg-form-grid .leg-form-input {
  padding: 0.4rem 0.55rem;
  font-size: 0.85rem;
  font-family: inherit;
  color: #2d3748;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  min-width: 0;
}
.leg-form-grid .leg-form-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.leg-form-grid .leg-form-input--readonly {
  background: rgba(226, 232, 240, 0.25);
  color: #4a5568;
  cursor: default;
}

.leg-side-toggle {
  display: flex;
  gap: 0.25rem;
  height: 100%;
  align-items: flex-end;
}
.leg-side-toggle .leg-side-btn {
  flex: 1 1 0;
  padding: 0.4rem 0.5rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #718096;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.leg-side-toggle .leg-side-btn:hover {
  background: rgba(102, 126, 234, 0.05);
}
.leg-side-toggle .leg-side-btn.is-active {
  color: #fff;
  background: #667eea;
  border-color: #667eea;
}

.leg-form-trades {
  border-top: 1px dashed #e2e8f0;
  padding-top: 0.75rem;
}

.leg-form-trades-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.leg-form-trades-header .leg-form-trades-title {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: #718096;
}
.leg-form-trades-header .leg-form-summary {
  font-size: 0.78rem;
  color: #4a5568;
}
.leg-form-trades-header .leg-form-summary strong {
  color: #667eea;
  font-variant-numeric: tabular-nums;
}

.leg-form-trades-list {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  max-height: 280px;
  overflow-y: auto;
}

.leg-form-trades-empty {
  margin: 0;
  padding: 0.75rem 0.5rem;
  font-size: 0.8rem;
  color: #718096;
  text-align: center;
}

.leg-trade-row {
  display: grid;
  grid-template-columns: 1.25rem 1fr 5rem;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}
.leg-trade-row:hover {
  background: rgba(102, 126, 234, 0.04);
  border-color: rgba(102, 126, 234, 0.4);
}
.leg-trade-row .leg-trade-checkbox {
  width: 1rem;
  height: 1rem;
  accent-color: #667eea;
  cursor: pointer;
}
.leg-trade-row .leg-trade-info {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
}
.leg-trade-row .leg-trade-date {
  font-size: 0.78rem;
  font-weight: 600;
  color: #2d3748;
}
.leg-trade-row .leg-trade-meta {
  font-size: 0.7rem;
  color: #718096;
}
.leg-trade-row .leg-trade-qty {
  padding: 0.3rem 0.4rem;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
}
.leg-trade-row .leg-trade-qty:disabled {
  background: rgba(226, 232, 240, 0.25);
  color: #718096;
}
.leg-trade-row .leg-trade-qty:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.15);
}

.leg-form-warn {
  margin: 0.5rem 0 0;
  padding: 0.4rem 0.6rem;
  font-size: 0.78rem;
  color: #ed8936;
  background: rgba(237, 137, 54, 0.08);
  border-radius: 4px;
}
.leg-form-warn[hidden] {
  display: none;
}

@media (max-width: 575.98px) {
  .leg-form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .leg-form-grid .leg-form-field--code {
    grid-column: 1/-1;
  }
  .leg-form-grid .leg-form-field--side {
    grid-column: 1/-1;
  }
}
.trade-detail-container {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.trade-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  gap: 1.5rem;
}

.trade-detail-title {
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.trade-detail-title i {
  font-size: 1.8rem;
}
.trade-detail-title .title-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
}
.trade-detail-title .title-link:hover {
  color: rgba(255, 255, 255, 0.85);
  transform: translateX(4px);
  text-decoration: none;
}

.trade-detail-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.series-info {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  text-decoration: none;
}
.series-info i {
  font-size: 1.1rem;
  opacity: 0.85;
}
.series-info:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  color: #ffffff;
  text-decoration: none;
}

.edit-btn,
.delete-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  border: none;
  cursor: pointer;
  font-size: 0.95rem;
}
.edit-btn i,
.delete-btn i {
  font-size: 1.1rem;
}
.edit-btn:hover,
.delete-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.edit-btn {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.edit-btn:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  text-decoration: none;
}

.delete-btn {
  background: rgba(229, 62, 62, 0.9);
  color: #ffffff;
}
.delete-btn:hover {
  background: #e53e3e;
  color: #ffffff;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  font-size: 0.95rem;
}
.back-link i {
  font-size: 1.1rem;
}
.back-link:hover {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.trade-detail-main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.trade-detail-card,
.related-trades-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.detail-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}
.detail-section-header .detail-section-title {
  margin-bottom: 0;
}
@media (max-width: 480px) {
  .detail-section-header {
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
  .detail-section-header .detail-section-title {
    flex: 1 1 100%;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

.detail-section-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 480px) {
  .detail-section-actions {
    width: 100%;
    gap: 0.375rem;
  }
  .detail-section-actions .sort-expiration-btn,
  .detail-section-actions .toggle-inactive-btn,
  .detail-section-actions .consolidated-filter-btn,
  .detail-section-actions .consolidated-sort-btn,
  .detail-section-actions .consolidated-clear-btn,
  .detail-section-actions .yield-calculator-btn {
    font-size: 0.75rem;
    padding: 0.375rem 0.5rem;
  }
  .detail-section-actions .sort-expiration-btn span,
  .detail-section-actions .toggle-inactive-btn span,
  .detail-section-actions .consolidated-filter-btn span,
  .detail-section-actions .consolidated-sort-btn span,
  .detail-section-actions .consolidated-clear-btn span,
  .detail-section-actions .yield-calculator-btn span {
    display: none;
  }
  .detail-section-actions .consolidated-filter-wrapper,
  .detail-section-actions .consolidated-sort-wrapper {
    flex: none;
  }
  .detail-section-actions .ordering-toggle-pill .ordering-toggle-option {
    font-size: 0.62rem;
    padding: 0.3rem 0.5rem;
  }
  .detail-section-actions .reorder-series-btn {
    width: 28px;
    height: 28px;
    margin-left: 0;
  }
}

.toggle-inactive-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.toggle-inactive-btn i {
  font-size: 0.9rem;
}
.toggle-inactive-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.toggle-inactive-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.toggle-inactive-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.2);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.active .toggle-inactive-count {
  background: rgba(255, 255, 255, 0.25);
}
.toggle-inactive-count:empty {
  display: none;
}

.sort-expiration-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.sort-expiration-btn i {
  font-size: 0.9rem;
}
.sort-expiration-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.sort-expiration-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.consolidated-filter-wrapper {
  position: relative;
}

.consolidated-filter-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-filter-btn i {
  font-size: 0.9rem;
}
.consolidated-filter-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}
.consolidated-filter-btn.active {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
}

.consolidated-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.2);
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1;
}
.active .consolidated-filter-badge {
  background: rgba(255, 255, 255, 0.25);
}
.consolidated-filter-badge:empty {
  display: none;
}

.consolidated-clear-btn {
  display: none;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(229, 62, 62, 0.1);
  border: 1px solid rgba(229, 62, 62, 0.3);
  border-radius: 8px;
  color: #e53e3e;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-clear-btn i {
  font-size: 0.9rem;
}
.consolidated-clear-btn.visible {
  display: inline-flex;
}
.consolidated-clear-btn:hover {
  background: rgba(229, 62, 62, 0.18);
  border-color: #e53e3e;
}

.consolidated-filter-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  width: 280px;
  max-width: calc(100vw - 2rem);
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  z-index: 100;
  display: none;
  padding: 0.5rem 0;
}
.consolidated-filter-dropdown.visible {
  display: block;
}

.filter-section {
  padding: 1rem 1.5rem;
}
.filter-section + .filter-section {
  border-top: 1px solid rgba(226, 232, 240, 0.6);
}

.filter-section-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #718096;
  margin-bottom: 0.5rem;
}
.filter-section-label i {
  font-size: 0.75rem;
}

.filter-chips {
  display: flex;
  gap: 0.5rem;
}

.filter-chip {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.75rem;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
  background: rgba(74, 85, 104, 0.1);
  color: #2d3748;
  border: 1.5px solid rgba(74, 85, 104, 0.08);
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-chip:hover {
  background: rgba(102, 126, 234, 0.08);
  border-color: rgba(102, 126, 234, 0.25);
  color: #667eea;
}
.filter-chip.active {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}

.filter-chip-group {
  display: flex;
  gap: 0.5rem;
}

.filter-chip-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.filter-chip-input:checked + .filter-chip {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}
.filter-chip-input:focus-visible + .filter-chip {
  outline: 2px solid rgba(102, 126, 234, 0.5);
  outline-offset: 2px;
}

.filter-chip--star {
  gap: 0.35rem;
}
.filter-chip--star i {
  font-size: 0.85em;
  line-height: 1;
}

.filter-chip-group--wrap {
  flex-wrap: wrap;
}
.filter-chip-group--wrap .filter-chip {
  flex: 1 1 calc(50% - 0.5rem);
}
@media (max-width: 576px) {
  .filter-chip-group--wrap .filter-chip {
    flex-basis: 100%;
  }
}

.filter-chip--amber i {
  color: #eab308;
}

.filter-chip--green i {
  color: #15803d;
}

.filter-chip--danger i {
  color: #e53e3e;
}

.filter-chip-input:checked + .filter-chip--amber i,
.filter-chip-input:checked + .filter-chip--green i,
.filter-chip-input:checked + .filter-chip--danger i {
  color: #ffffff;
}

.filter-chip--exercise {
  flex: 0 0 auto;
  gap: 0.35rem;
}
.filter-chip--exercise i {
  font-size: 0.85em;
  line-height: 1;
}

.filter-option-list {
  display: flex;
  flex-direction: column;
  max-height: 160px;
  overflow-y: auto;
  gap: 1px;
}

.filter-range {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.filter-range-input {
  flex: 1;
  min-width: 0;
  padding: 0.4rem 0.6rem;
  border: 1.5px solid rgba(74, 85, 104, 0.18);
  border-radius: 8px;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.filter-range-input::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.filter-range-input::placeholder {
  color: #718096;
  font-weight: 400;
}
.filter-range-input:focus {
  outline: none;
  border-color: rgba(102, 126, 234, 0.55);
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.12);
}

.filter-range-sep {
  flex: 0 0 auto;
  font-size: 0.72rem;
  color: #718096;
}

.filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.45rem 0.5rem;
  background: none;
  border: none;
  border-radius: 8px;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.12s ease;
}
.filter-option .bi-check2 {
  opacity: 0;
  color: #667eea;
  font-size: 0.9rem;
  transition: opacity 0.12s ease;
}
.filter-option:hover {
  background: rgba(102, 126, 234, 0.05);
  color: #2d3748;
}
.filter-option.active {
  color: #667eea;
  font-weight: 600;
  background: rgba(102, 126, 234, 0.06);
}
.filter-option.active .bi-check2 {
  opacity: 1;
}

.filter-clear-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  border: none;
  border-top: 1px solid rgba(226, 232, 240, 0.6);
  font-size: 0.75rem;
  font-weight: 500;
  color: #718096;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s ease;
  margin-top: 0.25rem;
}
.filter-clear-btn i {
  font-size: 0.8rem;
}
.filter-clear-btn:hover {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.04);
}

tr.hidden-by-type,
tr.hidden-by-filter,
tr.hidden-by-exclusion {
  display: none;
}

.detail-section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0 0 2rem 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e2e8f0;
}
.detail-section-title i {
  font-size: 1.4rem;
  color: #667eea;
}
.detail-section-title .section-count {
  font-size: 1rem;
  font-weight: 500;
  color: #718096;
}
.detail-section-title .related-subtitle {
  margin-left: auto;
  font-size: 0.9rem;
  font-weight: 600;
  color: #4a5568;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.375rem 1rem;
  border-radius: 8px;
}
.detail-section-title .consolidated-active-count {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.65rem 0.2rem 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.12), rgba(118, 75, 162, 0.12));
  border: 1px solid rgba(102, 126, 234, 0.18);
  color: #5568d3;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  vertical-align: middle;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #38a169;
  box-shadow: 0 0 0 3px rgba(56, 161, 105, 0.18);
  flex-shrink: 0;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-value {
  font-size: 0.8rem;
  font-weight: 700;
  color: #5568d3;
}
.detail-section-title .consolidated-active-count .consolidated-active-count-label {
  font-weight: 500;
  color: #4a5568;
  text-transform: lowercase;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}
.detail-grid.detail-grid-1col {
  grid-template-columns: 1fr;
  margin-bottom: 1.5rem;
}
.detail-grid.detail-grid-2cols {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 1.5rem;
}
@media (max-width: 576px) {
  .detail-grid.detail-grid-2cols {
    grid-template-columns: 1fr;
  }
}
.detail-grid.detail-grid-3cols {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .detail-grid.detail-grid-3cols {
    grid-template-columns: 1fr;
  }
}
.detail-grid.detail-grid-4cols {
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 1.5rem;
}
@media (max-width: 992px) {
  .detail-grid.detail-grid-4cols {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .detail-grid.detail-grid-4cols {
    grid-template-columns: 1fr;
  }
}

.detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.detail-item:hover {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgb(209.1931818182, 218.6704545455, 231.3068181818);
}
.detail-item .detail-label {
  color: #4a5568;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
}
.detail-item .detail-label i {
  font-size: 1rem;
  color: #718096;
}
.detail-item .detail-value {
  color: #2d3748;
  font-weight: 700;
  font-size: 1.15rem;
}
.detail-item.detail-item-closed {
  border-left: 3px solid #f56565;
}
.detail-item.detail-item-closed .detail-value {
  color: #c53030;
}
.detail-item.detail-item-expiration {
  border-left: 3px solid #ed8936;
}
.detail-item.detail-item-expiration .detail-value {
  color: #9c4221;
}
.detail-item.detail-item-premium {
  border-left: 3px solid #667eea;
}
.detail-item.detail-item-premium .detail-value {
  color: #667eea;
}
.detail-item.detail-item-premium .detail-formula {
  font-size: 0.65rem;
  font-weight: 600;
  color: #718096;
  background: rgba(0, 0, 0, 0.04);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-family: "Courier New", monospace;
  margin-top: 0.25rem;
  display: inline-block;
}
.detail-item.detail-item-positive {
  border-left: 3px solid #38a169;
}
.detail-item.detail-item-positive .detail-value {
  color: #2f855a;
}
.detail-item.detail-item-negative {
  border-left: 3px solid #e53e3e;
}
.detail-item.detail-item-negative .detail-value {
  color: #c53030;
}
.detail-item.detail-item-strike {
  border-left: 3px solid #718096;
}
.detail-item.detail-item-strike .detail-value {
  color: #2d3748;
}
.detail-item.detail-item-clickable {
  cursor: pointer;
}
.detail-item.detail-item-clickable:active {
  transform: scale(0.98);
}
.detail-item.detail-item-split {
  flex-direction: row;
  align-items: stretch;
  gap: 1rem;
}
.detail-item.detail-item-split .detail-item-left {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
  justify-content: center;
}
.detail-item.detail-item-split .detail-item-right {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  justify-content: center;
}
.detail-item.detail-item-split .detail-sub-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.detail-item.detail-item-split .detail-sub-item--highlight .detail-sub-value {
  color: #38a169;
}
.detail-item.detail-item-split .detail-sub-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: inherit;
  opacity: 0.7;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 110px;
}
.detail-item.detail-item-split .detail-sub-label i {
  font-size: 0.75rem;
}
.detail-item.detail-item-split .committed-expiration-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0.25rem 0 0.25rem 0.5rem;
  margin-left: 0.5rem;
  border-left: 2px solid rgba(237, 137, 54, 0.3);
  max-height: 140px;
  overflow-y: auto;
}
.detail-item.detail-item-split .committed-expiration-item {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.68rem;
  color: #4a5568;
}
.detail-item.detail-item-split .committed-expiration-code {
  font-weight: 600;
  color: #2d3748;
}
.detail-item.detail-item-split .committed-expiration-qty {
  font-weight: 700;
  color: #ed8936;
  text-align: right;
}
.detail-item.detail-item-split .committed-expiration-strike {
  font-weight: 500;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
  font-size: 0.65rem;
  white-space: nowrap;
  text-align: right;
}
.detail-item.detail-item-split .committed-expiration-date {
  font-weight: 500;
  color: #718096;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.detail-item.detail-item-split .detail-sub-value {
  font-size: 0.85rem;
  font-weight: 700;
  color: inherit;
}
.detail-item.detail-item-split .detail-sub-value.text-warning {
  color: #ed8936;
}

.cotas-value-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cotas-value-row .asset-type-badge {
  margin-top: 0;
  align-self: center;
}

.asset-type-badge {
  display: inline-block;
  align-self: flex-start;
  margin-top: 6px;
  padding: 2px 8px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 4px;
  text-transform: uppercase;
}
.asset-type-badge.asset-type-acao {
  color: #39408f;
  background: #e0e3fb;
  box-shadow: inset 0 0 0 1px rgba(102, 126, 234, 0.55);
}
.asset-type-badge.asset-type-fii {
  color: #4a2d6b;
  background: #ece0f5;
  box-shadow: inset 0 0 0 1px rgba(118, 75, 162, 0.55);
}
.asset-type-badge.asset-type-etf {
  color: #8a3a0a;
  background: #ffe2cc;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}

.cotas-deriv {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.cotas-deriv-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 5px 11px;
  border-radius: 12px;
  font-size: 0.62rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  min-width: 0;
}
.cotas-deriv-chip .cotas-deriv-head {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.cotas-deriv-chip i {
  font-size: 0.7rem;
}
.cotas-deriv-chip .cotas-deriv-qty {
  font-size: 0.75rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.cotas-deriv-chip .cotas-deriv-total {
  font-size: 0.66rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  opacity: 0.7;
}
.cotas-deriv-chip--put {
  color: #8a5a0a;
  background: #fff1d6;
  box-shadow: inset 0 0 0 1px rgba(237, 137, 54, 0.4);
}
.cotas-deriv-chip--call {
  color: #1f6f48;
  background: #d8f3e3;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.4);
}

.detail-breakdown-mini {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.65rem;
  font-weight: 600;
  margin-top: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 4px;
}
.detail-breakdown-mini .mini-buy {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  color: #38a169;
}
.detail-breakdown-mini .mini-buy i {
  font-size: 0.75rem;
}
.detail-breakdown-mini .mini-sell {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  color: #e53e3e;
}
.detail-breakdown-mini .mini-sell i {
  font-size: 0.75rem;
}
.detail-breakdown-mini .mini-separator {
  color: #718096;
  font-weight: 700;
}

.detail-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.detail-value {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2d3748;
}
.detail-value.highlight {
  color: #667eea;
  font-size: 1.25rem;
}

.cv-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
}
.cv-badge.buy {
  background: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.cv-badge.sell {
  background: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}

.trade-badge {
  display: inline-flex;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.trade-badge.buy {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.sell {
  background-color: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}
.trade-badge.call {
  background-color: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.trade-badge.put {
  background-color: #ffe2cc;
  color: #8a3a0a;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}

@media (max-width: 768px) {
  .trade-detail-container {
    padding: 1rem;
  }
  .trade-detail-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .trade-detail-title {
    font-size: 1.5rem;
  }
  .trade-detail-actions {
    width: 100%;
  }
  .trade-detail-actions .edit-btn,
  .trade-detail-actions .delete-btn {
    flex: 1;
    justify-content: center;
  }
  .series-info {
    font-size: 1.1rem;
    padding: 0.375rem 1rem;
  }
  .trade-detail-card,
  .related-trades-card {
    padding: 1rem;
  }
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .detail-section-title {
    font-size: 1.25rem;
  }
  .detail-section-title .related-subtitle {
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  .detail-section-title {
    font-size: 1.1rem;
    white-space: nowrap;
  }
  .detail-value {
    font-size: 1rem;
  }
  .detail-value.highlight {
    font-size: 1.1rem;
  }
  .edit-btn,
  .delete-btn {
    font-size: 0.85rem;
    padding: 0.625rem 1rem;
  }
  .edit-btn span,
  .delete-btn span {
    display: none;
  }
  .edit-btn i,
  .delete-btn i {
    font-size: 1.3rem;
  }
}
.badge-exercised {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.55rem;
  font-weight: 700;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  background-color: rgba(237, 137, 54, 0.2);
  color: rgb(220.2739726027, 110.6849315068, 19.7260273973);
  margin-left: 6px;
  vertical-align: middle;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: help;
}
.badge-exercised i {
  font-size: 0.7rem;
}

.notional-summary-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}

.notional-block {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  max-height: 425px;
  min-width: 0;
}
.notional-block.is-collapsed {
  max-height: none;
}
.notional-block.is-collapsed .notional-block__header {
  margin-bottom: 0;
}
.notional-block__header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
}
.notional-block__header:hover .notional-block__toggle {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
}
.notional-block__header:focus-visible {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
  border-radius: 6px;
}
.notional-block__header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notional-block__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notional-block__title i {
  color: #6366f1;
  font-size: 0.95rem;
}
.notional-block__count {
  font-size: 0.75rem;
  color: #6b7280;
  background: #f3f4f6;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-weight: 500;
}
.notional-block__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #6b7280;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.notional-block__toggle i {
  font-size: 0.85rem;
  line-height: 1;
}
.notional-block__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}
.notional-block__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.notional-block__table th, .notional-block__table td {
  padding: 0.55rem 0.85rem;
  text-align: center;
  white-space: nowrap;
}
.notional-block__table thead th {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}
.notional-block__table tbody tr {
  transition: background-color 0.12s ease;
}
.notional-block__table tbody tr:hover {
  background: #f9fafb;
}
.notional-block__table tbody tr td {
  border-bottom: 1px solid #f3f4f6;
}
.notional-block__table th.col-days,
.notional-block__table td.col-days {
  width: 1%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.notional-block__table tbody td.col-short-call .notional-block__cell-value,
.notional-block__table tbody td.col-short-put .notional-block__cell-value {
  color: #b45309;
}
.notional-block__table tbody td.col-long-call .notional-block__cell-value,
.notional-block__table tbody td.col-long-put .notional-block__cell-value {
  color: #166534;
}
.notional-block__table th.col-itm,
.notional-block__table td.col-itm {
  width: 1%;
  padding-left: 0.4rem;
  padding-right: 0.9rem;
  border-right: 1px solid #eef0f2;
}
.notional-block__table th.col-itm:last-child,
.notional-block__table td.col-itm:last-child {
  border-right: 0;
}
.notional-block__table th.col-itm {
  font-size: 0.65rem;
}
.notional-block__table td.col-itm .notional-block__cell-value {
  color: #cbd5e0;
  font-variant-numeric: tabular-nums;
}
.notional-block__table td.col-itm.is-itm .notional-block__cell-value {
  font-weight: 700;
}
.notional-block__table td.col-itm--short.is-itm .notional-block__cell-value {
  color: #c53030;
}
.notional-block__table td.col-itm--long.is-itm .notional-block__cell-value {
  color: #166534;
}
.notional-block__table tfoot td {
  font-weight: 600;
  color: #111827;
}
.notional-block__table tfoot td {
  border-top: 2px solid #e5e7eb;
  padding-top: 0.75rem;
  background: #fafbfc;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-block__table .empty-cell {
  color: #d1d5db;
  font-weight: 400;
}
.notional-block__table thead th.is-sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.notional-block__table thead th.is-sortable:hover {
  color: #4338ca;
  background: #f5f3ff;
}
.notional-block__table thead th.is-sortable .sort-indicator {
  font-size: 0.7rem;
  margin-left: 0.35rem;
  color: #d1d5db;
  transition: color 0.12s ease;
  vertical-align: middle;
}
.notional-block__table thead th.is-sortable.is-sorted {
  color: #4338ca;
}
.notional-block__table thead th.is-sortable.is-sorted .sort-indicator {
  color: #4338ca;
}
.notional-block__cell-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  line-height: 1.2;
}
.notional-block__cell-value {
  line-height: 1.2;
}
.notional-block__cell-pct {
  font-size: 0.7rem;
  font-weight: 400;
  line-height: 1.2;
  color: #9ca3af;
}
.notional-block__days {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: 0.85rem;
  color: #6b7280;
}
.notional-block__key-badge {
  display: inline-block;
  padding: 0.25rem 0.65rem;
  background: #eef2ff;
  color: #4338ca;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.notional-block__table tbody td.is-clickable {
  cursor: pointer;
  transition: background-color 0.12s ease;
}
.notional-block__table tbody td.is-clickable:hover {
  background: #f5f3ff;
}
@media (max-width: 767.98px) {
  .notional-block {
    padding: 0.85rem 0.9rem 1rem;
    max-height: none;
  }
  .notional-block__title {
    font-size: 0.9rem;
  }
  .notional-block__cell-stack {
    align-items: flex-end;
  }
  .notional-block__cell-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }
  .notional-block__table {
    display: block;
  }
  .notional-block__table thead {
    display: none;
  }
  .notional-block__table tbody, .notional-block__table tfoot {
    display: block;
  }
  .notional-block__table tbody tr {
    display: block;
    padding: 0.7rem 0.85rem 0.75rem;
    margin-bottom: 0.6rem;
    background: #fff;
    border: 1px solid #ebedf0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  }
  .notional-block__table tbody tr:hover {
    background: #fff;
  }
  .notional-block__table tbody tr:last-child {
    margin-bottom: 0;
  }
  .notional-block__table td.col-key {
    display: block;
    padding: 0 0 0.55rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #f1f3f5;
    text-align: left;
  }
  .notional-block__table td.col-key::before {
    display: none;
  }
  .notional-block__table tbody td:not(.col-key) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.3rem 0;
    border: 0;
    white-space: nowrap;
  }
  .notional-block__table tbody td:not(.col-key)::before {
    content: attr(data-label);
    padding-left: 0.6rem;
    border-left: 3px solid #d1d5db;
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #6b7280;
    margin: 0;
  }
  .notional-block__table tbody td:not(.col-key):has(> .empty-cell) {
    display: none;
  }
  .notional-block__table tbody td.col-short-put::before,
  .notional-block__table tbody td.col-short-call::before {
    border-left-color: #f59e0b;
  }
  .notional-block__table tbody td.col-long-put::before,
  .notional-block__table tbody td.col-long-call::before {
    border-left-color: #22c55e;
  }
  .notional-block__table tbody td.col-itm,
  .notional-block__table tfoot td.col-itm {
    border-right: 0;
    padding-left: 0.85rem;
  }
  .notional-block__table tbody td.col-itm::before,
  .notional-block__table tfoot td.col-itm::before {
    border-left: 0;
    padding-left: 0;
    color: #9ca3af;
    font-weight: 500;
  }
  .notional-block__table tbody tr:has(td.col-days) {
    display: flex;
    flex-direction: column;
  }
  .notional-block__table tbody tr:has(td.col-days) td.col-key {
    order: -1;
  }
  .notional-block__table tbody td.col-days::before {
    border-left-color: #6366f1;
  }
  .notional-block__table tfoot td {
    position: static;
  }
  .notional-block__table tfoot tr {
    display: block;
    margin-top: 0.5rem;
    padding: 0.75rem 0.85rem;
    background: #f5f3ff;
    border: 1px solid #e0e7ff;
    border-radius: 12px;
  }
  .notional-block__table tfoot td.col-key {
    display: block;
    padding: 0 0 0.5rem;
    margin-bottom: 0.45rem;
    font-weight: 700;
    color: #4338ca;
    border-bottom: 1px solid #e0e7ff;
    text-align: left;
  }
  .notional-block__table tfoot td.col-key::before {
    display: none;
  }
  .notional-block__table tfoot td:not(.col-key) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3rem 0;
    border: 0;
  }
  .notional-block__table tfoot td:not(.col-key)::before {
    content: attr(data-label);
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #6b7280;
  }
  .notional-block__table tfoot td:not(.col-key):has(> .empty-cell) {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1399.98px) {
  .notional-summary-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .notional-block {
    padding: 1.25rem 1.5rem;
    max-height: 480px;
  }
  .notional-block__header {
    margin-bottom: 1rem;
  }
  .notional-block__title {
    font-size: 1rem;
  }
  .notional-block__table th, .notional-block__table td {
    padding: 0.7rem 1.1rem;
  }
  .notional-block__table thead th {
    font-size: 0.72rem;
  }
}
@media (max-width: 767.98px) {
  .notional-summary-grid {
    grid-template-columns: 1fr;
  }
}
.notional-breakdown-modal .modal-title-divider {
  color: #d1d5db;
  margin: 0 0.35rem;
  font-weight: 400;
}
.notional-breakdown-modal .modal-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
  padding: 0;
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #4338ca;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease;
  vertical-align: middle;
}
.notional-breakdown-modal .modal-back-btn:hover {
  background: #eef2ff;
  border-color: #c7d2fe;
}
.notional-breakdown-modal .modal-back-btn i {
  font-size: 0.85rem;
}
.notional-breakdown-modal .series-history-modal-content .modal-body {
  max-height: 60vh;
  overflow-y: auto;
  padding: 0;
}
.notional-breakdown-modal .notional-breakdown-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.notional-breakdown-modal .notional-breakdown-table th, .notional-breakdown-modal .notional-breakdown-table td {
  padding: 1rem 1.25rem;
  text-align: center;
  white-space: nowrap;
  line-height: 1.4;
}
.notional-breakdown-modal .notional-breakdown-table thead th {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 2;
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.12s ease, background-color 0.12s ease;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable:hover {
  color: #4338ca;
  background: #fafbfc;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable .sort-indicator {
  font-size: 0.7rem;
  margin-left: 0.35rem;
  color: #d1d5db;
  transition: color 0.12s ease;
  vertical-align: middle;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable.is-sorted {
  color: #4338ca;
}
.notional-breakdown-modal .notional-breakdown-table thead th.is-sortable.is-sorted .sort-indicator {
  color: #4338ca;
}
.notional-breakdown-modal .notional-breakdown-table tbody td {
  border-bottom: 1px solid #f3f4f6;
  color: #111827;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr {
  transition: background-color 0.12s ease;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr:hover {
  background: #fafafa;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr.is-clickable {
  cursor: pointer;
}
.notional-breakdown-modal .notional-breakdown-table tbody tr.is-clickable:hover {
  background: #f5f3ff;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-value {
  font-variant-numeric: tabular-nums;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty {
  font-weight: 600;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty.text-positive {
  color: #16a34a;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-qty.text-negative {
  color: #dc2626;
}
.notional-breakdown-modal .notional-breakdown-table .breakdown-pct {
  color: #6b7280;
  font-variant-numeric: tabular-nums;
}
.notional-breakdown-modal .notional-breakdown-table tfoot td {
  border-top: 2px solid #e5e7eb;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: 700;
  color: #111827;
  background: #fafbfc;
  font-variant-numeric: tabular-nums;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-breakdown-modal .notional-trade-cards__sort-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafbfc;
}
.notional-breakdown-modal .sort-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.65rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: 1;
}
.notional-breakdown-modal .sort-chip:hover {
  border-color: #c7d2fe;
  color: #4338ca;
}
.notional-breakdown-modal .sort-chip--active {
  background: #eef2ff;
  border-color: #c7d2fe;
  color: #4338ca;
}
.notional-breakdown-modal .sort-chip__direction {
  font-size: 0.85rem;
  line-height: 1;
  color: inherit;
}
.notional-breakdown-modal .sort-chip__priority {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.3rem;
  background: #4338ca;
  color: #fff;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 700;
}
.notional-breakdown-modal .notional-trade-cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}
.notional-breakdown-modal .notional-trade-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 0.95rem 1.1rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.notional-breakdown-modal .notional-trade-card:hover {
  border-color: #c7d2fe;
  box-shadow: 0 2px 8px rgba(67, 56, 202, 0.08);
}
.notional-breakdown-modal .notional-trade-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #f3f4f6;
}
.notional-breakdown-modal .notional-trade-card__notional {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.notional-breakdown-modal .notional-trade-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.75rem;
  margin: 0;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dt {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0;
  line-height: 1.2;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd.text-positive {
  color: #16a34a;
}
.notional-breakdown-modal .notional-trade-card__metrics .notional-trade-card__metric dd.text-negative {
  color: #dc2626;
}
.notional-breakdown-modal .notional-trade-cards__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  border-top: 2px solid #e5e7eb;
  background: #fafbfc;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.notional-breakdown-modal .notional-trade-cards__footer > span:last-child {
  font-size: 1.05rem;
}

.itm-series-modal .itm-modal__flag {
  color: #c53030;
  font-weight: 700;
}
.itm-series-modal .itm-modal__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.75rem;
  margin: 0;
  padding: 0.95rem 1.25rem;
  border-bottom: 1px solid #f3f4f6;
  background: #fafbfc;
}
.itm-series-modal .itm-modal__stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.itm-series-modal .itm-modal__stat dt {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  margin: 0;
  line-height: 1.2;
}
.itm-series-modal .itm-modal__stat dd {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}
.itm-series-modal .itm-modal__stat-share {
  color: #c53030;
}
.itm-series-modal .itm-modal__cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}
.itm-series-modal .itm-modal__identity {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.itm-series-modal .itm-modal__ticker {
  font-size: 0.75rem;
  font-weight: 600;
  color: #9ca3af;
  letter-spacing: 0.02em;
}
.itm-series-modal .notional-trade-card__header .strike-moneyness {
  margin-top: 0;
}
.itm-series-modal .itm-modal__quote {
  color: #4a5568;
}
.itm-series-modal .itm-modal__depth {
  margin-top: 0.8rem;
  height: 3px;
  background: #f3f4f6;
  border-radius: 999px;
  overflow: hidden;
}
.itm-series-modal .itm-modal__depth-fill {
  height: 100%;
  background: #c53030;
  border-radius: 999px;
}

.notional-breakdown-modal.itm-series-modal .notional-trade-card__metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.notional-breakdown-modal.itm-series-modal .notional-trade-card:hover {
  border-color: #e5e7eb;
  box-shadow: none;
}

.realized-pnl-chart-slot {
  display: block;
}

.realized-pnl-chart {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__header {
  margin-bottom: 0;
}
.realized-pnl-chart__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  outline: none;
  flex-wrap: wrap;
}
.realized-pnl-chart__header:hover .realized-pnl-chart__toggle {
  background: #f3f4f6;
  color: #111827;
  border-color: #d1d5db;
}
.realized-pnl-chart__header:focus-visible {
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
  border-radius: 6px;
}
.realized-pnl-chart__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #111827;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.realized-pnl-chart__title i {
  color: #38a169;
}
.realized-pnl-chart__header-actions {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
.realized-pnl-chart__stat {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.1;
}
.realized-pnl-chart__stat-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  font-weight: 600;
}
.realized-pnl-chart__stat-value {
  font-size: 0.9rem;
  font-weight: 700;
  color: #111827;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-value.is-positive {
  color: #38a169;
}
.realized-pnl-chart__stat-value.is-negative {
  color: #e53e3e;
}
.realized-pnl-chart__stat-value.is-net {
  color: #667eea;
}
.realized-pnl-chart__stat-share {
  margin-top: 0.2rem;
  padding: 0.05rem 0.35rem;
  border-radius: 0.4rem;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-share.is-positive {
  color: #38a169;
  background: rgba(56, 161, 105, 0.12);
}
.realized-pnl-chart__stat-share.is-negative {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.12);
}
.realized-pnl-chart__stat-share.is-net {
  color: #667eea;
  background: rgba(102, 126, 234, 0.12);
}
.realized-pnl-chart__stat-avg {
  margin-top: 0.2rem;
  font-size: 0.6rem;
  font-weight: 600;
  color: #9ca3af;
  font-variant-numeric: tabular-nums;
}
.realized-pnl-chart__stat-sub {
  font-size: 0.65rem;
  font-weight: 500;
  color: #6b7280;
  margin-left: 0.25rem;
}
.realized-pnl-chart__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 28px;
  height: 28px;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  background: #fff;
  color: #6b7280;
  transition: all 0.15s ease;
}
.realized-pnl-chart__toggle i {
  font-size: 0.85rem;
  transition: transform 0.2s ease;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__toggle i {
  transform: rotate(180deg);
}
.realized-pnl-chart__body {
  overflow: hidden;
  transition: max-height 0.25s ease;
}
.realized-pnl-chart.is-collapsed .realized-pnl-chart__body {
  display: none;
}
.realized-pnl-chart__svg {
  width: 100%;
  height: auto;
  display: block;
  max-height: 460px;
  overflow: visible;
}
.realized-pnl-chart__gridline {
  stroke: #e5e7eb;
  stroke-width: 1;
  stroke-dasharray: 2 4;
}
.realized-pnl-chart__gridline.is-zero {
  stroke: #94a3b8;
  stroke-width: 1.25;
  stroke-dasharray: none;
}
.realized-pnl-chart__axis-line {
  stroke: #cbd5e1;
  stroke-width: 1;
}
.realized-pnl-chart__axis-label {
  fill: #6b7280;
  font-size: 11px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}
.realized-pnl-chart__area {
  fill: rgba(56, 161, 105, 0.24);
  stroke: none;
}
.realized-pnl-chart__area--negative {
  fill: rgba(229, 62, 62, 0.18);
}
.realized-pnl-chart__line {
  fill: none;
  stroke: #38a169;
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.realized-pnl-chart__line--negative {
  stroke: #e53e3e;
}
.realized-pnl-chart__line--net {
  stroke: #667eea;
}
.realized-pnl-chart__point {
  fill: #fff;
  stroke: #38a169;
  stroke-width: 2;
  transition: r 0.15s ease, fill 0.15s ease;
  cursor: pointer;
}
.realized-pnl-chart__point:hover {
  fill: #38a169;
  r: 6;
}
.realized-pnl-chart__point--negative {
  stroke: #e53e3e;
}
.realized-pnl-chart__point--negative:hover {
  fill: #e53e3e;
}
.realized-pnl-chart__point--net {
  stroke: #667eea;
}
.realized-pnl-chart__point--net:hover {
  fill: #667eea;
}
.realized-pnl-chart__body {
  position: relative;
}
.realized-pnl-chart__tooltip {
  position: absolute;
  pointer-events: none;
  background: #111827;
  color: #f9fafb;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 10;
}
.realized-pnl-chart__tooltip[hidden] {
  display: none;
}

.short-pnl-chart .short-pnl-chart__bar {
  transition: opacity 0.15s ease;
}
.short-pnl-chart .short-pnl-chart__bar:hover {
  opacity: 0.85;
}
.short-pnl-chart .short-pnl-chart__bar--put {
  fill: #667eea;
}
.short-pnl-chart .short-pnl-chart__bar--call {
  fill: #ed8936;
}
.short-pnl-chart .short-pnl-chart__bar--loss {
  opacity: 0.6;
}
.short-pnl-chart .short-pnl-chart__bar--loss:hover {
  opacity: 0.8;
}
.short-pnl-chart .short-pnl-chart__value--put {
  color: #667eea;
}
.short-pnl-chart .short-pnl-chart__value--call {
  color: #ed8936;
}
.short-pnl-chart .short-pnl-chart__legend-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  margin-right: 0.25rem;
  vertical-align: middle;
}
.short-pnl-chart .short-pnl-chart__legend-dot--put {
  background: #667eea;
}
.short-pnl-chart .short-pnl-chart__legend-dot--call {
  background: #ed8936;
}
.short-pnl-chart .short-pnl-chart__legend-dot--loss {
  opacity: 0.6;
}

@media (max-width: 576px) {
  .realized-pnl-chart {
    padding: 0.75rem;
  }
  .realized-pnl-chart__header-actions {
    gap: 0.5rem;
    width: 100%;
    justify-content: flex-end;
  }
  .realized-pnl-chart__stat-label {
    font-size: 0.6rem;
  }
  .realized-pnl-chart__stat-value {
    font-size: 0.8rem;
  }
}
.trade-detail-header {
  flex-direction: row !important;
  align-items: center !important;
}
.trade-detail-header .back-link {
  padding: 0.5rem;
  font-size: 1rem;
  line-height: 1;
  border-radius: 50%;
  flex-shrink: 0;
}
.trade-detail-header .back-link span {
  display: none;
}
.trade-detail-header .trade-detail-title {
  flex: 1;
}
.trade-detail-header .trade-detail-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(226, 232, 240, 0.7);
  border-radius: 50%;
  background: #ffffff;
  color: #4a5568;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.18s ease;
  flex-shrink: 0;
}
.trade-detail-header .trade-detail-action-btn:hover {
  border-color: #667eea;
  color: #667eea;
  background: rgba(102, 126, 234, 0.06);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.18);
}
.trade-detail-header .pin-btn {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(226, 232, 240, 0.7);
  border-radius: 50%;
  background: #ffffff;
  color: #4a5568;
  font-size: 0.95rem;
  flex-shrink: 0;
}
.trade-detail-header .pin-btn:hover {
  border-color: #667eea;
  color: #667eea;
  background: rgba(102, 126, 234, 0.06);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.18);
}
.trade-detail-header .pin-btn--active {
  border-color: transparent;
  color: #ffffff;
  background: #ed8936;
  box-shadow: 0 2px 10px rgba(237, 137, 54, 0.45);
}
.trade-detail-header .pin-btn--active:hover {
  border-color: transparent;
  color: #ffffff;
  background: #dd6b20;
  box-shadow: 0 4px 14px rgba(237, 137, 54, 0.55);
  transform: translateY(-1px);
}

.trade-detail-main > turbo-frame {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.trade-detail-main > turbo-frame > .related-trades-card {
  margin-top: 0;
}
.trade-detail-main > turbo-frame > .movements-split > .related-trades-card {
  margin-top: 0;
}
.trade-detail-main > turbo-frame > [data-controller~=series-search-modal] {
  display: contents;
}

.trade-detail-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
  margin-top: 0;
  position: relative;
  z-index: 1;
}
.trade-detail-row > .trade-detail-card {
  margin-top: 0;
}
.trade-detail-row {
  grid-template-columns: 1fr;
}

.premium-context-panel {
  background: #ffffff;
  border: 2.5px solid #ed8936;
  box-shadow: 0 2px 12px rgba(237, 137, 54, 0.2);
  border-radius: 8px;
  padding: 1rem;
  overflow-y: auto;
  max-height: 300px;
}
.premium-context-panel.hidden {
  display: none;
}
.premium-context-panel details {
  display: block;
}
.premium-context-panel summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #2d3748;
  cursor: pointer;
  padding: 0.5rem 0;
  list-style: none;
  letter-spacing: -0.01em;
}
.premium-context-panel summary::-webkit-details-marker {
  display: none;
}
.premium-context-panel summary i {
  color: #667eea;
  font-size: 0.9rem;
}
.premium-context-panel summary .premium-accordion-chevron {
  margin-left: auto;
  font-size: 0.7rem;
  transition: transform 0.2s ease;
}
.premium-context-panel details[open] > summary .premium-accordion-chevron {
  transform: rotate(180deg);
}
.premium-context-panel details:not([open]) > .premium-accordion-body {
  display: none;
}
@media (max-width: 576px) {
  .premium-context-panel {
    padding: 0.5rem 1rem;
  }
  .premium-context-panel summary {
    font-size: 0.8rem;
  }
  .premium-context-panel summary i {
    font-size: 0.8rem;
  }
  .premium-context-panel summary .premium-accordion-chevron {
    font-size: 0.6rem;
  }
}

.premium-matches-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.strike-match-item {
  display: grid;
  grid-template-columns: 1fr 50px 70px 55px 60px;
  gap: 0.5rem;
  padding: 1rem 0.5rem;
  background: rgba(102, 126, 234, 0.04);
  border-radius: 4px;
  font-size: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.05);
  flex-shrink: 0;
  align-items: center;
}
.strike-match-item .match-code {
  color: #667eea;
  font-weight: 700;
  font-size: 0.8rem;
}
.strike-match-item .match-position {
  text-align: center;
  font-weight: 700;
}
.strike-match-item .match-position.positive {
  color: #38a169;
}
.strike-match-item .match-position.negative {
  color: #e53e3e;
}
.strike-match-item .match-position.neutral {
  color: #718096;
}
.strike-match-item .match-notional {
  text-align: right;
  font-weight: 600;
}
.strike-match-item .match-notional.positive {
  color: #38a169;
}
.strike-match-item .match-notional.negative {
  color: #e53e3e;
}
.strike-match-item .match-notional.neutral {
  color: #718096;
}
.strike-match-item .match-premium {
  text-align: right;
  color: #4a5568;
  font-weight: 500;
}
.strike-match-item .match-expiration {
  text-align: right;
  color: #4a5568;
  font-weight: 500;
}

.premium-matches-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
  color: #718096;
  font-size: 0.8rem;
}
.premium-matches-empty.hidden {
  display: none;
}
.premium-matches-empty i {
  font-size: 1rem;
}

.strike-matches-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
}
.strike-matches-table thead th {
  padding: 0.5rem;
  text-align: center;
  font-weight: 700;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #4a5568;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
}
.strike-matches-table tbody tr:hover {
  background-color: rgba(102, 126, 234, 0.06);
}
.strike-matches-table tbody td {
  padding: 0.5rem;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.strike-matches-table tbody td.match-code {
  color: #667eea;
  font-weight: 700;
}
.strike-matches-table tbody td.match-position {
  font-weight: 700;
}
.strike-matches-table tbody td.match-notional {
  font-weight: 600;
}
.strike-matches-table tbody td.match-avg-premium {
  font-weight: 600;
}
.strike-matches-table tbody td.match-avg-premium .yield-badge {
  font-size: 0.85em;
  color: #4a5568;
  font-weight: 500;
}
.strike-matches-table tbody td.match-buy {
  color: #38a169;
  font-weight: 500;
}
.strike-matches-table tbody td.match-sell {
  color: #e53e3e;
  font-weight: 500;
}
.strike-matches-table tbody td.match-expiration {
  font-weight: 800;
  font-size: 0.85rem;
  color: #2d3748;
  letter-spacing: 0.3px;
  background: rgba(237, 137, 54, 0.12);
}

@media (max-width: 1024px) {
  .premium-context-panel .strike-matches-table thead th {
    padding: 0.5rem 1rem;
  }
  .premium-context-panel .strike-matches-table tbody td {
    padding: 1rem;
  }
}

#stock-trades-section {
  scroll-margin-top: 6rem;
}

.stock-trades-period-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 1rem;
}
.stock-trades-period-filter .stock-trades-period-chip {
  padding: 0.25rem 0.7rem;
  border-radius: 14px;
  font-size: 0.72rem;
  font-weight: 600;
  background: rgba(102, 126, 234, 0.08);
  color: #667eea;
  border: 1px solid rgba(102, 126, 234, 0.2);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.stock-trades-period-filter .stock-trades-period-chip:hover {
  background: rgba(102, 126, 234, 0.15);
  border-color: #667eea;
}
.stock-trades-period-filter .stock-trades-period-chip.active {
  background: #667eea;
  color: #ffffff;
  border-color: #667eea;
}

#stock-trades-section > .detail-section-header {
  margin-bottom: 1rem;
}

.stock-price-extremes {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.stock-price-extreme {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.3rem 0.65rem;
  border-radius: 10px;
  border: 1px solid transparent;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.stock-price-extreme__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 8px;
  font-size: 0.85rem;
}
.stock-price-extreme__body {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  margin-right: auto;
}
.stock-price-extreme__label {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #718096;
}
.stock-price-extreme__value {
  font-size: 0.9375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.stock-price-extreme__date {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
  padding-left: 0.5rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
  font-variant-numeric: tabular-nums;
}
.stock-price-extreme__date i {
  font-size: 0.7rem;
}
.stock-price-extreme--high {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.stock-price-extreme--high .stock-price-extreme__icon {
  background: #dcfce7;
  color: #15803d;
}
.stock-price-extreme--high .stock-price-extreme__value {
  color: #15803d;
}
.stock-price-extreme--low {
  background: #fef2f2;
  border-color: #fecaca;
}
.stock-price-extreme--low .stock-price-extreme__icon {
  background: #fee2e2;
  color: #b91c1c;
}
.stock-price-extreme--low .stock-price-extreme__value {
  color: #b91c1c;
}

@media (max-width: 575.98px) {
  .stock-price-extremes {
    flex: 1 1 100%;
  }
  .stock-price-extreme {
    flex: 1 1 0;
  }
}
#stock-trades-section .trades-table thead {
  background: none;
  position: static;
}
#stock-trades-section .trades-table thead tr th {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #4a5568;
  border-bottom: 2px solid #e2e8f0;
  white-space: nowrap;
}

#stock-trades-section .trades-table-wrapper {
  border: none;
  border-radius: 0;
}

.consolidated-table-wrapper {
  overflow-x: auto;
  overflow-y: auto;
  max-height: 60vh;
  -webkit-overflow-scrolling: touch;
  margin: 0 -1rem;
  padding: 0 1rem;
}

.consolidated-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.consolidated-table thead th {
  padding: 1rem 1.5rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #4a5568;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: #ffffff;
  box-shadow: inset 0 -2px 0 #e2e8f0;
}
.consolidated-table thead th.sortable-header {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.consolidated-table thead th.sortable-header:hover {
  background-color: rgba(102, 126, 234, 0.08);
  color: #667eea;
}
.consolidated-table thead th.sortable-header:hover .sort-icon {
  opacity: 1;
}
.consolidated-table thead th.sortable-header .sort-icon {
  margin-left: 4px;
  font-size: 0.7rem;
  opacity: 0.4;
  transition: opacity 0.2s ease;
}
.consolidated-table thead th.sortable-header.sort-asc, .consolidated-table thead th.sortable-header.sort-desc {
  color: #667eea;
  background-color: rgba(102, 126, 234, 0.06);
}
.consolidated-table thead th.sortable-header.sort-asc .sort-icon, .consolidated-table thead th.sortable-header.sort-desc .sort-icon {
  opacity: 1;
}
.consolidated-table tbody tr.row-closed {
  background-color: rgba(113, 128, 150, 0.06);
}
.consolidated-table tbody tr.row-closed td {
  color: #718096;
}
.consolidated-table tbody tr.row-closed td.text-positive {
  color: #38a169;
}
.consolidated-table tbody tr.row-closed td.text-negative {
  color: #e53e3e;
}
.consolidated-table tbody tr.row-expired {
  background-color: rgba(113, 128, 150, 0.06);
}
.consolidated-table tbody tr.row-expired td {
  color: #718096;
}
.consolidated-table tbody tr.row-expired td.text-positive {
  color: #38a169;
}
.consolidated-table tbody tr.row-expired td.text-negative {
  color: #e53e3e;
}
.consolidated-table tbody tr.row-expired-pending {
  border-left: 5px solid #ed8936;
  background-color: rgba(237, 137, 54, 0.05);
}
.consolidated-table tbody tr.row-exercised {
  background-color: rgba(113, 128, 150, 0.06);
}
.consolidated-table tbody tr.row-exercised td {
  color: #718096;
}
.consolidated-table tbody tr.row-exercised td.text-positive {
  color: #38a169;
}
.consolidated-table tbody tr.row-exercised td.text-negative {
  color: #e53e3e;
}
.consolidated-table tbody tr.row-exercised .option-code-primary::after {
  content: " ⚡";
  font-size: 0.75em;
}
.consolidated-table tbody tr.row-highlighted {
  border-left: 5px solid #eab308 !important;
  border-right: 5px solid #eab308 !important;
}
.consolidated-table tbody tr.row-highlighted .option-code-primary {
  font-weight: 700;
}
.consolidated-table tbody tr.row-highlighted--green {
  border-left: 5px solid #15803d !important;
  border-right: 5px solid #15803d !important;
}
.consolidated-table tbody tr.row-highlighted--danger {
  border-left: 5px solid #e53e3e !important;
  border-right: 5px solid #e53e3e !important;
}
.consolidated-table tbody tr.row-guide-highlight {
  background-color: rgba(147, 51, 234, 0.28) !important;
}
.consolidated-table tbody td {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.consolidated-table tfoot.consolidated-summary[hidden] {
  display: none;
}
.consolidated-table tfoot.consolidated-summary {
  border-top: 2px solid #e2e8f0;
}
.consolidated-table tfoot.consolidated-summary .summary-row {
  background: rgba(102, 126, 234, 0.025);
}
.consolidated-table tfoot.consolidated-summary .summary-row td {
  padding: 1rem 1.5rem;
  vertical-align: middle;
}
.consolidated-table tfoot.consolidated-summary .summary-row td:empty {
  display: none;
}
.consolidated-table tfoot.consolidated-summary .summary-label {
  text-align: right;
  padding-right: 1rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #4a5568;
  line-height: 1.2;
  white-space: nowrap;
}
.consolidated-table tfoot.consolidated-summary .summary-notional-stack {
  vertical-align: middle;
}
.consolidated-table tfoot.consolidated-summary .summary-notional-stack .notional-line + .notional-line {
  margin-top: 4px;
}
.consolidated-table tfoot.consolidated-summary .notional-line {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 1rem;
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.consolidated-table tfoot.consolidated-summary .notional-line[hidden] {
  display: none;
}
.consolidated-table tfoot.consolidated-summary .notional-line:hover {
  background: rgba(102, 126, 234, 0.05);
}
.consolidated-table tfoot.consolidated-summary .notional-line-label {
  font-size: 0.66rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.45px;
  min-width: 4.5em;
}
.consolidated-table tfoot.consolidated-summary .notional-line-value {
  font-size: 0.85rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

@media (max-width: 1199.98px) {
  tfoot.consolidated-summary {
    display: block;
  }
  tfoot.consolidated-summary .summary-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0;
    padding: 0.5rem 1rem;
  }
  tfoot.consolidated-summary .summary-row td {
    padding: 0;
    border: none;
    background: transparent;
  }
  tfoot.consolidated-summary .summary-notional-stack {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding-left: 1rem;
    border-left: 1px solid rgba(102, 126, 234, 0.15);
  }
  tfoot.consolidated-summary .summary-notional-stack .notional-line + .notional-line {
    margin-top: 0;
  }
}
.row-number {
  font-weight: 600;
  color: #718096;
  font-size: 0.85rem;
  width: 40px;
  min-width: 40px;
}

.option-code-primary {
  font-weight: 700;
}
.option-code-primary .option-type-pill {
  display: none;
}

.series-note-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-left: 6px;
  padding: 0;
  vertical-align: middle;
  border: 1px solid rgba(102, 126, 234, 0.25);
  border-radius: 50%;
  background: rgba(102, 126, 234, 0.1);
  color: #667eea;
  font-size: 0.68rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
}
.series-note-flag i {
  line-height: 1;
}
.series-note-flag:hover {
  background: #667eea;
  border-color: #667eea;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(102, 126, 234, 0.35);
}

.option-code-date {
  font-size: 0.7rem;
  font-weight: 300;
  color: #2d3748;
  opacity: 0.9;
  letter-spacing: 0.02em;
  margin-top: -1px;
}

.premium-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}

.premium-cell--with-bracket {
  flex-direction: row;
  justify-content: center;
  gap: 6px;
}

.premium-mini {
  display: none;
}

.premium-average-line {
  display: flex;
  align-items: center;
  gap: 6px;
}

.premium-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}

.premium-average {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.35rem;
}

.premium-value {
  font-weight: 700;
  color: #667eea;
}

.expiration-cell {
  font-weight: 700;
  color: #0d9488;
}

.expiration-days {
  font-size: 0.7rem;
  font-weight: 300;
  color: #2d3748;
  opacity: 0.9;
  letter-spacing: 0.02em;
  margin-top: 1px;
}
.expiration-days--soon {
  font-weight: 500;
  color: #8a3a0a;
  opacity: 1;
}

.premium-latest {
  font-size: 0.6rem;
  font-weight: 300;
  color: #2d3748;
  opacity: 0.9;
  letter-spacing: 0.02em;
  margin-top: -1px;
}

.premium-latest--with-op {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.premium-latest--close {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.premium-latest--recent {
  box-shadow: inset 0 0 0 1px rgba(102, 126, 234, 0.55);
  border-radius: 5px;
  padding: 1px 6px;
  margin-left: -6px;
  opacity: 1;
}

.premium-latest--today {
  background: rgba(102, 126, 234, 0.3);
}

.premium-annual {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
  padding-left: 18px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.premium-annual-rate {
  font-size: 0.6rem;
  font-weight: 600;
}

.premium-annual-days {
  font-size: 0.55rem;
  font-weight: 400;
  color: #718096;
}

.premium-latest-quote-icon {
  margin-right: 2px;
  font-size: 0.9em;
  color: #718096;
}

.trade-badge.premium-latest-op {
  padding: 0 4px;
  font-size: 0.5rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  border-radius: 3px;
}

.premium-bracket-group {
  display: flex;
  align-items: center;
  gap: 3px;
  align-self: stretch;
  color: #718096;
}

.premium-bracket-brace {
  width: 6px;
  align-self: stretch;
  min-height: 22px;
  flex-shrink: 0;
  opacity: 0.55;
}

.premium-delta {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  white-space: nowrap;
  color: #2d3748;
}

.premium-delta-value {
  font-size: 0.6rem;
  font-weight: 500;
}

.premium-delta-yield {
  font-size: 0.55rem;
  font-weight: 400;
  margin-top: -1px;
  opacity: 0.85;
}

.text-positive {
  color: #38a169;
  font-weight: 600;
}

.text-negative {
  color: #e53e3e;
  font-weight: 600;
}

.text-muted {
  color: #718096;
}

.text-cost {
  color: #4299e1;
  font-weight: 600;
}

.saldo-dia {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 700;
}
.saldo-dia i {
  font-size: 1rem;
}
.saldo-dia.text-positive i {
  color: #38a169;
}
.saldo-dia.text-negative i {
  color: #e53e3e;
}

.yield-badge {
  font-size: 0.8em;
  color: #4a5568;
  font-weight: 500;
}

.strike-cell {
  font-weight: 700;
  font-size: 1rem;
  color: #667eea;
  white-space: nowrap;
}

.strike-cell-expiration {
  display: none;
}

.strike-moneyness {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.strike-moneyness__tag {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
  color: #c53030;
}
.strike-moneyness__value {
  font-size: 0.78rem;
  font-weight: 700;
  color: #c53030;
}
.strike-moneyness__pct {
  font-size: 0.72rem;
  font-weight: 600;
  color: #a0aec0;
}
.strike-moneyness__pct::before {
  content: "·";
  margin-right: 4px;
  color: #cbd5e0;
}

.strike-distance {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.strike-distance__pct {
  font-size: 0.78rem;
  font-weight: 700;
}
.strike-distance__value {
  font-size: 0.72rem;
  font-weight: 600;
  color: #a0aec0;
}
.strike-distance__value::before {
  content: "·";
  margin-right: 4px;
  color: #cbd5e0;
}
.strike-distance--near .strike-distance__pct {
  color: #dd6b20;
}
.strike-distance--mid .strike-distance__pct {
  color: #4a5568;
}
.strike-distance--far .strike-distance__pct {
  font-weight: 600;
  color: #a0aec0;
}

.strike-breakeven {
  font-size: 0.78rem;
  font-weight: 600;
  color: #a0aec0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.strike-breakeven::before {
  content: "·";
  margin: 0 5px;
  color: #cbd5e0;
}

@media (min-width: 1200px) {
  .consolidated-table .strike-moneyness,
  .consolidated-table .strike-distance {
    justify-content: center;
  }
}
.stock-trade-form-card {
  margin-top: 0;
  min-width: 0;
  overflow: hidden;
}
@media (max-width: 480px) {
  .stock-trade-form-card {
    margin-top: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .stock-trade-form-card .detail-section-title {
    font-size: 0.85rem;
    margin-bottom: 0.25rem;
    padding-bottom: 0.25rem;
  }
}

.stock-trade-form-modal:not([open]) {
  display: none;
}
.stock-trade-form-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22), 0 6px 20px rgba(15, 23, 42, 0.08);
  padding: 0;
  max-width: 460px;
  width: 92vw;
  overflow: hidden;
  background: #ffffff;
}
.stock-trade-form-modal::backdrop {
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(2px);
  animation: stock-form-backdrop-in 0.2s ease-out;
}
.stock-trade-form-modal[open] {
  display: flex;
  flex-direction: column;
  animation: stock-form-fade-in 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes stock-form-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes stock-form-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.stock-trade-form-modal-content {
  display: flex;
  flex-direction: column;
}

.stock-trade-form-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  background: #ffffff;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.stock-trade-form-modal-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  letter-spacing: -0.01em;
}
.stock-trade-form-modal-title::before {
  content: "";
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background: linear-gradient(180deg, #667eea, #764ba2);
}

.stock-trade-form-modal-close {
  background: none;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  color: #718096;
  cursor: pointer;
  padding: 0;
  transition: all 0.15s ease;
}
.stock-trade-form-modal-close:hover {
  background: rgba(15, 23, 42, 0.05);
  color: #2d3748;
}

.stock-trade-form-modal-body {
  padding: 1.5rem 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.stock-trade-form-modal-row {
  display: grid;
  gap: 1rem;
  align-items: end;
}

.stock-trade-form-modal-row--top {
  grid-template-columns: 1fr 1fr;
}

.stock-trade-form-modal-row--bottom {
  grid-template-columns: 0.85fr 1fr 1fr;
}

.stock-trade-segmented {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: rgba(15, 23, 42, 0.06);
  border-radius: 10px;
  padding: 3px;
  min-height: 44px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: box-shadow 0.18s ease;
}
.stock-trade-segmented:focus-within {
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.22);
}

.stock-trade-segmented-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}

.stock-trade-segmented-option {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #718096;
  border-radius: 7px;
  cursor: pointer;
  transition: color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  margin: 0;
}
.stock-trade-segmented-option:hover {
  color: #4a5568;
}

.stock-trade-segmented-input:checked + .stock-trade-segmented-option--buy {
  background: #ffffff;
  color: #38a169;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1), 0 1px 2px rgba(15, 23, 42, 0.06);
}

.stock-trade-segmented-input:checked + .stock-trade-segmented-option--sell {
  background: #ffffff;
  color: #e53e3e;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1), 0 1px 2px rgba(15, 23, 42, 0.06);
}

.stock-trade-segmented-input:focus-visible + .stock-trade-segmented-option {
  outline: 2px solid rgba(102, 126, 234, 0.45);
  outline-offset: 2px;
}

.stock-trade-form-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: rgba(248, 250, 252, 0.7);
  border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.stock-trade-form-modal-cancel {
  background: none;
  border: none;
  padding: 8px 14px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #4a5568;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.stock-trade-form-modal-cancel:hover {
  background: rgba(15, 23, 42, 0.05);
  color: #2d3748;
}

.stock-trade-form-modal-submit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
.stock-trade-form-modal-submit i {
  font-size: 0.9rem;
}
.stock-trade-form-modal-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  filter: brightness(1.05);
}
.stock-trade-form-modal-submit:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.28);
}

.stock-trade-form-modal .stock-trade-field {
  transition: opacity 0.15s ease;
}
.stock-trade-form-modal:has(:is(input:not([type=hidden]), select, textarea):focus) .stock-trade-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}
.stock-trade-form-modal .stock-trade-field {
  gap: 6px;
}
.stock-trade-form-modal .stock-trade-field .detail-label {
  font-size: 0.65rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.stock-trade-form-modal .stock-trade-input,
.stock-trade-form-modal .stock-trade-select {
  width: 100%;
  padding: 10px 14px;
  font-size: 0.92rem;
  font-weight: 500;
  border-width: 1px;
  border-color: rgba(15, 23, 42, 0.12);
  border-radius: 10px;
  text-align: left;
  color: #2d3748;
  background: rgba(248, 250, 252, 0.6);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.stock-trade-form-modal .stock-trade-input::-moz-placeholder, .stock-trade-form-modal .stock-trade-select::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.stock-trade-form-modal .stock-trade-input::placeholder,
.stock-trade-form-modal .stock-trade-select::placeholder {
  color: #718096;
  font-weight: 400;
}
.stock-trade-form-modal .stock-trade-input:hover,
.stock-trade-form-modal .stock-trade-select:hover {
  border-color: rgba(15, 23, 42, 0.2);
}
.stock-trade-form-modal .stock-trade-input:focus,
.stock-trade-form-modal .stock-trade-select:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.stock-trade-form-modal .stock-trade-select {
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
  background-position: right 12px center;
  padding-right: 36px;
}
.stock-trade-form-modal .stock-trade-input.input-filled, .stock-trade-form-modal .stock-trade-input.input-filled:hover,
.stock-trade-form-modal .stock-trade-form .stock-trade-input.input-filled,
.stock-trade-form-modal .stock-trade-form .stock-trade-input.input-filled:hover {
  border-color: rgba(56, 161, 105, 0.5);
  background-color: rgba(56, 161, 105, 0.05);
  border-width: 1px;
}

@media (max-width: 576px) {
  .stock-trade-form-modal {
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.15);
    max-width: none;
    width: 100vw;
    margin: auto 0 0 0;
  }
  .stock-trade-form-modal[open] {
    animation: stock-form-slide-up 0.3s ease-out;
  }
  @keyframes stock-form-slide-up {
    from {
      opacity: 0;
      transform: translateY(100%);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  .stock-trade-form-modal-body {
    gap: 0.5rem;
  }
  .stock-trade-form-modal-row {
    gap: 0.5rem 1rem;
  }
  .stock-trade-form-modal-row--top {
    grid-template-columns: 1fr 1fr;
  }
  .stock-trade-form-modal-row--bottom {
    grid-template-columns: 1fr 1fr;
  }
  .stock-trade-form-modal-row--bottom .stock-trade-field--operacao {
    grid-column: 1/-1;
  }
  .stock-trade-segmented {
    min-height: 42px;
  }
  .stock-trade-form-modal-footer {
    padding: 0.5rem 1rem 1rem;
  }
  .stock-trade-form-modal-submit {
    flex: 1;
    justify-content: center;
    padding: 10px 18px;
  }
}
.stock-trade-form {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.stock-trade-form .stock-trade-field {
  transition: opacity 0.15s ease;
}
.stock-trade-form:has(:is(input:not([type=hidden]), select, textarea):focus) .stock-trade-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}
.stock-trade-form .stock-trade-grid-inline {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.6fr) minmax(0, 0.8fr) minmax(0, 0.8fr) minmax(0, 0.8fr) minmax(0, 0.6fr) minmax(0, 0.8fr) 42px;
  gap: 1rem;
}
@media (max-width: 1200px) {
  .stock-trade-form .stock-trade-grid-inline {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
  }
}
@media (max-width: 576px) {
  .stock-trade-form .stock-trade-grid-inline {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}
@media (max-width: 576px) {
  .stock-trade-form .stock-trade-submit {
    grid-column: auto;
  }
}
@media (max-width: 480px) {
  .stock-trade-form {
    margin-top: 0.5rem;
    gap: 1rem;
  }
}

.stock-trade-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1.5rem;
  align-items: end;
}
@media (max-width: 768px) {
  .stock-trade-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1rem;
  }
}
@media (max-width: 480px) {
  .stock-trade-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 1rem;
  }
}

.stock-trade-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.stock-trade-field .detail-label {
  font-weight: 600;
  color: #2d3748;
}
@media (max-width: 480px) {
  .stock-trade-field {
    gap: 0.1rem;
    min-width: 0;
  }
  .stock-trade-field .detail-label {
    font-size: 0.6rem;
  }
}

.stock-trade-input,
.stock-trade-select {
  padding: 1rem 1.5rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
  background: #ffffff;
  text-align: center;
  transition: all 0.3s ease;
}
.stock-trade-input:focus,
.stock-trade-select:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.stock-trade-input::-moz-placeholder, .stock-trade-select::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.stock-trade-input::placeholder,
.stock-trade-select::placeholder {
  color: #718096;
  font-weight: 400;
}
@media (max-width: 480px) {
  .stock-trade-input,
  .stock-trade-select {
    padding: 0.5rem 0.5rem;
    font-size: 0.7rem;
    border-width: 1.5px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
  }
}

input.stock-trade-input.input-filled, input.stock-trade-input.input-filled:hover,
.stock-trade-form .stock-trade-input.input-filled,
.stock-trade-form .stock-trade-input.input-filled:hover {
  border-color: #38a169;
  background-color: rgba(56, 161, 105, 0.1);
  border-width: 2px;
}

input.stock-trade-input.input-error, input.stock-trade-input.input-error:hover,
.stock-trade-form .stock-trade-input.input-error,
.stock-trade-form .stock-trade-input.input-error:hover {
  border-color: #e53e3e;
  background-color: rgba(229, 62, 62, 0.08);
  border-width: 2px;
  box-shadow: 0 0 0 4px rgba(229, 62, 62, 0.1);
}
input.stock-trade-input.input-error:focus,
.stock-trade-form .stock-trade-input.input-error:focus {
  border-color: #e53e3e !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.3), 0 4px 12px rgba(229, 62, 62, 0.2) !important;
}

.stock-trade-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 3rem;
}

.stock-trade-submit {
  display: flex;
  align-items: flex-end;
}
@media (max-width: 480px) {
  .stock-trade-submit {
    grid-column: 1/-1;
  }
}

.stock-trade-form-meta {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.5rem;
}

.inline-date-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(102, 126, 234, 0.06);
  border: 1px solid rgba(102, 126, 234, 0.15);
  border-radius: 12px;
  color: #4a5568;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  font-variant-numeric: tabular-nums;
}
.inline-date-chip i {
  font-size: 0.85rem;
  color: #667eea;
  opacity: 0.75;
}
.inline-date-chip:hover {
  background: rgba(102, 126, 234, 0.1);
  border-color: rgba(102, 126, 234, 0.3);
  color: #2d3748;
}
.inline-date-chip:focus-visible {
  outline: 2px solid rgba(102, 126, 234, 0.4);
  outline-offset: 2px;
}

.inline-date-input {
  width: 110px;
  padding: 4px 10px;
  border-radius: 12px;
  border: 1px solid rgba(102, 126, 234, 0.4);
  background: #ffffff;
  font-size: 0.75rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: #2d3748;
  outline: none;
}
.inline-date-input:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.15);
}

.stock-trade-btn {
  width: 100%;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: 2px solid transparent;
  border-radius: 8px;
  box-sizing: border-box;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
}
@media (max-width: 480px) {
  .stock-trade-btn {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
  }
}

.stock-trade-btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  padding: 0;
  border-radius: 50%;
  font-size: 1.15rem;
  box-shadow: 0 2px 6px rgba(102, 126, 234, 0.3);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.stock-trade-btn-icon:hover {
  transform: scale(1.08);
  box-shadow: 0 3px 10px rgba(102, 126, 234, 0.4);
}
.stock-trade-btn-icon:active {
  transform: scale(0.95);
}
.stock-trade-btn-icon .stock-trade-btn-label {
  display: none;
}
@media (max-width: 748px) {
  .stock-trade-btn-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    font-size: 1.05rem;
  }
}

.empty-related {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  text-align: center;
}
.empty-related i {
  font-size: 3rem;
  color: #718096;
  margin-bottom: 1rem;
}
.empty-related p {
  color: #4a5568;
  font-size: 1.1rem;
  margin: 0;
}

.stocks-show-overview {
  display: flex;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 0;
}
.stocks-show-overview > #stock_summary {
  flex: 0 0 500px;
  min-width: 0;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
}
.stocks-show-overview > #stock_summary > .trade-detail-card {
  margin: 0;
}
.stocks-show-overview > .notes-section {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.stocks-show-overview > .notes-section > .trade-detail-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.stocks-show-overview > .notes-section > .trade-detail-card .notes-list-scroll {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}
.stocks-show-overview > .stock-alert-banner {
  flex: 0 0 320px;
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.stocks-show-overview > .stock-alert-banner .stock-alert-banner-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
@media (max-width: 1280px) {
  .stocks-show-overview {
    flex-wrap: wrap;
  }
  .stocks-show-overview > #stock_summary {
    flex: 1 1 100%;
  }
  .stocks-show-overview > .notes-section {
    flex: 1 1 0;
  }
  .stocks-show-overview > .stock-alert-banner {
    flex: 0 0 280px;
  }
  .stocks-show-overview > .notes-section .notes-list-card,
  .stocks-show-overview > .stock-alert-banner {
    max-height: 70vh !important;
  }
}
@media (max-width: 768px) {
  .stocks-show-overview {
    gap: 0.5rem;
  }
  .stocks-show-overview > .stock-alert-banner {
    flex: 0 0 220px;
  }
}
@media (max-width: 480px) {
  .stocks-show-overview {
    flex-direction: column;
  }
  .stocks-show-overview > #stock_summary,
  .stocks-show-overview > .notes-section,
  .stocks-show-overview > .stock-alert-banner {
    flex: 1 1 auto;
    width: 100%;
  }
}

.consolidated-share-strip {
  margin: 1rem -2rem 1rem;
  padding: 1rem 2rem;
  background: rgba(102, 126, 234, 0.04);
  border-top: 1px solid rgba(102, 126, 234, 0.12);
  border-bottom: 1px solid rgba(102, 126, 234, 0.12);
}

.consolidated-share-strip-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.consolidated-share-strip-header > i {
  color: #667eea;
  font-size: 0.85rem;
}

.consolidated-share-strip-hint {
  margin-left: auto;
  font-weight: 500;
  color: #718096;
  font-size: 0.65rem;
  text-transform: none;
  letter-spacing: 0;
}

.consolidated-share-strip-cards {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  align-items: flex-start;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(102, 126, 234, 0.3) transparent;
}
.consolidated-share-strip-cards::-webkit-scrollbar {
  height: 6px;
}
.consolidated-share-strip-cards::-webkit-scrollbar-thumb {
  background: rgba(102, 126, 234, 0.3);
  border-radius: 3px;
}
.consolidated-share-strip-cards::-webkit-scrollbar-track {
  background: transparent;
}

.consolidated-share-card {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0.25rem 0.5rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  width: -moz-max-content;
  width: max-content;
  flex: 0 0 auto;
}

.consolidated-share-card-total {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.06) 100%);
  border-color: rgba(102, 126, 234, 0.25);
}
.consolidated-share-card-total .consolidated-share-card-date {
  color: #667eea;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 0.65rem;
}

.consolidated-share-card-date {
  font-size: 0.7rem;
  font-weight: 700;
  color: #4a5568;
}

.consolidated-share-card-cells {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.consolidated-share-cell {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  border-radius: 4px;
  border: 1px solid transparent;
  padding: 2px 6px;
  margin: 0 -6px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.consolidated-share-cell.consolidated-share-cell-clickable {
  cursor: pointer;
}
.consolidated-share-cell.consolidated-share-cell-clickable:hover {
  background-color: rgba(102, 126, 234, 0.08);
}
.consolidated-share-cell .consolidated-share-label {
  font-size: 0.6rem;
  font-weight: 700;
  color: #718096;
  letter-spacing: 0.05em;
  min-width: 1.7em;
}
.consolidated-share-cell .consolidated-share-value {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: #2d3748;
}
.consolidated-share-cell .consolidated-share-abs {
  font-size: 0.6rem;
  font-weight: 500;
  color: #718096;
  font-variant-numeric: tabular-nums;
  margin-left: 2px;
}
.consolidated-share-cell .consolidated-share-bucket-total {
  flex-basis: 100%;
  text-align: center;
  font-size: 0.6rem;
  font-weight: 500;
  color: #718096;
  opacity: 0.65;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  margin-top: -1px;
}
.consolidated-share-cell .consolidated-share-bucket-rank {
  color: #4a5568;
  font-weight: 600;
  margin-left: 0;
}
.consolidated-share-cell.is-significant {
  background-color: rgba(237, 137, 54, 0.1);
  border: 1px solid rgba(237, 137, 54, 0.3);
}
.consolidated-share-cell.is-significant .consolidated-share-value {
  color: #ed8936;
  font-weight: 800;
}
.consolidated-share-cell.is-high {
  background-color: rgba(229, 62, 62, 0.12);
  border: 1px solid rgba(229, 62, 62, 0.35);
  box-shadow: 0 0 0 2px rgba(229, 62, 62, 0.08);
}
.consolidated-share-cell.is-high .consolidated-share-label {
  color: #e53e3e;
  opacity: 0.85;
}
.consolidated-share-cell.is-high .consolidated-share-value {
  color: #e53e3e;
  font-weight: 800;
}

@media (max-width: 768px) {
  .consolidated-share-strip {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.notes-section {
  margin-top: 0;
}

.notes-add-btn {
  margin-left: auto;
  background: none;
  border: none;
  color: #667eea;
  cursor: pointer;
  font-size: 1.2rem;
  padding: 0.25rem;
  transition: all 0.15s ease;
}
.notes-add-btn:hover {
  transform: scale(1.15);
}

.notes-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  padding: 0;
  max-width: 720px;
  width: 90vw;
}
.notes-modal::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

.notes-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e2e8f0;
}

.notes-modal-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
}

.notes-modal-body {
  padding: 1.5rem 2rem;
}
.notes-modal-body .notes-textarea {
  min-height: 120px;
}
.notes-modal-body .notes-richtext {
  max-height: 50vh;
}

.notes-modal-meta {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  color: #718096;
}
.notes-modal-meta.hidden {
  display: none;
}

.notes-textarea--roomy {
  min-height: 320px;
  font-size: 0.95rem;
  line-height: 1.7;
}

.notes-modal-delete-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  background: transparent;
  color: #e53e3e;
  border: 1.5px solid rgba(229, 62, 62, 0.25);
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.notes-modal-delete-btn:hover {
  background: rgba(229, 62, 62, 0.08);
  border-color: rgba(229, 62, 62, 0.55);
}
.notes-modal-delete-btn:focus-visible {
  outline: none;
  border-color: #e53e3e;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.18);
}
.notes-modal-delete-btn:active {
  transform: scale(0.96);
}
.notes-modal-delete-btn.hidden {
  display: none;
}
.notes-modal-delete-btn i {
  font-size: 1rem;
  line-height: 1;
}

.notes-list-card {
  display: flex;
  flex-direction: column;
}
.notes-list-card .detail-section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.notes-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 0.5rem;
  background: #667eea;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 12px;
}

.notes-form {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.notes-input-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
}

.notes-toolbar {
  display: flex;
  gap: 4px;
}
.notes-toolbar .toolbar-btn {
  padding: 4px 10px;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.85rem;
  color: #2d3748;
  line-height: 1;
  transition: all 0.2s ease;
}
.notes-toolbar .toolbar-btn:hover {
  background: rgb(228.4545454545, 238.4090909091, 245.0454545455);
  border-color: #667eea;
}

.notes-textarea {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 400;
  color: #2d3748;
  background: #ffffff;
  transition: all 0.3s ease;
  resize: none;
  font-family: inherit;
  line-height: 1.6;
  flex: 1;
  min-height: 120px;
}
.notes-textarea::-moz-placeholder {
  color: #718096;
}
.notes-textarea::placeholder {
  color: #718096;
}
.notes-textarea:hover {
  border-color: rgba(102, 126, 234, 0.4);
}
.notes-textarea:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

.notes-richtext {
  overflow-y: auto;
  cursor: text;
  text-align: left;
}
.notes-richtext:empty:before {
  content: attr(data-placeholder);
  color: #718096;
  pointer-events: none;
}
.notes-richtext b, .notes-richtext strong {
  font-weight: 700;
}
.notes-richtext i, .notes-richtext em {
  font-style: italic;
}
.notes-richtext s, .notes-richtext strike, .notes-richtext del {
  text-decoration: line-through;
}
.notes-richtext p {
  margin: 0;
}

.notes-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
}

.notes-save-btn {
  padding: 0.5rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.notes-save-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.notes-save-btn:active:not(:disabled) {
  transform: translateY(0);
}
.notes-save-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.notes-list-scroll {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-height: 280px;
  overflow-y: auto;
  padding-right: 0.5rem;
}
.notes-list-scroll::-webkit-scrollbar {
  width: 6px;
}
.notes-list-scroll::-webkit-scrollbar-track {
  background: rgba(113, 128, 150, 0.1);
  border-radius: 3px;
}
.notes-list-scroll::-webkit-scrollbar-thumb {
  background: rgba(102, 126, 234, 0.3);
  border-radius: 3px;
}
.notes-list-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(102, 126, 234, 0.5);
}

.note-item {
  min-width: 0;
  padding: 1rem;
  background: rgba(113, 128, 150, 0.05);
  border-radius: 8px;
  border-left: 3px solid #667eea;
  flex-shrink: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.note-item--clickable {
  cursor: pointer;
  transition: transform 0.2s ease;
}
.note-item--clickable:active {
  transform: translateY(1px);
}
.note-item--latest {
  background: rgba(102, 126, 234, 0.2);
  border: 1.5px solid rgba(102, 126, 234, 0.6);
  border-left-width: 7px;
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.35);
}
.note-item--latest .note-date {
  font-size: 0.9rem;
  color: #5568d3;
  font-weight: 700;
}

.note-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.note-date {
  font-size: 0.75rem;
  color: #718096;
  font-weight: 500;
}

.note-updated {
  margin-left: 0.25rem;
  font-size: 0.7rem;
  font-style: italic;
  font-weight: 400;
  opacity: 0.65;
}

.note-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.note-edit-btn,
.note-delete-btn {
  background: none;
  border: none;
  color: #718096;
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.note-edit-btn i,
.note-delete-btn i {
  font-size: 0.85rem;
}

.note-edit-btn:hover {
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
}

.note-delete-btn:hover {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.1);
}

.notes-cancel-btn {
  padding: 0.5rem 1.5rem;
  background: transparent;
  color: #4a5568;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.notes-cancel-btn:hover {
  border-color: #4a5568;
  color: #2d3748;
}
.notes-cancel-btn.hidden {
  display: none;
}

.note-content {
  font-size: 0.9rem;
  color: #2d3748;
  line-height: 1.6;
}
.note-content p {
  margin: 0;
}
.note-content del {
  text-decoration: line-through;
  opacity: 0.6;
}

.notes-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  color: #718096;
  min-height: 150px;
}
.notes-empty i {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}
.notes-empty p {
  margin: 0;
  font-size: 0.9rem;
}

.dropdown-cell {
  display: none;
}

.dropdown-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.dropdown-trigger:hover {
  background-color: rgba(102, 126, 234, 0.1);
}
.dropdown-trigger i {
  font-size: 1rem;
  color: #667eea;
  transition: transform 0.3s ease;
}
.dropdown-trigger i.rotated {
  transform: rotate(180deg);
}

.dropdown-content {
  position: fixed;
  min-width: 260px;
  display: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 100;
  padding: 0.25rem 0;
}
.dropdown-content.visible {
  display: block;
  animation: series-dropdown-show 0.15s ease-out;
}

@keyframes series-dropdown-show {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.dropdown-header {
  padding: 1rem;
  background: rgba(102, 126, 234, 0.05);
  border-bottom: 1px solid #e2e8f0;
  font-weight: 700;
  font-size: 0.85rem;
  color: #2d3748;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: default;
}

.dropdown-list {
  max-height: 300px;
  overflow-y: auto;
  position: relative;
  border-radius: 4px;
}
.dropdown-list:focus {
  outline: none;
}
.dropdown-list:focus-visible {
  outline: 2px solid rgba(102, 126, 234, 0.35);
  outline-offset: -2px;
}

.dropdown-columns-header {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr)) 36px;
  justify-items: center;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(102, 126, 234, 0.05);
  border-bottom: 1px solid #e2e8f0;
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #718096;
  backdrop-filter: saturate(140%) blur(6px);
}
.dropdown-columns-header > span {
  text-align: center;
}

.dropdown-item {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr)) 36px;
  justify-items: center;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  font-size: 0.8rem;
  transition: background-color 0.2s ease;
}
.dropdown-item:last-child {
  border-bottom: none;
}
.dropdown-item:hover {
  background-color: rgba(102, 126, 234, 0.04);
}
.dropdown-item.dropdown-item-today {
  background-color: rgba(253, 230, 138, 0.4);
  border-left: 3px solid #667eea;
}
.dropdown-item.dropdown-item-draggable {
  cursor: grab;
}
.dropdown-item.dropdown-item-draggable.dragging {
  opacity: 0.45;
  cursor: grabbing;
  background-color: rgba(102, 126, 234, 0.08);
}

.trade-info-date {
  color: #4a5568;
  font-weight: 500;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.trade-info-time {
  font-size: 0.65rem;
  font-weight: 400;
  color: #718096;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.trade-info-quote {
  color: #2d3748;
  font-weight: 600;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.trade-info-pnl-days {
  font-size: 0.65rem;
  font-weight: 400;
  color: #718096;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.trade-info-yield-annualized {
  font-size: 0.65rem;
  font-weight: 400;
  color: #718096;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.trade-info-type-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.trade-info-qty {
  font-size: 0.65rem;
  font-weight: 500;
  color: #718096;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.trade-info-type {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.7rem;
  padding: 2px 6px;
  border-radius: 4px;
  text-align: center;
  width: 60px;
}
.trade-info-type.buy {
  color: #2f855a;
  background-color: rgba(56, 161, 105, 0.15);
}
.trade-info-type.sell {
  color: #c53030;
  background-color: rgba(229, 62, 62, 0.15);
}

.trade-info-premium {
  color: #2d3748;
  font-weight: 600;
  text-align: center;
}

.trade-info-yield {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-weight: 600;
  font-size: 0.8rem;
  text-align: center;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.trade-info-yield.text-positive {
  color: #38a169;
}
.trade-info-yield.text-negative {
  color: #e53e3e;
}

.trade-info-pnl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-weight: 600;
  font-size: 0.8rem;
  text-align: center;
}
.trade-info-pnl.pnl-positive {
  color: #38a169;
}
.trade-info-pnl.pnl-negative {
  color: #e53e3e;
}

.dropdown-empty {
  padding: 2rem;
  text-align: center;
  color: #718096;
  font-style: italic;
}

.alert-dropdown-wrapper {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.trade-info-actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.trade-info-actions .bills-dropdown-trigger {
  width: 28px;
  height: 28px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: #718096;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.trade-info-actions .bills-dropdown-trigger:hover {
  background: rgba(102, 126, 234, 0.08);
  color: #667eea;
}

.quick-edit-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.18), 0 8px 24px rgba(0, 0, 0, 0.08);
  padding: 0;
  max-width: 480px;
  width: calc(100vw - 4rem);
  overflow: hidden;
  animation: edit-series-slide-up 0.25s ease-out;
}
.quick-edit-modal::backdrop {
  background: rgba(15, 23, 42, 0.55);
  animation: edit-series-backdrop-in 0.2s ease-out;
}

.quick-edit-modal-content {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.quick-edit-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 2rem 2rem 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.06) 0%, rgba(118, 75, 162, 0.04) 100%);
  border-bottom: 1px solid rgba(102, 126, 234, 0.1);
}

.quick-edit-modal-header-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.quick-edit-modal-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #2d3748;
  letter-spacing: -0.01em;
  margin: 0;
}
.quick-edit-modal-title i {
  color: #667eea;
  font-size: 1rem;
}

.quick-edit-modal-code {
  font-size: 0.75rem;
  font-weight: 700;
  color: #667eea;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  background: rgba(102, 126, 234, 0.08);
  border-radius: 4px;
}

.quick-edit-modal-subtitle {
  font-size: 0.8rem;
  font-weight: 500;
  color: #4a5568;
  letter-spacing: 0.01em;
}

.quick-edit-modal-close {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: none;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  color: #718096;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  margin-top: 2px;
  transition: background 0.15s ease, color 0.15s ease;
}
.quick-edit-modal-close:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.quick-edit-modal-body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.quick-edit-modal-body .quick-edit-field {
  transition: opacity 0.15s ease;
}
.quick-edit-modal-body:has(:is(input:not([type=hidden]), select, textarea):focus) .quick-edit-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.quick-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2rem;
}

.quick-edit-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.quick-edit-field .detail-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.quick-edit-input {
  padding: 10px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 100%;
  box-sizing: border-box;
}
.quick-edit-input::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.quick-edit-input::placeholder {
  color: #718096;
  font-weight: 400;
}
.quick-edit-input:hover {
  border-color: rgba(102, 126, 234, 0.35);
}
.quick-edit-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}

.quick-edit-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 2.5rem;
}

.quick-edit-feedback {
  font-size: 0.85rem;
  min-height: 1.25rem;
}
.quick-edit-feedback.quick-edit-feedback-info {
  color: #667eea;
}
.quick-edit-feedback.quick-edit-feedback-error {
  color: #e53e3e;
}
.quick-edit-feedback.quick-edit-feedback-success {
  color: #38a169;
}

.quick-edit-btn {
  width: 100%;
  padding: 12px 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}
.quick-edit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(102, 126, 234, 0.35);
}
.quick-edit-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(102, 126, 234, 0.2);
}

.quick-edit-delete-btn {
  align-self: center;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: transparent;
  color: #e53e3e;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.quick-edit-delete-btn i {
  font-size: 0.9rem;
}
.quick-edit-delete-btn:hover {
  background: rgba(229, 62, 62, 0.08);
  border-color: rgba(229, 62, 62, 0.3);
}

.alert-dropdown-item.alert-active i {
  color: #ed8936;
}
.alert-dropdown-item:hover i {
  color: #ed8936;
}

.alert-chips {
  display: none;
  padding: 0.25rem 1rem 0.5rem;
}
.alert-chips.visible {
  display: block;
}

.alert-chips-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
  margin-bottom: 0.25rem;
}

.alert-chips-row {
  display: flex;
  gap: 0.25rem;
}

.alert-chip {
  padding: 0.2rem 0.5rem;
  border: 1px solid rgba(237, 137, 54, 0.3);
  border-radius: 12px;
  background: rgba(237, 137, 54, 0.06);
  color: #ed8936;
  font-size: 0.7rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}
.alert-chip:hover {
  background: #ed8936;
  color: #ffffff;
  border-color: #ed8936;
}

.actions-cell {
  position: relative;
  text-align: center;
  padding: 0.5rem;
  overflow: visible;
}
.actions-cell .dropdown-trigger i {
  font-size: 1.1rem;
}
.actions-cell .dropdown-trigger i.rotated {
  transform: none;
}

.actions-dropdown-content {
  position: fixed;
  min-width: 160px;
  display: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 100;
  padding: 0.25rem 0;
}
.actions-dropdown-content.visible {
  display: block;
  animation: series-dropdown-show 0.15s ease-out;
}

.actions-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  border: none;
  font-size: 0.8rem;
  font-weight: 500;
  color: #2d3748;
  cursor: pointer;
  transition: background-color 0.2s ease;
  text-align: left;
}
.actions-dropdown-item:hover:not(.disabled) {
  background-color: rgba(102, 126, 234, 0.06);
  color: #667eea;
}
.actions-dropdown-item i {
  font-size: 0.9rem;
  width: 18px;
  text-align: center;
  color: #667eea;
}
.actions-dropdown-item.disabled {
  color: #718096;
  cursor: not-allowed;
}
.actions-dropdown-item.disabled i {
  color: #718096;
}
.actions-dropdown-item[disabled] {
  color: #718096;
  cursor: progress;
}
.actions-dropdown-item[disabled] i {
  color: #718096;
  animation: series-action-spin 0.9s linear infinite;
}

@keyframes series-action-spin {
  to {
    transform: rotate(360deg);
  }
}
.actions-dropdown-item--has-submenu {
  position: relative;
}
.actions-dropdown-item--has-submenu .actions-submenu__chevron {
  margin-left: auto;
  font-size: 0.7rem;
  color: #718096;
}
.actions-dropdown-item--has-submenu > .actions-submenu {
  position: absolute;
  top: calc(0.25rem * -1);
  right: 100%;
  min-width: 180px;
  display: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  padding: 0.25rem 0;
  z-index: 1;
}
.actions-dropdown-item--has-submenu:hover > .actions-submenu, .actions-dropdown-item--has-submenu.is-open > .actions-submenu {
  display: block;
}

.actions-submenu__swatch--amber {
  color: #eab308 !important;
}

.actions-submenu__swatch--green {
  color: #15803d !important;
}

.actions-submenu__swatch--danger {
  color: #e53e3e !important;
}

.actions-submenu__check {
  margin-left: auto;
  display: none;
}

.actions-dropdown-item.is-active .actions-submenu__check {
  display: inline;
}

@media (max-width: 576px) {
  .actions-dropdown-item--has-submenu > .actions-submenu {
    position: static;
    right: auto;
    top: auto;
    min-width: 0;
    border: none;
    box-shadow: none;
    padding: 0;
  }
  .actions-dropdown-item--has-submenu:hover > .actions-submenu {
    display: none;
  }
  .actions-dropdown-item--has-submenu.is-open > .actions-submenu {
    display: block;
  }
  .actions-dropdown-item--has-submenu.is-open > .actions-submenu .actions-dropdown-item {
    padding-left: 1.5rem;
  }
}
.actions-dropdown-divider {
  height: 1px;
  background-color: #e2e8f0;
  margin: 0.25rem 0;
}

.badge-expired-pending {
  display: inline-block;
  font-size: 0.5rem;
  font-weight: 800;
  padding: 0.1rem 0.3rem;
  border-radius: 3px;
  background-color: #ffe2cc;
  color: #8a3a0a;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  letter-spacing: 0.03em;
}

.stock-trades-table .origin-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.4rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}
.stock-trades-table .origin-badge.regular {
  background: #e0e3fb;
  color: #39408f;
  box-shadow: inset 0 0 0 1px rgba(102, 126, 234, 0.55);
}
.stock-trades-table .origin-badge.options_exercise {
  background: #ffe2cc;
  color: #8a3a0a;
  box-shadow: inset 0 0 0 1px rgba(221, 107, 32, 0.55);
}
.stock-trades-table .origin-badge.bonificacao {
  background: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.stock-trades-table .exercise-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  background: rgba(221, 107, 32, 0.13);
  color: #dd6b20;
  border: 1px solid rgba(221, 107, 32, 0.35);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  white-space: nowrap;
}
.stock-trades-table .exercise-pill i {
  font-size: 0.7rem;
  line-height: 1;
}
.stock-trades-table .exercise-pill:hover {
  background: rgba(221, 107, 32, 0.24);
  border-color: rgba(221, 107, 32, 0.6);
  color: #b85614;
}

.movements-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}
@media (min-width: 1200px) {
  .movements-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (min-width: 1200px) {
  .movements-split > .related-trades-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .movements-split #stock_trades_frame,
  .movements-split #option_movements_frame {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }
  .movements-split .trades-table-wrapper,
  .movements-split .option-movements-wrapper {
    flex: 1 1 auto;
    min-height: 0;
  }
}
#stock-trades-section .trades-table-wrapper,
.option-movements-wrapper {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: 60vh;
}

.trades-table.movement-cards {
  display: block;
  width: 100%;
  min-width: unset;
  border-spacing: 0;
  background: transparent;
}
.trades-table.movement-cards thead {
  display: none;
}
.trades-table.movement-cards tbody {
  display: block;
}
.trades-table.movement-cards tbody tr {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  -moz-column-gap: 0;
       column-gap: 0;
  row-gap: 10px;
  padding: 14px 1.5rem;
  margin-bottom: 1rem;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #667eea;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.trades-table.movement-cards tbody tr:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
.trades-table.movement-cards tbody tr:last-child {
  margin-bottom: 0;
}
.trades-table.movement-cards tbody tr td {
  display: block;
  padding: 0 1rem 0 0;
  border: none;
  text-align: left;
  white-space: normal;
  font-size: 0.9rem;
  color: #2d3748;
  font-variant-numeric: tabular-nums;
}
.trades-table.movement-cards tbody tr td::before {
  content: attr(data-label);
  display: block;
  margin-bottom: 3px;
  font-size: 0.65rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.trades-table.movement-cards tbody tr td.mc-hide {
  display: none;
}
.trades-table.movement-cards tbody tr td.mc-date,
.trades-table.movement-cards tbody tr td.mc-cv,
.trades-table.movement-cards tbody tr td.mc-id {
  grid-row: 1;
  align-self: center;
  padding-bottom: 10px;
  border-bottom: 1px dashed #e2e8f0;
}
.trades-table.movement-cards tbody tr td.mc-date::before,
.trades-table.movement-cards tbody tr td.mc-cv::before,
.trades-table.movement-cards tbody tr td.mc-id::before {
  display: none;
}
.trades-table.movement-cards tbody tr td.mc-date {
  grid-column: 1/3;
  font-size: 1.05rem;
  font-weight: 700;
  color: #667eea;
  letter-spacing: 0.3px;
}
.trades-table.movement-cards tbody tr td.mc-cv {
  grid-column: 3;
}
.trades-table.movement-cards tbody tr td.mc-id {
  grid-column: 4/-1;
  padding-right: 0;
  text-align: right;
}
.trades-table.movement-cards tbody tr td.mc-flow {
  order: 1;
  padding-right: 0;
  text-align: right;
  font-size: 1rem;
  font-weight: 700;
}
.trades-table.movement-cards tbody tr td.mc-flow.positive {
  color: #38a169;
}
.trades-table.movement-cards tbody tr td.mc-flow.negative {
  color: #e53e3e;
}
.trades-table.movement-cards tbody tr td.trade-actions {
  position: absolute;
  top: 6px;
  right: 8px;
  padding: 0;
}
.trades-table.movement-cards tbody tr td.trade-actions::before {
  display: none;
}
.trades-table.movement-cards tbody tr.grouped-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.trades-table.movement-cards tbody tr.grouped-row td {
  font-weight: 500;
  padding-right: 1rem;
}
.trades-table.movement-cards tbody tr.grouped-row td:nth-child(1),
.trades-table.movement-cards tbody tr.grouped-row td:nth-child(7),
.trades-table.movement-cards tbody tr.grouped-row td:nth-child(8),
.trades-table.movement-cards tbody tr.grouped-row td:nth-child(9) {
  display: none;
}
.trades-table.movement-cards tbody tr.grouped-row td:nth-child(2) {
  grid-column: 1/-1;
  font-size: 1.05rem;
  font-weight: 700;
  color: #667eea;
  letter-spacing: 0.3px;
}
.trades-table.movement-cards tbody tr.grouped-row td:nth-child(2)::before {
  display: none;
}
.trades-table.movement-cards tbody tr.grouped-row td:nth-child(4),
.trades-table.movement-cards tbody tr.grouped-row td:nth-child(6) {
  padding-right: 0;
  text-align: right;
  font-weight: 600;
}

.mc-time {
  margin-left: 5px;
  font-size: 0.68rem;
  font-weight: 400;
  color: #718096;
}

.mc-quote-time {
  display: block;
  margin-top: 3px;
  font-size: 0.66rem;
  font-weight: 400;
  letter-spacing: 0.2px;
  color: #a0aec0;
}

.mc-serie {
  font-weight: 700;
  color: #2d3748;
  letter-spacing: 0.01em;
  text-decoration: none;
}
.mc-serie:hover {
  color: #667eea;
}

@media (max-width: 767.98px) {
  .trades-table.movement-cards tbody tr {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 12px 1rem;
  }
  .trades-table.movement-cards tbody tr td {
    font-size: 0.82rem;
  }
  .trades-table.movement-cards tbody tr td.mc-date {
    grid-column: 1;
    font-size: 0.95rem;
  }
  .trades-table.movement-cards tbody tr td.mc-cv {
    grid-column: 2;
  }
  .trades-table.movement-cards tbody tr td.mc-id {
    grid-column: 3/-1;
  }
  .trades-table.movement-cards tbody tr td.mc-flow {
    grid-column: 3;
    font-size: 0.9rem;
  }
}
@media (max-width: 1199.98px) {
  .related-trades-card > .detail-section-header {
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }
  .related-trades-card > .detail-section-header .detail-section-title {
    flex: 1 1 100%;
    white-space: nowrap;
  }
  .related-trades-card > .detail-section-header .detail-section-actions {
    width: 100%;
    justify-content: flex-start;
  }
}
@media (max-width: 1199.98px) {
  .consolidated-table-wrapper {
    overflow-x: hidden;
    border: none;
  }
  .consolidated-filter-dropdown {
    right: auto;
    left: 0;
    max-width: calc(100vw - 1.5rem * 2);
  }
  .consolidated-table {
    min-width: unset;
    border-spacing: 0;
    display: block;
  }
  .consolidated-table thead {
    display: none;
  }
  .consolidated-table tbody {
    display: block;
  }
  .consolidated-table tbody tr {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: dense;
    position: relative;
    padding: 1.5rem 0.5rem 1rem;
    margin-bottom: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    cursor: pointer;
  }
  .consolidated-table tbody tr.hidden-by-filter, .consolidated-table tbody tr.hidden-by-type {
    display: none;
  }
  .consolidated-table tbody tr.row-closed {
    opacity: 0.6;
    border-left: 3px solid #718096;
  }
  .consolidated-table tbody tr.row-expired {
    opacity: 0.6;
    border-left: 3px solid #718096;
  }
  .consolidated-table tbody tr.row-exercised {
    opacity: 0.6;
    border-left: 3px solid #ed8936;
  }
  .consolidated-table tbody tr.row-expired-pending {
    border-left: 5px solid #ed8936;
    background-color: rgba(237, 137, 54, 0.05);
  }
  .consolidated-table tbody tr.row-highlighted {
    border-left: 5px solid #eab308 !important;
    border-right: 5px solid #eab308 !important;
    opacity: 1;
  }
  .consolidated-table tbody tr.row-highlighted .option-code-primary {
    font-weight: 700;
  }
  .consolidated-table tbody tr.row-guide-highlight {
    background-color: rgba(147, 51, 234, 0.28) !important;
    opacity: 1;
  }
  .consolidated-table tbody tr td {
    padding: 0.5rem 0.25rem;
    text-align: left;
    white-space: normal;
    font-size: 0.9rem;
    border: none;
    background: transparent !important;
  }
  .consolidated-table tbody tr td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 2px;
  }
  .consolidated-table tbody tr td[data-label=Tipo] {
    display: none;
  }
  .consolidated-table tbody tr td[data-label=Opção] {
    grid-column: 1;
    grid-row: 1;
  }
  .consolidated-table tbody tr td[data-label=Strike] {
    grid-column: 1;
    grid-row: 2;
  }
  .consolidated-table tbody tr td[data-label=Posição] {
    grid-column: 2;
    grid-row: 1;
  }
  .consolidated-table tbody tr td[data-label=Notional] {
    grid-column: 2;
    grid-row: 2;
  }
  .consolidated-table tbody tr td[data-label="Prêmio Saldo"] {
    grid-column: 3;
    grid-row: 1/span 2;
    align-self: center;
  }
  .consolidated-table tbody tr td[data-label="Prêmio Médio"] {
    grid-column: 1/-1;
    grid-row: 3;
    margin-top: 4px;
    padding-top: 0.5rem;
    border-top: 1px solid #e2e8f0;
  }
  .consolidated-table tbody tr td[data-label=Vencimento] {
    display: none;
  }
  .consolidated-table tbody tr td[data-label=Opção] .option-code-primary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    row-gap: 2px;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  .consolidated-table tbody tr td[data-label=Opção] .option-type-pill {
    display: inline-flex;
    padding: 1px 7px;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    line-height: 1.4;
  }
  .consolidated-table tbody tr td.row-number {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    padding: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #718096;
    line-height: 1;
  }
  .consolidated-table tbody tr td.row-number::before {
    display: none;
  }
  .consolidated-table tbody tr td.strike-cell {
    font-size: 1.5rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  .consolidated-table tbody tr td.strike-cell::before {
    margin-bottom: 6px;
  }
  .consolidated-table tbody tr td.strike-cell .strike-cell-value {
    display: block;
    line-height: 1;
  }
  .consolidated-table tbody tr td.strike-cell .strike-cell-expiration {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #0d9488;
    font-variant-numeric: tabular-nums;
  }
  .consolidated-table tbody tr td.strike-cell .strike-cell-expiration i {
    font-size: 0.85rem;
    color: #0d9488;
  }
  .consolidated-table tbody tr td[data-label=Posição], .consolidated-table tbody tr td[data-label=Notional], .consolidated-table tbody tr td.expiration-cell {
    font-size: 1.25rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
    white-space: nowrap;
  }
  .consolidated-table tbody tr td[data-label=Posição]::before, .consolidated-table tbody tr td[data-label=Notional]::before, .consolidated-table tbody tr td.expiration-cell::before {
    margin-bottom: 6px;
  }
  .consolidated-table tbody tr td[data-label=Notional] {
    font-size: 1.05rem;
  }
  .consolidated-table tbody tr td[data-label="Prêmio Saldo"] {
    font-size: 1.05rem;
    font-weight: 700;
    white-space: nowrap;
  }
  .consolidated-table tbody tr td .premium-cell {
    display: none;
  }
  .consolidated-table tbody tr td .premium-mini {
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: start;
    align-items: baseline;
    -moz-column-gap: 16px;
         column-gap: 16px;
    row-gap: 4px;
    margin-top: 2px;
    font-variant-numeric: tabular-nums;
  }
  .consolidated-table tbody tr td .premium-mini-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    font-size: 0.78rem;
    color: #718096;
    white-space: nowrap;
  }
  .consolidated-table tbody tr td .premium-mini-meta {
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .consolidated-table tbody tr td .premium-mini-label--avg {
    font-weight: 600;
    color: #2d3748;
  }
  .consolidated-table tbody tr td .premium-mini-label--delta {
    font-weight: 700;
  }
  .consolidated-table tbody tr td .premium-mini-label--recent {
    box-shadow: inset 0 0 0 1px rgba(102, 126, 234, 0.55);
    border-radius: 5px;
    padding: 1px 6px;
    margin-left: -6px;
  }
  .consolidated-table tbody tr td .premium-mini-label--today {
    background: rgba(102, 126, 234, 0.3);
  }
  .consolidated-table tbody tr td .premium-mini-val {
    text-align: right;
    white-space: nowrap;
    font-size: 0.95rem;
    font-weight: 700;
    color: #2d3748;
  }
  .consolidated-table tbody tr td .premium-mini-val--avg {
    color: #667eea;
  }
  .consolidated-table tbody tr td .premium-mini-val--delta {
    font-weight: 600;
    color: #718096;
  }
  .consolidated-table tbody tr td .premium-mini-val--annual.text-positive {
    color: #38a169;
  }
  .consolidated-table tbody tr td .premium-mini-val--annual.text-negative {
    color: #e53e3e;
  }
  .consolidated-table tbody tr td .premium-mini-yield {
    text-align: right;
    white-space: nowrap;
    font-size: 0.8rem;
    color: #718096;
  }
  .consolidated-table tbody tr td .trade-badge.premium-latest-op {
    font-size: 0.6rem;
    padding: 1px 5px;
  }
  .consolidated-table tbody tr td .trade-badge {
    padding: 3px 8px;
    font-size: 0.7rem;
  }
  .consolidated-table tbody tr td.actions-cell {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    padding: 0;
    border: none;
  }
  .consolidated-table tbody tr td.actions-cell::before {
    display: none;
  }
  .consolidated-table tbody tr td.actions-cell .dropdown-trigger {
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    color: #718096;
  }
  .consolidated-table tbody tr td.actions-cell .dropdown-trigger:hover {
    color: #2d3748;
  }
}
@media (max-width: 768px) {
  .consolidated-table {
    font-size: 0.8rem;
  }
  .consolidated-table thead th,
  .consolidated-table tbody td {
    padding: 0.5rem;
  }
  .consolidated-table .strike-cell {
    font-size: 0.8rem;
  }
  .notes-row {
    gap: 1.5rem;
  }
  .notes-textarea {
    min-height: 100px;
  }
  .notes-list-scroll {
    max-height: 250px;
  }
}
@media (max-width: 480px) {
  .consolidated-table {
    font-size: 0.7rem;
  }
  .consolidated-table thead th {
    padding: 0.25rem 0.5rem;
    font-size: 0.6rem;
    letter-spacing: 0.3px;
  }
  .consolidated-table tbody td {
    padding: 0.25rem 0.5rem;
  }
  .consolidated-table .row-number {
    font-size: 0.75rem;
    min-width: 30px;
    width: 30px;
  }
  .consolidated-table .option-code-primary {
    font-size: 0.75rem;
  }
  .consolidated-table .option-code-date {
    font-size: 0.6rem;
  }
  .consolidated-table .strike-cell {
    font-size: 0.7rem;
  }
  .consolidated-table .premium-value {
    font-size: 0.7rem;
  }
  .consolidated-table .premium-latest {
    font-size: 0.55rem;
  }
  .consolidated-table .yield-badge {
    font-size: 0.6em;
  }
  .consolidated-table .expiration-cell {
    font-size: 0.7rem;
  }
  .consolidated-table tbody tr td {
    font-size: 0.75rem;
  }
  .consolidated-table tbody tr td::before {
    font-size: 0.55rem;
  }
  .consolidated-table tbody tr td.strike-cell, .consolidated-table tbody tr td[data-label=Posição] {
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  .consolidated-table tbody tr td[data-label=Notional] {
    font-size: 0.85rem;
  }
  .consolidated-table tbody tr td.expiration-cell {
    font-size: 0.7rem;
  }
  .consolidated-table tbody tr td .premium-cell .premium-value {
    font-size: 0.9rem;
  }
  .consolidated-table tbody tr td .premium-cell .premium-average {
    flex-wrap: nowrap;
  }
  .consolidated-table tbody tr td .premium-cell .premium-latest {
    font-size: 0.55rem;
  }
  .consolidated-table tbody tr td .premium-cell .yield-badge {
    font-size: 0.55rem;
  }
  .consolidated-table tbody tr td .trade-badge {
    padding: 2px 6px;
    font-size: 0.6rem;
  }
  .consolidated-table-wrapper {
    margin: 0 -0.5rem;
    padding: 0 0.5rem;
  }
}
@media (max-width: 476px) {
  .consolidated-table tbody tr {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 480px) {
  #stock-trades-section .trades-table-wrapper {
    margin: 0 -0.5rem;
    padding: 0 0.5rem;
  }
  .trade-detail-main > turbo-frame {
    gap: 1.5rem;
  }
  .trade-detail-header {
    padding: 0.5rem 1rem;
    margin-bottom: 0;
  }
  .trade-detail-header .trade-detail-title {
    font-size: 1.4rem;
  }
  .trade-detail-card {
    padding: 0.5rem 1rem;
    margin-top: 0;
  }
  #stock_summary > .trade-detail-card {
    max-height: 45vh;
    overflow-y: auto;
  }
  .related-trades-card {
    padding: 0.5rem 1rem;
  }
  .detail-section-title {
    font-size: 0.85rem;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0.25rem;
  }
  .detail-section-title i {
    font-size: 0.85rem;
  }
  .detail-section-title .section-count {
    font-size: 0.7rem;
  }
  .detail-grid {
    gap: 0.5rem;
  }
  .detail-item {
    padding: 0.5rem;
    gap: 0.25rem;
  }
  .detail-item .detail-label {
    font-size: 0.6rem;
    letter-spacing: 0.3px;
  }
  .detail-item .detail-label i {
    font-size: 0.7rem;
  }
  .detail-item .detail-value {
    font-size: 0.85rem;
  }
  .detail-item.detail-item-positive, .detail-item.detail-item-negative, .detail-item.detail-item-premium, .detail-item.detail-item-expiration, .detail-item.detail-item-closed, .detail-item.detail-item-info, .detail-item.detail-item-strike {
    border-left-width: 3px;
  }
  .trade-detail-row {
    margin-top: 0;
    gap: 1.5rem;
  }
  .premium-context-panel {
    padding: 0.5rem 1rem;
    max-height: 300px;
  }
  .premium-context-panel summary {
    font-size: 0.75rem;
    padding: 0.25rem 0;
  }
  .premium-context-panel summary i {
    font-size: 0.75rem;
  }
  .premium-context-panel summary .premium-accordion-chevron {
    font-size: 0.6rem;
  }
  .strike-match-item {
    grid-template-columns: 1fr 40px 55px 45px 50px;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.65rem;
  }
  .strike-match-item .match-code {
    font-size: 0.7rem;
  }
  .premium-matches-empty {
    padding: 0.5rem;
    font-size: 0.7rem;
  }
  .premium-matches-empty i {
    font-size: 0.85rem;
  }
  .strike-matches-table {
    font-size: 0.65rem;
  }
  .strike-matches-table thead th {
    padding: 0.25rem;
    font-size: 0.55rem;
  }
  .strike-matches-table tbody td {
    padding: 0.25rem;
  }
  .notes-section {
    margin-top: 0;
  }
  .notes-row {
    gap: 1.5rem;
  }
  .notes-card {
    padding: 0.5rem 1rem;
  }
  .notes-card .detail-section-title {
    font-size: 0.8rem;
  }
  .notes-textarea {
    min-height: 70px;
    font-size: 0.75rem;
    padding: 0.5rem;
  }
  .notes-btn {
    padding: 0.25rem 1rem;
    font-size: 0.75rem;
  }
  .notes-list-scroll {
    max-height: 180px;
  }
  .note-item {
    padding: 0.5rem;
    font-size: 0.75rem;
  }
}
@keyframes edit-series-slide-up {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes edit-series-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.edit-series-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.18), 0 8px 24px rgba(0, 0, 0, 0.08);
  padding: 0;
  max-width: 480px;
  width: calc(100vw - 4rem);
  overflow: hidden;
  animation: edit-series-slide-up 0.25s ease-out;
}
.edit-series-modal::backdrop {
  background: rgba(15, 23, 42, 0.55);
  animation: edit-series-backdrop-in 0.2s ease-out;
}

.edit-series-modal-content {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.edit-series-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 2rem 2rem 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.06) 0%, rgba(118, 75, 162, 0.04) 100%);
  border-bottom: 1px solid rgba(102, 126, 234, 0.1);
}

.edit-series-modal-header-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.edit-series-modal-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #2d3748;
  letter-spacing: -0.01em;
  margin: 0;
}
.edit-series-modal-title i {
  color: #667eea;
  font-size: 1rem;
}

.edit-series-modal-subtitle {
  font-size: 0.8rem;
  font-weight: 500;
  color: #4a5568;
  letter-spacing: 0.01em;
}

.edit-series-modal-close {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: none;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  color: #718096;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  margin-top: 2px;
  transition: background 0.15s ease, color 0.15s ease;
}
.edit-series-modal-close:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.edit-series-modal-body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.edit-series-modal-body .edit-series-field {
  transition: opacity 0.15s ease;
}
.edit-series-modal-body:has(:is(input:not([type=hidden]), select, textarea):focus) .edit-series-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.edit-series-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2rem;
}

.edit-series-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.edit-series-field .detail-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.edit-series-input {
  padding: 10px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 100%;
  box-sizing: border-box;
}
.edit-series-input::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.edit-series-input::placeholder {
  color: #718096;
  font-weight: 400;
}
.edit-series-input:hover {
  border-color: rgba(102, 126, 234, 0.35);
}
.edit-series-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}

.edit-series-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 2.5rem;
}

.edit-series-feedback {
  font-size: 0.85rem;
  min-height: 1.25rem;
}
.edit-series-feedback-error {
  color: #e53e3e;
}
.edit-series-feedback-success {
  color: #38a169;
}
.edit-series-feedback-info {
  color: #667eea;
}

.edit-series-warning {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: rgba(237, 137, 54, 0.08);
  border: 1px solid rgba(237, 137, 54, 0.25);
  border-radius: 10px;
  color: rgb(210.9123287671, 105.9808219178, 18.8876712329);
  font-size: 0.78rem;
  line-height: 1.4;
}
.edit-series-warning::before {
  content: "\f33a";
  font-family: "bootstrap-icons";
  font-size: 0.95rem;
  flex-shrink: 0;
  color: #ed8936;
  line-height: 1.4;
}
.edit-series-warning[hidden] {
  display: none;
}

.edit-series-btn {
  width: 100%;
  padding: 12px 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}
.edit-series-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(102, 126, 234, 0.35);
}
.edit-series-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(102, 126, 234, 0.2);
}

.series-history-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  padding: 0;
  max-width: 520px;
  width: 90vw;
}
.series-history-modal::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

.series-history-modal-header-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.series-history-modal-subtitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  font-weight: 500;
  color: #4a5568;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}
.series-history-modal-subtitle .text-positive {
  color: #38a169;
}
.series-history-modal-subtitle .text-negative {
  color: #e53e3e;
}
.series-history-modal-subtitle .text-muted {
  color: #718096;
}

.series-history-subtitle-line {
  display: block;
  line-height: 1.3;
}

.series-history-meta-row {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.series-history-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(102, 126, 234, 0.14);
  border-radius: 999px;
  font-size: 0.72rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 1px 2px rgba(102, 126, 234, 0.04);
}
.series-history-meta-chip i {
  font-size: 0.8rem;
  color: #667eea;
  opacity: 0.85;
}
.series-history-meta-chip .series-history-meta-label {
  color: #718096;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 0.65rem;
  letter-spacing: 0.04em;
}
.series-history-meta-chip .series-history-meta-value {
  color: #2d3748;
  font-weight: 700;
}

.series-history-subtitle-strong {
  font-weight: 700;
  color: #2d3748;
}

.series-history-subtitle-sep {
  color: #718096;
  font-weight: 400;
}

.series-history-subtitle-premium {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.35em;
  line-height: 1.2;
}

.series-history-subtitle-yield {
  font-size: 0.7rem;
  font-weight: 500;
  color: #718096;
  line-height: 1.2;
}

.series-history-quote-line {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #718096;
}
.series-history-quote-line i {
  font-size: 0.75rem;
  color: #667eea;
  opacity: 0.85;
}
.series-history-quote-line .series-history-quote-value {
  color: #2d3748;
  font-weight: 700;
}
.series-history-quote-line .series-history-quote-sep {
  color: rgba(113, 128, 150, 0.55);
}

.series-history-modal-content {
  display: flex;
  flex-direction: column;
  max-height: 80vh;
}
.series-history-modal-content .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e2e8f0;
  flex-shrink: 0;
}
.series-history-modal-content .modal-header .modal-title {
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
}
.series-history-modal-content .modal-header.series-history-modal-header {
  position: relative;
  align-items: flex-start;
  gap: 1rem;
  padding: 2rem 2rem 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.06) 0%, rgba(118, 75, 162, 0.04) 100%);
  border-bottom: 1px solid rgba(102, 126, 234, 0.1);
}
.series-history-modal-content .modal-header.series-history-modal-header .series-history-modal-header-text {
  flex: 1;
  align-items: center;
  text-align: center;
}
.series-history-modal-content .modal-header.series-history-modal-header .modal-close-btn {
  position: absolute;
  top: 2rem;
  right: 2rem;
}
.series-history-modal-content .modal-header.series-history-modal-header .modal-title {
  font-size: 1.15rem;
  letter-spacing: -0.01em;
}
.series-history-modal-content .modal-body {
  padding: 1rem 2rem 2rem;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
.series-history-modal-content .modal-body .notes-list-scroll {
  max-height: none;
  overflow-y: visible;
  padding-right: 0;
}
.series-history-modal-content .modal-body .note-item {
  text-align: left;
}
.series-history-modal-content .modal-body .notes-empty {
  min-height: 100px;
  padding: 1.5rem;
}
.series-history-modal-content .series-history-footer {
  flex-shrink: 0;
  padding: 0.5rem 2rem 1rem;
  border-top: 1px solid #e2e8f0;
}
.series-history-modal-content .series-history-footer:empty {
  display: none;
}

.series-history-action-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.5rem 1rem;
  background: none;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #667eea;
  cursor: pointer;
  transition: all 0.2s ease;
}
.series-history-action-btn:hover {
  background: rgba(102, 126, 234, 0.05);
  border-color: #667eea;
}

.series-search-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  padding: 0;
  max-width: 520px;
  width: 90vw;
  background: #ffffff;
}
.series-search-modal::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

.series-search-modal-content {
  display: flex;
  flex-direction: column;
  max-height: 70vh;
}

.series-search-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  flex-shrink: 0;
}

.series-search-icon {
  color: #718096;
  font-size: 1rem;
}

.series-search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 1rem;
  font-weight: 500;
  color: #2d3748;
  padding: 0.25rem 0;
  letter-spacing: 0.5px;
}
.series-search-input::-moz-placeholder {
  color: #718096;
  font-weight: 400;
  letter-spacing: normal;
}
.series-search-input::placeholder {
  color: #718096;
  font-weight: 400;
  letter-spacing: normal;
}
.series-search-input.is-navigating {
  caret-color: transparent;
}

.series-search-close {
  background: none;
  border: none;
  color: #718096;
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}
.series-search-close:hover {
  background: #f7fafc;
  color: #2d3748;
}

.series-search-results {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
  padding: 0.25rem;
}
.series-search-results:empty {
  display: none;
}

.series-search-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 1rem;
  background: none;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease;
}
.series-search-item.is-selected {
  background: rgba(102, 126, 234, 0.22);
  box-shadow: inset 3px 0 0 0 #667eea;
}
.series-search-item[hidden] {
  display: none;
}

.series-search-item-code {
  font-size: 0.9rem;
  font-weight: 700;
  color: #2d3748;
  font-family: "Monaco", "Menlo", monospace;
  letter-spacing: 0.3px;
}

.series-search-item-badge {
  font-size: 0.6rem;
  padding: 2px 6px;
}

.series-search-item-meta {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.series-search-item-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  background: #f7fafc;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.series-search-item-chip i {
  font-size: 0.65rem;
  color: #718096;
}

.series-search-item.is-selected .series-search-item-chip {
  background: #ffffff;
}
.series-search-item.is-selected .series-search-item-chip i {
  color: #667eea;
}

.series-search-item-tag {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #718096;
  background: #f7fafc;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 0.25rem;
}

.series-search-item.is-inactive {
  opacity: 0.65;
}
.series-search-item.is-inactive .series-search-item-code {
  color: #4a5568;
}

.series-search-create-item {
  border-top: 1px dashed #e2e8f0;
  margin-top: 0.25rem;
}
.series-search-create-item .series-search-create-icon {
  font-size: 0.95rem;
  color: #667eea;
}
.series-search-create-item .series-search-create-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #667eea;
}
.series-search-create-item .series-search-create-code {
  font-family: "Monaco", "Menlo", monospace;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.3px;
  color: #2d3748;
}
.series-search-create-item.is-selected {
  background: rgba(102, 126, 234, 0.22);
  box-shadow: inset 3px 0 0 0 #667eea;
}

.series-search-empty {
  padding: 2rem;
  text-align: center;
  color: #718096;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.series-search-empty i {
  font-size: 1.5rem;
}
.series-search-empty[hidden] {
  display: none;
}

.series-search-empty-text {
  margin: 0;
  font-size: 0.9rem;
  color: #4a5568;
  line-height: 1.4;
}
.series-search-empty-text span {
  color: #2d3748;
  font-weight: 600;
  font-family: "Monaco", "Menlo", monospace;
}

.series-search-create-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1.1rem;
  margin-top: 0.25rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
  box-shadow: 0 2px 6px rgba(102, 126, 234, 0.25);
}
.series-search-create-btn i {
  font-size: 0.95rem !important;
}
.series-search-create-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.35);
}
.series-search-create-btn:active {
  transform: translateY(0);
}
.series-search-create-btn:focus-visible {
  outline: 2px solid #667eea;
  outline-offset: 2px;
}

.series-search-footer {
  display: flex;
  gap: 1rem;
  padding: 0.5rem 1.5rem;
  border-top: 1px solid #e2e8f0;
  font-size: 0.7rem;
  color: #718096;
  flex-shrink: 0;
}
.series-search-footer span {
  display: flex;
  align-items: center;
  gap: 4px;
}
.series-search-footer kbd {
  display: inline-block;
  padding: 1px 5px;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 3px;
  font-family: "Monaco", "Menlo", monospace;
  font-size: 0.65rem;
  font-weight: 600;
  color: #4a5568;
  line-height: 1;
}

@media (max-width: 576px) {
  .series-search-footer {
    display: none;
  }
}
@keyframes quick-trade-slide-up {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes quick-trade-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.quick-trade-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.18), 0 8px 24px rgba(0, 0, 0, 0.08);
  padding: 0;
  max-width: 440px;
  width: calc(100vw - 4rem);
  overflow: hidden;
  animation: quick-trade-slide-up 0.25s ease-out;
}
.quick-trade-modal::backdrop {
  background: rgba(15, 23, 42, 0.55);
  animation: quick-trade-backdrop-in 0.2s ease-out;
}

.quick-trade-modal-content {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.quick-trade-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2rem 2rem 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.06) 0%, rgba(118, 75, 162, 0.04) 100%);
  border-bottom: 1px solid rgba(102, 126, 234, 0.1);
}

.quick-trade-header-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.quick-trade-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  letter-spacing: -0.01em;
}

.quick-trade-series-info {
  font-size: 0.85rem;
  font-weight: 500;
  color: #4a5568;
  letter-spacing: 0.02em;
}
.quick-trade-series-info .quick-trade-series-info-strong {
  font-weight: 700;
  color: #2d3748;
}
.quick-trade-series-info .quick-trade-series-info-premium {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  vertical-align: top;
  line-height: 1.1;
}
.quick-trade-series-info .quick-trade-series-info-yield {
  font-size: 0.7rem;
  color: #718096;
  font-weight: 500;
  line-height: 1;
}

.quick-trade-close {
  background: none;
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #718096;
  cursor: pointer;
  padding: 0;
  transition: all 0.15s ease;
  flex-shrink: 0;
  margin-top: 2px;
}
.quick-trade-close:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.quick-trade-body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.quick-trade-modal .quick-trade-field {
  transition: opacity 0.15s ease;
}
.quick-trade-modal:has(:is(input:not([type=hidden]), select, textarea):focus) .quick-trade-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}
.quick-trade-modal .quick-trade-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2rem;
}
.quick-trade-modal .quick-trade-grid-actions {
  grid-template-columns: 1fr 1fr auto;
}
.quick-trade-modal .quick-trade-submit-field {
  display: flex;
  align-items: flex-end;
}
.quick-trade-modal .quick-trade-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.quick-trade-modal .quick-trade-label {
  font-weight: 600;
  color: #4a5568;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.quick-trade-modal .quick-trade-input {
  padding: 10px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
  box-sizing: border-box;
}
.quick-trade-modal .quick-trade-input::-moz-placeholder {
  color: rgba(113, 128, 150, 0.6);
  font-weight: 400;
}
.quick-trade-modal .quick-trade-input::placeholder {
  color: rgba(113, 128, 150, 0.6);
  font-weight: 400;
}
.quick-trade-modal .quick-trade-input:hover {
  border-color: rgba(102, 126, 234, 0.35);
}
.quick-trade-modal .quick-trade-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.quick-trade-modal .quick-trade-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 2.5rem;
}
.quick-trade-modal .quick-trade-yield-group .quick-trade-yield-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.quick-trade-modal .quick-trade-yield-value {
  font-weight: 700;
  font-size: 0.95rem;
  color: #667eea;
  flex: 1;
  padding: 10px 14px;
  border: 1.5px solid rgba(102, 126, 234, 0.2);
  border-radius: 10px;
  background: rgba(102, 126, 234, 0.04);
}
.quick-trade-modal .quick-trade-submit-btn {
  width: 42px;
  height: 42px;
  min-width: 42px;
  border-radius: 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}
.quick-trade-modal .quick-trade-submit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(102, 126, 234, 0.35);
}
.quick-trade-modal .quick-trade-submit-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(102, 126, 234, 0.2);
}
.quick-trade-modal .quick-trade-position-preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 0.8rem;
}
.quick-trade-modal .quick-trade-position-label {
  color: #718096;
  font-weight: 500;
}
.quick-trade-modal .quick-trade-position-value {
  font-weight: 700;
  font-size: 0.9rem;
}
.quick-trade-modal .quick-trade-cost-preview {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-top: -2px;
  padding: 0 0 0.5rem;
  font-size: 0.8rem;
}
.quick-trade-modal .quick-trade-cost-label {
  color: #718096;
  font-weight: 500;
}
.quick-trade-modal .quick-trade-cost-value {
  font-weight: 700;
  font-size: 0.95rem;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.1px;
}
.quick-trade-modal .quick-trade-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 20px;
  margin-top: 2px;
  padding: 12px 16px;
  background: rgba(226, 232, 240, 0.2);
  border-radius: 8px;
  border: 1px solid rgba(226, 232, 240, 0.5);
}
.quick-trade-modal .quick-trade-meta[hidden] {
  display: none;
}
.quick-trade-modal .quick-trade-meta--opening {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px 16px;
}
@media (max-width: 560px) {
  .quick-trade-modal .quick-trade-meta--opening {
    grid-template-columns: 1fr 1fr;
  }
  .quick-trade-modal .quick-trade-meta--opening .quick-trade-meta-stat:nth-child(3) {
    grid-column: 1/-1;
  }
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat-label {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #718096;
  font-weight: 600;
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat-value {
  font-size: 0.92rem;
  font-weight: 700;
  color: #2d3748;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.1px;
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat-delta {
  font-size: 0.7rem;
  font-weight: 500;
  color: rgba(113, 128, 150, 0.85);
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.02em;
  margin-top: 1px;
  min-height: 1em;
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat-delta:empty {
  display: none;
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat-delta--positive {
  color: rgba(56, 161, 105, 0.9);
  font-weight: 600;
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat-delta--negative {
  color: rgba(229, 62, 62, 0.9);
  font-weight: 600;
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat-subdelta {
  font-size: 0.6rem;
  font-weight: 500;
  color: rgba(113, 128, 150, 0.7);
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.02em;
  margin-top: -1px;
}
.quick-trade-modal .quick-trade-meta .quick-trade-meta-stat-subdelta:empty {
  display: none;
}
.quick-trade-modal .quick-trade-refs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 0.5rem;
  padding: 12px 16px;
  background: rgba(226, 232, 240, 0.2);
  border-radius: 8px;
  border: 1px solid rgba(226, 232, 240, 0.5);
}
.quick-trade-modal .quick-trade-refs[hidden] {
  display: none;
}
.quick-trade-modal .quick-trade-refs .quick-trade-ref {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}
.quick-trade-modal .quick-trade-refs .quick-trade-ref-label {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #718096;
  font-weight: 600;
  flex-shrink: 0;
}
.quick-trade-modal .quick-trade-refs .quick-trade-ref-value {
  font-size: 0.92rem;
  font-weight: 700;
  font-feature-settings: "tnum" 1;
  letter-spacing: 0.1px;
  color: #2d3748;
  white-space: nowrap;
  text-align: right;
}
.quick-trade-modal .quick-trade-refs .quick-trade-ref-value--buy {
  color: #2f855a;
}
.quick-trade-modal .quick-trade-refs .quick-trade-ref-value--sell {
  color: #c53030;
}
.quick-trade-modal .quick-trade-feedback {
  font-size: 0.82rem;
  font-weight: 500;
}
.quick-trade-modal .quick-trade-feedback:empty {
  display: none;
}
.quick-trade-modal .quick-trade-feedback-error {
  color: #e53e3e;
}
.quick-trade-modal .quick-trade-feedback-success {
  color: #38a169;
}
.quick-trade-modal .quick-trade-feedback-info {
  color: #667eea;
}

@media (max-width: 480px) {
  .quick-trade-modal {
    max-width: none;
    width: 100vw;
    border-radius: 20px 20px 0 0;
    margin: auto 0 0 0;
    animation: quick-trade-slide-up-mobile 0.3s ease-out;
  }
  .quick-trade-modal .quick-trade-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .quick-trade-modal .quick-trade-grid-actions {
    grid-template-columns: 1fr 1fr auto;
  }
  .quick-trade-modal .quick-trade-input {
    padding: 12px 14px;
    font-size: 1rem;
  }
  .quick-trade-modal .quick-trade-yield-value {
    padding: 12px 14px;
    font-size: 1rem;
  }
  .quick-trade-modal .quick-trade-submit-btn {
    width: 46px;
    height: 46px;
    min-width: 46px;
    font-size: 1.3rem;
  }
  @keyframes quick-trade-slide-up-mobile {
    from {
      opacity: 0;
      transform: translateY(100%);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  .quick-trade-header {
    padding: 2rem 1.5rem 1.5rem;
  }
  .quick-trade-body {
    padding: 1.5rem;
    padding-bottom: 3rem;
  }
}
.yield-calculator-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.yield-calculator-btn i {
  font-size: 0.9rem;
}
.yield-calculator-btn:hover {
  background: rgba(102, 126, 234, 0.1);
  border-color: #667eea;
  color: #667eea;
}

@media (max-width: 576px) {
  .yield-calculator-btn {
    font-size: 0.75rem;
    padding: 0.375rem 0.5rem;
  }
}
.stock-alert-banner {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

.stock-alert-banner-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
}

.stock-alert-banner-icon {
  color: #ed8936;
  font-size: 0.9rem;
}

.stock-alert-banner-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4a5568;
  flex: 1;
}

.stock-alert-banner-list {
  padding: 0.25rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.stock-alert-banner-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 6px;
  transition: background 0.18s ease, opacity 0.25s ease;
}
.stock-alert-banner-item:hover {
  background: rgba(237, 137, 54, 0.07);
}
.stock-alert-banner-item:hover .stock-alert-banner-delete,
.stock-alert-banner-item:hover .stock-alert-banner-edit,
.stock-alert-banner-item:hover .stock-alert-banner-check {
  opacity: 1;
}

.stock-alert-banner-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 1.5px solid rgba(237, 137, 54, 0.4);
  border-radius: 50%;
  background: transparent;
  color: rgba(237, 137, 54, 0);
  cursor: pointer;
  flex-shrink: 0;
  opacity: 0.55;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, opacity 0.2s ease, transform 0.15s ease;
}
.stock-alert-banner-check i {
  font-size: 0.72rem;
  line-height: 1;
  transform: scale(0.55);
  transition: transform 0.18s ease;
}
.stock-alert-banner-check:hover {
  opacity: 1;
  border-color: #ed8936;
  background: rgba(237, 137, 54, 0.1);
  color: #ed8936;
  transform: scale(1.08);
}
.stock-alert-banner-check:hover i {
  transform: scale(1);
}

.stock-alert-banner-item--done {
  opacity: 0.6;
}
.stock-alert-banner-item--done:hover {
  background: rgba(74, 85, 104, 0.05);
}
.stock-alert-banner-item--done .stock-alert-banner-check {
  opacity: 1;
  border-color: rgba(74, 85, 104, 0.35);
  background: rgba(74, 85, 104, 0.14);
  color: #4a5568;
}
.stock-alert-banner-item--done .stock-alert-banner-check i {
  transform: scale(1);
}
.stock-alert-banner-item--done .stock-alert-banner-check:hover {
  border-color: #ed8936;
  background: rgba(237, 137, 54, 0.1);
  color: #ed8936;
}
.stock-alert-banner-item--done .stock-alert-banner-msg {
  color: #4a5568;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(74, 85, 104, 0.5);
}
.stock-alert-banner-item--done .stock-alert-banner-msg::before, .stock-alert-banner-item--done .stock-alert-banner-msg::after {
  color: rgba(113, 128, 150, 0.55);
}
.stock-alert-banner-item--done .stock-alert-banner-date {
  background: rgba(74, 85, 104, 0.1);
  color: #718096;
}

.stock-alert-banner-msg-btn {
  flex: 1;
  min-width: 0;
  display: block;
  text-align: left;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

.stock-alert-banner-msg {
  display: block;
  font-size: 0.9rem;
  font-weight: 500;
  color: #2d3748;
  line-height: 1.5;
  letter-spacing: 0.01em;
  word-break: break-word;
}
.stock-alert-banner-msg::before {
  content: "“";
  color: rgba(237, 137, 54, 0.6);
  margin-right: 2px;
  font-weight: 700;
}
.stock-alert-banner-msg::after {
  content: "”";
  color: rgba(237, 137, 54, 0.6);
  margin-left: 2px;
  font-weight: 700;
}

.stock-alert-banner-date {
  font-size: 0.65rem;
  font-weight: 600;
  color: #4a5568;
  white-space: nowrap;
  background: rgba(237, 137, 54, 0.12);
  padding: 2px 8px;
  border-radius: 10px;
  flex-shrink: 0;
}

.stock-alert-banner-delete,
.stock-alert-banner-edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  background: none;
  color: #718096;
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.15s ease;
  flex-shrink: 0;
  opacity: 0.4;
}
.stock-alert-banner-delete i,
.stock-alert-banner-edit i {
  line-height: 1;
}

.stock-alert-banner-delete:hover {
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.1);
  opacity: 1;
}
.stock-alert-banner-delete i {
  font-size: 0.95rem;
}

.stock-alert-banner-edit:hover {
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
  opacity: 1;
}
.stock-alert-banner-edit i {
  font-size: 0.8rem;
}

.detail-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.stock-alert-banner-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: #ffffff;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.15s ease;
}
.stock-alert-banner-add:hover {
  color: #667eea;
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.05);
}
.stock-alert-banner-add i {
  font-size: 0.7rem;
}

.stock-alert-banner--empty {
  border-left-color: #e2e8f0;
  border-color: #e2e8f0;
}
.stock-alert-banner--empty .stock-alert-banner-icon {
  color: #718096;
}
.stock-alert-banner--empty .stock-alert-banner-title {
  color: #718096;
  font-weight: 600;
}

.stock-alert-edit-dialog {
  border: none;
  border-radius: 12px;
  padding: 0;
  width: 400px;
  max-width: 90vw;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: visible;
}
.stock-alert-edit-dialog::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

.stock-alert-edit-content {
  display: flex;
  flex-direction: column;
}

.stock-alert-edit-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.stock-alert-edit-header h3, .stock-alert-edit-header .h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
  color: #2d3748;
}
.stock-alert-edit-header h3 i, .stock-alert-edit-header .h3 i {
  color: #667eea;
}

.stock-alert-edit-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  cursor: pointer;
  transition: all 0.15s ease;
}
.stock-alert-edit-close:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.stock-alert-edit-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.stock-alert-edit-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.stock-alert-edit-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4a5568;
}

.stock-alert-edit-input {
  padding: 0.5rem 1rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.85rem;
  color: #2d3748;
  background: rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
  width: 100%;
}
.stock-alert-edit-input::-moz-placeholder {
  color: #718096;
}
.stock-alert-edit-input::placeholder {
  color: #718096;
}
.stock-alert-edit-input:focus {
  outline: none;
  border-color: #667eea;
  background: #ffffff;
}

.stock-alert-edit-footer {
  padding: 0.5rem 1.5rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.stock-alert-edit-save-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.5rem 1.5rem;
  border: none;
  border-radius: 8px;
  background: #667eea;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.1s ease;
}
.stock-alert-edit-save-btn:hover {
  opacity: 0.9;
}
.stock-alert-edit-save-btn:active {
  transform: scale(0.98);
}

.stock-alert-edit-delete-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1.5px solid rgba(229, 62, 62, 0.3);
  border-radius: 8px;
  background: #ffffff;
  color: #e53e3e;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.stock-alert-edit-delete-btn i {
  font-size: 1rem;
  line-height: 1;
}
.stock-alert-edit-delete-btn:hover {
  background: rgba(229, 62, 62, 0.08);
  border-color: #e53e3e;
}
.stock-alert-edit-delete-btn:active {
  transform: scale(0.96);
}

.premium-breakdown-dialog {
  border: none;
  border-radius: 12px;
  padding: 0;
  width: 460px;
  max-width: 92vw;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: visible;
}
.premium-breakdown-dialog::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

.premium-breakdown-content {
  display: flex;
  flex-direction: column;
}

.premium-breakdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.premium-breakdown-header h3, .premium-breakdown-header .h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
  color: #2d3748;
}
.premium-breakdown-header h3 i, .premium-breakdown-header .h3 i {
  color: #667eea;
}

.premium-breakdown-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  cursor: pointer;
  transition: all 0.15s ease;
}
.premium-breakdown-close:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.premium-breakdown-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.premium-breakdown-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 2rem 0;
  color: #718096;
  font-size: 0.9rem;
}
.premium-breakdown-empty i {
  font-size: 1.25rem;
}

.premium-breakdown-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.premium-breakdown-card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f7fafc;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.premium-breakdown-card--profit {
  border-color: rgba(56, 161, 105, 0.35);
  background: rgba(56, 161, 105, 0.06);
}
.premium-breakdown-card--profit .premium-breakdown-card-header i,
.premium-breakdown-card--profit .premium-breakdown-card-value {
  color: #38a169;
}
.premium-breakdown-card--loss {
  border-color: rgba(229, 62, 62, 0.35);
  background: rgba(229, 62, 62, 0.05);
}
.premium-breakdown-card--loss .premium-breakdown-card-header i:first-child,
.premium-breakdown-card--loss .premium-breakdown-card-value {
  color: #e53e3e;
}
.premium-breakdown-card--clickable {
  cursor: pointer;
}
.premium-breakdown-card--clickable:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.premium-breakdown-card--clickable:focus-visible {
  outline: 2px solid #667eea;
  outline-offset: 2px;
}

.premium-breakdown-card-chevron {
  margin-left: auto;
  color: #718096;
  font-size: 0.85rem;
}

.premium-breakdown-card-header {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #4a5568;
}
.premium-breakdown-card-header i {
  font-size: 0.95rem;
}

.premium-breakdown-card-value {
  font-size: 1.15rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.premium-breakdown-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.72rem;
  color: #718096;
  font-weight: 500;
}

.premium-breakdown-pct {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.premium-breakdown-bar {
  display: flex;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  overflow: hidden;
  background: rgba(113, 128, 150, 0.12);
}

.premium-breakdown-bar-profit {
  background: #38a169;
}

.premium-breakdown-bar-loss {
  background: #e53e3e;
}

.premium-breakdown-net {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
}
.premium-breakdown-net--positive {
  border-color: rgba(56, 161, 105, 0.35);
}
.premium-breakdown-net--positive .premium-breakdown-net-value {
  color: #38a169;
}
.premium-breakdown-net--negative {
  border-color: rgba(229, 62, 62, 0.35);
}
.premium-breakdown-net--negative .premium-breakdown-net-value {
  color: #e53e3e;
}

.premium-breakdown-net-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.premium-breakdown-net-value {
  font-size: 1.05rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.premium-breakdown-pending {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 8px;
  background: rgba(221, 107, 32, 0.07);
  border: 1px dashed rgba(221, 107, 32, 0.4);
}

.premium-breakdown-pending-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.premium-breakdown-pending-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #b85614;
}
.premium-breakdown-pending-label i {
  font-size: 0.85rem;
}

.premium-breakdown-pending-value {
  font-size: 0.95rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #b85614;
}

.premium-breakdown-pending-hint {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #4a5568;
}

.detail-pending-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: #b85614;
}
.detail-pending-hint i {
  font-size: 0.72rem;
}

.premium-loss-dialog {
  width: 520px;
  max-width: 92vw;
}

.premium-loss-header-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.premium-loss-back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  cursor: pointer;
  transition: all 0.15s ease;
}
.premium-loss-back:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.premium-loss-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-height: 50vh;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.premium-loss-item {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  text-align: left;
  font: inherit;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  border-left: 3px solid rgba(229, 62, 62, 0.4);
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: all 0.15s ease;
}
.premium-loss-item:hover {
  border-color: rgba(229, 62, 62, 0.4);
  border-left-color: #e53e3e;
  background: rgba(229, 62, 62, 0.04);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.premium-loss-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.premium-loss-item-code {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
  min-width: 0;
}

.premium-loss-item-ticker {
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.2px;
  color: #2d3748;
}

.premium-op-badge {
  padding: 0.2rem 0;
  min-width: 1.45rem;
  justify-content: center;
}

.premium-loss-item-icon {
  color: #ed8936;
  font-size: 0.85rem;
}
.premium-loss-item-icon--secondary {
  color: #e53e3e;
  font-size: 0.8rem;
}

.premium-loss-item-icon-group {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  cursor: help;
}

.premium-loss-item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.73rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}

.premium-loss-item-sep {
  opacity: 0.45;
}

.premium-loss-item-qty {
  font-weight: 600;
  color: #2d3748;
}

.premium-loss-item-val {
  font-weight: 600;
  color: #4a5568;
}

.premium-loss-item-strike {
  font-size: 0.8rem;
  color: #4a5568;
}

.premium-loss-item-strike-val {
  font-weight: 700;
  font-size: 0.88rem;
  color: #2d3748;
}

.premium-loss-item-date {
  margin-bottom: 0.25rem;
  font-size: 0.72rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}

.premium-loss-item-amount {
  font-weight: 700;
  font-size: 1rem;
  color: #e53e3e;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 576px) {
  .premium-breakdown-cards {
    grid-template-columns: 1fr;
  }
}
.premium-loss-detail {
  max-height: 0;
  overflow-y: auto;
  transition: max-height 0.25s ease;
}

.premium-loss-detail-inner {
  margin-top: 0.25rem;
  padding: 0.5rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: rgba(0, 0, 0, 0.015);
}

.premium-history-head {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #718096;
  margin-bottom: 0.25rem;
}

.premium-history-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.premium-history-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.34rem 0.45rem;
  border-radius: 8px;
  font-size: 0.74rem;
  font-variant-numeric: tabular-nums;
}
.premium-history-row:nth-child(even) {
  background: rgba(0, 0, 0, 0.012);
}

.premium-history-date {
  min-width: 3.6rem;
  color: #4a5568;
}

.premium-history-qty {
  color: #718096;
}

.premium-history-premium {
  margin-left: auto;
  min-width: 3.7rem;
  text-align: right;
  font-weight: 600;
  color: #2d3748;
}

.premium-history-value {
  min-width: 4.7rem;
  text-align: right;
  font-weight: 700;
}
.premium-history-value.is-pos {
  color: #38a169;
}
.premium-history-value.is-neg {
  color: #e53e3e;
}
.premium-history-value--muted {
  color: #718096;
  font-weight: 600;
}

.premium-history-pnl {
  min-width: 3.5rem;
  text-align: right;
  font-size: 0.69rem;
  font-weight: 600;
}
.premium-history-pnl.is-pos {
  color: #38a169;
}
.premium-history-pnl.is-neg {
  color: #e53e3e;
}
.premium-history-pnl--muted {
  color: #718096;
}

.premium-history-loading,
.premium-history-empty {
  padding: 0.5rem;
  text-align: center;
  font-size: 0.74rem;
  color: #718096;
}

.premium-profit-dialog {
  width: 520px;
  max-width: 92vw;
}

.premium-profit-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-height: 50vh;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.premium-profit-item {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  text-align: left;
  font: inherit;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  border-left: 3px solid rgba(56, 161, 105, 0.4);
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: all 0.15s ease;
}
.premium-profit-item:hover {
  border-color: rgba(56, 161, 105, 0.4);
  border-left-color: #38a169;
  background: rgba(56, 161, 105, 0.04);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.premium-profit-item-amount {
  font-weight: 700;
  font-size: 1rem;
  color: #38a169;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.adjusted-cost-dialog {
  width: 500px;
  max-width: 92vw;
}

.adjusted-cost-intro {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  background: rgba(66, 153, 225, 0.08);
  color: #4a5568;
  font-size: 0.82rem;
  line-height: 1.45;
}
.adjusted-cost-intro strong {
  color: #2d3748;
  font-weight: 700;
}

.adjusted-cost-card--neutral {
  border-color: #e2e8f0;
  background: #f7fafc;
}
.adjusted-cost-card--neutral .premium-breakdown-card-header i,
.adjusted-cost-card--neutral .premium-breakdown-card-value {
  color: #4a5568;
}
.adjusted-cost-card--profit {
  border-color: rgba(56, 161, 105, 0.35);
  background: rgba(56, 161, 105, 0.06);
}
.adjusted-cost-card--profit .premium-breakdown-card-header i,
.adjusted-cost-card--profit .premium-breakdown-card-value {
  color: #38a169;
}

.adjusted-cost-breakdown {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
}

.adjusted-cost-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
  color: #4a5568;
}
.adjusted-cost-row--minus {
  color: #718096;
}
.adjusted-cost-row--total {
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  border-top: 1px dashed #e2e8f0;
  font-weight: 700;
  color: #38a169;
  font-size: 0.95rem;
}

.adjusted-cost-row-value {
  font-weight: 600;
}

.adjusted-cost-diff {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  background: rgba(237, 137, 54, 0.08);
  color: #4a5568;
  font-size: 0.8rem;
  line-height: 1.45;
}
.adjusted-cost-diff i {
  color: #ed8936;
  font-size: 0.95rem;
  margin-top: 2px;
}
.adjusted-cost-diff strong {
  color: #2d3748;
  font-weight: 700;
}
.adjusted-cost-diff--neutral {
  background: rgba(56, 161, 105, 0.08);
}
.adjusted-cost-diff--neutral i {
  color: #38a169;
}

.position-breakdown-modal {
  border: none;
  border-radius: 12px;
  padding: 0;
  width: 420px;
  max-width: 90vw;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}
.position-breakdown-modal::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

.position-breakdown-content {
  display: flex;
  flex-direction: column;
}

.position-breakdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.position-breakdown-header h3, .position-breakdown-header .h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
  color: #2d3748;
}
.position-breakdown-header h3 i, .position-breakdown-header .h3 i {
  color: #e53e3e;
}

.position-breakdown-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  cursor: pointer;
  transition: all 0.15s ease;
}
.position-breakdown-close:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.position-breakdown-list {
  padding: 0.5rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
}

.position-breakdown-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.position-breakdown-row:last-child {
  border-bottom: none;
}
.position-breakdown-row--total {
  margin-top: 0.25rem;
  padding-top: 0.5rem;
  border-top: 2px solid #e2e8f0;
  border-bottom: none;
}
.position-breakdown-row--total .breakdown-date {
  font-weight: 700;
  color: #2d3748;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.3px;
}
.position-breakdown-row--total .breakdown-notional {
  font-size: 1rem;
  color: #2d3748;
}

.breakdown-date {
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a5568;
}

.breakdown-values {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}

.breakdown-notional {
  font-size: 0.9rem;
  font-weight: 700;
  color: #2d3748;
}

.breakdown-pct {
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
}

.yield-fab-dial {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 500;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1rem;
  pointer-events: none;
}

.yield-fab {
  pointer-events: auto;
  width: 3.75rem;
  height: 3.75rem;
  border: none;
  border-radius: 50%;
  background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  color: #ffffff;
  font-size: 1.5rem;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(239, 68, 68, 0.45), 0 0 0 4px rgba(255, 255, 255, 0.6);
  transition: all 0.2s ease;
  animation: yield-fab-pulse 2.5s ease-in-out infinite;
}
.yield-fab i {
  display: inline-block;
  transition: transform 0.25s ease;
}
.yield-fab:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 12px 32px rgba(239, 68, 68, 0.55), 0 0 0 6px rgba(255, 255, 255, 0.7);
  animation: none;
}
.yield-fab:active {
  transform: translateY(-1px) scale(1);
}
.yield-fab.is-active {
  animation: none;
}
.yield-fab.is-active i {
  transform: rotate(135deg);
}

@keyframes yield-fab-pulse {
  0%, 100% {
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.45), 0 0 0 4px rgba(255, 255, 255, 0.6);
  }
  50% {
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.6), 0 0 0 8px rgba(239, 68, 68, 0.15);
  }
}
.fab-menu {
  width: 16rem;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  border: 1px solid #e2e8f0;
  overflow: hidden;
  transform-origin: bottom right;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px) scale(0.96);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}
.fab-menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.fab-menu-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1rem;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease;
}
.fab-menu-item + .fab-menu-item {
  border-top: 1px solid #e2e8f0;
}
.fab-menu-item:hover {
  background: rgba(102, 126, 234, 0.08);
}
.fab-menu-item__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.12) 0%, rgba(118, 75, 162, 0.12) 100%);
  color: #667eea;
  font-size: 1.1rem;
}
.fab-menu-item__text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.fab-menu-item__title {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #2d3748;
}
.fab-menu-item__desc {
  font-size: 0.75rem;
  color: #718096;
}
.fab-menu-item__kbd {
  padding: 1px 5px;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.65rem;
  font-weight: 600;
  color: #4a5568;
  line-height: 1;
}

.yield-fab-modal {
  border: none;
  border-radius: 12px;
  padding: 0;
  width: 560px;
  max-width: 92vw;
  max-height: 85vh;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.yield-fab-modal::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

.yield-fab-content {
  display: flex;
  flex-direction: column;
  max-height: 85vh;
}

.yield-fab-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
}
.yield-fab-header h3, .yield-fab-header .h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  color: #2d3748;
}
.yield-fab-header h3 i, .yield-fab-header .h3 i {
  color: #667eea;
}

.yield-fab-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #718096;
  cursor: pointer;
  transition: all 0.15s ease;
}
.yield-fab-close:hover {
  background: rgba(0, 0, 0, 0.06);
  color: #2d3748;
}

.yield-fab-body {
  padding: 1.5rem 2rem 2rem;
  overflow-y: auto;
}
.yield-fab-body .yield-fab-field, .yield-fab-body .stock-trade-field {
  transition: opacity 0.15s ease;
}
.yield-fab-body:has(:is(input:not([type=hidden]), select, textarea):focus) .yield-fab-field:has(input:not([type=hidden]), select, textarea):not(:focus-within), .yield-fab-body:has(:is(input:not([type=hidden]), select, textarea):focus) .stock-trade-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}
.yield-fab-body:has(:is(input:not([type=hidden]), select, textarea):focus) .yield-fab-operator {
  opacity: 0.45;
}

.yield-fab-inline {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}

.yield-fab-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.yield-fab-field--result {
  flex: 0 0 auto;
  align-items: center;
}

.yield-fab-label {
  font-size: 0.65rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
}

.yield-fab-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.yield-fab-prefix {
  position: absolute;
  left: 0.5rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
  pointer-events: none;
}

.yield-fab-input {
  width: 100%;
  padding: 0.5rem 0.5rem 0.5rem 1.85rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
  background: rgba(0, 0, 0, 0.02);
  transition: all 0.2s ease;
  text-align: right;
}
.yield-fab-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.yield-fab-input::-moz-placeholder {
  color: #718096;
}
.yield-fab-input::placeholder {
  color: #718096;
}

.yield-fab-operator {
  font-size: 1.25rem;
  font-weight: 700;
  color: #718096;
  padding-bottom: 10px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: opacity 0.15s ease;
}

.yield-fab-result-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.yield-fab-result-value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.5rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
  border: 1.5px solid rgba(102, 126, 234, 0.25);
  border-radius: 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #667eea;
  font-variant-numeric: tabular-nums;
}

.force-hide {
  display: none !important;
}

#fab-form-section .stock-trade-form {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.03) 0%, rgba(118, 75, 162, 0.03) 100%);
  border: 1px solid rgba(102, 126, 234, 0.15);
  border-radius: 10px;
  padding: 1.5rem;
}
#fab-form-section .stock-trade-form .stock-trade-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  grid-template-areas: "option option strike strike" "qtd premium operation type" "expiration expiration submit submit";
  gap: 1rem 0.5rem;
  align-items: end;
}
#fab-form-section .stock-trade-form .stock-trade-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
#fab-form-section .stock-trade-form .stock-trade-field:nth-child(1) {
  grid-area: option;
}
#fab-form-section .stock-trade-form .stock-trade-field:nth-child(2) {
  grid-area: strike;
}
#fab-form-section .stock-trade-form .stock-trade-field:nth-child(3) {
  grid-area: qtd;
}
#fab-form-section .stock-trade-form .stock-trade-field:nth-child(4) {
  grid-area: premium;
}
#fab-form-section .stock-trade-form .stock-trade-field:nth-child(5) {
  grid-area: operation;
}
#fab-form-section .stock-trade-form .stock-trade-field:nth-child(6) {
  grid-area: type;
}
#fab-form-section .stock-trade-form .stock-trade-field:nth-child(7) {
  grid-area: expiration;
}
#fab-form-section .stock-trade-form .stock-trade-field:nth-child(8) {
  grid-area: submit;
}
#fab-form-section .stock-trade-form .detail-label {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #4a5568;
}
#fab-form-section .stock-trade-form .stock-trade-input,
#fab-form-section .stock-trade-form .stock-trade-select {
  width: 100%;
  padding: 0.5rem 1rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  background: #ffffff;
  transition: all 0.2s ease;
}
#fab-form-section .stock-trade-form .stock-trade-submit {
  align-self: end;
}
#fab-form-section .stock-trade-form .stock-trade-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.5rem;
  border: none;
  border-radius: 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
#fab-form-section .stock-trade-form .stock-trade-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}
@media (max-width: 768px) {
  #fab-form-section .stock-trade-form {
    padding: 1rem;
  }
  #fab-form-section .stock-trade-form .stock-trade-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "option option" "qtd strike" "premium operation" "type expiration" "submit submit";
  }
}

#fab-form-section .stock-trade-form--global .stock-trade-form-meta {
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}
#fab-form-section .stock-trade-form--global .stock-trade-form-meta .stock-trade-field {
  position: relative;
  width: 180px;
  flex: 0 0 auto;
}

.yield-fab-toggle-form-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1.5px solid rgba(102, 126, 234, 0.25);
  border-radius: 8px;
  background: transparent;
  color: #667eea;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.yield-fab-toggle-form-btn:hover {
  background: rgba(102, 126, 234, 0.08);
  border-color: #667eea;
}

.strike-cards-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.strike-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  transition: all 0.15s ease;
  cursor: pointer;
  outline: none;
}
.strike-card:hover {
  border-color: rgba(102, 126, 234, 0.4);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.strike-card:focus-visible {
  border-color: #667eea;
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
}

.strike-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0.25rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.strike-card-vcto {
  font-size: 0.95rem;
  font-weight: 800;
  color: #2d3748;
  background: rgba(237, 137, 54, 0.12);
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.3px;
}

.strike-card-top-right {
  display: flex;
  align-items: center;
  gap: 6px;
}

.strike-card-code {
  font-size: 0.85rem;
  font-weight: 700;
  color: #667eea;
}

.strike-card-date {
  display: block;
  font-size: 0.62rem;
  font-weight: 400;
  color: #718096;
  letter-spacing: 0.2px;
  margin-top: 1px;
}

.strike-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem 1rem;
}
@media (max-width: 600px) {
  .strike-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.strike-card-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.strike-card-label {
  font-size: 0.6rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.strike-card-value {
  font-size: 0.8rem;
  font-weight: 700;
  color: #2d3748;
  white-space: nowrap;
}

.strike-card-yield {
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
}

.yield-fab-matches-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 0.75rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.yield-fab-matches-title i {
  color: #667eea;
}

.yield-fab-matches-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 576px) {
  .yield-fab {
    bottom: 1rem;
    right: 1rem;
    width: 3.25rem;
    height: 3.25rem;
    font-size: 1.3rem;
  }
  .yield-fab-inline {
    flex-wrap: wrap;
  }
  .yield-fab-operator {
    display: none;
  }
  .yield-fab-body {
    padding: 1rem;
  }
}
.stock-info-modal-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.stock-info-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.07) 0%, rgba(118, 75, 162, 0.05) 100%);
  border: 1px solid rgba(102, 126, 234, 0.12);
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease;
}
.stock-info-hero:hover {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.12) 0%, rgba(118, 75, 162, 0.08) 100%);
  border-color: rgba(102, 126, 234, 0.3);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(102, 126, 234, 0.12);
}
.stock-info-hero:hover .stock-info-hero-link {
  background: #ffffff;
  border-color: rgba(102, 126, 234, 0.45);
  color: rgb(79.5775862069, 107.0948275862, 230.9224137931);
}
.stock-info-hero:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.25);
}
.stock-info-hero:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(102, 126, 234, 0.1);
}

.stock-info-hero-text {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.stock-info-hero-ticker {
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1;
  margin: 0;
  color: #2d3748;
  letter-spacing: -0.01em;
}

.stock-info-hero-text .asset-type-badge {
  margin-top: 0;
}

.stock-info-hero-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  color: #667eea;
  font-size: 0.78rem;
  font-weight: 600;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(102, 126, 234, 0.2);
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  flex-shrink: 0;
  white-space: nowrap;
  pointer-events: none;
}
.stock-info-hero-link i {
  font-size: 0.8rem;
}

.stock-info-tabs {
  display: inline-flex;
  align-self: flex-start;
  gap: 2px;
  padding: 3px;
  background: rgba(113, 128, 150, 0.08);
  border-radius: 10px;
}

.stock-info-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: transparent;
  border: none;
  border-radius: 7px;
  color: #4a5568;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.stock-info-tab i {
  font-size: 0.85rem;
  line-height: 1;
}
.stock-info-tab:hover:not(.is-active) {
  color: #2d3748;
  background: rgba(255, 255, 255, 0.6);
}
.stock-info-tab.is-active {
  background: #ffffff;
  color: #667eea;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(102, 126, 234, 0.12);
}

.stock-info-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 0.65rem;
  font-weight: 700;
  background: rgba(113, 128, 150, 0.18);
  color: #4a5568;
  border-radius: 9px;
  line-height: 1;
}

.stock-info-tab.is-active .stock-info-tab-count {
  background: rgba(102, 126, 234, 0.15);
  color: #667eea;
}

.stock-info-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (max-width: 480px) {
  .stock-info-stats {
    grid-template-columns: 1fr;
  }
}

.stock-info-stat {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 2px;
  padding: 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.stock-info-stat:hover {
  border-color: rgba(102, 126, 234, 0.2);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.stock-info-stat-icon {
  grid-row: 1/span 2;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(113, 128, 150, 0.1);
  color: #4a5568;
  font-size: 1rem;
}

.stock-info-stat-label {
  grid-column: 2;
  grid-row: 1;
  font-size: 0.68rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.stock-info-stat-value {
  grid-column: 2;
  grid-row: 2;
  font-size: 1.05rem;
  font-weight: 700;
  color: #2d3748;
  letter-spacing: -0.005em;
  font-variant-numeric: tabular-nums;
}

.stock-info-stat-value-block {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.stock-info-stat-value-block .stock-info-stat-value {
  grid-column: auto;
  grid-row: auto;
}

.stock-info-stat-sub {
  font-size: 0.7rem;
  font-weight: 500;
  color: #718096;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}

.stock-info-stat-empty {
  color: #718096;
  font-weight: 500;
}

.stock-info-stat--positive {
  border-left: 3px solid #38a169;
}
.stock-info-stat--positive .stock-info-stat-icon {
  background: rgba(56, 161, 105, 0.12);
  color: #38a169;
}
.stock-info-stat--positive .stock-info-stat-value {
  color: rgb(45.4709677419, 130.7290322581, 85.2580645161);
}

.stock-info-stat--negative {
  border-left: 3px solid #e53e3e;
}
.stock-info-stat--negative .stock-info-stat-icon {
  background: rgba(229, 62, 62, 0.12);
  color: #e53e3e;
}
.stock-info-stat--negative .stock-info-stat-value {
  color: rgb(225.9726027397, 39.5273972603, 39.5273972603);
}

.stock-info-stat--neutral {
  border-left: 3px solid #718096;
}
.stock-info-stat--neutral .stock-info-stat-icon {
  background: rgba(113, 128, 150, 0.15);
  color: #4a5568;
}

.stock-info-empty {
  padding: 2rem;
  text-align: center;
  color: #718096;
  font-size: 0.9rem;
  background: rgba(113, 128, 150, 0.04);
  border-radius: 12px;
  border: 1px dashed #e2e8f0;
}

.ordering-toggle-pill {
  display: inline-flex;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  margin-left: 0.5rem;
}

.ordering-toggle-option {
  background: transparent;
  border: none;
  padding: 0.4rem 0.75rem;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  color: #4a5568;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ordering-toggle-option:hover:not(.active) {
  background: rgba(102, 126, 234, 0.06);
}
.ordering-toggle-option.active {
  background: #667eea;
  color: #ffffff;
}

.ordering-toggle-badge {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 8px;
  padding: 0 5px;
  font-size: 0.6rem;
  min-width: 14px;
  text-align: center;
}

.reorder-series-btn {
  background: transparent;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #4a5568;
  transition: all 0.15s ease;
  margin-left: 4px;
}
.reorder-series-btn:hover {
  background: rgba(102, 126, 234, 0.08);
  border-color: #667eea;
  color: #667eea;
}

.series-groups-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0.5rem 1rem;
  background: rgba(102, 126, 234, 0.04);
  border-radius: 8px;
  margin-bottom: 0.5rem;
}

.group-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  color: #2d3748;
}

.group-color-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.series-ordering-modal {
  border: none;
  border-radius: 12px;
  padding: 0;
  width: 1080px;
  max-width: 95vw;
  max-height: 85vh;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.series-ordering-modal::backdrop {
  background: rgba(15, 23, 42, 0.5);
}

.series-ordering-modal-content {
  display: flex;
  flex-direction: column;
  max-height: 85vh;
  overflow: hidden;
}
.series-ordering-modal-content .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e2e8f0;
  padding: 1.5rem;
  flex-shrink: 0;
}
.series-ordering-modal-content .modal-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2d3748;
  margin: 0;
}
.series-ordering-modal-content .modal-title i {
  color: #667eea;
}

.series-ordering-body {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 1.5rem;
  padding: 1.5rem;
  overflow-x: hidden;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
.series-ordering-body h4, .series-ordering-body .h4 {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #718096;
  margin: 0 0 0.5rem;
  font-weight: 700;
}

.series-ordering-groups-section,
.series-ordering-list-section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
  overflow: hidden;
}
.series-ordering-groups-section > *,
.series-ordering-list-section > * {
  max-width: 100%;
  box-sizing: border-box;
}

.series-ordering-groups-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.groups-empty {
  font-size: 0.75rem;
  color: #718096;
  padding: 1.5rem 1rem;
  text-align: center;
  border: 1.5px dashed rgba(226, 232, 240, 0.6);
  border-radius: 10px;
  background: rgba(226, 232, 240, 0.04);
}

.group-item {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0.5rem 1rem;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: box-shadow 0.15s ease;
}
.group-item:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.group-item-header {
  display: flex;
  align-items: center;
  gap: 8px;
}

.group-item-note {
  font-size: 0.8rem;
  font-weight: 600;
  color: #2d3748;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.group-item-count {
  font-size: 0.62rem;
  background: rgba(102, 126, 234, 0.1);
  color: #667eea;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

.group-item-actions {
  display: flex;
  gap: 2px;
  justify-content: flex-end;
}

.group-action-btn {
  background: transparent;
  border: none;
  padding: 5px 7px;
  cursor: pointer;
  color: #718096;
  border-radius: 8px;
  font-size: 0.78rem;
  transition: all 0.15s ease;
}
.group-action-btn:hover {
  background: rgba(102, 126, 234, 0.08);
  color: #667eea;
}
.group-action-btn.group-action-danger:hover {
  background: rgba(229, 62, 62, 0.08);
  color: #e53e3e;
}

.group-form-inline {
  border: 1.5px solid rgba(102, 126, 234, 0.2);
  border-radius: 10px;
  padding: 0.5rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.03) 0%, rgba(118, 75, 162, 0.03) 100%);
  margin-top: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

.group-form-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.color-picker {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  width: 100%;
}

.color-swatch {
  width: 100%;
  aspect-ratio: 1;
  max-width: 32px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  padding: 0;
  transition: all 0.15s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  justify-self: center;
}
.color-swatch:hover {
  transform: scale(1.1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.color-swatch.selected {
  border-color: #2d3748;
  box-shadow: 0 0 0 2px rgba(45, 55, 72, 0.15);
}

.group-form-note {
  width: 100%;
  padding: 0.5rem;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.78rem;
  font-family: inherit;
  color: #2d3748;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.group-form-note::-moz-placeholder {
  color: #718096;
  font-weight: 400;
}
.group-form-note::placeholder {
  color: #718096;
  font-weight: 400;
}
.group-form-note:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.group-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
}

.group-form-confirm,
.group-form-cancel {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 0.85rem;
  transition: all 0.15s ease;
  padding: 0;
}

.group-form-confirm {
  background: linear-gradient(135deg, #667eea, #764ba2);
  border: none;
  color: #ffffff;
}
.group-form-confirm:hover {
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.35);
  transform: scale(1.05);
}

.group-form-cancel {
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  color: #718096;
}
.group-form-cancel:hover {
  border-color: #e53e3e;
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.05);
}

.series-ordering-groups-section > .btn-secondary {
  background: #ffffff;
  border: 1.5px dashed rgba(102, 126, 234, 0.35);
  border-radius: 10px;
  padding: 0.5rem;
  font-size: 0.72rem;
  font-weight: 500;
  cursor: pointer;
  color: #667eea;
  transition: all 0.15s ease;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}
.series-ordering-groups-section > .btn-secondary:hover:not(:disabled) {
  background: rgba(102, 126, 234, 0.06);
  border-color: #667eea;
  border-style: solid;
}
.series-ordering-groups-section > .btn-secondary:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  color: #718096;
  border-color: rgba(226, 232, 240, 0.5);
}

.series-ordering-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 60vh;
  overflow-y: auto;
  overflow-x: hidden;
}

.series-ordering-list .reorder-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  min-width: 0;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.series-ordering-list .reorder-item:hover {
  border-color: rgba(102, 126, 234, 0.5);
  box-shadow: 0 2px 10px rgba(102, 126, 234, 0.08);
  transform: translateY(-1px);
}
.series-ordering-list .reorder-item.dragging {
  opacity: 0.5;
}
.series-ordering-list .reorder-item .reorder-handle {
  color: rgba(113, 128, 150, 0.6);
  cursor: grab;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  transition: color 0.15s ease;
}
.series-ordering-list .reorder-item:hover .reorder-handle {
  color: #718096;
}
.series-ordering-list .reorder-item .series-ordering-checkbox {
  flex-shrink: 0;
}

.series-ordering-checkbox {
  margin: 0;
  cursor: pointer;
  width: 16px;
  height: 16px;
  accent-color: #667eea;
}

.series-ordering-item-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.series-ordering-item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.series-ordering-code {
  font-weight: 700;
  font-size: 0.92rem;
  color: #2d3748;
  letter-spacing: 0.3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  font-feature-settings: "tnum" 1;
}

.series-ordering-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.6px;
  padding: 2px 7px;
  border-radius: 4px;
  flex-shrink: 0;
  line-height: 1.4;
  text-transform: uppercase;
}
.series-ordering-badge.call {
  background: rgba(56, 161, 105, 0.12);
  color: rgb(45.4709677419, 130.7290322581, 85.2580645161);
}
.series-ordering-badge.put {
  background: rgba(229, 62, 62, 0.1);
  color: rgb(225.9726027397, 39.5273972603, 39.5273972603);
}

.series-ordering-item-details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 14px;
  font-size: 0.78rem;
  color: #4a5568;
  font-weight: 600;
  font-feature-settings: "tnum" 1;
}
.series-ordering-item-details span {
  white-space: nowrap;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.series-ordering-detail-label {
  color: #718096;
  font-weight: 500;
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.series-ordering-group-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-left: auto;
}

.series-visibility-btn {
  background: transparent;
  border: none;
  padding: 4px 6px;
  cursor: pointer;
  color: #718096;
  font-size: 0.85rem;
  border-radius: 8px;
  transition: all 0.15s ease;
  flex-shrink: 0;
  margin-left: auto;
}
.series-visibility-btn:hover {
  color: #667eea;
  background: rgba(102, 126, 234, 0.08);
}

.reorder-item--excluded {
  opacity: 0.4;
  cursor: default !important;
}
.reorder-item--excluded .reorder-handle {
  visibility: hidden;
}
.reorder-item--excluded .series-ordering-code {
  text-decoration: line-through;
  color: #718096;
}
.reorder-item--excluded .series-visibility-btn {
  opacity: 1;
  color: #e53e3e;
}
.reorder-item--excluded .series-visibility-btn:hover {
  color: #38a169;
  background: rgba(56, 161, 105, 0.08);
}

.excluded-separator {
  display: flex;
  align-items: center;
  padding: 0.5rem 0;
  margin-top: 0.5rem;
  list-style: none;
}
.excluded-separator span {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #718096;
  width: 100%;
  text-align: center;
  position: relative;
}
.excluded-separator span::before, .excluded-separator span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 25%;
  height: 1px;
  background: #e2e8f0;
}
.excluded-separator span::before {
  left: 0;
}
.excluded-separator span::after {
  right: 0;
}

.series-ordering-modal .modal-footer {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  align-items: center;
  padding: 1rem 1.5rem;
  border-top: 1px solid #e2e8f0;
  background: rgba(226, 232, 240, 0.05);
}
.series-ordering-modal .modal-footer .btn-text-danger {
  background: transparent;
  border: none;
  color: #e53e3e;
  font-size: 0.78rem;
  cursor: pointer;
  margin-right: auto;
}
.series-ordering-modal .modal-footer .btn-text-danger:hover {
  text-decoration: underline;
}
.series-ordering-modal .modal-footer .btn-secondary {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 0.78rem;
  cursor: pointer;
  color: #2d3748;
}
.series-ordering-modal .modal-footer .btn-secondary:hover {
  background: rgba(226, 232, 240, 0.3);
}
.series-ordering-modal .modal-footer .btn-secondary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.series-ordering-modal .modal-footer .btn-primary {
  background: #667eea;
  border: none;
  border-radius: 8px;
  padding: 6px 16px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  color: #ffffff;
}
.series-ordering-modal .modal-footer .btn-primary:hover {
  background: rgb(66.124137931, 95.7517241379, 229.075862069);
}

.series-ordering-groups-section .btn-secondary {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 0.78rem;
  cursor: pointer;
  color: #2d3748;
  transition: all 0.15s ease;
}
.series-ordering-groups-section .btn-secondary:hover:not(:disabled) {
  background: rgba(102, 126, 234, 0.08);
  border-color: #667eea;
  color: #667eea;
}
.series-ordering-groups-section .btn-secondary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.consolidated-sort-wrapper {
  position: relative;
}

.consolidated-sort-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  color: #718096;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.consolidated-sort-btn i {
  font-size: 0.9rem;
}
.consolidated-sort-btn:hover {
  background: rgba(74, 85, 104, 0.1);
  border-color: #4a5568;
  color: #4a5568;
}

.consolidated-sort-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.3rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #ffffff;
  font-size: 0.65rem;
  font-weight: 700;
}

.consolidated-sort-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 340px;
  max-width: calc(100vw - 2rem);
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  z-index: 100;
  display: none;
  padding: 1rem;
}
.consolidated-sort-dropdown.visible {
  display: block;
}
.consolidated-sort-dropdown .sort-field-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  white-space: nowrap;
}
.consolidated-sort-dropdown .sort-field-item:not(:last-child) {
  border-bottom: 1px solid rgb(242.8068181818, 245.3295454545, 248.6931818182);
}
.consolidated-sort-dropdown .sort-label {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  color: #4a5568;
  font-size: 0.85rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin: 0;
}
.consolidated-sort-dropdown .sort-checkbox {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: #667eea;
  flex-shrink: 0;
}
.consolidated-sort-dropdown .sort-priority-badge {
  display: none;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 50%;
  font-size: 0.7rem;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}
.consolidated-sort-dropdown .sort-select {
  min-width: 120px;
  padding: 0.35rem 1.8rem 0.35rem 0.6rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.78rem;
  color: #2d3748;
  background: #ffffff;
  cursor: pointer;
  font-family: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  transition: border-color 0.15s ease;
  flex-shrink: 0;
}
.consolidated-sort-dropdown .sort-select:hover:not(:disabled) {
  border-color: #667eea;
}
.consolidated-sort-dropdown .sort-select:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.consolidated-sort-dropdown .sort-actions {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #e2e8f0;
  text-align: center;
}
.consolidated-sort-dropdown .sort-actions .filter-clear-btn {
  color: #667eea;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0.25rem 1rem;
  transition: color 0.15s ease;
}
.consolidated-sort-dropdown .sort-actions .filter-clear-btn:hover {
  color: rgb(34.7327586207, 69.2844827586, 224.7672413793);
  text-decoration: underline;
}

@media (max-width: 748px) {
  .consolidated-sort-dropdown {
    left: 0;
    right: auto;
    max-width: calc(100vw - 1.5rem * 2);
  }
}
@media (max-width: 748px) {
  .consolidated-sort-dropdown .sort-field-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .consolidated-sort-dropdown .sort-label {
    width: 100%;
  }
  .consolidated-sort-dropdown .sort-select {
    width: 100%;
    min-width: unset;
  }
}
@media (max-width: 700px) {
  .series-ordering-body {
    grid-template-columns: 1fr;
    padding: 1rem;
    gap: 1rem;
  }
  .series-ordering-groups-section {
    max-height: none;
    overflow: visible;
  }
  .color-picker {
    grid-template-columns: repeat(8, 1fr);
  }
  .group-form-inline {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
  .group-form-note {
    flex: 1;
    min-width: 120px;
  }
  .group-form-actions button {
    flex: none;
    padding: 0.5rem 1.5rem;
  }
}
@media (max-width: 576px) {
  .series-groups-legend {
    gap: 0.5rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.72rem;
  }
  .series-ordering-modal {
    max-height: 92vh;
  }
  .series-ordering-body {
    padding: 0.5rem;
    gap: 0.5rem;
  }
  .series-ordering-list .reorder-item {
    padding: 9px 10px;
    gap: 9px;
  }
  .series-ordering-code {
    font-size: 0.82rem;
  }
  .series-ordering-item-details {
    gap: 3px 10px;
    font-size: 0.7rem;
  }
  .series-ordering-detail-label {
    font-size: 0.6rem;
  }
  .series-ordering-badge {
    font-size: 0.55rem;
    padding: 1px 5px;
  }
}
.daily-trades-modal {
  border: none;
  border-radius: 12px;
  padding: 0;
  width: 480px;
  max-width: 95vw;
  max-height: 80vh;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
.daily-trades-modal::backdrop {
  background: rgba(15, 23, 42, 0.5);
}

.daily-trades-modal-content {
  display: flex;
  flex-direction: column;
  max-height: 80vh;
  overflow: hidden;
}
.daily-trades-modal-content .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e2e8f0;
  flex-shrink: 0;
}
.daily-trades-modal-content .modal-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #2d3748;
}
.daily-trades-modal-content .modal-title i {
  color: #667eea;
  font-size: 1rem;
}

.daily-trades-body {
  padding: 0.5rem 1rem 1rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.daily-trades-section {
  display: flex;
  flex-direction: column;
}

.daily-trades-section-header {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px 6px;
}

.daily-trades-section-title {
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: #718096;
  font-weight: 700;
}

.daily-trades-section-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  background: rgba(102, 126, 234, 0.1);
  color: #667eea;
  font-size: 0.62rem;
  font-weight: 700;
  border-radius: 9px;
  font-feature-settings: "tnum" 1;
}

.daily-trades-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.daily-trades-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 0.84rem;
  font-feature-settings: "tnum" 1;
  transition: background 0.15s ease;
}
.daily-trades-item:hover {
  background: rgba(102, 126, 234, 0.05);
}
.daily-trades-item .daily-trades-item-op {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  font-size: 0.7rem;
  font-weight: 700;
  flex-shrink: 0;
}
.daily-trades-item .daily-trades-item-op--buy {
  background: rgba(56, 161, 105, 0.12);
  color: rgb(45.4709677419, 130.7290322581, 85.2580645161);
}
.daily-trades-item .daily-trades-item-op--sell {
  background: rgba(229, 62, 62, 0.1);
  color: rgb(225.9726027397, 39.5273972603, 39.5273972603);
}
.daily-trades-item .daily-trades-item-code {
  font-weight: 700;
  color: #2d3748;
  letter-spacing: 0.2px;
}
.daily-trades-item .daily-trades-item-badge {
  flex-shrink: 0;
  font-size: 0.58rem;
  padding: 1px 6px;
  line-height: 1.4;
}
.daily-trades-item .daily-trades-item-meta {
  margin-left: auto;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  color: #4a5568;
  font-weight: 600;
}
.daily-trades-item .daily-trades-item-qty {
  color: #2d3748;
}
.daily-trades-item .daily-trades-item-x {
  color: rgba(113, 128, 150, 0.6);
  font-size: 0.75rem;
}
.daily-trades-item .daily-trades-item-price {
  color: #2d3748;
}

.daily-trades-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
  color: #718096;
  gap: 0.5rem;
}
.daily-trades-empty i {
  font-size: 1.6rem;
}
.daily-trades-empty p {
  margin: 0;
  font-size: 0.85rem;
}

.detail-item-quote > turbo-frame {
  display: block;
}
.detail-item-quote .detail-value-loading {
  color: #718096;
}
.detail-item-quote .quote-timestamp {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
}

.exsum-bar {
  position: fixed;
  left: 1.5rem;
  right: 6.75rem;
  bottom: 1.5rem;
  z-index: 501;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.exsum-bar[hidden] {
  display: none;
}

.exsum-bar-pill {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 100%;
  padding: 0.5rem 0.75rem 0.5rem 0.5rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 12px 34px rgba(45, 55, 72, 0.38);
  color: #ffffff;
  pointer-events: auto;
}

.exsum-bar-text {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  min-width: 0;
  font-variant-numeric: tabular-nums;
}

.exsum-bar-summary {
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.exsum-bar-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.exsum-bar-open {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border: none;
  border-radius: 999px;
  background: #ffffff;
  color: #5568d3;
  font-family: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.exsum-bar-open:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(45, 55, 72, 0.25);
}

.exsum-bar-kbd {
  padding: 2px 5px;
  background: rgba(102, 126, 234, 0.14);
  border: 1px solid rgba(102, 126, 234, 0.28);
  border-radius: 4px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.62rem;
  font-weight: 700;
  color: #5568d3;
  line-height: 1;
}

.exsum-bar-clear {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: #5568d3;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(45, 55, 72, 0.22);
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.exsum-bar-clear:hover, .exsum-bar-clear:focus-visible {
  background: #e53e3e;
  color: #ffffff;
  outline: none;
  transform: scale(1.07);
}
.exsum-bar-clear:active {
  transform: scale(1);
}
.exsum-bar-clear:hover .exsum-bar-count, .exsum-bar-clear:focus-visible .exsum-bar-count {
  opacity: 0;
}
.exsum-bar-clear:hover .exsum-bar-clear-x, .exsum-bar-clear:focus-visible .exsum-bar-clear-x {
  opacity: 1;
}

.exsum-bar-count {
  transition: opacity 0.12s ease;
}

.exsum-bar-clear-x {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  opacity: 0;
  transition: opacity 0.12s ease;
}

@media (hover: none) {
  .exsum-bar-clear-x {
    inset: auto -1px -1px auto;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #e53e3e;
    color: #ffffff;
    font-size: 0.5rem;
    opacity: 1;
    box-shadow: 0 0 0 2px #ffffff;
  }
  .exsum-bar-clear:hover .exsum-bar-count {
    opacity: 1;
  }
}
.series-history-modal.exsum-modal {
  max-width: 640px;
}

.exsum-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #718096;
}

.exsum-side {
  margin-top: 0.5rem;
  padding: 1rem 1.125rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f7fafc;
  text-align: left;
}

.exsum-side-head {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.exsum-side--compra .exsum-side-head {
  color: #c53030;
}

.exsum-side--venda .exsum-side-head {
  color: #2f855a;
}

.exsum-side-hero {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.exsum-side-total {
  font-size: 1.7rem;
  font-weight: 700;
  color: #2d3748;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}

.exsum-side-unit {
  font-size: 0.85rem;
  font-weight: 600;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
}

.exsum-side-lines {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}

.exsum-side-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.exsum-side-line-label {
  font-size: 0.78rem;
  font-weight: 500;
  color: #718096;
}

.exsum-side-line-value {
  font-size: 0.82rem;
  font-weight: 600;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
}

.exsum-side-quote {
  margin-top: 10px;
  font-size: 0.74rem;
  font-weight: 500;
  color: #a0aec0;
  font-variant-numeric: tabular-nums;
}

.exsum-net {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.5rem;
  padding: 12px 1.125rem;
  border: 1px solid rgba(102, 126, 234, 0.22);
  border-radius: 8px;
  background: rgba(102, 126, 234, 0.06);
}

.exsum-net-label {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #5568d3;
}

.exsum-net-value {
  font-size: 1.05rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.exsum-empty,
.exsum-skipped {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 8px;
  background: #f7fafc;
  font-size: 0.8rem;
  color: #4a5568;
  text-align: left;
}
.exsum-empty i,
.exsum-skipped i {
  color: #718096;
}

.exsum-skipped {
  margin-top: 0.5rem;
  background: rgba(237, 137, 54, 0.08);
}
.exsum-skipped i {
  color: #dd6b20;
}

.exsum-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 1.5rem 0 0.5rem;
}

.exsum-list-hint {
  font-size: 0.7rem;
  font-weight: 500;
  color: #a0aec0;
}

.exsum-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.exsum-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 26px;
  align-items: center;
  gap: 0.5rem;
  padding: 11px 0.5rem 11px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.exsum-row-main {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.exsum-row-tier {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.exsum-row-code {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.exsum-row-ticker {
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #2d3748;
}

.exsum-row-effective {
  font-size: 1.02rem;
  font-weight: 700;
  color: #2d3748;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.exsum-row-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-variant-numeric: tabular-nums;
}
.exsum-row-meta .strike-moneyness {
  margin-top: 0;
  gap: 4px;
}

.exsum-row-arrow {
  font-size: 0.7rem;
}
.exsum-row-arrow--buy {
  color: #c53030;
}
.exsum-row-arrow--sell {
  color: #2f855a;
}

.exsum-row-shares {
  font-size: 0.76rem;
  font-weight: 600;
  color: #4a5568;
  white-space: nowrap;
}

.exsum-row-strike {
  font-size: 0.76rem;
  font-weight: 600;
  color: #667eea;
  white-space: nowrap;
}

.exsum-row-sep {
  font-size: 0.72rem;
  color: #cbd5e0;
}

.exsum-row-unit {
  font-size: 0.78rem;
  color: #a0aec0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.exsum-row-pershare {
  font-weight: 700;
  color: #4a5568;
}

.exsum-row-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: none;
  color: #cbd5e0;
  font-size: 0.7rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.exsum-row-remove:hover {
  background: rgba(229, 62, 62, 0.08);
  color: #e53e3e;
}

@media (max-width: 768px) {
  .exsum-bar {
    left: 0.5rem;
    right: 0.5rem;
    bottom: 5.5rem;
  }
  .exsum-bar-pill {
    width: 100%;
    justify-content: space-between;
  }
  .exsum-bar-kbd {
    display: none;
  }
  .exsum-row {
    padding: 10px;
  }
  .exsum-row-tier,
  .exsum-row-meta {
    flex-wrap: wrap;
  }
  .exsum-row-tier {
    gap: 0.5rem;
  }
}
.exsum-side-line--cash {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px dashed #e2e8f0;
}
.exsum-side-line--cash .exsum-side-line-label,
.exsum-side-line--cash .exsum-side-line-value {
  color: #2d3748;
  font-weight: 700;
}

.exsum-side-note {
  margin-top: 6px;
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.35;
  color: #718096;
}

.exsum-portfolio {
  margin-top: 0.5rem;
  padding: 1rem 1.125rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  text-align: left;
}

.exsum-portfolio-lines {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 0.5rem;
}

.exsum-portfolio-line {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: baseline;
  gap: 1rem;
  font-variant-numeric: tabular-nums;
}

.exsum-portfolio-label {
  font-size: 0.78rem;
  font-weight: 500;
  color: #718096;
}

.exsum-portfolio-qty {
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a5568;
  text-align: right;
}

.exsum-portfolio-cost {
  min-width: 6.5rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #2d3748;
  text-align: right;
}

.exsum-portfolio-line--final {
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px solid #e2e8f0;
}
.exsum-portfolio-line--final .exsum-portfolio-label {
  font-weight: 700;
  color: #2d3748;
}
.exsum-portfolio-line--final .exsum-portfolio-cost {
  font-size: 1.1rem;
  color: #5568d3;
}

.user-stocks-card {
  margin-bottom: 1.5rem;
}

.positions-tabs {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 0.25rem;
}

.pin-toggle {
  display: inline-flex;
  vertical-align: middle;
  margin-right: 0.25rem;
}
.pin-toggle .pin-form {
  margin: 0;
  display: inline-flex;
}

.pin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: #718096;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
}
.pin-btn:hover {
  color: #667eea;
  transform: scale(1.1);
}
.pin-btn--active {
  color: #667eea;
}

.positions-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #718096;
  text-decoration: none;
  border-radius: 8px 8px 0 0;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  border-bottom: none;
  margin-bottom: -1px;
}
.positions-tab:hover:not(.active) {
  color: #4a5568;
  background: rgba(102, 126, 234, 0.05);
}
.positions-tab.active {
  color: #667eea;
  font-weight: 600;
  background: #ffffff;
  border-color: #e2e8f0;
  border-bottom-color: #ffffff;
}
.positions-tab .tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(113, 128, 150, 0.15);
  border-radius: 10px;
  color: #718096;
}
.positions-tab.active .tab-count {
  background: rgba(102, 126, 234, 0.15);
  color: #667eea;
}

.positions-tabs .btn-action {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.35rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1.5px solid transparent;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  letter-spacing: 0.02em;
}
.positions-tabs .btn-action i {
  font-size: 0.85rem;
  transition: transform 0.2s ease;
}
.positions-tabs .btn-action:hover i {
  transform: translateY(-1px);
}
.positions-tabs .btn-action.btn-import {
  color: #667eea;
  background: rgba(102, 126, 234, 0.08);
  border-color: rgba(102, 126, 234, 0.2);
}
.positions-tabs .btn-action.btn-import:hover {
  background: rgba(102, 126, 234, 0.15);
  border-color: rgba(102, 126, 234, 0.4);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.15);
}
.positions-tabs .btn-action.btn-export {
  color: #38a169;
  background: rgba(56, 161, 105, 0.08);
  border-color: rgba(56, 161, 105, 0.2);
}
.positions-tabs .btn-action.btn-export:hover {
  background: rgba(56, 161, 105, 0.15);
  border-color: rgba(56, 161, 105, 0.4);
  box-shadow: 0 2px 8px rgba(56, 161, 105, 0.15);
}
@media (max-width: 576px) {
  .positions-tabs .btn-action {
    padding: 0.3rem 0.5rem;
    font-size: 0;
  }
  .positions-tabs .btn-action i {
    font-size: 0.9rem;
  }
}

.user-stocks-table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  font-size: 0.875rem;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.user-stocks-table thead {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  position: sticky;
  top: 0;
  z-index: 10;
}
.user-stocks-table thead tr th {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  white-space: nowrap;
  border-bottom: 2px solid #ffffff;
}
.user-stocks-table thead th {
  padding: 1rem;
  text-align: center;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #4a5568;
}
.user-stocks-table thead th:nth-child(1) {
  width: 10%;
}
.user-stocks-table thead th:nth-child(2) {
  width: 4%;
}
.user-stocks-table thead th:nth-child(3) {
  width: 8%;
}
.user-stocks-table thead th:nth-child(4) {
  width: 14%;
}
.user-stocks-table thead th:nth-child(5) {
  width: 14%;
}
.user-stocks-table thead th:nth-child(6) {
  width: 14%;
}
.user-stocks-table thead th:nth-child(7) {
  width: 18%;
}
.user-stocks-table thead th:nth-child(8) {
  width: 8%;
}
.user-stocks-table thead .options-indicator-header i {
  color: #718096;
  font-size: 0.875rem;
}
.user-stocks-table tbody tr {
  border-bottom: 1px solid #e2e8f0;
  cursor: pointer;
}
.user-stocks-table tbody tr:last-child {
  border-bottom: none;
}
.user-stocks-table tbody tr.row-highlighted {
  border-left: 5px solid #eab308;
  border-right: 5px solid #eab308;
}
.user-stocks-table tbody tr.row-highlighted--green {
  border-left: 5px solid #15803d;
  border-right: 5px solid #15803d;
}
.user-stocks-table tbody tr.row-highlighted--danger {
  border-left: 5px solid #e53e3e;
  border-right: 5px solid #e53e3e;
}
.user-stocks-table tbody tr.row-guide-highlight {
  background-color: rgba(147, 51, 234, 0.28);
}
.user-stocks-table tbody tr.row-expired-pending {
  border-left: 5px solid #f59e0b;
  background-color: rgba(245, 158, 11, 0.18);
}
.user-stocks-table tbody tr.row-deactivated {
  background-color: rgba(113, 128, 150, 0.05);
}
.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell) {
  opacity: 0.45;
  filter: grayscale(0.6);
  color: #718096 !important;
}
.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell).text-positive, .user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell).text-negative,
.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell) .text-positive,
.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell) .text-negative,
.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell) .premium-value,
.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell) .yield-badge,
.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell) .ticker-cell,
.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell) .option-code-primary {
  color: #718096 !important;
}
.user-stocks-table tbody td {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  color: #2d3748;
}
.user-stocks-table#option_series_table tbody tr {
  cursor: default;
}
.user-stocks-table#option_series_table[data-tab=ativas] tbody tr {
  cursor: grab;
}
.user-stocks-table#option_series_table[data-tab=ativas] tbody tr.is-dragging {
  cursor: grabbing;
  opacity: 0.7;
  background-color: rgba(102, 126, 234, 0.08);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.user-stocks-table#option_series_table[data-tab=ativas] tbody tr .actions-cell,
.user-stocks-table#option_series_table[data-tab=ativas] tbody tr .actions-cell * {
  cursor: auto;
}
.user-stocks-table .ticker-cell {
  font-weight: 700;
  color: #667eea;
}
.user-stocks-table#option_series_table .ticker-cell {
  color: #2d3748;
}
.user-stocks-table#option_series_table .pnl-meta {
  display: none;
}
.user-stocks-table#option_series_table .option-code-exercise-icon {
  display: none;
}
.user-stocks-table#option_series_table .yield-cell-duration {
  display: none;
}
.user-stocks-table#option_series_table[data-tab=realizadas] td.expiration-cell {
  color: #475569;
}
.user-stocks-table#option_series_table .option-code-date, .user-stocks-table#option_series_table .strike-cell-expiration {
  display: none;
}
.user-stocks-table .text-positive {
  color: #38a169;
  font-weight: 600;
}
.user-stocks-table .text-negative {
  color: #e53e3e;
  font-weight: 600;
}
.user-stocks-table .text-muted {
  color: #718096;
}
.user-stocks-table .strike-cell {
  font-weight: 700;
  font-size: 0.85rem;
  color: #667eea;
}
.user-stocks-table .short-cover {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  white-space: nowrap;
  letter-spacing: normal;
  font-variant-numeric: tabular-nums;
}
.user-stocks-table .short-cover__icon {
  width: 12px;
  height: 12px;
  flex: none;
}
.user-stocks-table .short-cover__tag {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
}
.user-stocks-table .short-cover__value {
  font-size: 0.78rem;
  font-weight: 700;
}
.user-stocks-table .short-cover--full {
  color: #1b5e36;
}
.user-stocks-table .short-cover--partial {
  color: #8a3a0a;
}
.user-stocks-table .short-cover--naked {
  color: #9b2226;
}
.user-stocks-table .short-cover-basis {
  display: flex;
  align-items: center;
  margin-top: 1px;
  font-size: 0.72rem;
  font-weight: 600;
  color: #a0aec0;
  white-space: nowrap;
  letter-spacing: normal;
  font-variant-numeric: tabular-nums;
}
.user-stocks-table .short-cover-basis__delta::before {
  content: "·";
  margin: 0 5px;
  color: #cbd5e0;
}
.user-stocks-table .short-cover-basis__delta--loss {
  color: #c53030;
}
@media (min-width: 1281px) {
  .user-stocks-table#option_series_table[data-tab=ativas] .strike-cell {
    text-align: center;
  }
  .user-stocks-table#option_series_table[data-tab=ativas] .strike-cell .strike-moneyness,
  .user-stocks-table#option_series_table[data-tab=ativas] .strike-cell .strike-distance {
    justify-content: center;
  }
  .user-stocks-table#option_series_table[data-tab=ativas] td[data-label=Posição] .short-cover,
  .user-stocks-table#option_series_table[data-tab=ativas] td[data-label=Posição] .short-cover-basis {
    justify-content: center;
  }
}
.user-stocks-table .premium-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}
.user-stocks-table .premium-cell--with-bracket {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  -moz-column-gap: 6px;
       column-gap: 6px;
}
.user-stocks-table .premium-cell--with-bracket .premium-annual {
  grid-column: 1;
}
.user-stocks-table .premium-average {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.35rem;
}
.user-stocks-table .premium-value {
  font-weight: 700;
  color: #667eea;
}
.user-stocks-table .yield-badge {
  font-size: 0.8em;
  color: #4a5568;
  font-weight: 500;
}
.user-stocks-table .premium-latest {
  font-size: 0.6rem;
  font-weight: 300;
  color: #2d3748;
  opacity: 0.9;
  letter-spacing: 0.02em;
  margin-top: -1px;
  white-space: nowrap;
}
.user-stocks-table .premium-latest--recent {
  opacity: 1;
}
.user-stocks-table .premium-latest-when {
  color: #718096;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.user-stocks-table .expiration-cell {
  font-weight: 700;
  color: #0d9488;
}
.user-stocks-table .summary-row {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04) 0%, rgba(118, 75, 162, 0.04) 100%);
  border-top: 2px solid #e2e8f0;
}
.user-stocks-table .summary-row td {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  font-size: 0.9rem;
}
.user-stocks-table .summary-row .summary-label {
  text-align: right;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 0.75rem;
  color: #4a5568;
}
.user-stocks-table .summary-notional-stack {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0.25rem 0.5rem;
  text-align: left;
}
.user-stocks-table .notional-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 5px 10px 5px 8px;
  border-radius: 4px;
  position: relative;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.user-stocks-table .notional-line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 55%;
  border-radius: 2px;
  background: #718096;
  opacity: 0.35;
  transition: opacity 0.15s ease, height 0.15s ease;
}
.user-stocks-table .notional-line:has(.text-negative)::before {
  background: #e53e3e;
}
.user-stocks-table .notional-line:has(.text-positive)::before {
  background: #38a169;
}
.user-stocks-table .notional-line:hover {
  background: rgba(102, 126, 234, 0.035);
}
.user-stocks-table .notional-line:hover::before {
  opacity: 1;
  height: 70%;
}
.user-stocks-table .notional-line-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.66rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.45px;
}
.user-stocks-table .notional-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
}
.user-stocks-table .notional-tag--short {
  background: rgba(229, 62, 62, 0.1);
  color: #c53030;
}
.user-stocks-table .notional-tag--long {
  background: rgba(56, 161, 105, 0.12);
  color: rgb(48.1032258065, 138.2967741935, 90.1935483871);
}
.user-stocks-table .notional-text {
  text-transform: none;
  letter-spacing: 0.2px;
  font-size: 0.7rem;
  color: #2d3748;
}
.user-stocks-table .notional-line-value {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  font-variant-numeric: tabular-nums;
}
.user-stocks-table .notional-currency {
  font-size: 0.62rem;
  font-weight: 500;
  opacity: 0.65;
  letter-spacing: 0.2px;
}
.user-stocks-table .notional-amount {
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.user-stocks-table#option_series_table[data-tab=ativas] {
  font-size: 0.8rem;
}
.user-stocks-table#option_series_table[data-tab=ativas] thead th {
  padding: 0.5rem;
  font-size: 0.68rem;
  letter-spacing: 0.3px;
}
.user-stocks-table#option_series_table[data-tab=ativas] tbody td {
  padding: 0.5rem;
  white-space: nowrap;
}
.user-stocks-table#option_series_table[data-tab=ativas] tbody td:nth-child(8) {
  white-space: normal;
  min-width: 120px;
}
.user-stocks-table#option_series_table[data-tab=realizadas] {
  font-size: 0.8rem;
}
.user-stocks-table#option_series_table[data-tab=realizadas] thead th {
  padding: 0.5rem 4px;
  font-size: 0.68rem;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.user-stocks-table#option_series_table[data-tab=realizadas] tbody td {
  padding: 0.5rem 4px;
  white-space: nowrap;
}
.user-stocks-table#option_series_table th.row-number-col,
.user-stocks-table#option_series_table td.row-number-cell {
  width: 1%;
  text-align: center;
  color: #718096;
  font-variant-numeric: tabular-nums;
}
.user-stocks-table .group-separator {
  background: linear-gradient(90deg, transparent, rgba(226, 232, 240, 0.5), transparent);
  cursor: default !important;
}
.user-stocks-table .group-separator:hover {
  background: linear-gradient(90deg, transparent, rgba(226, 232, 240, 0.5), transparent) !important;
}
.user-stocks-table .group-separator td {
  padding: 0.5rem 1rem !important;
  text-align: center;
  border-bottom: none !important;
}
.user-stocks-table .group-separator td span {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #718096;
}
.user-stocks-table .options-indicator-cell {
  padding: 0.5rem !important;
}
.user-stocks-table .options-indicator-cell .options-indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.user-stocks-table .options-indicator-cell .options-indicator.active i {
  color: #764ba2;
  font-size: 1rem;
  filter: drop-shadow(0 0 2px rgba(118, 75, 162, 0.3));
}
.user-stocks-table .quantity-cell {
  font-weight: 600;
}
.user-stocks-table .quantity-cell.positive {
  color: #38a169;
}
.user-stocks-table .quantity-cell.negative {
  color: #e53e3e;
}
.user-stocks-table .quantity-cell.neutral {
  color: #718096;
}
.user-stocks-table .price-cell {
  font-weight: 600;
  color: #2d3748;
}
.user-stocks-table .price-cell.positive {
  color: #38a169;
}
.user-stocks-table .price-cell.negative {
  color: #e53e3e;
}
.user-stocks-table .price-cell.neutral {
  color: #718096;
}
.user-stocks-table .weight-cell {
  font-weight: 600;
  font-size: 0.85rem;
  color: #667eea;
}

body.row-dragging {
  cursor: grabbing !important;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}

.trades-list-container--narrow {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.consolidated-trades-table thead tr th:nth-child(1),
.consolidated-trades-table tbody tr td:nth-child(1) {
  width: 15%;
}
.consolidated-trades-table thead tr th:nth-child(2),
.consolidated-trades-table tbody tr td:nth-child(2) {
  width: 28%;
}
.consolidated-trades-table thead tr th:nth-child(3),
.consolidated-trades-table tbody tr td:nth-child(3) {
  width: 28%;
}
.consolidated-trades-table thead tr th:nth-child(4),
.consolidated-trades-table tbody tr td:nth-child(4) {
  width: 29%;
}

.trades-table.consolidated-trades-table tbody tr.clickable-row td:last-child {
  font-size: 0.93rem;
}

.filtered-trades-table thead tr th:nth-child(1),
.filtered-trades-table tbody tr td:nth-child(1) {
  width: 15%;
}
.filtered-trades-table thead tr th:nth-child(2),
.filtered-trades-table tbody tr td:nth-child(2) {
  width: 8%;
}
.filtered-trades-table thead tr th:nth-child(3),
.filtered-trades-table tbody tr td:nth-child(3) {
  width: 15%;
}
.filtered-trades-table thead tr th:nth-child(4),
.filtered-trades-table tbody tr td:nth-child(4) {
  width: 12%;
}
.filtered-trades-table thead tr th:nth-child(5),
.filtered-trades-table tbody tr td:nth-child(5) {
  width: 22%;
}
.filtered-trades-table thead tr th:nth-child(6),
.filtered-trades-table tbody tr td:nth-child(6) {
  width: 28%;
}

.home-container--top-aligned {
  align-items: flex-start;
}

.stock-trade-form .stock-trade-form-row {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  flex-wrap: nowrap;
}
.stock-trade-form .stock-trade-form-row .trade-form-group {
  flex: 1;
  min-width: 0;
}
.stock-trade-form .stock-trade-form-row .trade-form-group.trade-form-group-submit {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
}
.stock-trade-form .stock-trade-form-row .trade-form-group.trade-form-group-submit .trade-submit-btn {
  min-width: 100px;
  white-space: nowrap;
}
@media (max-width: 992px) {
  .stock-trade-form .stock-trade-form-row {
    flex-wrap: wrap;
  }
  .stock-trade-form .stock-trade-form-row .trade-form-group {
    flex: 1 1 calc(33.333% - 1rem);
    min-width: 120px;
  }
  .stock-trade-form .stock-trade-form-row .trade-form-group.trade-form-group-submit {
    flex: 1 1 100%;
    align-items: center;
    margin-top: 0.5rem;
  }
  .stock-trade-form .stock-trade-form-row .trade-form-group.trade-form-group-submit .trade-submit-btn {
    width: 100%;
    max-width: 200px;
  }
}
@media (max-width: 576px) {
  .stock-trade-form .stock-trade-form-row .trade-form-group {
    flex: 1 1 100%;
  }
}

.stock-trades-table thead tr th:nth-child(1) {
  width: 12%;
}
.stock-trades-table thead tr th:nth-child(2) {
  width: 12%;
}
.stock-trades-table thead tr th:nth-child(3) {
  width: 14%;
}
.stock-trades-table thead tr th:nth-child(4) {
  width: 10%;
}
.stock-trades-table thead tr th:nth-child(5) {
  width: 14%;
}
.stock-trades-table thead tr th:nth-child(6) {
  width: 18%;
}
.stock-trades-table thead tr th:nth-child(7) {
  width: 10%;
}

.trade-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}

.trade-actions .action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  background: transparent;
}
.trade-actions .action-btn:hover, .trade-actions .action-btn:focus, .trade-actions .action-btn:active {
  background: transparent;
  transform: none;
  box-shadow: none;
}
.trade-actions .action-btn i {
  font-size: 1rem;
}
.trade-actions .action-btn.edit-btn {
  color: #667eea;
}
.trade-actions .action-btn.edit-btn:hover, .trade-actions .action-btn.edit-btn:focus, .trade-actions .action-btn.edit-btn:active {
  color: #667eea;
}
.trade-actions .action-btn.delete-btn {
  color: #e53e3e;
}
.trade-actions .action-btn.delete-btn:hover, .trade-actions .action-btn.delete-btn:focus, .trade-actions .action-btn.delete-btn:active {
  color: #e53e3e;
}

.edit-link-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.edit-link-small i {
  font-size: 0.875rem;
}
.edit-link-small {
  background: transparent;
  color: #2b6cb0;
}
.edit-link-small:hover {
  background: rgba(66, 153, 225, 0.15);
  color: #2c5282;
  text-decoration: none;
}
.edit-link-small {
  padding: 0.375rem 0.75rem;
  font-weight: 600;
}
.edit-link-small:hover {
  transform: scale(1.1);
}

form:has(.delete-link-small) {
  display: inline;
  margin-left: 0.5rem;
}

.delete-link-small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.delete-link-small i {
  font-size: 0.875rem;
}
.delete-link-small {
  background: transparent;
  color: #c53030;
  border: none;
  cursor: pointer;
}
.delete-link-small:hover {
  background: rgba(229, 62, 62, 0.15);
  color: #9b2c2c;
}
.delete-link-small {
  padding: 0.375rem 0.75rem;
  font-weight: 600;
}
.delete-link-small:hover {
  transform: scale(1.1);
}

.trades-totals tr td.total-value.positive {
  color: #38a169;
}
.trades-totals tr td.total-value.negative {
  color: #e53e3e;
}

.trades-totals tr td.total-taxes {
  font-weight: 700;
  font-size: 0.95rem;
  color: #667eea;
}

.trade-form-group[data-controller=ticker-autocomplete] {
  position: relative;
}

.ticker-autocomplete-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s ease;
  z-index: 100;
  max-height: 200px;
  overflow-y: auto;
}
.ticker-autocomplete-results.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(4px);
}

.ticker-autocomplete-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  color: #2d3748;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.ticker-autocomplete-item:last-child {
  border-bottom: none;
}
.ticker-autocomplete-item i {
  color: #667eea;
  font-size: 1rem;
}
.ticker-autocomplete-item:hover, .ticker-autocomplete-item.highlighted {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
  color: #667eea;
}

.by-stock-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.by-stock-header .back-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #718096;
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.2s ease;
}
.by-stock-header .back-link:hover {
  color: #667eea;
}
.by-stock-header .by-stock-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
}
.by-stock-header .by-stock-title i {
  color: #667eea;
  margin-right: 0.5rem;
}

.by-stock-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.by-stock-summary .summary-card {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
  border-radius: 8px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.by-stock-summary .summary-card .summary-label {
  font-size: 0.85rem;
  color: #718096;
  font-weight: 500;
}
.by-stock-summary .summary-card .summary-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2d3748;
}
.by-stock-summary .summary-card .summary-value.positive {
  color: #38a169;
}
.by-stock-summary .summary-card .summary-value.negative {
  color: #e53e3e;
}
.by-stock-summary .summary-card .summary-detail {
  font-size: 0.8rem;
  color: #718096;
  font-weight: 500;
  margin-top: 0.25rem;
}

.by-stock-table td.positive {
  color: #38a169;
  font-weight: 600;
}
.by-stock-table td.negative {
  color: #e53e3e;
  font-weight: 600;
}

.brokerage-note {
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  max-width: 800px;
  margin: 0 auto;
}
.brokerage-note .trades-table-wrapper {
  overflow-x: auto;
}
.brokerage-note .trade-actions {
  gap: 0.25rem;
  justify-content: flex-end;
  padding-right: 0.5rem;
}
.brokerage-note .back-link {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #718096;
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.2s ease;
}
.brokerage-note .back-link:hover {
  color: #667eea;
}

.brokerage-note-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.5rem 0 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid #667eea;
}

.brokerage-note-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #2d3748;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.brokerage-note-title i {
  color: #667eea;
  font-size: 1.6rem;
}

.brokerage-note-date {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}
.brokerage-note-date .date-label {
  font-size: 0.75rem;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.brokerage-note-date .date-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: #667eea;
  font-family: "Courier New", monospace;
}

.brokerage-note-section {
  margin-bottom: 1.5rem;
}
.brokerage-note-section .section-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.brokerage-table {
  font-size: 0.9rem;
}
.brokerage-table thead tr th:nth-child(1) {
  width: 18%;
}
.brokerage-table thead tr th:nth-child(2) {
  width: 8%;
}
.brokerage-table thead tr th:nth-child(3) {
  width: 12%;
}
.brokerage-table thead tr th:nth-child(4) {
  width: 15%;
}
.brokerage-table thead tr th:nth-child(5) {
  width: 15%;
}
.brokerage-table thead tr th:nth-child(6) {
  width: 18%;
}
.brokerage-table thead tr th:nth-child(7) {
  width: 14%;
}
.brokerage-table thead {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.brokerage-table thead tr th {
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.3px;
  padding: 0.75rem 0.5rem;
  text-align: center;
}
.brokerage-table tbody tr {
  cursor: pointer;
  transition: background 0.15s ease;
}
.brokerage-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.05);
}
.brokerage-table tbody tr td {
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  text-align: center;
}
.brokerage-table .trade-ticker {
  font-weight: 700;
  color: #2d3748;
  font-size: 1rem;
  letter-spacing: 0.5px;
}
.brokerage-table .cv-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
}
.brokerage-table .cv-badge.buy {
  background: rgba(56, 161, 105, 0.15);
  color: #38a169;
}
.brokerage-table .cv-badge.sell {
  background: rgba(229, 62, 62, 0.15);
  color: #e53e3e;
}
.brokerage-table .origin-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.4rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}
.brokerage-table .origin-badge.regular {
  background: rgba(102, 126, 234, 0.15);
  color: #667eea;
}
.brokerage-table .origin-badge.options_exercise {
  background: rgba(221, 107, 32, 0.2);
  color: #dd6b20;
}
.brokerage-table .origin-badge.bonificacao {
  background: rgba(56, 161, 105, 0.2);
  color: #38a169;
}
.brokerage-table .text-right {
  text-align: center;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2d3748;
  letter-spacing: 0.3px;
}

.brokerage-note-summary {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.03) 0%, rgba(118, 75, 162, 0.03) 100%);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(102, 126, 234, 0.1);
}
.brokerage-note-summary + .brokerage-note-summary {
  margin-top: 1rem;
}
.brokerage-note-summary .section-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
}
.brokerage-note-summary .taxes-breakdown {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (max-width: 576px) {
  .brokerage-note-summary .taxes-breakdown {
    grid-template-columns: 1fr;
  }
}
.brokerage-note-summary .tax-card {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.brokerage-note-summary .tax-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.brokerage-note-summary .tax-card-title {
  font-size: 0.9rem;
  font-weight: 700;
  color: #2d3748;
}
.brokerage-note-summary .tax-card-badge {
  font-size: 0.75rem;
  font-weight: 600;
  color: #ffffff;
  background: #667eea;
  padding: 0.2rem 0.5rem;
  border-radius: 10px;
}
.brokerage-note-summary .tax-card-body {
  padding: 0.75rem 1rem;
}
.brokerage-note-summary .tax-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.35rem 0;
}
.brokerage-note-summary .tax-row:not(:last-child) {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
}
.brokerage-note-summary .tax-label {
  font-size: 0.8rem;
  color: #718096;
  font-weight: 500;
}
.brokerage-note-summary .tax-value {
  font-size: 0.85rem;
  font-weight: 600;
  color: #2d3748;
  font-family: "Courier New", monospace;
}
.brokerage-note-summary .summary-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.brokerage-note-summary .summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
}
.brokerage-note-summary .summary-row.total {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 0.75rem;
  margin-top: 0.25rem;
}
.brokerage-note-summary .summary-row .summary-label {
  font-size: 0.9rem;
  color: #718096;
  font-weight: 500;
}
.brokerage-note-summary .summary-row .summary-value {
  font-size: 1rem;
  font-weight: 700;
  font-family: "Courier New", monospace;
}
.brokerage-note-summary .summary-row .summary-value.taxes {
  color: #667eea;
}
.brokerage-note-summary .summary-row .summary-value.positive {
  color: #38a169;
}
.brokerage-note-summary .summary-row .summary-value.negative {
  color: #e53e3e;
}

.clickable-row {
  cursor: pointer;
  transition: background 0.15s ease;
}
.clickable-row:hover {
  background: rgba(102, 126, 234, 0.05);
}

.row-highlight {
  animation: row-pulse 2s ease-out;
}

.trades-table tbody tr.clickable-row td:last-child {
  font-size: 0.98rem;
  font-weight: 500;
}

.trades-table tbody tr td.positive {
  color: #38a169;
  font-weight: 600;
}
.trades-table tbody tr td.negative {
  color: #e53e3e;
  font-weight: 600;
}

.cell-stacked {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
}

.secondary-value {
  color: #718096;
  font-size: 0.8rem;
  font-weight: 400;
}

.empty-stocks-message {
  text-align: center;
  padding: 1.5rem;
  color: #718096;
}
.empty-stocks-message p {
  margin: 0;
  font-size: 0.95rem;
}

.table-page-scroll-btn {
  position: fixed;
  left: 2rem;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(45, 55, 72, 0.18);
  color: #2d3748;
  border: 1px solid rgba(45, 55, 72, 0.1);
  border-radius: 50%;
  font-size: 1.1rem;
  cursor: pointer;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease, background 0.2s ease;
}
.table-page-scroll-btn.visible {
  opacity: 1;
  visibility: visible;
}
.table-page-scroll-btn:hover {
  background: rgba(45, 55, 72, 0.3);
}
.table-page-scroll-btn--down {
  bottom: 1.5rem;
}
.table-page-scroll-btn--up {
  bottom: 4.5rem;
}

@media (max-width: 768px) {
  .table-page-scroll-btn {
    left: 1rem;
    width: 2.25rem;
    height: 2.25rem;
    background: rgba(45, 55, 72, 0.1);
    color: #4a5568;
    border-color: transparent;
    font-size: 1rem;
  }
}
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: -0.5rem;
  padding: 0 0.5rem;
}
.table-responsive::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 20px;
  background: linear-gradient(to left, rgba(255, 255, 255, 0.9), transparent);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.table-responsive.has-scroll::after {
  opacity: 1;
}

@media (max-width: 768px) {
  .user-stocks-table:not(#option_series_table) {
    min-width: 650px;
  }
  .user-stocks-table:not(#option_series_table) thead th {
    padding: 0.5rem;
    font-size: 0.7rem;
    white-space: nowrap;
  }
  .user-stocks-table:not(#option_series_table) tbody td {
    padding: 0.5rem;
    font-size: 0.8rem;
    white-space: nowrap;
  }
  .trades-table.consolidated-trades-table {
    min-width: 450px;
  }
  .trades-table.consolidated-trades-table thead th,
  .trades-table.consolidated-trades-table tbody td {
    padding: 0.5rem;
    font-size: 0.85rem;
    white-space: nowrap;
  }
  .trades-table.filtered-trades-table {
    min-width: 550px;
  }
  .trades-table.filtered-trades-table thead th,
  .trades-table.filtered-trades-table tbody td {
    padding: 0.5rem;
    font-size: 0.85rem;
    white-space: nowrap;
  }
  .trades-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: -0.5rem;
    padding: 0 0.5rem;
  }
  .trades-list-container--narrow {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .user-stocks-table:not(#option_series_table) {
    min-width: 600px;
  }
  .user-stocks-table:not(#option_series_table) thead th {
    padding: 0.25rem 0.5rem;
    font-size: 0.65rem;
  }
  .user-stocks-table:not(#option_series_table) tbody td {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
  }
  .trades-table thead th,
  .trades-table tbody td {
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
  }
}
@media (max-width: 1280px) {
  .table-responsive:has(#option_series_table) {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
  }
  #option_series_table.user-stocks-table {
    display: block;
    min-width: unset !important;
    border-spacing: 0;
    box-shadow: none;
  }
  #option_series_table.user-stocks-table thead {
    display: none;
  }
  #option_series_table.user-stocks-table tbody {
    display: block;
  }
  #option_series_table.user-stocks-table tbody tr {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    position: relative;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
  }
  #option_series_table.user-stocks-table tbody tr:last-child {
    border-bottom: 1px solid #e2e8f0;
  }
  #option_series_table.user-stocks-table tbody tr.row-closed {
    border-left: 3px solid #718096;
  }
  #option_series_table.user-stocks-table tbody tr.row-exercised {
    border-left: 3px solid #ed8936;
  }
  #option_series_table.user-stocks-table tbody tr.row-expired {
    border-left: 3px solid #e53e3e;
  }
  #option_series_table.user-stocks-table tbody tr.row-highlighted {
    border-left: 5px solid #ed8936;
    border-right: 5px solid #ed8936;
  }
  #option_series_table.user-stocks-table tbody tr.row-guide-highlight {
    background-color: rgba(147, 51, 234, 0.28);
  }
  #option_series_table.user-stocks-table tbody tr.row-expired-pending {
    border-left: 5px solid #f59e0b;
    background-color: rgba(245, 158, 11, 0.15);
  }
  #option_series_table.user-stocks-table tbody tr.row-deactivated {
    background-color: rgba(113, 128, 150, 0.05);
  }
  #option_series_table.user-stocks-table tbody tr.row-deactivated > td:not(.actions-cell) {
    opacity: 0.45;
    filter: grayscale(0.6);
  }
  #option_series_table.user-stocks-table tbody td {
    padding: 0.25rem !important;
    text-align: left;
    white-space: normal;
    font-size: 0.8rem;
  }
  #option_series_table.user-stocks-table tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.55rem;
    font-weight: 700;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 1px;
  }
  #option_series_table.user-stocks-table tbody td[data-label=Abertura] {
    display: none;
  }
  #option_series_table.user-stocks-table tbody td.row-number-cell {
    display: none;
  }
  #option_series_table.user-stocks-table tbody td.ticker-cell {
    font-size: 0.85rem;
  }
  #option_series_table.user-stocks-table tbody td.strike-cell {
    font-size: 0.85rem;
  }
  #option_series_table.user-stocks-table tbody td.expiration-cell {
    font-weight: 700;
  }
  #option_series_table.user-stocks-table tbody td .trade-badge {
    padding: 2px 6px;
    font-size: 0.6rem;
  }
  #option_series_table.user-stocks-table tbody td .premium-cell {
    align-items: flex-start;
  }
  #option_series_table.user-stocks-table tbody td .premium-average {
    justify-content: flex-start;
    gap: 0.2rem;
  }
  #option_series_table.user-stocks-table tbody td .premium-latest {
    font-size: 0.55rem;
    white-space: normal;
  }
  #option_series_table.user-stocks-table tbody td.actions-cell {
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    padding: 0 !important;
    width: auto;
  }
  #option_series_table.user-stocks-table tbody td.actions-cell::before {
    display: none;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td {
    padding: calc(0.5rem + 2px) 0.25rem !important;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td::before {
    font-size: 0.65rem;
    margin-bottom: 4px;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Ativo], #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Tipo], #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Vencimento] {
    display: none;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Opção] {
    grid-column: 1;
    grid-row: 1;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Strike] {
    grid-column: 1;
    grid-row: 2;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Posição] {
    grid-column: 2;
    grid-row: 1;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Notional] {
    grid-column: 2;
    grid-row: 2;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label="Prêmio Médio"] {
    grid-column: 3;
    grid-row: 1;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label="Prêmio Líquido Saldo"] {
    grid-column: 3;
    grid-row: 2;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.ticker-cell {
    font-size: inherit;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.ticker-cell .option-code-primary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    row-gap: 2px;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.ticker-cell .option-type-pill {
    display: inline-flex;
    padding: 1px 7px;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    line-height: 1.4;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.ticker-cell .option-code-date {
    display: block;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Posição] {
    font-size: 1.15rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Posição] .short-cover {
    margin-top: 5px;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Posição] .short-cover__tag {
    font-size: 0.72rem;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Posição] .short-cover__value {
    font-size: 0.85rem;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Posição] .short-cover-basis {
    font-size: 0.78rem;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.strike-cell {
    font-size: 1.4rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.strike-cell .strike-cell-value {
    display: block;
    line-height: 1;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.strike-cell .strike-breakeven {
    display: block;
    margin-left: 0;
    margin-top: 3px;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.strike-cell .strike-breakeven::before {
    content: none;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.strike-cell .strike-cell-expiration {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    color: #0d9488;
    font-variant-numeric: tabular-nums;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td.strike-cell .strike-cell-expiration i {
    font-size: 0.8rem;
    color: #0d9488;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label=Notional] {
    font-size: 1.15rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td[data-label="Prêmio Líquido Saldo"] {
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td .premium-average {
    gap: 5px;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td .premium-value {
    font-size: 1.1rem;
    font-weight: 800;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td .premium-latest {
    font-size: 0.7rem;
    color: #718096;
    margin-top: 4px;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td .premium-latest-value {
    font-size: 1.2em;
    font-weight: 700;
    color: #2d3748;
    font-variant-numeric: tabular-nums;
  }
  #option_series_table.user-stocks-table[data-tab=ativas] tbody td .yield-badge {
    font-size: 0.7rem;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td {
    padding: calc(0.5rem + 2px) 0.25rem !important;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td::before {
    font-size: 0.65rem;
    margin-bottom: 4px;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Ativo], #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Tipo], #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Vencimento], #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label="C/V"], #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Qtd], #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Prêmio], #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Duração] {
    display: none;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Opção] {
    grid-column: 1;
    grid-row: 1;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td.expiration-cell {
    grid-column: 1;
    grid-row: 2;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Yield] {
    grid-column: 2;
    grid-row: 1;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label="Yield Anual"] {
    grid-column: 2;
    grid-row: 2;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=PNL] {
    grid-column: 3;
    grid-row: 1/span 2;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td.ticker-cell {
    font-size: inherit;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td.ticker-cell .option-code-primary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    row-gap: 2px;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td.ticker-cell .option-type-pill {
    display: inline-flex;
    padding: 1px 7px;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    line-height: 1.4;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td.ticker-cell .option-code-date {
    display: block;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=PNL] {
    font-size: 1.4rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=PNL] .pnl-value {
    display: block;
    line-height: 1;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=PNL] .pnl-meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 0.7rem;
    font-weight: 600;
    color: #718096;
    letter-spacing: 0;
    line-height: 1;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=PNL] .pnl-meta .cv-badge {
    padding: 1px 6px;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    line-height: 1.4;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=PNL] .pnl-meta .pnl-meta-qty {
    font-variant-numeric: tabular-nums;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Yield] {
    font-size: 1.15rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Yield] .yield-cell-value {
    display: inline;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Yield] .yield-cell-duration {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    margin-left: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0;
    color: #718096;
    font-variant-numeric: tabular-nums;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label=Yield] .yield-cell-duration i {
    font-size: 0.7rem;
    color: #718096;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td[data-label="Yield Anual"] {
    font-size: 1.15rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    line-height: 1.1;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr td.expiration-cell {
    font-size: 1.15rem;
    line-height: 1.1;
  }
  #option_series_table.user-stocks-table#option_series_table[data-tab=realizadas] tbody tr .option-code-exercise-icon {
    display: inline-block;
    color: #d69e2e;
    font-size: 0.95rem;
    margin-left: 4px;
  }
  #option_series_table.user-stocks-table .group-separator {
    display: none;
  }
  #option_series_table.user-stocks-table tfoot {
    display: block;
    width: 100%;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row {
    display: flex;
    width: 100%;
    align-items: center;
    padding: 0.5rem 0;
    border: none;
    border-top: 2px solid #667eea;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.04) 0%, rgba(118, 75, 162, 0.04) 100%);
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td {
    padding: 0.25rem 0.5rem;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td::before {
    display: none;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td:empty {
    display: none;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td.summary-label {
    flex: 7;
    text-align: right;
    font-size: 0.7rem;
    font-weight: 700;
    color: #4a5568;
    text-transform: uppercase;
    letter-spacing: 0.3px;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td.summary-notional-stack {
    flex: 3;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td:not(.summary-label):not(.summary-notional-stack):not(:empty) {
    flex: 1;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 700;
  }
}
@media (max-width: 1280px) and (max-width: 768px) {
  #option_series_table.user-stocks-table tfoot tr.summary-row {
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    justify-content: center;
    padding: 0.5rem;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td.summary-label {
    flex: 0 0 100%;
    text-align: center;
    font-size: 0.65rem;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td.summary-notional-stack {
    flex: 0 1 auto;
  }
  #option_series_table.user-stocks-table tfoot tr.summary-row td:not(.summary-label):not(.summary-notional-stack):not(:empty) {
    flex: 0 1 auto;
  }
}
.dashboard-card {
  padding: 2rem;
}

.dashboard-header {
  margin-bottom: 2rem;
}

.dashboard-title {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
}
.dashboard-title i {
  color: #667eea;
  font-size: 1.8rem;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media (max-width: 992px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
}

.dashboard-section {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.dashboard-section-full {
  width: 100%;
  margin-bottom: 2rem;
}

.section-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(118, 75, 162, 0.08) 100%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.section-header i {
  color: #667eea;
  font-size: 1.2rem;
}
.section-header h2, .section-header .h2 {
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
}

.section-header-warning {
  background: linear-gradient(135deg, rgba(237, 137, 54, 0.1) 0%, rgba(237, 137, 54, 0.05) 100%);
}
.section-header-warning i {
  color: #ed8936;
}
.section-header-warning .section-count {
  font-size: 0.8rem;
  font-weight: 600;
  color: #718096;
}

.section-content {
  padding: 1.5rem;
}

.expiring-alerts-list {
  display: flex;
  flex-direction: column;
}

.expiring-alert-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  text-decoration: none;
  transition: background 0.2s ease;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border-radius: 8px;
}
.expiring-alert-item:last-child {
  border-bottom: none;
}
.expiring-alert-item:hover {
  background: rgba(102, 126, 234, 0.04);
  text-decoration: none;
}

.expiring-alert-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.expiring-alert-dot.dot-danger {
  background: #e53e3e;
}
.expiring-alert-dot.dot-warning {
  background: #ed8936;
}
.expiring-alert-dot.dot-info {
  background: #667eea;
}

.expiring-alert-code {
  font-weight: 700;
  font-size: 0.9rem;
  color: #2d3748;
}

.expiring-alert-ticker {
  font-weight: 500;
  font-size: 0.8rem;
  color: #718096;
}

.expiring-alert-date {
  margin-left: auto;
  font-size: 0.85rem;
  color: #4a5568;
}

.expiring-alert-days {
  font-weight: 600;
  font-size: 0.85rem;
  min-width: 80px;
  text-align: right;
  flex-shrink: 0;
}
.expiring-alert-days.dot-danger {
  color: #e53e3e;
}
.expiring-alert-days.dot-warning {
  color: #ed8936;
}
.expiring-alert-days.dot-info {
  color: #667eea;
}

.import-card {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.03) 0%, rgba(118, 75, 162, 0.03) 100%);
  border-radius: 8px;
  padding: 1.5rem;
  border: 1px solid rgba(102, 126, 234, 0.1);
}

.import-card-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.import-card-header i {
  color: #667eea;
  font-size: 1.5rem;
}
.import-card-header span {
  font-size: 1.1rem;
  font-weight: 600;
  color: #2d3748;
}

.import-description {
  font-size: 0.9rem;
  color: #718096;
  margin-bottom: 1rem;
  line-height: 1.5;
}

.import-steps {
  background: rgba(102, 126, 234, 0.03);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1.5rem;
}
.import-steps .import-steps-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: #4a5568;
  margin-bottom: 0.25rem;
}
.import-steps ol {
  margin: 0;
  padding-left: 1.5rem;
}
.import-steps ol li {
  font-size: 0.8rem;
  color: #718096;
  line-height: 1.6;
}

.import-form .form-group {
  margin-bottom: 1.5rem;
}
.import-form .form-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: #4a5568;
  margin-bottom: 0.5rem;
}

.market-selector {
  display: flex;
  gap: 1rem;
}

.market-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}
.market-option .market-radio {
  accent-color: #667eea;
}
.market-option .market-label {
  font-size: 0.9rem;
  font-weight: 500;
  color: #2d3748;
}

.file-upload-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  border: 2px dashed rgba(102, 126, 234, 0.3);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
}
.file-upload-area:hover, .file-upload-area.dragover {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.05);
}
.file-upload-area.has-file {
  border-color: #38a169;
  background: rgba(56, 161, 105, 0.05);
}
.file-upload-area.has-file i {
  color: #38a169;
}
.file-upload-area i {
  font-size: 2.5rem;
  color: #667eea;
  margin-bottom: 0.5rem;
}
.file-upload-area .upload-text {
  font-size: 0.9rem;
  color: #718096;
  margin-bottom: 0.5rem;
}
.file-upload-area .file-input {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  cursor: pointer;
}
.file-upload-area .upload-button {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: #667eea;
  color: #ffffff;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: none;
}
.file-upload-area .upload-button:hover {
  background: rgb(57.1551724138, 88.1896551724, 227.8448275862);
}
.file-upload-area .file-name {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #38a169;
}

.import-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
  gap: 1rem;
}

.import-submit-btn {
  padding: 0.5rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}
.import-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.template-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #667eea;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}
.template-link:hover {
  color: rgb(57.1551724138, 88.1896551724, 227.8448275862);
  text-decoration: underline;
}
.template-link i {
  font-size: 1rem;
}

.tools-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media (max-width: 768px) {
  .tools-grid {
    grid-template-columns: 1fr;
  }
}

.tool-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.03) 0%, rgba(118, 75, 162, 0.03) 100%);
  border-radius: 8px;
  border: 1px solid rgba(102, 126, 234, 0.1);
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}
.tool-card i {
  font-size: 1.8rem;
  color: #667eea;
  margin-bottom: 0.5rem;
}
.tool-card span {
  font-size: 0.85rem;
  font-weight: 600;
  color: #2d3748;
  text-align: center;
}
.tool-card:hover:not(.disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: #667eea;
}
.tool-card.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.tool-card.disabled i, .tool-card.disabled span {
  color: #718096;
}
.tool-card .coming-soon {
  font-size: 0.7rem;
  font-weight: 600;
  color: #ffffff;
  background: #718096;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  margin-top: 0.5rem;
}

.dashboard-admin-section {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.dashboard-admin-header {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 1rem;
  background: rgba(113, 128, 150, 0.08);
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 1.5rem;
}
.dashboard-admin-header i {
  font-size: 0.75rem;
}

.cotahist-status {
  display: flex;
  gap: 2rem;
  margin-bottom: 1rem;
}

.cotahist-stat {
  display: flex;
  flex-direction: column;
}

.cotahist-stat-value {
  font-size: 1.2rem;
  font-weight: 800;
  color: #667eea;
}

.cotahist-stat-label {
  font-size: 0.7rem;
  color: #718096;
  font-weight: 500;
}

.cotahist-desc {
  font-size: 0.8rem;
  color: #718096;
  margin: 0 0 1rem;
}

.cotahist-form-row {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}

.cotahist-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.cotahist-form-field--file {
  flex: 1;
  min-width: 200px;
}
.cotahist-form-field--action {
  align-self: flex-end;
}

.cotahist-label {
  font-size: 0.65rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.cotahist-file-input {
  padding: 0.5rem;
  border: 1px dashed #e2e8f0;
  border-radius: 8px;
  font-size: 0.8rem;
  color: #4a5568;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.15s ease;
  width: 100%;
}
.cotahist-file-input:hover {
  border-color: #667eea;
}
.cotahist-file-input::file-selector-button {
  padding: 0.25rem 0.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  color: #4a5568;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  margin-right: 0.5rem;
  transition: all 0.15s ease;
}
.cotahist-file-input::file-selector-button:hover {
  border-color: #667eea;
  color: #667eea;
}

.cotahist-select {
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.85rem;
  color: #2d3748;
  background: #ffffff;
}
.cotahist-select:focus {
  outline: none;
  border-color: #667eea;
}

.cotahist-progress {
  padding: 1rem;
  background: rgba(102, 126, 234, 0.06);
  border-radius: 8px;
  font-size: 0.85rem;
  color: #667eea;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cotahist-progress i {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
#cotahist-area,
#bvbg028-area {
  position: relative;
}

.cotahist-upload-overlay {
  position: absolute;
  inset: -1rem;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(2px);
  border-radius: 8px;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 5;
}
.cotahist-upload-overlay--visible {
  display: flex;
  animation: cotahist-overlay-fade 0.15s ease;
}

.cotahist-upload-overlay__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1.5rem 2rem;
  background: #ffffff;
  border: 1px solid rgba(102, 126, 234, 0.15);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  max-width: 90%;
  text-align: center;
}

.cotahist-upload-overlay__spinner i {
  font-size: 2rem;
  color: #667eea;
  animation: spin 1s linear infinite;
  display: inline-block;
}

.cotahist-upload-overlay__title {
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
}

.cotahist-upload-overlay__subtitle {
  font-size: 0.8rem;
  color: #718096;
  line-height: 1.4;
  max-width: 320px;
}

.cotahist-upload-overlay__bar {
  width: 220px;
  height: 4px;
  background: rgba(102, 126, 234, 0.12);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 0.25rem;
}

.cotahist-upload-overlay__bar-fill {
  height: 100%;
  width: 40%;
  background: linear-gradient(90deg, transparent, #667eea, transparent);
  animation: cotahist-overlay-slide 1.2s ease-in-out infinite;
}

@keyframes cotahist-overlay-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes cotahist-overlay-slide {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(350%);
  }
}
.import-progress-card {
  padding: 1rem 1.5rem;
  background: rgba(102, 126, 234, 0.04);
  border: 1px solid rgba(102, 126, 234, 0.12);
  border-radius: 8px;
  font-size: 0.85rem;
}

.import-progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.import-progress-step {
  font-weight: 600;
  color: #667eea;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.import-progress-pct {
  font-weight: 700;
  color: #667eea;
  font-size: 0.95rem;
}

.import-progress-bar-track {
  width: 100%;
  height: 6px;
  background: rgba(102, 126, 234, 0.1);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

.import-progress-bar-fill {
  height: 100%;
  background: #667eea;
  border-radius: 3px;
  transition: width 0.4s ease;
}

.import-progress-detail {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: #2d3748;
  font-weight: 500;
  margin-bottom: 4px;
}
.import-progress-detail i {
  color: #667eea;
  animation: spin 1s linear infinite;
}

.import-progress-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: #718096;
}

.cotahist-result {
  padding: 1rem;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cotahist-result--success {
  background: rgba(56, 161, 105, 0.08);
  color: #38a169;
}
.cotahist-result--error {
  background: rgba(229, 62, 62, 0.08);
  color: #e53e3e;
}

.cotahist-last-import {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: #4a5568;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;
  background: rgba(102, 126, 234, 0.04);
  border-radius: 4px;
}
.cotahist-last-import i {
  color: #718096;
}
.cotahist-last-import strong {
  color: #2d3748;
}

.cotahist-changes {
  margin-bottom: 1rem;
}

.cotahist-changes-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: #dd6b20;
  cursor: pointer;
  padding: 0.5rem 1rem;
  background: rgba(237, 137, 54, 0.08);
  border-radius: 4px;
}
.cotahist-changes-summary:hover {
  background: rgba(237, 137, 54, 0.12);
}
.cotahist-changes-summary i {
  font-size: 0.85rem;
}

.cotahist-changes-list {
  max-height: 200px;
  overflow-y: auto;
  padding: 0.5rem 0;
}

.cotahist-change-item {
  display: flex;
  justify-content: space-between;
  padding: 0.25rem 1rem;
  font-size: 0.75rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.4);
}
.cotahist-change-item:last-child {
  border-bottom: none;
}

.cotahist-change-code {
  font-weight: 700;
  color: #2d3748;
  font-family: monospace;
}

.cotahist-change-values {
  color: #4a5568;
}

.cotahist-submit {
  padding: 0.5rem 1.5rem;
  background: #2d3748;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.cotahist-submit:hover {
  background: rgb(25.3846153846, 31.0256410256, 40.6153846154);
}

.import-results {
  margin-top: 2rem;
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.results-summary {
  display: flex;
  gap: 1.5rem;
  padding: 1.5rem;
}

.result-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  min-width: 100px;
}
.result-card.success {
  background: rgba(56, 161, 105, 0.1);
}
.result-card.success .result-count {
  color: #38a169;
}
.result-card.error {
  background: rgba(229, 62, 62, 0.1);
}
.result-card.error .result-count {
  color: #e53e3e;
}
.result-card.warning {
  background: rgba(237, 137, 54, 0.1);
}
.result-card.warning .result-count {
  color: #ed8936;
}
.result-card .result-count {
  font-size: 2rem;
  font-weight: 700;
}
.result-card .result-label {
  font-size: 0.85rem;
  font-weight: 500;
  color: #4a5568;
}

.warnings-list {
  padding: 0 1.5rem 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  margin-top: 1.5rem;
}
.warnings-list h3, .warnings-list .h3 {
  font-size: 0.9rem;
  font-weight: 600;
  color: #2d3748;
  margin: 1rem 0;
}
.warnings-list .warnings-items {
  margin: 0;
}
.warnings-list .warnings-items .warning-item {
  font-size: 0.85rem;
  color: #4a5568;
  padding: 1rem 0;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.05);
}
.warnings-list .warnings-items .warning-item:last-child {
  border-bottom: none;
}
.warnings-list .warnings-items .warning-item strong {
  color: #dd6b20;
}
.warnings-list .warning-edit-link {
  color: #ed8936;
  font-weight: 600;
  text-decoration: none;
}
.warnings-list .warning-edit-link:hover {
  text-decoration: underline;
}

.errors-list {
  padding: 0 1.5rem 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.errors-list h3, .errors-list .h3 {
  font-size: 0.9rem;
  font-weight: 600;
  color: #2d3748;
  margin: 1rem 0;
}
.errors-list ul {
  margin: 0;
  padding-left: 1.5rem;
}
.errors-list ul li {
  font-size: 0.85rem;
  color: #4a5568;
  padding: 0.5rem 0;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.05);
}
.errors-list ul li:last-child {
  border-bottom: none;
}
.errors-list ul li strong {
  color: #e53e3e;
}

.errors-list ul li.error-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.errors-list ul li.error-item .error-text {
  flex: 1;
  min-width: 0;
}

.import-pending-card {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  margin-bottom: 1rem;
  overflow: hidden;
}
.import-pending-card:last-child {
  margin-bottom: 0;
}

.import-pending-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: rgba(0, 0, 0, 0.02);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.import-pending-file {
  font-weight: 600;
  color: #2d3748;
  font-size: 0.9rem;
}

.import-pending-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.import-pending-date {
  font-size: 0.8rem;
  color: #718096;
}

.import-pending-badge {
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 8px;
  white-space: nowrap;
}
.import-pending-badge.warning {
  background: rgba(237, 137, 54, 0.12);
  color: #dd6b20;
}
.import-pending-badge.error {
  background: rgba(229, 62, 62, 0.12);
  color: #e53e3e;
}

.section-content > .recent-imports-section {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 1.5rem 0 0;
}

.recent-imports-list {
  max-height: 340px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 2px 6px 2px 2px;
}
.recent-imports-list::-webkit-scrollbar {
  width: 6px;
}
.recent-imports-list::-webkit-scrollbar-thumb {
  background: rgba(102, 126, 234, 0.22);
  border-radius: 3px;
}
.recent-imports-list::-webkit-scrollbar-thumb:hover {
  background: rgba(102, 126, 234, 0.4);
}
.recent-imports-list::-webkit-scrollbar-track {
  background: transparent;
}

.recent-import-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.7rem 0.9rem 0.7rem 1.1rem;
  text-align: left;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.recent-import-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 58%;
  border-radius: 0 3px 3px 0;
  background: rgba(102, 126, 234, 0.5);
}
.recent-import-item:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.07);
  transform: translateY(-1px);
  border-color: rgba(102, 126, 234, 0.18);
}
.recent-import-item--done::before {
  background: #38a169;
}
.recent-import-item--failed::before {
  background: #e53e3e;
}
.recent-import-item--progress::before {
  background: #ed8936;
}

.recent-import-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.14) 0%, rgba(118, 75, 162, 0.14) 100%);
}
.recent-import-icon i {
  font-size: 1.15rem;
  color: #667eea;
}

.recent-import-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 0;
}

.recent-import-file {
  font-weight: 600;
  font-size: 0.9rem;
  color: #2d3748;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.recent-import-date {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: #718096;
}
.recent-import-date i {
  font-size: 0.72rem;
}

.recent-import-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.recent-import-count {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4a5568;
  background: rgba(102, 126, 234, 0.06);
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  white-space: nowrap;
}

.recent-import-errors {
  font-size: 0.75rem;
  font-weight: 600;
  color: #e53e3e;
  background: rgba(229, 62, 62, 0.1);
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  white-space: nowrap;
}

.recent-import-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  white-space: nowrap;
}
.recent-import-status i {
  font-size: 0.8rem;
}
.recent-import-status--done {
  background: rgba(56, 161, 105, 0.12);
  color: #38a169;
}
.recent-import-status--failed {
  background: rgba(229, 62, 62, 0.12);
  color: #e53e3e;
}
.recent-import-status--progress {
  background: rgba(237, 137, 54, 0.12);
  color: #dd6b20;
}

.recent-imports-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 2rem;
  color: #718096;
  text-align: center;
}
.recent-imports-empty i {
  font-size: 1.8rem;
  opacity: 0.5;
}
.recent-imports-empty span {
  font-size: 0.85rem;
}

@media (max-width: 576px) {
  .recent-import-item {
    flex-wrap: wrap;
  }
  .recent-import-meta {
    width: 100%;
    justify-content: flex-start;
    padding-left: calc(40px + 1rem);
  }
}
.imported-trades-list {
  padding: 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.imported-trades-list h3, .imported-trades-list .h3 {
  font-size: 0.9rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 1rem;
}
.imported-trades-list .trades-table-wrapper {
  max-height: 60vh;
  overflow-x: auto;
  overflow-y: auto;
}
.imported-trades-list .imported-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.imported-trades-list .imported-table th, .imported-trades-list .imported-table td {
  padding: 1rem 1rem;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.imported-trades-list .imported-table th {
  font-weight: 600;
  color: #4a5568;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(102, 126, 234, 0.03);
}
.imported-trades-list .imported-table td {
  color: #2d3748;
}
.imported-trades-list .imported-table .trade-ticker {
  font-weight: 700;
  color: #667eea;
}
.imported-trades-list .imported-table .cv-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
}
.imported-trades-list .imported-table .cv-badge.buy {
  background: rgba(56, 161, 105, 0.15);
  color: #38a169;
}
.imported-trades-list .imported-table .cv-badge.sell {
  background: rgba(229, 62, 62, 0.15);
  color: #e53e3e;
}
.imported-trades-list .imported-table .origin-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.4rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}
.imported-trades-list .imported-table .origin-badge.regular {
  background: rgba(102, 126, 234, 0.15);
  color: #667eea;
}
.imported-trades-list .imported-table .origin-badge.options_exercise {
  background: rgba(237, 137, 54, 0.2);
  color: #ed8936;
}
.imported-trades-list .imported-table .origin-badge.bonificacao {
  background: rgba(56, 161, 105, 0.2);
  color: #38a169;
}

.strike-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
.strike-modal .modal-header {
  border-bottom: 1px solid #e2e8f0;
  padding: 1.5rem;
}
.strike-modal .modal-header .modal-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2d3748;
}
.strike-modal .modal-header .modal-title i {
  color: #ed8936;
}
.strike-modal .modal-header .btn-close {
  opacity: 0.5;
}
.strike-modal .modal-header .btn-close:hover {
  opacity: 1;
}
.strike-modal .modal-body {
  padding: 1.5rem;
}

.strike-modal-field {
  margin-bottom: 1rem;
}

.strike-modal-label {
  display: block;
  font-weight: 600;
  font-size: 0.85rem;
  color: #4a5568;
  margin-bottom: 0.25rem;
}

.strike-modal-input {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  color: #2d3748;
  transition: border-color 0.2s;
}
.strike-modal-input:focus {
  outline: none;
  border-color: #ed8936;
  box-shadow: 0 0 0 3px rgba(237, 137, 54, 0.1);
}
.strike-modal-input::-moz-placeholder {
  color: #718096;
}
.strike-modal-input::placeholder {
  color: #718096;
}

.strike-modal-btn {
  width: 100%;
  padding: 1rem;
  border: none;
  border-radius: 8px;
  background: #ed8936;
  color: white;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.2s;
}
.strike-modal-btn:hover {
  background: #dd6b20;
}

.strike-modal-feedback {
  font-size: 0.85rem;
  min-height: 1.5rem;
  margin-bottom: 0.5rem;
}
.strike-modal-feedback-error {
  color: #e53e3e;
}
.strike-modal-feedback-success {
  color: #38a169;
}

.warning-item-reorder {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  text-align: left;
}
.warning-item-reorder .warning-content {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  flex: 1;
}
.warning-item-reorder .warning-icon i {
  color: #ed8936;
  font-size: 1rem;
}
.warning-item-reorder .warning-text {
  font-size: 0.85rem;
  color: #4a5568;
  text-align: left;
}

.warning-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
  margin-left: auto;
}

.warning-action-btn {
  padding: 0.25rem 1rem;
  background: #ed8936;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s;
}
.warning-action-btn:hover {
  background: #dd6b20;
}

.warning-dismiss-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  background: rgba(113, 128, 150, 0.1);
  border: 1px solid rgba(113, 128, 150, 0.25);
  border-radius: 8px;
  color: #718096;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
  transition: all 0.2s;
}
.warning-dismiss-btn i {
  font-size: 0.65rem;
}
.warning-dismiss-btn:hover {
  background: rgba(229, 62, 62, 0.1);
  border-color: rgba(229, 62, 62, 0.4);
  color: #e53e3e;
}

.warnings-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.warnings-list-header h3, .warnings-list-header .h3 {
  margin: 0;
}

.warnings-subhead {
  margin: 1rem 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #718096;
}

.bulk-resolve-results {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 1rem 0;
}

.bulk-resolve-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 8px;
  font-size: 0.8rem;
  background: rgba(113, 128, 150, 0.08);
}
.bulk-resolve-row .bulk-resolve-label {
  font-weight: 600;
  color: #2d3748;
}
.bulk-resolve-row .bulk-resolve-label small, .bulk-resolve-row .bulk-resolve-label .small {
  color: #718096;
  font-weight: 400;
}
.bulk-resolve-row .bulk-resolve-status {
  color: #4a5568;
  text-align: right;
}
.bulk-resolve-row--ok {
  background: rgba(56, 161, 105, 0.12);
}
.bulk-resolve-row--ok .bulk-resolve-status {
  color: #38a169;
}
.bulk-resolve-row--mismatch {
  background: rgba(229, 62, 62, 0.1);
}
.bulk-resolve-row--mismatch .bulk-resolve-status {
  color: #e53e3e;
}

.reorder-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  padding: 0;
  max-width: 420px;
  width: 90vw;
}
.reorder-modal::backdrop {
  background: rgba(0, 0, 0, 0.5);
}
.reorder-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e2e8f0;
  padding: 1.5rem;
}
.reorder-modal .modal-header .modal-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: #2d3748;
}
.reorder-modal .modal-header .modal-title i {
  color: #667eea;
}
.reorder-modal .modal-header .btn-close {
  background: none;
  border: none;
  font-size: 1.2rem;
  color: #718096;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.reorder-modal .modal-header .btn-close:hover {
  color: #2d3748;
}
.reorder-modal .modal-body {
  padding: 1.5rem;
}

.reorder-instructions {
  font-size: 0.85rem;
  color: #4a5568;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.reorder-instructions strong {
  color: #667eea;
}

.reorder-note-drop {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1.5px dashed #e2e8f0;
  border-radius: 8px;
  background: rgba(102, 126, 234, 0.02);
  cursor: pointer;
  transition: all 0.2s ease;
}
.reorder-note-drop:hover, .reorder-note-drop.dragover {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.06);
}
.reorder-note-drop i {
  font-size: 1.6rem;
  color: #667eea;
  flex-shrink: 0;
}
.reorder-note-drop .reorder-note-drop-text {
  font-size: 0.85rem;
  color: #4a5568;
  line-height: 1.4;
}
.reorder-note-drop .reorder-note-drop-text strong {
  color: #667eea;
}
.reorder-note-drop .reorder-note-drop-text small, .reorder-note-drop .reorder-note-drop-text .small {
  display: block;
  color: #718096;
  font-size: 0.75rem;
}

.reorder-note-input {
  display: none;
}

.reorder-note-divider {
  display: flex;
  align-items: center;
  text-align: center;
  color: #718096;
  font-size: 0.75rem;
  margin-bottom: 1rem;
}
.reorder-note-divider::before, .reorder-note-divider::after {
  content: "";
  flex: 1;
  border-top: 1px solid #e2e8f0;
}
.reorder-note-divider span {
  padding: 0 0.5rem;
}

@keyframes reorder-note-flash {
  from {
    background: rgba(102, 126, 234, 0.18);
  }
  to {
    background: #ffffff;
  }
}
.reorder-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.reorder-item.note-applied {
  animation: reorder-note-flash 0.8s ease;
}

.reorder-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  cursor: grab;
  transition: all 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.reorder-item:hover {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.03);
}
.reorder-item.dragging {
  opacity: 0.5;
  border-color: #667eea;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
}

.reorder-handle {
  color: #718096;
  font-size: 1.2rem;
  cursor: grab;
  line-height: 1;
}

.reorder-order {
  font-size: 0.8rem;
  font-weight: 700;
  color: #4a5568;
  min-width: 24px;
}

.reorder-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
}
.reorder-badge.buy {
  background: rgba(56, 161, 105, 0.15);
  color: #38a169;
}
.reorder-badge.sell {
  background: rgba(229, 62, 62, 0.15);
  color: #e53e3e;
}

.reorder-qty {
  font-size: 0.85rem;
  font-weight: 600;
  color: #2d3748;
}

.reorder-premium {
  font-size: 0.85rem;
  color: #4a5568;
  margin-left: auto;
}

.reorder-modal-btn {
  width: 100%;
  padding: 1rem;
  border: none;
  border-radius: 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s;
}
.reorder-modal-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.reorder-modal-feedback {
  font-size: 0.85rem;
  min-height: 1.5rem;
  margin-bottom: 0.5rem;
}
.reorder-modal-feedback-error {
  color: #e53e3e;
}
.reorder-modal-feedback-success {
  color: #38a169;
}

.import-progress-container {
  margin-top: 2rem;
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 2rem;
  text-align: center;
}

.import-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 2rem;
  padding: 0 1rem;
}

.stepper-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}
.stepper-step.completed .stepper-circle {
  background: #38a169;
  border-color: #38a169;
  color: #ffffff;
}
.stepper-step.completed .stepper-label {
  color: #38a169;
  font-weight: 600;
}
.stepper-step.active .stepper-circle {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  color: #ffffff;
  box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.15);
}
.stepper-step.active .stepper-label {
  color: #667eea;
  font-weight: 700;
}
.stepper-step.pending .stepper-circle {
  background: #ffffff;
  border-color: #e2e8f0;
  color: #718096;
}
.stepper-step.pending .stepper-label {
  color: #718096;
}

.stepper-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
  transition: all 0.3s ease;
}
.stepper-circle i {
  font-size: 0.9rem;
}

.stepper-label {
  font-size: 0.7rem;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.stepper-line {
  flex: 1;
  height: 2px;
  background: #e2e8f0;
  min-width: 24px;
  max-width: 60px;
  margin: 0 0.25rem;
  margin-bottom: 18px;
  transition: background 0.3s ease;
}
.stepper-line.completed {
  background: #38a169;
}

.stepper-detail {
  max-width: 500px;
  margin: 0 auto;
}

.stepper-current-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.stepper-current-label i {
  font-size: 1.2rem;
  color: #667eea;
}
.stepper-current-label span {
  font-size: 1rem;
  font-weight: 600;
  color: #2d3748;
}

.progress-bar-wrapper {
  max-width: 500px;
  margin: 0 auto;
}

.progress-bar-track {
  width: 100%;
  height: 10px;
  background: rgba(102, 126, 234, 0.1);
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

.progress-bar-fill {
  height: 100%;
  border-radius: 5px;
  transition: width 0.3s ease;
  position: relative;
  overflow: hidden;
}
.progress-bar-fill.pending {
  width: 100% !important;
  background: linear-gradient(90deg, rgba(102, 126, 234, 0.2) 25%, rgba(102, 126, 234, 0.4) 50%, rgba(102, 126, 234, 0.2) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
}
.progress-bar-fill.processing {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.progress-bar-fill.processing::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  animation: shimmer 1.5s ease-in-out infinite;
}
.progress-bar-fill.completed {
  background: #38a169;
}
.progress-bar-fill.failed {
  background: #e53e3e;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.spin {
  animation: spin 1s linear infinite;
}

.progress-text {
  font-size: 0.85rem;
  color: #4a5568;
  font-weight: 500;
}

.import-error-state {
  border-color: rgba(229, 62, 62, 0.2);
}
.import-error-state .progress-header i {
  color: #e53e3e;
}
.import-error-state .progress-header h3, .import-error-state .progress-header .h3 {
  color: #e53e3e;
}

.import-error-message {
  font-size: 0.9rem;
  color: #4a5568;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}

.import-retry-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.import-retry-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  color: #ffffff;
}

.tax-report-page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1.5rem 1rem 3rem;
}
.tax-report-page .tax-report-header {
  background: linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%);
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.tax-report-page .tax-report-header h1, .tax-report-page .tax-report-header .h1 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0 0 0.25rem;
  letter-spacing: -0.01em;
}
.tax-report-page .tax-report-header .tax-report-subtitle {
  color: #4a5568;
  font-size: 0.875rem;
  margin: 0;
}
.tax-report-page .tax-report-header .tax-report-controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.tax-report-page .tax-report-header .tax-report-controls .form-group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.tax-report-page .tax-report-header .tax-report-controls .form-group label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.tax-report-page .tax-report-header .tax-report-controls .form-group select {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  font-size: 0.9rem;
  color: #2d3748;
  min-width: 120px;
}
.tax-report-page .tax-report-header .tax-report-controls .form-group select:focus {
  outline: 2px solid rgba(102, 126, 234, 0.25);
  border-color: #667eea;
}
.tax-report-page .tax-report-header .tax-report-controls .btn-export-xlsx {
  margin-left: auto;
  background: #10b981;
  border: 0;
  color: #fff;
  font-weight: 600;
  padding: 0.55rem 1rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  transition: filter 0.15s;
}
.tax-report-page .tax-report-header .tax-report-controls .btn-export-xlsx:hover {
  filter: brightness(1.05);
}
.tax-report-page .tax-report-header .tax-report-controls .btn-export-xlsx i {
  font-size: 1rem;
}
.tax-report-page .monthly-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.tax-report-page .monthly-summary-grid .monthly-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0.9rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.tax-report-page .monthly-summary-grid .monthly-card .monthly-card-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 0.25rem;
}
.tax-report-page .monthly-summary-grid .monthly-card .monthly-card-header .month-label {
  font-size: 0.95rem;
  font-weight: 700;
  color: #2d3748;
}
.tax-report-page .monthly-summary-grid .monthly-card .monthly-card-header .count {
  font-size: 0.75rem;
  color: #4a5568;
}
.tax-report-page .monthly-summary-grid .monthly-card .modality-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
}
.tax-report-page .monthly-summary-grid .monthly-card .modality-row .label {
  color: #4a5568;
}
.tax-report-page .monthly-summary-grid .monthly-card .modality-row .value {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.tax-report-page .monthly-summary-grid .monthly-card .modality-row .value.positive {
  color: #059669;
}
.tax-report-page .monthly-summary-grid .monthly-card .modality-row .value.negative {
  color: #dc2626;
}
.tax-report-page .monthly-summary-grid .monthly-card .ir-total {
  border-top: 1px dashed #e2e8f0;
  padding-top: 0.5rem;
  margin-top: 0.25rem;
  display: flex;
  justify-content: space-between;
  font-size: 0.9rem;
  font-weight: 700;
}
.tax-report-page .monthly-summary-grid .monthly-card .ir-total .label {
  color: #4a5568;
  font-weight: 600;
}
.tax-report-page .monthly-summary-grid .monthly-card .ir-total .value {
  color: #b45309;
  font-variant-numeric: tabular-nums;
}
.tax-report-page .tax-report-table-wrapper {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table thead {
  background: #f8fafc;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table thead th {
  padding: 0.65rem 0.6rem;
  text-align: left;
  font-weight: 600;
  color: #4a5568;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table thead th.num {
  text-align: right;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table tbody tr {
  border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}
.tax-report-page .tax-report-table-wrapper .tax-report-table tbody tr:last-child {
  border-bottom: none;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.03);
}
.tax-report-page .tax-report-table-wrapper .tax-report-table tbody td {
  padding: 0.55rem 0.6rem;
  color: #2d3748;
  font-variant-numeric: tabular-nums;
  vertical-align: middle;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table tbody td.num {
  text-align: right;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table tbody td.code {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-weight: 600;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table tbody td.positive {
  color: #059669;
  font-weight: 600;
}
.tax-report-page .tax-report-table-wrapper .tax-report-table tbody td.negative {
  color: #dc2626;
  font-weight: 600;
}
.tax-report-page .tax-report-table-wrapper .empty-state {
  padding: 3rem 1rem;
  text-align: center;
  color: #4a5568;
}
.tax-report-page .tax-report-table-wrapper .empty-state i {
  font-size: 2.5rem;
  color: #cbd5e1;
  display: block;
  margin-bottom: 0.75rem;
}
.tax-report-page .modality-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.tax-report-page .modality-comum {
  background: #f1f5f9;
  color: #475569;
}
.tax-report-page .modality-day-trade {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}
.tax-report-page .option-type-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.45rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.tax-report-page .option-type-chip.call {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}
.tax-report-page .option-type-chip.put {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}
.tax-report-page .tax-report-disclaimer {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  background: #fefce8;
  border: 1px solid #fde68a;
  border-radius: 10px;
  color: #854d0e;
  font-size: 0.82rem;
  line-height: 1.5;
}
.tax-report-page .tax-report-disclaimer strong {
  color: #713f12;
}
.tax-report-page .tax-report-disclaimer ul {
  margin: 0.4rem 0 0;
  padding-left: 1.25rem;
}
.tax-report-page .tax-report-disclaimer li {
  margin-bottom: 0.2rem;
}

@media (max-width: 768px) {
  .tax-report-page .tax-report-table-wrapper .tax-report-table thead {
    display: none;
  }
  .tax-report-page .tax-report-table-wrapper .tax-report-table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.35rem 0.75rem;
    padding: 0.75rem;
    border-bottom: 8px solid #f8fafc;
  }
  .tax-report-page .tax-report-table-wrapper .tax-report-table tbody td {
    padding: 0.15rem 0;
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
  }
  .tax-report-page .tax-report-table-wrapper .tax-report-table tbody td::before {
    content: attr(data-label);
    font-size: 0.7rem;
    color: #4a5568;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
  }
}
.bills-tabs {
  display: flex;
  gap: 0.25rem;
  margin-bottom: 2rem;
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 0;
}

.bills-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 1rem 2rem;
  border: none;
  background: transparent;
  color: #718096;
  font-size: 0.9rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  position: relative;
  transition: color 0.15s ease;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
}
.bills-tab i {
  font-size: 1rem;
}
.bills-tab:hover {
  color: #667eea;
}
.bills-tab--active {
  color: #667eea;
  border-bottom-color: transparent;
}
.bills-tab--active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 3px 3px 0 0;
}

.bills-hero {
  width: 100%;
  margin-bottom: 3rem;
  padding: 2rem 2rem 3rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04) 0%, rgba(118, 75, 162, 0.06) 100%);
  border: 1px solid rgba(102, 126, 234, 0.1);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.bills-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2, #667eea);
  background-size: 200% 100%;
  animation: bills-stripe-slide 4s linear infinite;
}

@keyframes bills-stripe-slide {
  0% {
    background-position: 0% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
.bills-hero-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.bills-hero-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  font-size: 1.4rem;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(102, 126, 234, 0.35);
}

.bills-hero-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.bills-hero-subtitle {
  font-size: 0.85rem;
  color: #718096;
  margin: 2px 0 0;
  font-weight: 400;
}

.bills-form {
  width: 100%;
}
.bills-form .bills-field {
  transition: opacity 0.15s ease;
}
.bills-form:has(:is(input:not([type=hidden]), select, textarea):focus) .bills-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.bills-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr auto auto auto;
  gap: 1rem;
  align-items: end;
}

.bills-recurring-fields {
  display: contents;
}

.frequency-pills {
  display: flex;
  gap: 4px;
  padding: 3px;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 8px;
  border: 1.5px solid #e2e8f0;
}

.frequency-pill {
  flex: 1;
  padding: 0.35rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #718096;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.frequency-pill:hover:not(.active) {
  color: #4a5568;
  background: rgba(255, 255, 255, 0.6);
}
.frequency-pill.active {
  color: #667eea;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.frequency-pill i {
  font-size: 0.8rem;
}

.bills-field {
  display: flex;
  flex-direction: column;
}
.bills-field--action {
  align-self: end;
  padding-bottom: 1px;
}

.bills-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 600;
  font-size: 0.8rem;
  color: #4a5568;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.bills-label i {
  font-size: 0.85rem;
  color: #667eea;
  opacity: 0.7;
}

.bills-input {
  width: 100%;
  padding: 0.7rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.95rem;
  color: #2d3748;
  background: #ffffff;
  font-family: inherit;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.bills-field--wide .bills-input {
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
.bills-input {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.bills-input::-moz-placeholder {
  color: #a0aec0;
}
.bills-input::placeholder {
  color: #a0aec0;
}
.bills-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.bills-input.input-filled {
  border-color: #48bb78;
  background: rgba(72, 187, 120, 0.04);
  box-shadow: 0 0 0 3px rgba(72, 187, 120, 0.1);
}

.bills-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 240px;
  min-width: 180px;
  max-width: 360px;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border: 2px solid #e2e8f0;
  border-radius: 50px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.bills-search:focus-within {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
.bills-search .bills-search-icon {
  color: #667eea;
  font-size: 0.95rem;
  flex-shrink: 0;
}
.bills-search .bills-search-input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;
  color: #2d3748;
  font-size: 0.9rem;
  font-family: inherit;
}
.bills-search .bills-search-input::-moz-placeholder {
  color: #a0aec0;
}
.bills-search .bills-search-input::placeholder {
  color: #a0aec0;
}
.bills-search .bills-search-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #718096;
  text-decoration: none;
  flex-shrink: 0;
  transition: background 0.2s ease, color 0.2s ease;
}
.bills-search .bills-search-clear:hover {
  background: rgba(102, 126, 234, 0.1);
  color: #667eea;
}

.bills-search + .filter-container {
  align-self: center;
}

.bills-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
}

.bills-submit {
  width: 100%;
  padding: 0.7rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.bills-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}
.bills-submit:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.bills-list {
  width: 100%;
  animation: bills-fade-up 0.4s ease-out;
}

@keyframes bills-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bills-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.bills-list-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.bills-list-title i {
  color: #764ba2;
  font-size: 1.1rem;
}

.bills-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 14px;
  font-size: 0.8rem;
  font-weight: 700;
}

.bills-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.bills-table-wrap::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.bills-table-wrap::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.bills-table-wrap::-webkit-scrollbar-thumb {
  background: #667eea;
  border-radius: 4px;
}
.bills-table-wrap::-webkit-scrollbar-thumb:hover {
  background: #5568d3;
}

.bills-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.bills-table thead {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  position: sticky;
  top: 0;
  z-index: 10;
}
.bills-table thead th {
  padding: 1rem 1.5rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
  border-bottom: 2px solid rgba(255, 255, 255, 0.15);
}
.bills-table thead th:first-child {
  border-radius: 8px 0 0 0;
}
.bills-table thead th:last-child {
  border-radius: 0 8px 0 0;
}
.bills-table tbody tr {
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
}
.bills-table tbody tr:last-child {
  border-bottom: none;
}
.bills-table tbody tr:hover {
  background: none;
}
.bills-table tbody td {
  padding: 1rem 1.5rem;
  text-align: center;
  vertical-align: middle;
  color: #2d3748;
  white-space: nowrap;
}

.bills-cell-date {
  color: #718096;
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
}

.bills-cell-amount {
  font-weight: 700;
  color: #667eea;
  font-variant-numeric: tabular-nums;
}

.bills-cell-desc {
  font-weight: 400;
  color: #718096;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bills-cell-paid {
  font-weight: 600;
  color: #38a169;
  font-variant-numeric: tabular-nums;
}

.bills-cell-empty {
  color: rgba(113, 128, 150, 0.4);
  font-weight: 300;
}

.bills-summary-row {
  background: rgba(102, 126, 234, 0.04);
  border-top: 2px solid #e2e8f0;
}
.bills-summary-row td {
  padding: 1rem;
  font-weight: 700;
  font-size: 0.9rem;
}

.bills-summary-label {
  color: #4a5568;
  text-align: right;
}

.bills-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.25rem 0.7rem;
  border-radius: 100px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.bills-badge--pending {
  background: rgba(237, 137, 54, 0.12);
  color: #dd6b20;
}
.bills-badge--paid {
  background: rgba(56, 161, 105, 0.12);
  color: #38a169;
}
.bills-badge--overdue {
  background: rgba(229, 62, 62, 0.12);
  color: #e53e3e;
}
.bills-badge--cancelled {
  background: rgba(113, 128, 150, 0.12);
  color: #718096;
}

.bills-table tbody tr.clickable-row {
  cursor: pointer;
}
.bills-table tbody tr.clickable-row:hover {
  background: none;
}

.bills-row--due-today {
  background: rgba(237, 137, 54, 0.06) !important;
  border-left: 3px solid #ed8936;
}
.bills-row--due-today .bills-cell-date {
  color: #ed8936;
  font-weight: 700;
}

.bills-row--overdue {
  background: rgba(229, 62, 62, 0.04) !important;
  border-left: 3px solid #e53e3e;
}
.bills-row--overdue .bills-cell-date {
  color: #e53e3e;
  font-weight: 600;
}

.bills-row--paid {
  opacity: 0.45;
}

.bills-cell-actions {
  position: relative;
  padding: 0.5rem !important;
}
.bills-cell-actions form {
  display: block;
  margin: 0;
  padding: 0;
}

.bills-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #718096;
  transition: all 0.15s ease;
}
.bills-dropdown-trigger i {
  font-size: 1rem;
}
.bills-dropdown-trigger:hover {
  background: rgba(102, 126, 234, 0.08);
  color: #667eea;
}

.bills-dropdown-content {
  display: none;
  position: fixed;
  z-index: 100;
  min-width: 140px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  padding: 4px;
}
.bills-dropdown-content.visible {
  display: block;
  animation: bills-dropdown-show 0.15s ease-out;
}
.bills-dropdown-content.dropdown-up {
  top: auto;
  bottom: 100%;
}

@keyframes bills-dropdown-show {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.bills-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #2d3748;
  font-size: 0.82rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease;
  white-space: nowrap;
}
.bills-dropdown-item i {
  font-size: 0.85rem;
  color: #718096;
}
.bills-dropdown-item:hover {
  background: rgba(102, 126, 234, 0.06);
}
.bills-dropdown-item:hover i {
  color: #667eea;
}
.bills-dropdown-item--pay {
  color: #38a169;
}
.bills-dropdown-item--pay i {
  color: #38a169;
}
.bills-dropdown-item--pay:hover {
  background: rgba(56, 161, 105, 0.06);
}
.bills-dropdown-item--danger {
  color: #e53e3e;
}
.bills-dropdown-item--danger i {
  color: #e53e3e;
}
.bills-dropdown-item--danger:hover {
  background: rgba(229, 62, 62, 0.06);
}

@media (max-width: 768px) {
  .bills-hero {
    padding: 1.5rem 1.5rem 2rem;
  }
  .bills-form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .bills-form-grid .bills-field--wide {
    grid-column: 1/-1;
  }
  .bills-form-grid .bills-field--action {
    grid-column: 1/-1;
  }
  .bills-submit {
    width: 100%;
  }
  .bills-table {
    font-size: 0.8rem;
  }
  .bills-table thead th {
    padding: 0.5rem;
    font-size: 0.65rem;
  }
  .bills-table tbody td {
    padding: 0.5rem;
  }
}
@media (max-width: 992px) {
  .bills-table-wrap {
    border: none;
    overflow: visible;
  }
  .bills-table thead {
    display: none;
  }
  .bills-table tbody {
    display: block;
  }
  .bills-table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    position: relative;
    padding: 1rem 1rem 1rem 1rem;
    padding-right: calc(1rem + 24px);
    margin-bottom: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
  }
  .bills-table tbody td {
    padding: 0.25rem 0.25rem;
    text-align: left;
    white-space: normal;
    font-size: 0.85rem;
    color: #2d3748;
  }
  .bills-table tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.6rem;
    font-weight: 600;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
  }
  .bills-table tbody .bills-cell-date:first-child {
    font-weight: 600;
    font-size: 0.9rem;
  }
  .bills-table tbody .bills-cell-amount {
    font-size: 0.95rem;
  }
  .bills-table tbody .bills-cell-desc {
    grid-column: 1/-1;
    max-width: none;
    overflow: visible;
    text-overflow: initial;
    font-size: 0.72rem;
    font-weight: 400;
    color: #718096;
    letter-spacing: 0.4px;
    padding-top: 0.5rem;
    padding-bottom: 0.25rem;
    border-top: 1px solid rgba(226, 232, 240, 0.6);
    margin-top: 0.5rem;
  }
  .bills-table tbody .bills-cell-desc::before {
    display: none;
  }
  .bills-table tbody td[data-label=Status] {
    padding-top: 0.5rem;
  }
  .bills-table tbody .bills-cell-paid {
    padding-top: 0.5rem;
  }
  .bills-table tbody td[data-label="Pago em"] {
    padding-top: 0.5rem;
  }
  .bills-table tbody .bills-cell-actions {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    padding: 0;
    border: none;
  }
  .bills-table tbody .bills-cell-actions::before {
    display: none;
  }
  .bills-table tbody .bills-cell-actions .bills-dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    color: #718096;
    transition: all 0.15s ease;
  }
  .bills-table tbody .bills-cell-actions .bills-dropdown-trigger:hover {
    color: #2d3748;
    background: rgba(226, 232, 240, 0.4);
  }
  .bills-table tfoot {
    display: block;
    margin-top: 1rem;
  }
  .bills-table tfoot .bills-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border: none;
    border-radius: 8px;
    background: rgba(102, 126, 234, 0.06);
    box-shadow: none;
  }
  .bills-table tfoot .bills-summary-row td {
    padding: 0;
    border: none;
  }
  .bills-table tfoot .bills-summary-row td::before {
    display: none;
  }
  .bills-table tfoot .bills-summary-row td[colspan] {
    display: none;
  }
  .bills-table tfoot .bills-summary-row .bills-summary-label {
    text-align: left;
    font-size: 0.85rem;
  }
  .bills-table tfoot .bills-summary-row .bills-cell-amount {
    flex: none;
    font-size: 0.9rem;
  }
  .bills-row--pending .bills-cell-paid,
  .bills-row--pending td[data-label="Pago em"] {
    display: none;
  }
  .bills-row--due-today {
    border-left: 3px solid #ed8936;
    background: rgba(237, 137, 54, 0.04);
  }
  .bills-row--overdue {
    border-left: 3px solid #e53e3e;
    background: rgba(229, 62, 62, 0.02);
  }
}
@media (max-width: 576px) {
  .bills-hero {
    padding: 1rem;
  }
  .bills-hero-header {
    margin-bottom: 1rem;
  }
  .bills-hero-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }
  .bills-hero-title {
    font-size: 1.3rem;
  }
  .bills-form-grid {
    grid-template-columns: 1fr;
  }
  .bills-form-grid .bills-field--wide {
    grid-column: span 1;
  }
  .bills-form-grid .bills-field--action {
    grid-column: span 1;
  }
  .bills-tabs {
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .bills-tab {
    padding: 0.5rem 1rem;
    font-size: 0.78rem;
    white-space: nowrap;
    flex: 1;
    justify-content: center;
  }
  .bills-tab i {
    font-size: 0.85rem;
  }
  .controls-wrapper .filter-toggle-btn {
    font-size: 0.8rem;
    padding: 0.5rem 1rem;
  }
  .active-filters-bar {
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 0.8rem;
  }
  .bills-list-header {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .bills-list-header .bills-list-title {
    font-size: 1rem;
  }
  .bills-list-header .toggle-inactive-btn {
    font-size: 0.75rem;
    padding: 0.375rem 0.5rem;
  }
}
.bills-edit-modal {
  border: none;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  padding: 0;
  max-width: 480px;
  width: 90vw;
  max-height: 90vh;
  overflow-y: auto;
}
.bills-edit-modal::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

.bills-edit-modal-content .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e2e8f0;
}
.bills-edit-modal-content .modal-header .modal-title {
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
}
.bills-edit-modal-content .modal-body {
  padding: 2rem;
}

.bills-edit-errors {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  margin-bottom: 1.5rem;
  background: rgba(229, 62, 62, 0.08);
  border: 1px solid rgba(229, 62, 62, 0.2);
  border-radius: 8px;
  color: #e53e3e;
  font-size: 0.85rem;
  font-weight: 500;
}

.bills-edit-scope {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1.5rem;
}

.bills-edit-scope-opt {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.85rem;
  color: #4a5568;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.bills-edit-scope-opt input {
  accent-color: #667eea;
  cursor: pointer;
}
.bills-edit-scope-opt i {
  color: #667eea;
}
.bills-edit-scope-opt:has(input:checked) {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.06);
  color: #2d3748;
  font-weight: 600;
}

.bills-edit-preview {
  margin-top: 1rem;
}

.bills-edit-preview-title {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #4a5568;
  margin-bottom: 0.25rem;
}
.bills-edit-preview-title i {
  color: #667eea;
}

.bills-edit-preview-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 9rem;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
  gap: 0.25rem 1rem;
}
.bills-edit-preview-list li {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: #2d3748;
}
.bills-edit-preview-list li i {
  font-size: 0.75rem;
  color: #667eea;
}
.bills-edit-preview-list li span:last-child {
  font-weight: 600;
}

.invoice-detail-edited-mark {
  margin-left: 0.25rem;
  font-size: 0.7rem;
  color: #667eea;
}

.bills-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.bills-edit-grid .bills-edit-field {
  transition: opacity 0.15s ease;
}
.bills-edit-grid:has(:is(input:not([type=hidden]), select, textarea):focus) .bills-edit-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.bills-edit-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.bills-edit-field--wide {
  grid-column: 1/-1;
}

.bills-edit-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.bills-edit-label i {
  font-size: 0.7rem;
  color: #667eea;
}

.bills-edit-input {
  width: 100%;
  padding: 0.5rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.9rem;
  color: #2d3748;
  background: #ffffff;
  text-align: center;
  transition: border-color 0.2s ease;
}
.bills-edit-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.bills-edit-input--left {
  text-align: left;
}

.bills-edit-select {
  cursor: pointer;
  -moz-text-align-last: center;
       text-align-last: center;
}

.bills-edit-actions {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e2e8f0;
}

.bills-edit-submit {
  padding: 0.5rem 2rem;
  background: #667eea;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.bills-edit-submit:hover {
  background: rgb(66.124137931, 95.7517241379, 229.075862069);
  transform: translateY(-1px);
}
.bills-edit-submit:active {
  transform: translateY(0);
}

.bills-edit-cancel {
  padding: 0.5rem 2rem;
  background: none;
  color: #4a5568;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.bills-edit-cancel:hover {
  border-color: #4a5568;
  color: #2d3748;
}

@media (max-width: 480px) {
  .bills-edit-grid {
    grid-template-columns: 1fr;
  }
  .bills-edit-modal {
    max-width: 95vw;
  }
  .bills-edit-modal-content .modal-body {
    padding: 1.5rem;
  }
  .bills-edit-actions {
    flex-direction: column-reverse;
  }
  .bills-edit-actions .bills-edit-submit,
  .bills-edit-actions .bills-edit-cancel {
    width: 100%;
    text-align: center;
  }
}
.bills-show-header {
  position: relative;
  margin-bottom: 2rem;
}

.bills-back-link {
  position: absolute;
  left: 0;
  top: 0.35rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 500;
  color: #718096;
  text-decoration: none;
  transition: color 0.15s ease;
}
.bills-back-link:hover {
  color: #667eea;
}

.bills-show-title-row {
  text-align: center;
}

.bills-show-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0 0 0.5rem;
}

.bills-show-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.bills-show-date,
.bills-show-amount {
  font-size: 0.85rem;
  color: #718096;
}
.bills-show-date i,
.bills-show-amount i {
  color: #667eea;
  margin-right: 4px;
}

.bills-show-amount {
  font-weight: 700;
  color: #2d3748;
}

.bills-show-charges .bills-list-header {
  margin-bottom: 1rem;
}

.bills-show-table td {
  vertical-align: middle;
}
.bills-show-table .bills-cell-desc {
  max-width: none;
}

.bills-show-installment {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(102, 126, 234, 0.08);
  color: #667eea;
}

.bills-show-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 3rem 1rem;
  color: #718096;
  text-align: center;
}
.bills-show-empty i {
  font-size: 2rem;
  opacity: 0.4;
}
.bills-show-empty p {
  font-size: 0.9rem;
  margin: 0;
}

@media (max-width: 768px) {
  .bills-back-link {
    position: static;
    margin-bottom: 0.5rem;
  }
  .bills-show-title {
    font-size: 1.1rem;
  }
  .bills-show-meta {
    gap: 0.5rem;
  }
  .bills-show-table thead {
    display: none;
  }
  .bills-show-table tbody {
    display: block;
  }
  .bills-show-table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 1rem;
    margin-bottom: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
  }
  .bills-show-table tbody td {
    padding: 0.25rem;
    text-align: left;
    white-space: normal;
    font-size: 0.85rem;
  }
  .bills-show-table tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.6rem;
    font-weight: 600;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
  }
  .bills-show-table tbody .bills-cell-desc {
    grid-column: 1/-1;
    font-size: 0.8rem;
    color: #4a5568;
    border-top: 1px solid rgba(226, 232, 240, 0.6);
    margin-top: 0.25rem;
    padding-top: 0.5rem;
  }
  .bills-show-table tbody .bills-cell-desc::before {
    display: none;
  }
  .bills-show-table tfoot {
    display: block;
    margin-top: 0.5rem;
  }
  .bills-show-table tfoot .bills-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border: none;
    border-radius: 8px;
    background: rgba(102, 126, 234, 0.06);
  }
  .bills-show-table tfoot .bills-summary-row td {
    padding: 0;
    border: none;
  }
  .bills-show-table tfoot .bills-summary-row td::before {
    display: none;
  }
  .bills-show-table tfoot .bills-summary-row td[colspan] {
    display: none;
  }
  .bills-show-table tfoot .bills-summary-row .bills-summary-label {
    display: block;
    text-align: left;
    font-size: 0.85rem;
  }
  .bills-show-table tfoot .bills-summary-row .bills-cell-amount {
    flex: none;
    font-size: 0.9rem;
  }
}
@media (max-width: 576px) {
  .bills-show-meta {
    flex-direction: column;
    gap: 0.25rem;
  }
  .bills-show-title {
    font-size: 1rem;
  }
}
.cc-hero {
  width: 100%;
  margin-bottom: 3rem;
  padding: 2rem 2rem 3rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04) 0%, rgba(118, 75, 162, 0.06) 100%);
  border: 1px solid rgba(102, 126, 234, 0.1);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.cc-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2, #667eea);
  background-size: 200% 100%;
  animation: cc-stripe-slide 4s linear infinite;
}

@keyframes cc-stripe-slide {
  0% {
    background-position: 0% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
.cc-hero-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.cc-hero-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  font-size: 1.4rem;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(102, 126, 234, 0.35);
}

.cc-hero-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.cc-hero-subtitle {
  font-size: 0.85rem;
  color: #718096;
  margin: 2px 0 0;
  font-weight: 400;
}

.cc-form {
  width: 100%;
}
.cc-form .cc-field {
  transition: opacity 0.15s ease;
}
.cc-form:has(:is(input:not([type=hidden]), select, textarea):focus) .cc-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.cc-form-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr auto;
  gap: 1rem;
  align-items: end;
}

.cc-field {
  display: flex;
  flex-direction: column;
}
.cc-field--action {
  align-self: end;
  padding-bottom: 1px;
}

.cc-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 600;
  font-size: 0.8rem;
  color: #4a5568;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cc-label i {
  font-size: 0.85rem;
  color: #667eea;
  opacity: 0.7;
}

.cc-input {
  width: 100%;
  padding: 0.7rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.95rem;
  color: #2d3748;
  background: #ffffff;
  font-family: inherit;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -moz-appearance: textfield;
}
.cc-input::-webkit-outer-spin-button, .cc-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.cc-input::-moz-placeholder {
  color: #a0aec0;
}
.cc-input::placeholder {
  color: #a0aec0;
}
.cc-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.cc-input.input-filled {
  border-color: #48bb78;
  background: rgba(72, 187, 120, 0.04);
  box-shadow: 0 0 0 3px rgba(72, 187, 120, 0.1);
}

.cc-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
}

.cc-submit {
  width: 100%;
  padding: 0.7rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cc-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}
.cc-submit:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.cc-list {
  width: 100%;
  animation: cc-fade-up 0.4s ease-out;
}

@keyframes cc-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.cc-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.cc-list-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cc-list-title i {
  color: #764ba2;
  font-size: 1.1rem;
}

.cc-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 14px;
  font-size: 0.8rem;
  font-weight: 700;
}

.cc-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.cc-table-wrap::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.cc-table-wrap::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.cc-table-wrap::-webkit-scrollbar-thumb {
  background: #667eea;
  border-radius: 4px;
}
.cc-table-wrap::-webkit-scrollbar-thumb:hover {
  background: #5568d3;
}

.cc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.cc-table thead {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  position: sticky;
  top: 0;
  z-index: 10;
}
.cc-table thead th {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
  border-bottom: 2px solid rgba(255, 255, 255, 0.15);
}
.cc-table thead th:first-child {
  border-radius: 8px 0 0 0;
}
.cc-table thead th:last-child {
  border-radius: 0 8px 0 0;
}
.cc-table tbody tr {
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
  transition: background 0.15s ease;
}
.cc-table tbody tr:last-child {
  border-bottom: none;
}
.cc-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.03);
}
.cc-table tbody td {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  color: #2d3748;
  white-space: nowrap;
}

.cc-cell-name {
  font-weight: 600;
  color: #2d3748;
}

.cc-cell-day {
  color: #718096;
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
}

.cc-cell-digits {
  font-weight: 500;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.05em;
}

.cc-cell-brand {
  font-weight: 500;
  color: #4a5568;
}

.cc-cell-empty {
  color: rgba(113, 128, 150, 0.4);
  font-weight: 300;
}

.cc-cell-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0.5rem !important;
  overflow: visible;
}
.cc-cell-actions form {
  display: inline;
  margin: 0;
  padding: 0;
}

.cc-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}
.cc-action-btn i {
  font-size: 0.9rem;
}
.cc-action-btn--edit {
  color: #4299e1;
}
.cc-action-btn--edit:hover {
  background: rgba(66, 153, 225, 0.1);
  color: rgb(32.8767123288, 128.2191780822, 207.1232876712);
  transform: scale(1.1);
}
.cc-action-btn--delete {
  color: #e53e3e;
}
.cc-action-btn--delete:hover {
  background: rgba(229, 62, 62, 0.1);
  color: #c53030;
  transform: scale(1.1);
}

@media (max-width: 992px) {
  .cc-form-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .cc-form-grid .cc-field--action {
    grid-column: 1/-1;
    justify-self: center;
  }
  .cc-submit {
    min-width: 200px;
  }
}
@media (max-width: 768px) {
  .cc-hero {
    padding: 1.5rem 1.5rem 2rem;
  }
  .cc-form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .cc-form-grid .cc-field--action {
    grid-column: 1/-1;
  }
  .cc-submit {
    width: 100%;
  }
  .cc-table {
    font-size: 0.8rem;
  }
  .cc-table thead th {
    padding: 0.5rem;
    font-size: 0.65rem;
  }
  .cc-table tbody td {
    padding: 0.5rem;
  }
}
@media (max-width: 576px) {
  .cc-hero {
    padding: 1rem;
  }
  .cc-hero-header {
    margin-bottom: 1rem;
  }
  .cc-hero-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }
  .cc-hero-title {
    font-size: 1.3rem;
  }
  .cc-form-grid {
    grid-template-columns: 1fr;
  }
  .cc-form-grid .cc-field--action {
    grid-column: span 1;
  }
}
.ccc-hero {
  width: 100%;
  margin-bottom: 3rem;
  padding: 2rem 2rem 3rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04) 0%, rgba(118, 75, 162, 0.06) 100%);
  border: 1px solid rgba(102, 126, 234, 0.1);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.ccc-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2, #667eea);
  background-size: 200% 100%;
  animation: ccc-stripe-slide 4s linear infinite;
}

@keyframes ccc-stripe-slide {
  0% {
    background-position: 0% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
.ccc-hero-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.ccc-hero-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  font-size: 1.4rem;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(102, 126, 234, 0.35);
}

.ccc-hero-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.ccc-hero-subtitle {
  font-size: 0.85rem;
  color: #718096;
  margin: 2px 0 0;
  font-weight: 400;
}

.ccc-form {
  width: 100%;
}
.ccc-form .ccc-field {
  transition: opacity 0.15s ease;
}
.ccc-form:has(:is(input:not([type=hidden]), select, textarea):focus) .ccc-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.ccc-form-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  align-items: end;
}

.ccc-field {
  display: flex;
  flex-direction: column;
}
.ccc-field--wide, .ccc-field--desc {
  grid-column: span 3;
}
.ccc-field--action {
  grid-column: span 1;
  align-self: end;
  padding-bottom: 1px;
}

.ccc-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 600;
  font-size: 0.8rem;
  color: #4a5568;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.ccc-label i {
  font-size: 0.85rem;
  color: #667eea;
  opacity: 0.7;
}

.ccc-input {
  width: 100%;
  padding: 0.7rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.95rem;
  color: #2d3748;
  background: #ffffff;
  font-family: inherit;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -moz-appearance: textfield;
}
.ccc-input::-webkit-outer-spin-button, .ccc-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ccc-input::-moz-placeholder {
  color: #a0aec0;
}
.ccc-input::placeholder {
  color: #a0aec0;
}
.ccc-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.ccc-input.input-filled {
  border-color: #48bb78;
  background: rgba(72, 187, 120, 0.04);
  box-shadow: 0 0 0 3px rgba(72, 187, 120, 0.1);
}

.ccc-select {
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
  padding-left: 2.5rem;
}

.ccc-submit {
  width: 100%;
  padding: 0.7rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ccc-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}
.ccc-submit:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.ccc-filter {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.ccc-filter-label {
  font-weight: 600;
  font-size: 0.85rem;
  color: #4a5568;
}
.ccc-filter-label i {
  color: #667eea;
}

.ccc-filter-btn {
  padding: 0.4rem 0.9rem;
  border-radius: 100px;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  color: #4a5568;
  background: rgba(226, 232, 240, 0.3);
  border: 1px solid #e2e8f0;
  transition: all 0.15s ease;
}
.ccc-filter-btn:hover {
  background: rgba(102, 126, 234, 0.08);
  border-color: rgba(102, 126, 234, 0.3);
  color: #667eea;
}
.ccc-filter-btn--active {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-color: transparent;
}
.ccc-filter-btn--active:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-color: transparent;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.ccc-list {
  width: 100%;
  animation: ccc-fade-up 0.4s ease-out;
}

@keyframes ccc-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ccc-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.ccc-list-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ccc-list-title i {
  color: #764ba2;
  font-size: 1.1rem;
}

.ccc-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 14px;
  font-size: 0.8rem;
  font-weight: 700;
}

.ccc-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
.ccc-table-wrap::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.ccc-table-wrap::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.ccc-table-wrap::-webkit-scrollbar-thumb {
  background: #667eea;
  border-radius: 4px;
}
.ccc-table-wrap::-webkit-scrollbar-thumb:hover {
  background: #5568d3;
}

.ccc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.ccc-table thead {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  position: sticky;
  top: 0;
  z-index: 10;
}
.ccc-table thead th {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
  border-bottom: 2px solid rgba(255, 255, 255, 0.15);
}
.ccc-table thead th:first-child {
  border-radius: 8px 0 0 0;
}
.ccc-table thead th:last-child {
  border-radius: 0 8px 0 0;
}
.ccc-table tbody tr {
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
  transition: background 0.15s ease;
}
.ccc-table tbody tr:last-child {
  border-bottom: none;
}
.ccc-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.03);
}
.ccc-table tbody td {
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  color: #2d3748;
  white-space: nowrap;
}

.ccc-cell-date {
  color: #718096;
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
}

.ccc-cell-card {
  font-weight: 600;
  color: #2d3748;
}

.ccc-cell-amount {
  font-weight: 700;
  color: #667eea;
  font-variant-numeric: tabular-nums;
}

.ccc-cell-desc {
  font-weight: 500;
  color: #4a5568;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ccc-cell-installments {
  font-weight: 600;
  color: #764ba2;
  font-variant-numeric: tabular-nums;
}

.ccc-cell-installment-amount {
  font-weight: 500;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
}

.ccc-cell-empty {
  color: rgba(113, 128, 150, 0.4);
  font-weight: 300;
}

.ccc-badge-pending {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.25rem 0.7rem;
  border-radius: 100px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
  background: #e2e6ea;
  color: #41505f;
  box-shadow: inset 0 0 0 1px rgba(113, 128, 150, 0.55);
}

.ccc-generate-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.35rem 0.8rem;
  border-radius: 8px;
  border: none;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ccc-generate-btn i {
  font-size: 0.8rem;
}
.ccc-generate-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}
.ccc-generate-btn:active {
  transform: translateY(0);
}

.ccc-invoices {
  margin-top: 3rem;
  animation: ccc-fade-up 0.4s ease-out;
}

.ccc-cell-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0.5rem !important;
  overflow: visible;
}
.ccc-cell-actions form {
  display: inline;
  margin: 0;
  padding: 0;
}

.ccc-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}
.ccc-action-btn i {
  font-size: 0.9rem;
}
.ccc-action-btn--edit {
  color: #4299e1;
}
.ccc-action-btn--edit:hover {
  background: rgba(66, 153, 225, 0.1);
  color: rgb(32.8767123288, 128.2191780822, 207.1232876712);
  transform: scale(1.1);
}
.ccc-action-btn--delete {
  color: #e53e3e;
}
.ccc-action-btn--delete:hover {
  background: rgba(229, 62, 62, 0.1);
  color: #c53030;
  transform: scale(1.1);
}

@media (max-width: 768px) {
  .ccc-hero {
    padding: 1.5rem 1.5rem 2rem;
  }
  .ccc-form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .ccc-form-grid .ccc-field--wide,
  .ccc-form-grid .ccc-field--desc {
    grid-column: 1/-1;
  }
  .ccc-form-grid .ccc-field--action {
    grid-column: 1/-1;
  }
  .ccc-submit {
    width: 100%;
  }
}
@media (max-width: 576px) {
  .ccc-hero {
    padding: 1rem;
  }
  .ccc-hero-header {
    margin-bottom: 1rem;
  }
  .ccc-hero-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }
  .ccc-hero-title {
    font-size: 1.3rem;
  }
  .ccc-form-grid {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .ccc-form-grid .ccc-field--wide,
  .ccc-form-grid .ccc-field--desc,
  .ccc-form-grid .ccc-field--action {
    grid-column: auto;
  }
  .ccc-label {
    font-size: 0.65rem;
  }
  .ccc-input {
    padding: 0.6rem 0.5rem;
    font-size: 0.85rem;
  }
  .ccc-cell-desc {
    max-width: 120px;
  }
  .ccc-filter {
    gap: 0.25rem;
  }
}
@keyframes invoice-detail-pop-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.invoice-detail-dialog {
  border: none;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  padding: 0;
  max-width: 720px;
  width: 90vw;
  overflow: hidden;
}
.invoice-detail-dialog[open] {
  animation: invoice-detail-pop-in 0.3s ease ease;
}
.invoice-detail-dialog::backdrop {
  background: rgba(45, 55, 72, 0.45);
  backdrop-filter: blur(3px);
}
.invoice-detail-dialog .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.invoice-detail-dialog .modal-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  letter-spacing: 0.2px;
}
.invoice-detail-dialog .modal-close-btn {
  color: rgba(255, 255, 255, 0.85);
}
.invoice-detail-dialog .modal-close-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}
.invoice-detail-dialog .modal-body {
  padding: 1.5rem 2rem 2rem;
  max-height: 65vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.ccc-invoices .clickable-row {
  cursor: pointer;
  transition: background 0.15s ease;
}
.ccc-invoices .clickable-row:hover {
  background: rgba(102, 126, 234, 0.04);
}

#invoice-detail-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.invoice-detail {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.invoice-detail-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.invoice-detail-meta {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.07) 100%);
  border: 1px solid rgba(102, 126, 234, 0.12);
  border-radius: 8px;
}

.invoice-detail-date {
  font-size: 0.85rem;
  color: #4a5568;
  font-weight: 500;
}
.invoice-detail-date i {
  color: #667eea;
  margin-right: 2px;
}

.invoice-detail-add-btn {
  margin-left: auto;
  width: 2.1rem;
  height: 2.1rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: #ffffff;
  font-size: 1rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.invoice-detail-add-btn:hover {
  transform: translateY(-1px) scale(1.05);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
.invoice-detail-add-btn:active {
  transform: translateY(0) scale(1);
}

@keyframes invoice-detail-form-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.invoice-detail-new-form {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  animation: invoice-detail-form-in 0.2s ease ease;
}
.invoice-detail-new-form .bills-edit-grid {
  grid-template-columns: 1fr 1fr 0.55fr;
}
.invoice-detail-new-form--collapsed {
  display: none;
}

@media (max-width: 576px) {
  .invoice-detail-new-form .bills-edit-grid {
    grid-template-columns: 1fr;
  }
}
.invoice-detail-form-errors {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;
  background: rgba(229, 62, 62, 0.08);
  border: 1px solid rgba(229, 62, 62, 0.25);
  border-radius: 4px;
  color: #c53030;
  font-size: 0.8rem;
}

#invoice-detail-edit-slot:not(:empty) {
  margin-bottom: 1.5rem;
}

.invoice-detail-edit-form {
  border-left: 3px solid #667eea;
}

.invoice-detail-form-title {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 1rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #5568d3;
}

.invoice-detail-loading {
  padding: 1rem;
  text-align: center;
  color: #718096;
  font-size: 0.85rem;
}

.invoice-detail-actions-th {
  width: 2.6rem;
}

.invoice-detail-actions-cell {
  width: 2.6rem;
  text-align: right;
  white-space: nowrap;
}

.invoice-detail-row--excluded td:nth-child(-n+4) {
  opacity: 0.45;
}
.invoice-detail-row--excluded td:nth-child(4) {
  text-decoration: line-through;
  text-decoration-color: rgba(74, 85, 104, 0.6);
}

.invoice-detail-table-wrap {
  overflow-x: auto;
}

.invoice-detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.invoice-detail-table thead th {
  padding: 0.5rem 1rem;
  font-size: 0.68rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  background: rgba(102, 126, 234, 0.04);
  border-bottom: 2px solid rgba(102, 126, 234, 0.15);
  white-space: nowrap;
}
.invoice-detail-table thead th:first-child {
  border-top-left-radius: 4px;
}
.invoice-detail-table thead th:last-child {
  border-top-right-radius: 4px;
}
.invoice-detail-table tbody td {
  padding: 0.5rem 1rem;
  color: #2d3748;
  border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}
.invoice-detail-table .text-right {
  white-space: nowrap;
}
.invoice-detail-table tbody tr:last-child td {
  border-bottom: none;
}

.invoice-detail-date-cell {
  color: #718096;
  font-size: 0.8rem;
}

.invoice-detail-installment {
  font-weight: 600;
  color: #764ba2;
  font-size: 0.8rem;
}

.invoice-detail-total td {
  padding-top: 1rem !important;
  border-top: 2px solid rgba(102, 126, 234, 0.15);
  font-weight: 700;
  color: #2d3748;
}
.invoice-detail-total td:last-child {
  color: #5568d3;
  font-size: 0.95rem;
}

.invoice-row--highlighted {
  background: rgba(102, 126, 234, 0.08) !important;
  border-left: 5px solid #667eea;
}
.invoice-row--highlighted td:first-child {
  padding-left: calc(0.5rem - 5px);
}

.sortable-col {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.15s ease;
}
.sortable-col:hover {
  color: #667eea;
}
.sortable-col i {
  font-size: 0.6rem;
  margin-left: 2px;
  opacity: 0.5;
}

.invoice-detail-table tbody tr {
  cursor: pointer;
  transition: background 0.15s ease;
}
.invoice-detail-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.03);
}

.invoice-detail-empty {
  text-align: center;
  padding: 2rem;
  color: #718096;
}
.invoice-detail-empty i {
  font-size: 2rem;
  display: block;
  margin-bottom: 0.5rem;
}

.ccc-cell-category-wrap {
  vertical-align: middle;
  min-width: 180px;
}

.ccc-category-cell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.ccc-category-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.25rem 0.65rem;
  border-radius: 100px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
  color: #4a5568;
}
.ccc-category-pill--suggested {
  background: transparent;
  border: 1px dashed;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
}
.ccc-category-pill--suggested i {
  font-size: 0.75rem;
}

.ccc-category-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.ccc-category-btn form, .ccc-category-btn[form] {
  margin: 0;
}
.ccc-category-btn--accept {
  color: #38a169;
  border-color: rgba(56, 161, 105, 0.4);
}
.ccc-category-btn--accept:hover {
  background: rgba(56, 161, 105, 0.12);
  border-color: #38a169;
}

.ccc-category-form {
  display: inline-block;
  margin: 0;
}

.ccc-category-select {
  font-size: 0.75rem;
  padding: 0.2rem 0.5rem;
  border: 1px solid rgba(113, 128, 150, 0.3);
  border-radius: 8px;
  background: #ffffff;
  color: #4a5568;
  cursor: pointer;
  max-width: 140px;
}
.ccc-category-select:focus {
  outline: none;
  border-color: #667eea;
}
.ccc-category-select--empty {
  color: rgba(113, 128, 150, 0.7);
  font-style: italic;
}

.ccc-hero-title-wrap {
  flex: 1;
  min-width: 0;
}

.ccc-hero-cat-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.45rem 0.9rem;
  border: 1px solid rgba(102, 126, 234, 0.3);
  border-radius: 100px;
  background: rgba(102, 126, 234, 0.06);
  color: #667eea;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.ccc-hero-cat-btn i {
  font-size: 0.9rem;
}
.ccc-hero-cat-btn:hover {
  background: rgba(102, 126, 234, 0.12);
  border-color: #667eea;
}

@media (max-width: 1280px) {
  .ccc-table-wrap {
    overflow: visible;
    border: none;
    border-radius: 0;
  }
  .ccc-table {
    display: block;
    font-size: 0.875rem;
  }
  .ccc-table thead {
    display: none;
  }
  .ccc-table tbody {
    display: grid;
    gap: 1rem;
  }
  .ccc-table tbody tr {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: "date   card     actions" "desc   desc     desc" "amount inst     instamt" "cat    cat      cat";
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
    align-items: center;
    padding: 1.5rem 1.5rem 1.5rem 2rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  }
  .ccc-table tbody tr::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #667eea, #764ba2);
  }
  .ccc-table tbody tr:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: rgba(102, 126, 234, 0.35);
  }
  .ccc-table tbody td {
    padding: 0;
    text-align: left;
    white-space: normal;
    border: none;
  }
  .ccc-table .ccc-cell-amount {
    color: #667eea;
  }
  .ccc-cell-card {
    grid-area: card;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.75rem;
    border-radius: 100px;
    background: rgba(102, 126, 234, 0.1);
    color: #5568d3;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  .ccc-cell-date {
    grid-area: date;
    justify-self: start;
  }
  .ccc-cell-actions {
    grid-area: actions;
    justify-self: end;
    padding: 0 !important;
  }
  .ccc-cell-desc {
    grid-area: desc;
    max-width: none;
    font-size: 1rem;
    font-weight: 700;
    color: #2d3748;
    line-height: 1.3;
  }
  .ccc-cell-amount,
  .ccc-cell-installments,
  .ccc-cell-installment-amount {
    display: flex;
    flex-direction: column;
    align-self: start;
    gap: 2px;
    padding-top: 1rem !important;
    border-top: 1px solid rgba(226, 232, 240, 0.6);
  }
  .ccc-cell-amount::before,
  .ccc-cell-installments::before,
  .ccc-cell-installment-amount::before {
    content: attr(data-label);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #718096;
  }
  .ccc-cell-amount {
    grid-area: amount;
  }
  .ccc-cell-installments {
    grid-area: inst;
  }
  .ccc-cell-installment-amount {
    grid-area: instamt;
  }
  .ccc-cell-category-wrap {
    grid-area: cat;
    min-width: 0;
  }
  .ccc-category-cell {
    width: 100%;
  }
  .ccc-category-form {
    display: block;
    flex: 1;
    min-width: 0;
  }
  .ccc-category-select {
    width: 100%;
    max-width: none;
    padding: 0.4rem 0.6rem;
    font-size: 0.8rem;
  }
}
@media (min-width: 992px) and (max-width: 1280px) {
  .ccc-table tbody tr {
    grid-template-columns: auto 1fr auto auto;
    grid-template-areas: "date  card   .       actions" "desc  desc   amount  amount" "cat   cat    inst    instamt";
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 0.5rem;
  }
  .ccc-cell-desc {
    align-self: center;
    font-size: 1.2rem;
  }
  .ccc-table .ccc-cell-amount {
    justify-self: end;
    align-self: center;
    padding-top: 0 !important;
    border-top: none;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.1;
  }
  .ccc-table .ccc-cell-amount::before {
    content: none;
  }
  .ccc-cell-installments,
  .ccc-cell-installment-amount {
    justify-self: end;
    align-self: center;
    flex-direction: row;
    padding-top: 0 !important;
    border-top: none;
  }
  .ccc-cell-installments::before,
  .ccc-cell-installment-amount::before {
    content: none;
  }
  .ccc-cell-installments {
    padding: 0.15rem 0.5rem;
    border-radius: 100px;
    background: rgba(118, 75, 162, 0.12);
    color: #764ba2;
    font-size: 0.72rem;
    font-weight: 700;
  }
  .ccc-cell-installment-amount {
    font-size: 0.88rem;
    font-weight: 600;
    color: #4a5568;
  }
  .ccc-cell-category-wrap {
    align-self: center;
  }
  .ccc-category-select {
    max-width: 220px;
  }
}
.brokerage-notes-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.brokerage-notes-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.brokerage-notes-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  margin: 0;
  display: inline-flex;
  align-items: center;
}
.brokerage-notes-title i {
  color: #667eea;
  margin-right: 0.5rem;
}

.brokerage-notes-compare-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #667eea;
  background: rgba(102, 126, 234, 0.06);
  border: 1px solid rgba(102, 126, 234, 0.18);
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}
.brokerage-notes-compare-btn > i {
  font-size: 1rem;
}
.brokerage-notes-compare-btn__chevron {
  display: inline-flex;
  align-items: center;
  transition: transform 0.15s ease;
  opacity: 0.7;
  font-size: 0.875rem;
}
.brokerage-notes-compare-btn:hover {
  background: #667eea;
  color: #ffffff;
  border-color: #667eea;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
}
.brokerage-notes-compare-btn:hover .brokerage-notes-compare-btn__chevron {
  transform: translateX(2px);
  opacity: 1;
}

.brokerage-calendar-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 2rem;
  max-width: 340px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.cal-title {
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
}

.cal-nav {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  color: #4a5568;
  cursor: pointer;
  transition: all 0.15s ease;
}
.cal-nav:hover {
  border-color: #667eea;
  color: #667eea;
}

.cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}

.cal-day-header {
  text-align: center;
  font-size: 0.7rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  padding: 0.25rem 0;
}

.cal-cell {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  border-radius: 4px;
  border: none;
  background: none;
  padding: 0;
}
.cal-cell--empty {
  visibility: hidden;
}
.cal-cell--disabled {
  color: rgba(113, 128, 150, 0.35);
  cursor: default;
}
.cal-cell--has-trade {
  color: #2d3748;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  background: rgba(102, 126, 234, 0.08);
}
.cal-cell--has-trade:hover {
  background: rgba(102, 126, 234, 0.2);
  color: #667eea;
}
.cal-cell--selected {
  background: #667eea !important;
  color: #ffffff !important;
  border-radius: 50%;
  font-weight: 700;
}
.cal-cell--selected:hover {
  background: #5568d3 !important;
}

.brokerage-note {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  margin-bottom: 2rem;
  overflow: hidden;
}

.brokerage-note .note-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.5rem 2rem;
  border-bottom: 2px solid #2d3748;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.03), rgba(118, 75, 162, 0.03));
}
.brokerage-note .note-header__title h2, .brokerage-note .note-header__title .h2 {
  font-size: 1.1rem;
  font-weight: 800;
  color: #2d3748;
  letter-spacing: 0.5px;
  margin: 0;
}
.brokerage-note .note-header__subtitle {
  font-size: 0.85rem;
  color: #667eea;
  font-weight: 600;
}
.brokerage-note .note-header__info {
  text-align: right;
  font-size: 0.8rem;
  color: #4a5568;
}
.brokerage-note .note-header__row {
  margin-bottom: 2px;
}
.brokerage-note .note-header__label {
  font-weight: 600;
  color: #2d3748;
}

.note-trades {
  padding: 0 2rem;
}
.note-trades table {
  width: 100%;
  border-collapse: collapse;
}
.note-trades thead th {
  font-size: 0.75rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 0.5rem 0.5rem;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
}
.note-trades tbody td {
  font-size: 0.85rem;
  color: #2d3748;
  padding: 0.5rem 0.5rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}
.note-trades tbody tr:last-child td {
  border-bottom: none;
}

.note-cell--code {
  font-weight: 600;
  font-family: monospace;
}

.note-section-divider td {
  font-size: 0.75rem;
  font-weight: 700;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding-top: 1rem !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

.text-right {
  text-align: right;
}

.note-badge {
  display: inline-block;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 800;
}
.note-badge--buy {
  background: rgba(66, 153, 225, 0.15);
  color: #4299e1;
}
.note-badge--sell {
  background: rgba(229, 62, 62, 0.15);
  color: #e53e3e;
}

.note-origin-badge {
  font-size: 0.75rem;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 600;
}
.note-origin-badge--regular {
  background: rgba(113, 128, 150, 0.1);
  color: #4a5568;
}
.note-origin-badge--options_exercise {
  background: rgba(237, 137, 54, 0.15);
  color: #dd6b20;
}
.note-origin-badge--bonificacao {
  background: rgba(56, 161, 105, 0.15);
  color: #38a169;
}

.note-summary {
  padding: 1.5rem 2rem;
  border-top: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.note-summary__section {
  width: 380px;
}

.note-summary__fees-detail {
  padding-left: 1.5rem;
  border-left: 2px solid rgba(102, 126, 234, 0.2);
  margin: 0.25rem 0;
}

.note-summary__line {
  display: flex;
  justify-content: space-between;
  padding: 0.25rem 0;
  font-size: 0.85rem;
  color: #2d3748;
}
.note-summary__line--sub {
  font-size: 0.8rem;
  color: #718096;
}
.note-summary__line--sub-header {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding-top: 0.5rem;
}
.note-summary__line--total {
  font-size: 1rem;
  font-weight: 700;
  padding: 0.5rem 0;
}
.note-summary__line--settlement {
  font-size: 0.8rem;
  color: #718096;
}

.note-summary__total {
  width: 380px;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 2px solid #2d3748;
}

.text-positive {
  color: #38a169;
}

.text-negative {
  color: #e53e3e;
}

.note-footer {
  padding: 1rem 2rem;
  border-top: 1px solid #e2e8f0;
  display: flex;
  justify-content: flex-end;
}

.note-print-btn {
  padding: 0.5rem 1.5rem;
  background: transparent;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #4a5568;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.15s ease;
}
.note-print-btn:hover {
  border-color: #667eea;
  color: #667eea;
}
.note-print-btn i {
  margin-right: 0.25rem;
}

.note-empty-state {
  text-align: center;
  padding: 3rem;
  color: #718096;
}
.note-empty-state i {
  font-size: 2rem;
  display: block;
  margin-bottom: 1rem;
}
.note-empty-state p {
  font-size: 0.9rem;
  margin: 0;
}
.note-empty-state--initial i {
  color: #667eea;
}

@media print {
  .navbar,
  .brokerage-notes-header,
  .note-footer,
  .note-empty-state,
  .no-print,
  #flash_container {
    display: none !important;
  }
  .brokerage-notes-page {
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
  .brokerage-note {
    box-shadow: none;
    border: 1px solid #333;
    border-radius: 0;
    margin-bottom: 0;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  .brokerage-note + .brokerage-note {
    page-break-before: always;
  }
  .brokerage-note .note-header {
    background: none !important;
  }
  body {
    background: white !important;
  }
}
.compare-page {
  max-width: 1080px;
}

.compare-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.compare-page-subtitle {
  margin: 0.25rem 0 0 calc(1.5rem + 0.5rem);
  font-size: 0.85rem;
  color: #718096;
}

.compare-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #4a5568;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.compare-back-btn:hover {
  border-color: #667eea;
  color: #667eea;
}

.compare-alert {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  background: rgba(237, 137, 54, 0.1);
  border-left: 3px solid #ed8936;
  border-radius: 8px;
  color: #dd6b20;
  font-size: 0.9rem;
}
.compare-alert i {
  font-size: 1.1rem;
}

.compare-upload-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

.pdf-dropzone__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pdf-dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 160px;
  padding: 1.5rem;
  background: #ffffff;
  border: 2px dashed rgba(102, 126, 234, 0.4);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.pdf-dropzone:hover {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.02);
}
.pdf-dropzone.is-dragging {
  border-color: #667eea;
  border-style: solid;
  background: rgba(102, 126, 234, 0.08);
  box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.12);
}
.pdf-dropzone.is-full {
  cursor: default;
  border-style: solid;
  border-color: rgba(226, 232, 240, 0.8);
}
.pdf-dropzone.is-full:hover {
  border-color: rgba(226, 232, 240, 0.8);
  background: #ffffff;
}
.pdf-dropzone__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 1rem 0;
  pointer-events: none;
  text-align: center;
}
.pdf-dropzone__empty i {
  font-size: 2.2rem;
  color: #667eea;
  margin-bottom: 0.25rem;
}
.pdf-dropzone__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #2d3748;
}
.pdf-dropzone__hint {
  margin: 0;
  font-size: 0.78rem;
  color: #718096;
}
.pdf-dropzone__more {
  display: inline-flex;
  align-self: center;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 1rem;
  border-top: 1px dashed rgba(226, 232, 240, 0.7);
  padding-top: 1rem;
  margin-top: 0.25rem;
  color: #667eea;
  font-size: 0.82rem;
  font-weight: 600;
  transition: color 0.15s ease;
}
.pdf-dropzone__more i {
  font-size: 1rem;
}
.pdf-dropzone:hover .pdf-dropzone__more {
  color: #764ba2;
}

.pdf-dropzone-flash {
  position: absolute;
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 1rem;
  background: #dd6b20;
  color: #ffffff;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 2;
  animation: pdf-dropzone-flash-in 0.2s ease;
}

@keyframes pdf-dropzone-flash-in {
  from {
    opacity: 0;
    transform: translate(-50%, 6px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
.pdf-dropzone-files {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pdf-dropzone-file {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  background: rgba(102, 126, 234, 0.04);
  border: 1px solid rgba(102, 126, 234, 0.15);
  border-radius: 4px;
  font-size: 0.82rem;
}
.pdf-dropzone-file > i {
  color: #e53e3e;
  font-size: 1.05rem;
  flex-shrink: 0;
}
.pdf-dropzone-file__name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  color: #2d3748;
}
.pdf-dropzone-file__size {
  font-size: 0.72rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.pdf-dropzone-file__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #718096;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  flex-shrink: 0;
}
.pdf-dropzone-file__remove:hover {
  background: rgba(229, 62, 62, 0.12);
  color: #e53e3e;
}
.pdf-dropzone-file__remove i {
  font-size: 0.85rem;
}

.pdf-dropzone-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}

.pdf-dropzone-counter {
  font-size: 0.78rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}

.compare-upload-submit {
  padding: 0.5rem 2rem;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.15s ease;
  font-family: inherit;
}
.compare-upload-submit:hover:not(:disabled) {
  opacity: 0.92;
  transform: translateY(-1px);
}
.compare-upload-submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.compare-results {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}
.compare-results + .compare-results {
  margin-top: 1.5rem;
}

.compare-results-header {
  margin: 2rem 0 1rem;
  padding: 0 0.25rem;
}

.compare-results__title {
  margin: 0 0 0.25rem;
  font-size: 1.35rem;
  font-weight: 800;
  color: #2d3748;
  letter-spacing: -0.01em;
}

.compare-results__date {
  margin: 0;
  font-size: 0.9rem;
  color: #4a5568;
}
.compare-results__date strong {
  color: #2d3748;
  font-weight: 700;
}

.compare-results__section-header {
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.7);
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04), rgba(118, 75, 162, 0.04));
}

.compare-results__section-title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
  letter-spacing: -0.005em;
}
.compare-results__section-title i {
  font-size: 1.1rem;
  line-height: 1;
  color: #667eea;
}

.compare-results--stocks .compare-results__section-title i {
  color: #38a169;
}

.compare-results--exercises .compare-results__section-title i {
  color: #ed8936;
}

.compare-type-block--exercises .compare-type-block__title i {
  color: #ed8936;
}

.compare-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e2e8f0;
}

.compare-summary-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid transparent;
}
.compare-summary-card__count {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.1;
}
.compare-summary-card__label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  opacity: 0.85;
}
.compare-summary-card--divergent {
  background: rgba(237, 137, 54, 0.1);
  border-color: rgba(237, 137, 54, 0.22);
  color: #dd6b20;
}
.compare-summary-card--only-pdf {
  background: rgba(66, 153, 225, 0.08);
  border-color: rgba(66, 153, 225, 0.2);
  color: #4299e1;
}
.compare-summary-card--only-db {
  background: rgba(113, 128, 150, 0.1);
  border-color: rgba(113, 128, 150, 0.18);
  color: #4a5568;
}

.compare-section {
  padding: 1.5rem 2rem;
}
.compare-section + .compare-section {
  border-top: 1px solid rgba(226, 232, 240, 0.5);
}

.compare-section__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.compare-section__header h3, .compare-section__header .h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #2d3748;
}
.compare-section__header i {
  font-size: 1rem;
}

.compare-section__count {
  display: inline-block;
  margin-left: 0.25rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.compare-section--divergent .compare-section__header i {
  color: #ed8936;
}

.compare-section--only-pdf .compare-section__header i {
  color: #4299e1;
}

.compare-section--only-db .compare-section__header i {
  color: #4a5568;
}

.compare-table-wrapper {
  overflow-x: auto;
  border-radius: 4px;
  border: 1px solid rgba(226, 232, 240, 0.7);
}

.compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.compare-table--aligned {
  table-layout: fixed;
}
.compare-table--aligned .compare-col-code {
  width: 19%;
  text-align: left;
}
.compare-table--aligned .compare-col-cv {
  width: 9%;
  text-align: center;
}
.compare-table--aligned .compare-col-strike {
  width: 15%;
  text-align: right;
}
.compare-table--aligned .compare-col-qty {
  width: 11%;
  text-align: right;
}
.compare-table--aligned .compare-col-price {
  width: 14%;
  text-align: right;
}
.compare-table--aligned .compare-col-expiration {
  width: 15%;
  text-align: right;
}
.compare-table--aligned .compare-col-action {
  width: 17%;
  text-align: center;
}
.compare-table thead th {
  padding: 0.5rem 1rem;
  background: rgba(226, 232, 240, 0.18);
  border-bottom: 1px solid #e2e8f0;
  color: #4a5568;
  font-weight: 700;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  white-space: nowrap;
  text-align: left;
}
.compare-table thead th.text-right {
  text-align: right;
}
.compare-table thead th.text-center {
  text-align: center;
}
.compare-table tbody td {
  padding: 0.5rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.4);
  color: #2d3748;
  vertical-align: middle;
}
.compare-table tbody td.text-right {
  text-align: right;
}
.compare-table tbody td.text-center {
  text-align: center;
}
.compare-table tbody tr:last-child td {
  border-bottom: none;
}
.compare-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.03);
}

.compare-cell--code {
  font-family: monospace;
  font-weight: 700;
  color: #667eea;
  cursor: copy;
}
.compare-cell--code:hover {
  background: rgba(102, 126, 234, 0.06);
}

.compare-code-kind {
  display: block;
  margin-top: 1px;
  font-family: inherit;
  font-size: 0.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #718096;
  opacity: 0.75;
  white-space: nowrap;
}

.compare-cell--frac {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  background: rgba(237, 137, 54, 0.12);
  color: #dd6b20;
  border: 1px solid rgba(237, 137, 54, 0.25);
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: lowercase;
  letter-spacing: 0.02em;
  vertical-align: middle;
}

.compare-empty-state {
  margin: 2rem 0;
  padding: 2rem;
  text-align: center;
  color: #718096;
  font-size: 0.9rem;
  background: #ffffff;
  border: 1px dashed #e2e8f0;
  border-radius: 8px;
}

.compare-batch-summary {
  margin: 2rem 0 1.5rem;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04), rgba(118, 75, 162, 0.04));
  border: 1px solid rgba(102, 126, 234, 0.18);
  border-radius: 8px;
}
.compare-batch-summary__main {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 1.5rem;
}
.compare-batch-summary__stat {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  color: #2d3748;
}
.compare-batch-summary__stat--option .compare-batch-summary__count {
  color: #667eea;
}
.compare-batch-summary__stat--stock .compare-batch-summary__count {
  color: #38a169;
}
.compare-batch-summary__count {
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.compare-batch-summary__label {
  font-size: 0.85rem;
  color: #4a5568;
  font-weight: 600;
}
.compare-batch-summary__dates {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: auto;
  font-size: 0.82rem;
  color: #4a5568;
  font-weight: 600;
}
.compare-batch-summary__dates i {
  color: #667eea;
}
.compare-batch-summary__files {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed rgba(226, 232, 240, 0.8);
}
.compare-batch-summary__files summary {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
  list-style: none;
  font-size: 0.82rem;
  font-weight: 600;
  color: #4a5568;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.compare-batch-summary__files summary::-webkit-details-marker {
  display: none;
}
.compare-batch-summary__files summary::marker {
  display: none;
}
.compare-batch-summary__files summary .bi-chevron-down {
  margin-left: 0.25rem;
  transition: transform 0.15s ease;
  font-size: 0.75rem;
}
.compare-batch-summary__files[open] summary .bi-chevron-down {
  transform: rotate(180deg);
}

.compare-batch-files {
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.compare-batch-files__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, 0.7);
  border-radius: 4px;
  font-size: 0.8rem;
}
.compare-batch-files__item > i {
  color: #e53e3e;
  font-size: 0.95rem;
}
.compare-batch-files__name {
  flex: 1;
  min-width: 0;
  font-weight: 600;
  color: #2d3748;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.compare-batch-files__date {
  color: #4a5568;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.compare-batch-files__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.compare-batch-files__kind {
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.compare-batch-files__kind--option {
  background: rgba(102, 126, 234, 0.12);
  color: #667eea;
}
.compare-batch-files__kind--stock {
  background: rgba(56, 161, 105, 0.12);
  color: #38a169;
}
.compare-batch-files__count {
  font-size: 0.72rem;
  color: #718096;
  font-variant-numeric: tabular-nums;
}

.compare-banner {
  margin: 1rem 0;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  border: 1px solid;
}
.compare-banner--error {
  background: rgba(229, 62, 62, 0.05);
  border-color: rgba(229, 62, 62, 0.3);
}
.compare-banner--warning {
  background: rgba(237, 137, 54, 0.06);
  border-color: rgba(237, 137, 54, 0.3);
}
.compare-banner__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.compare-banner__header i {
  font-size: 1.1rem;
}
.compare-banner--error .compare-banner__header i {
  color: #e53e3e;
}
.compare-banner--warning .compare-banner__header i {
  color: #dd6b20;
}
.compare-banner__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #2d3748;
}
.compare-banner__lead {
  margin: 0 0 0.5rem;
  font-size: 0.82rem;
  color: #4a5568;
  line-height: 1.5;
}
.compare-banner__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.compare-banner__list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 1rem;
  padding: 0.25rem 0.5rem;
  background: #ffffff;
  border-radius: 4px;
  font-size: 0.82rem;
}
.compare-banner__list li strong {
  color: #2d3748;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.compare-banner__files {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.compare-banner__file {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 1px 6px;
  background: rgba(74, 85, 104, 0.08);
  border-radius: 4px;
  font-size: 0.76rem;
  color: #2d3748;
}
.compare-banner__file i {
  font-size: 0.85rem;
  color: #e53e3e;
}
.compare-banner__reason {
  color: #4a5568;
  font-style: italic;
}

.compare-type-block {
  margin: 2rem 0;
}
.compare-type-block + .compare-type-block {
  margin-top: 3rem;
}
.compare-type-block__header {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(226, 232, 240, 0.7);
}
.compare-type-block__title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  color: #2d3748;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.compare-type-block__title i {
  font-size: 1.2rem;
}
.compare-type-block--options .compare-type-block__title i {
  color: #667eea;
}
.compare-type-block--stocks .compare-type-block__title i {
  color: #38a169;
}
.compare-type-block__count {
  margin-left: auto;
  font-size: 0.78rem;
  color: #718096;
  font-weight: 600;
  text-transform: lowercase;
}

.compare-results__source-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  padding: 2px 8px;
  background: rgba(74, 85, 104, 0.06);
  border: 1px solid rgba(226, 232, 240, 0.8);
  border-radius: 999px;
  font-size: 0.72rem;
  color: #4a5568;
  font-weight: 500;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.compare-results__source-chip i {
  color: #e53e3e;
  font-size: 0.78rem;
  flex-shrink: 0;
}

.compare-results__section-header {
  justify-content: space-between;
  gap: 1rem;
}

.compare-op-badge {
  display: inline-block;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 800;
}
.compare-op-badge--buy {
  background: rgba(66, 153, 225, 0.15);
  color: #4299e1;
}
.compare-op-badge--sell {
  background: rgba(229, 62, 62, 0.15);
  color: #e53e3e;
}

.compare-create-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 4px 10px;
  background: rgba(66, 153, 225, 0.08);
  color: #4299e1;
  border: 1px solid rgba(66, 153, 225, 0.3);
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}
.compare-create-btn:hover {
  background: #4299e1;
  color: #ffffff;
  border-color: #4299e1;
}
.compare-create-btn i {
  font-size: 0.85rem;
}

.compare-accept-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 4px 10px;
  background: rgba(56, 161, 105, 0.08);
  color: #38a169;
  border: 1px solid rgba(56, 161, 105, 0.3);
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}
.compare-accept-btn:hover:not(:disabled) {
  background: #38a169;
  color: #ffffff;
  border-color: #38a169;
}
.compare-accept-btn:disabled, .compare-accept-btn.is-loading {
  opacity: 0.6;
  cursor: progress;
}
.compare-accept-btn i {
  font-size: 0.85rem;
}

.compare-row-error {
  display: block;
  margin-top: 4px;
  font-size: 0.72rem;
  color: #e53e3e;
  font-weight: 600;
  text-align: right;
}

.compare-row--resolving {
  transition: opacity 0.2s ease, background-color 0.2s ease;
  opacity: 0;
  background: rgba(56, 161, 105, 0.08);
}

.compare-create-modal {
  border: none;
  border-radius: 16px;
  padding: 0;
  max-width: 500px;
  width: 92%;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}
.compare-create-modal::backdrop {
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(2px);
}

.compare-create-modal__content {
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  overflow: hidden;
}

.compare-create-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04), rgba(118, 75, 162, 0.04));
}

.compare-create-modal__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #2d3748;
}

.compare-create-modal__subtitle {
  margin: 4px 0 0;
  font-size: 0.8rem;
  color: #718096;
}

.compare-create-modal__close {
  background: transparent;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #718096;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}
.compare-create-modal__close:hover {
  background: rgba(113, 128, 150, 0.12);
  color: #2d3748;
}

.compare-create-modal__summary {
  padding: 1rem 2rem;
  background: rgba(226, 232, 240, 0.15);
  border-bottom: 1px solid #e2e8f0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem 1.5rem;
}
.compare-create-modal__summary--centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem 2rem;
  text-align: center;
  background: linear-gradient(180deg, rgba(102, 126, 234, 0.035), rgba(118, 75, 162, 0.025));
}

.compare-create-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.82rem;
}

.compare-create-summary-label {
  font-weight: 600;
  color: #718096;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.4px;
}

.compare-create-summary-value {
  font-weight: 700;
  color: #2d3748;
}
.compare-create-summary-value--code {
  font-family: monospace;
  color: #667eea;
}

.compare-summary-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(113, 128, 150, 0.15);
  color: #4a5568;
}
.compare-summary-badge--buy {
  background: rgba(66, 153, 225, 0.15);
  color: #4299e1;
}
.compare-summary-badge--sell {
  background: rgba(229, 62, 62, 0.15);
  color: #e53e3e;
}

.compare-create-summary-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1;
}

.compare-create-summary-code {
  font-family: "SF Mono", "Menlo", "Monaco", monospace;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #667eea;
}

.compare-create-summary-divider {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(113, 128, 150, 0.5);
}

.compare-create-summary-underlying {
  font-family: "SF Mono", "Menlo", "Monaco", monospace;
  font-size: 0.85rem;
  font-weight: 700;
  color: #4a5568;
  padding: 3px 9px;
  background: rgba(113, 128, 150, 0.12);
  border-radius: 4px;
  letter-spacing: 0.3px;
}

.compare-create-summary-type {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: #764ba2;
  padding: 3px 9px;
  background: rgba(118, 75, 162, 0.1);
  border-radius: 4px;
}

.compare-create-summary-meta {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 0.85rem;
  color: #4a5568;
}

.compare-create-summary-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  color: #2d3748;
}
.compare-create-summary-meta-item i {
  color: #718096;
  font-size: 0.9rem;
  line-height: 1;
}

.compare-create-form {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow-y: auto;
}
.compare-create-form .compare-create-field {
  transition: opacity 0.15s ease;
}
.compare-create-form:has(:is(input:not([type=hidden]), select, textarea):focus) .compare-create-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.compare-create-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.5rem;
  padding: 1.5rem 2rem;
}

.compare-create-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.compare-create-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #4a5568;
}

.compare-create-input {
  padding: 0.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.9rem;
  font-family: inherit;
  background: #ffffff;
  color: #2d3748;
  transition: border-color 0.15s ease;
}
.compare-create-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}

.compare-create-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border-top: 1px solid #e2e8f0;
  background: rgba(226, 232, 240, 0.1);
}

.compare-create-cancel {
  padding: 0.5rem 1.5rem;
  background: transparent;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #4a5568;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s ease;
}
.compare-create-cancel:hover {
  border-color: #4a5568;
  color: #2d3748;
}

.compare-create-submit {
  padding: 0.5rem 1.5rem;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: opacity 0.15s ease;
}
.compare-create-submit:hover {
  opacity: 0.92;
}
.compare-create-submit:disabled, .compare-create-submit.is-loading {
  opacity: 0.65;
  cursor: progress;
}
.compare-create-submit i {
  font-size: 0.95rem;
}

.compare-create-error {
  margin: 1rem 2rem 0;
  padding: 0.5rem 1rem;
  background: rgba(229, 62, 62, 0.08);
  border-left: 3px solid #e53e3e;
  border-radius: 4px;
  color: #e53e3e;
  font-size: 0.85rem;
  font-weight: 500;
}

@media (max-width: 576px) {
  .compare-page-header {
    flex-direction: column;
    align-items: stretch;
  }
  .compare-summary {
    grid-template-columns: repeat(2, 1fr);
  }
  .compare-create-modal__summary,
  .compare-create-form__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 576px) {
  .brokerage-note .note-header {
    flex-direction: column;
    gap: 1rem;
  }
  .brokerage-note .note-header__info {
    text-align: left;
  }
  .note-trades {
    padding: 0 0.5rem;
    overflow-x: auto;
  }
  .note-summary {
    padding: 1rem 0.5rem;
    align-items: stretch;
  }
  .note-summary__section,
  .note-summary__total {
    width: 100%;
  }
}
.compare-cell--strike {
  font-variant-numeric: tabular-nums;
  color: #4a5568;
}
.compare-cell--strike:not(:empty) {
  color: #2d3748;
}

.compare-view-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 4px 10px;
  background: rgba(113, 128, 150, 0.06);
  color: #4a5568;
  border: 1px solid rgba(113, 128, 150, 0.25);
  border-radius: 4px;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}
.compare-view-btn:hover {
  background: #4a5568;
  color: #ffffff;
  border-color: #4a5568;
}
.compare-view-btn i {
  font-size: 0.85rem;
}

.compare-only-db-modal {
  border: none;
  border-radius: 16px;
  padding: 0;
  max-width: 500px;
  width: 92%;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}
.compare-only-db-modal::backdrop {
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(2px);
}

.compare-only-db-modal__content {
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  overflow: hidden;
}

.compare-only-db-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.04), rgba(118, 75, 162, 0.04));
}

.compare-only-db-modal__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #2d3748;
}

.compare-only-db-modal__close {
  background: transparent;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #718096;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}
.compare-only-db-modal__close:hover {
  background: rgba(113, 128, 150, 0.12);
  color: #2d3748;
}

.compare-only-db-modal__body {
  padding: 1.5rem 2rem;
  min-height: 120px;
}

.ssi-page .ssi-card {
  max-width: 860px;
  margin: 0 auto;
}
.ssi-page .ssi-header {
  margin-bottom: 1.5rem;
}
.ssi-page .ssi-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #2d3748;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ssi-page .ssi-title i {
  color: #667eea;
}
.ssi-page .ssi-subtitle {
  color: #718096;
  margin-top: 0.5rem;
}
.ssi-page .ssi-upload-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}
.ssi-page .ssi-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}
.ssi-page .ssi-dropzone {
  width: 100%;
  border: 2px dashed #e2e8f0;
  border-radius: 16px;
  padding: 2.5rem 1rem;
  text-align: center;
  color: #4a5568;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.ssi-page .ssi-dropzone i {
  display: block;
  font-size: 2.5rem;
  color: #667eea;
  margin-bottom: 0.5rem;
}
.ssi-page .ssi-dropzone:hover {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.04);
}
.ssi-page .ssi-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ssi-page .ssi-item {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem 1.25rem;
}
.ssi-page .ssi-item--unmatched {
  opacity: 0.6;
  background: #f7fafc;
}
.ssi-page .ssi-item__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.ssi-page .ssi-check {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  cursor: pointer;
}
.ssi-page .ssi-check input[type=checkbox] {
  cursor: pointer;
}
.ssi-page .ssi-ticker {
  font-weight: 700;
  color: #2d3748;
}
.ssi-page .ssi-name {
  color: #718096;
  font-size: 0.9rem;
}
.ssi-page .ssi-status {
  font-size: 0.85rem;
  color: #4a5568;
}
.ssi-page .ssi-status i {
  margin-right: 0.25rem;
}
.ssi-page .ssi-preview {
  font-size: 0.9rem;
  color: #4a5568;
  line-height: 1.5;
  max-height: 220px;
  overflow-y: auto;
}
.ssi-page .ssi-preview p {
  margin-bottom: 0.5rem;
}
.ssi-page .ssi-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.ssi-page .ssi-btn {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #4a5568;
  border-radius: 8px;
  padding: 0.6rem 1.25rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s;
}
.ssi-page .ssi-btn:hover {
  background: #f7fafc;
}
.ssi-page .ssi-btn--primary {
  background: #667eea;
  border-color: #667eea;
  color: #fff;
}
.ssi-page .ssi-btn--primary:hover {
  background: #5568d3;
}

.iddoc-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.06), rgba(118, 75, 162, 0.04));
  border-radius: 16px;
  margin-bottom: 1.5rem;
}

.iddoc-hero-header {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.iddoc-hero-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(102, 126, 234, 0.12);
  color: #5568d3;
  font-size: 1.25rem;
}

.iddoc-hero-title {
  margin: 0;
  font-size: 1.25rem;
  color: #2d3748;
}

.iddoc-hero-subtitle {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: #718096;
}

.iddoc-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}

.iddoc-actions-scope {
  margin: 0;
  font-size: 0.75rem;
  color: #718096;
}
.iddoc-actions-scope i {
  margin-right: 0.25rem;
  color: #4299e1;
}
.iddoc-actions-scope strong {
  color: #4a5568;
}

.iddoc-actions-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}
.iddoc-actions-buttons form {
  margin: 0;
}

.iddoc-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  color: #ffffff;
  background: #667eea;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.iddoc-action-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  background: #5568d3;
}
.iddoc-action-btn--mz {
  background: #764ba2;
  box-shadow: 0 2px 8px rgba(118, 75, 162, 0.2);
}
.iddoc-action-btn--mz:hover {
  background: rgb(102.764556962, 65.3164556962, 141.0835443038);
  box-shadow: 0 4px 12px rgba(118, 75, 162, 0.4);
}

.iddoc-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
  padding: 1rem;
  background: #f7fafc;
  border-radius: 8px;
  margin-bottom: 1.5rem;
}

.iddoc-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 200px;
  flex: 1;
}
.iddoc-field--action {
  flex: 0 0 auto;
  flex-direction: row;
  gap: 0.5rem;
}

.iddoc-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.iddoc-input {
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-size: 0.875rem;
  color: #2d3748;
  background: #ffffff;
}
.iddoc-input:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.iddoc-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  color: #4a5568;
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.iddoc-filter-btn:hover {
  background: rgba(102, 126, 234, 0.08);
  color: #5568d3;
  border-color: #667eea;
}
.iddoc-filter-btn--clear {
  color: #718096;
}

.iddoc-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.iddoc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.iddoc-table thead {
  background: #f7fafc;
}
.iddoc-table th {
  text-align: center;
  padding: 0.5rem 1rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #e2e8f0;
}
.iddoc-table td {
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  color: #2d3748;
  vertical-align: middle;
  text-align: center;
}
.iddoc-table tbody tr:last-child td {
  border-bottom: none;
}
.iddoc-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.04);
}

.iddoc-cell-issuer {
  font-weight: 600;
  color: #2d3748;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.iddoc-cell-issuer-name {
  font-weight: 400;
  font-size: 0.75rem;
  color: #718096;
}

.iddoc-cell-fetched {
  line-height: 1.3;
}

.iddoc-cell-fetched-size {
  display: block;
  font-size: 0.75rem;
  color: #718096;
  margin-top: 2px;
}

.iddoc-badge {
  display: inline-block;
  padding: 2px 0.5rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(113, 128, 150, 0.12);
  color: #4a5568;
}
.iddoc-badge--release {
  background: rgba(66, 153, 225, 0.12);
  color: rgb(32.8767123288, 128.2191780822, 207.1232876712);
}
.iddoc-badge--apresentacao {
  background: rgba(56, 161, 105, 0.12);
  color: #38a169;
}
.iddoc-badge--itr {
  background: rgba(237, 137, 54, 0.14);
  color: #dd6b20;
}
.iddoc-badge--source-cvm {
  background: rgba(45, 55, 72, 0.08);
  color: #2d3748;
}
.iddoc-badge--source-mz {
  background: rgba(118, 75, 162, 0.12);
  color: #764ba2;
}

.iddoc-file-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  color: #5568d3;
  text-decoration: none;
  font-size: 0.8rem;
}
.iddoc-file-link:hover {
  color: #667eea;
  text-decoration: underline;
}

.iddoc-cell-actions {
  white-space: nowrap;
  text-align: center;
}
.iddoc-cell-actions form {
  display: inline-block;
  margin: 0;
}

.iddoc-delete-btn {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 4px;
  background: none;
  color: #718096;
  cursor: pointer;
  padding: 0;
  font-size: 0.85rem;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.iddoc-delete-btn:hover {
  background: rgba(229, 62, 62, 0.08);
  color: #e53e3e;
  border-color: rgba(229, 62, 62, 0.2);
}

.iddoc-file-missing {
  color: #718096;
}

.iddoc-empty {
  text-align: center;
  padding: 3rem 1.5rem;
  color: #718096;
}
.iddoc-empty i {
  font-size: 2.5rem;
  color: rgba(113, 128, 150, 0.4);
  display: block;
  margin-bottom: 1rem;
}

.iddoc-table__select-cell {
  width: 36px;
  padding-left: 1rem;
  padding-right: 0;
  text-align: center;
}

.iddoc-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  cursor: pointer;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.iddoc-checkbox input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
}
.iddoc-checkbox__box {
  width: 18px;
  height: 18px;
  border: 1.5px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  position: relative;
}
.iddoc-checkbox__box::after {
  content: "";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.iddoc-checkbox:hover input:not(:disabled) + .iddoc-checkbox__box, .iddoc-checkbox:hover input:not(:disabled) ~ .iddoc-checkbox__box {
  border-color: #667eea;
}
input:checked + .iddoc-checkbox__box, input:checked ~ .iddoc-checkbox__box {
  background: #667eea;
  border-color: #667eea;
}
input:checked + .iddoc-checkbox__box::after, input:checked ~ .iddoc-checkbox__box::after {
  opacity: 1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 1 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
}
input:indeterminate + .iddoc-checkbox__box, input:indeterminate ~ .iddoc-checkbox__box {
  background: #667eea;
  border-color: #667eea;
}
input:indeterminate + .iddoc-checkbox__box::after, input:indeterminate ~ .iddoc-checkbox__box::after {
  opacity: 1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Crect x='3' y='7' width='10' height='2' rx='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
}
input:focus-visible + .iddoc-checkbox__box, input:focus-visible ~ .iddoc-checkbox__box {
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.18);
}
.iddoc-checkbox--disabled, input:disabled ~ .iddoc-checkbox__box {
  cursor: not-allowed;
  opacity: 0.4;
}

.iddoc-table--selectable tbody tr {
  transition: background 0.15s ease, box-shadow 0.15s ease;
}

.iddoc-row--selected {
  background: rgba(102, 126, 234, 0.06) !important;
  box-shadow: inset 3px 0 0 #667eea;
}
.iddoc-row--selected td:first-child {
  position: relative;
}

.iddoc-selection-bar {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  transform: translate(-50%, 24px);
  opacity: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem 0.5rem 1rem;
  background: rgba(45, 55, 72, 0.96);
  color: #ffffff;
  border-radius: 999px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25), 0 2px 8px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 500;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.iddoc-selection-bar.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
}
.iddoc-selection-bar__count-wrap {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  padding-left: 0.5rem;
}
.iddoc-selection-bar__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 0.5rem;
  border-radius: 999px;
  background: #667eea;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
}
.iddoc-selection-bar__count-label {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.78);
}
.iddoc-selection-bar__form {
  margin: 0;
  display: inline-block;
}
.iddoc-selection-bar__action {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.iddoc-selection-bar__action--primary {
  background: linear-gradient(135deg, #667eea, #5568d3);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.45);
}
.iddoc-selection-bar__action--primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.55);
}
.iddoc-selection-bar__action--primary:active {
  transform: translateY(0);
}
.iddoc-selection-bar__action--danger {
  background: linear-gradient(135deg, #e53e3e, #c53030);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(229, 62, 62, 0.45);
}
.iddoc-selection-bar__action--danger:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(229, 62, 62, 0.55);
}
.iddoc-selection-bar__action--danger:active {
  transform: translateY(0);
}
.iddoc-selection-bar__action--ghost {
  background: transparent;
  color: rgba(255, 255, 255, 0.85);
}
.iddoc-selection-bar__action--ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
.iddoc-selection-bar__action i {
  font-size: 1rem;
}
@media (max-width: 576px) {
  .iddoc-selection-bar {
    left: 1rem;
    right: 1rem;
    transform: translate(0, 24px);
    border-radius: 16px;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .iddoc-selection-bar.is-visible {
    transform: translate(0, 0);
  }
}

.frun-recent {
  margin: 1.5rem 0;
  padding: 1rem;
  background: #f7fafc;
  border-radius: 8px;
}

.frun-recent-title {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a5568;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.frun-recent-link {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 400;
  color: #5568d3;
  text-decoration: none;
}
.frun-recent-link:hover {
  text-decoration: underline;
}

.frun-recent-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.frun-recent-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-size: 0.8125rem;
  color: #2d3748;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.frun-recent-item:hover {
  background: rgba(102, 126, 234, 0.04);
  border-color: #667eea;
}

.frun-recent-meta {
  margin-left: auto;
  color: #718096;
  font-size: 0.75rem;
}

.frun-page-actions {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.frun-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.06), rgba(118, 75, 162, 0.04));
  border-radius: 16px;
  margin-bottom: 1.5rem;
}

.frun-header-main {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.frun-header-icon {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(102, 126, 234, 0.12);
  color: #5568d3;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.frun-header-body {
  flex: 1;
}

.frun-header-title {
  margin: 0;
  font-size: 1.25rem;
  color: #2d3748;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.frun-header-meta {
  margin: 0.25rem 0 0;
  font-size: 0.8125rem;
  color: #718096;
}

.frun-header-error {
  margin: 0.5rem 0 0;
  padding: 0.5rem;
  background: rgba(229, 62, 62, 0.08);
  color: #c53030;
  border-radius: 4px;
  font-size: 0.8125rem;
}
.frun-header-error i {
  margin-right: 0.25rem;
}

.frun-status {
  display: inline-block;
  padding: 2px 0.5rem;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 4px;
}
.frun-status--pending {
  background: #e2e6ea;
  color: #41505f;
  box-shadow: inset 0 0 0 1px rgba(113, 128, 150, 0.55);
}
.frun-status--discovering {
  background: #d4e7fb;
  color: #0b4a8a;
  box-shadow: inset 0 0 0 1px rgba(66, 153, 225, 0.55);
}
.frun-status--downloading {
  background: #e0e3fb;
  color: #39408f;
  box-shadow: inset 0 0 0 1px rgba(102, 126, 234, 0.55);
}
.frun-status--finished {
  background: #d3f0dd;
  color: #1b5e36;
  box-shadow: inset 0 0 0 1px rgba(56, 161, 105, 0.55);
}
.frun-status--failed {
  background: #ffd9d6;
  color: #9b2226;
  box-shadow: inset 0 0 0 1px rgba(229, 62, 62, 0.55);
}

.frun-counts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.5rem;
}

.frun-count {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem;
  background: #ffffff;
  border-radius: 4px;
  border-left: 3px solid #e2e8f0;
}
.frun-count i {
  font-size: 1rem;
  color: #718096;
}
.frun-count--succeeded {
  border-left-color: #38a169;
}
.frun-count--succeeded i {
  color: #38a169;
}
.frun-count--failed {
  border-left-color: #e53e3e;
}
.frun-count--failed i {
  color: #c53030;
}
.frun-count--downloading {
  border-left-color: #667eea;
}
.frun-count--downloading i {
  color: #5568d3;
}
.frun-count--unsupported {
  border-left-color: #ed8936;
}
.frun-count--unsupported i {
  color: #dd6b20;
}
.frun-count--skipped_existing {
  border-left-color: #718096;
}
.frun-count--skipped_existing i {
  color: #4a5568;
}
.frun-count--pending {
  border-left-color: #4299e1;
}
.frun-count--pending i {
  color: #4299e1;
}

.frun-count-value {
  font-weight: 700;
  color: #2d3748;
  font-size: 1.125rem;
}

.frun-count-label {
  font-size: 0.7rem;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-left: auto;
}

.frun-table {
  font-size: 0.8125rem;
}
.frun-table td.frun-cell-title {
  font-weight: 500;
  max-width: 280px;
}
.frun-table td.frun-cell-msg {
  max-width: 320px;
}
.frun-table td.frun-cell-issuer {
  font-weight: 600;
}

.frun-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 0.5rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.frun-badge--pending {
  background: rgba(66, 153, 225, 0.12);
  color: rgb(32.8767123288, 128.2191780822, 207.1232876712);
}
.frun-badge--downloading {
  background: rgba(102, 126, 234, 0.12);
  color: #5568d3;
}
.frun-badge--succeeded {
  background: rgba(56, 161, 105, 0.12);
  color: #38a169;
}
.frun-badge--skipped_existing {
  background: rgba(113, 128, 150, 0.12);
  color: #4a5568;
}
.frun-badge--unsupported {
  background: rgba(237, 137, 54, 0.14);
  color: #dd6b20;
}
.frun-badge--failed {
  background: rgba(229, 62, 62, 0.12);
  color: #c53030;
}

.frun-item {
  transition: background 0.15s ease;
}
.frun-item--downloading {
  background: rgba(102, 126, 234, 0.04);
}
.frun-item--failed {
  background: rgba(229, 62, 62, 0.04);
}

.frun-empty-inline {
  padding: 2rem 1.5rem;
  text-align: center;
  color: #718096;
}
.frun-empty-inline i {
  font-size: 1.75rem;
  margin-right: 0.5rem;
  color: rgba(102, 126, 234, 0.6);
}

.iddoc-table-wrap:has(tbody tr) .frun-empty-inline {
  display: none;
}

.frun-msg {
  display: inline-block;
  font-size: 0.75rem;
}
.frun-msg--error {
  color: #c53030;
}
.frun-msg--info {
  color: #718096;
  font-style: italic;
}

.frun-spin {
  display: inline-block;
  animation: frun-rotate 1s linear infinite;
}

@keyframes frun-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.iss-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.06), rgba(118, 75, 162, 0.04));
  border-radius: 16px;
  margin-bottom: 1.5rem;
}

.iss-hero-header {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.iss-hero-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(102, 126, 234, 0.12);
  color: #5568d3;
  font-size: 1.25rem;
}

.iss-hero-title {
  margin: 0;
  font-size: 1.25rem;
  color: #2d3748;
}

.iss-hero-subtitle {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: #718096;
}

.iss-hero-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.iss-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  color: #ffffff;
  background: linear-gradient(135deg, #667eea, #5568d3);
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.iss-action-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  color: #ffffff;
}

.iss-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
  color: #4a5568;
  font-size: 0.875rem;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.iss-link-btn:hover {
  background: rgba(102, 126, 234, 0.06);
  border-color: #667eea;
  color: #5568d3;
}

.iss-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: end;
  padding: 1rem;
  background: #f7fafc;
  border-radius: 8px;
  margin-bottom: 1.5rem;
}

.iss-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 200px;
  flex: 1;
}
.iss-field--action {
  flex: 0 0 auto;
  flex-direction: row;
  gap: 0.5rem;
  align-items: end;
}
.iss-field--checkbox {
  flex-direction: row;
  align-items: center;
  min-width: 0;
}
.iss-field--full {
  flex: 1 1 100%;
}

.iss-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.iss-input {
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-size: 0.875rem;
  color: #2d3748;
  background: #ffffff;
  width: 100%;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.iss-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.iss-input--upper {
  text-transform: uppercase;
}
.iss-input--mono {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.8125rem;
}

.iss-help {
  font-size: 0.7rem;
  color: #718096;
  margin-top: 2px;
}

.iss-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  color: #4a5568;
  font-size: 0.875rem;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.iss-filter-btn:hover {
  background: rgba(102, 126, 234, 0.08);
  color: #5568d3;
  border-color: #667eea;
}
.iss-filter-btn--clear {
  color: #718096;
}

.iss-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.iss-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.iss-table thead {
  background: #f7fafc;
}
.iss-table th {
  text-align: center;
  padding: 0.5rem 1rem;
  font-weight: 600;
  color: #4a5568;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #e2e8f0;
}
.iss-table td {
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  color: #2d3748;
  vertical-align: middle;
  text-align: center;
}
.iss-table tbody tr:last-child td {
  border-bottom: none;
}
.iss-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.04);
}

.iss-row--inactive {
  opacity: 0.55;
}

.iss-cnpj {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.8125rem;
  color: #4a5568;
}

.iss-ext-link {
  color: #718096;
  margin-left: 0.25rem;
  text-decoration: none;
}
.iss-ext-link:hover {
  color: #5568d3;
}

.iss-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 0.5rem;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.iss-badge i {
  font-size: 0.5rem;
}
.iss-badge--active {
  background: rgba(56, 161, 105, 0.12);
  color: #38a169;
}
.iss-badge--inactive {
  background: rgba(113, 128, 150, 0.15);
  color: #4a5568;
}
.iss-badge--mz {
  background: rgba(118, 75, 162, 0.12);
  color: #764ba2;
}
.iss-badge--mz i {
  font-size: 0.75rem;
}
.iss-badge--muted {
  background: transparent;
  color: #718096;
}

.iss-cell-actions {
  white-space: nowrap;
}
.iss-cell-actions form {
  display: inline-block;
  margin: 0;
}

.iss-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: none;
  color: #718096;
  cursor: pointer;
  padding: 0;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.iss-icon-btn:hover {
  background: rgba(102, 126, 234, 0.08);
  color: #5568d3;
  border-color: rgba(102, 126, 234, 0.2);
}
.iss-icon-btn--toggle:hover {
  background: rgba(237, 137, 54, 0.08);
  color: #dd6b20;
  border-color: rgba(237, 137, 54, 0.2);
}

.iss-empty {
  text-align: center;
  padding: 3rem 1.5rem;
  color: #718096;
}
.iss-empty i {
  font-size: 2.5rem;
  color: rgba(113, 128, 150, 0.4);
  display: block;
  margin-bottom: 1rem;
}
.iss-empty p {
  margin-bottom: 1rem;
}

.iss-form {
  padding: 1rem 0;
}
.iss-form .iss-field {
  transition: opacity 0.15s ease;
}
.iss-form:has(:is(input:not([type=hidden]), select, textarea):focus) .iss-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.iss-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.iss-fieldset {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

.iss-legend {
  font-size: 0.875rem;
  font-weight: 600;
  color: #4a5568;
  padding: 0 0.5rem;
}
.iss-legend i {
  color: #764ba2;
}
.iss-legend small, .iss-legend .small {
  font-weight: 400;
  color: #718096;
  margin-left: 0.25rem;
}

.iss-check-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #2d3748;
  cursor: pointer;
}

.iss-check {
  width: 18px;
  height: 18px;
  accent-color: #667eea;
  cursor: pointer;
}

.iss-form-footer {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  padding-top: 1rem;
  border-top: 1px solid #e2e8f0;
}

.iss-form-errors {
  padding: 1rem;
  background: rgba(229, 62, 62, 0.08);
  border: 1px solid rgba(229, 62, 62, 0.2);
  border-radius: 8px;
  color: #c53030;
  margin-bottom: 1.5rem;
  font-size: 0.875rem;
}
.iss-form-errors strong {
  display: block;
  margin-bottom: 0.5rem;
}
.iss-form-errors strong i {
  margin-right: 0.25rem;
}
.iss-form-errors ul {
  margin: 0;
  padding-left: 1.5rem;
}

.ca-hero {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.08), rgba(118, 75, 162, 0.05));
  border-radius: 16px;
  margin-bottom: 1.5rem;
}

.ca-hero-icon {
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #ffffff;
  font-size: 1.4rem;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
}

.ca-hero-title {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: #2d3748;
}

.ca-hero-subtitle {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: #718096;
  max-width: 70ch;
}

.ca-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
  padding: 1.5rem;
  background: #f7fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 0.5rem;
}
.ca-form .ca-field {
  transition: opacity 0.15s ease;
}
.ca-form:has(:is(input:not([type=hidden]), select, textarea):focus) .ca-field:has(input:not([type=hidden]), select, textarea):not(:focus-within) {
  opacity: 0.45;
}

.ca-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ca-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ca-input {
  padding: 0.5rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-size: 0.9rem;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ca-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}
.ca-input--ticker {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.5px;
  width: 9rem;
}

.ca-ratio {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.ca-ratio-input {
  width: 4.5rem;
  text-align: center;
  padding: 0.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #2d3748;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ca-ratio-input:focus {
  outline: none;
  border-color: #667eea !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 12px rgba(102, 126, 234, 0.25) !important;
}

.ca-ratio-sep {
  font-size: 1.1rem;
  font-weight: 700;
  color: #718096;
}

.ca-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1.5rem;
  border: none;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  color: #ffffff;
  background: linear-gradient(135deg, #667eea, #764ba2);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ca-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.ca-form-hint {
  font-size: 0.78rem;
  color: #718096;
  margin: 0 0 1.5rem;
  padding-left: 2px;
}
.ca-form-hint code {
  background: rgba(102, 126, 234, 0.08);
  color: #5568d3;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 0.74rem;
}

.ca-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.ca-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.ca-table thead {
  background: #f7fafc;
}
.ca-table th {
  text-align: left;
  padding: 0.5rem 1rem;
  font-weight: 700;
  color: #4a5568;
  text-transform: uppercase;
  font-size: 0.68rem;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #e2e8f0;
}
.ca-table th.ca-col-actions {
  text-align: right;
}
.ca-table td {
  padding: 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.6);
  color: #2d3748;
  vertical-align: middle;
}
.ca-table tbody tr:last-child td {
  border-bottom: none;
}
.ca-table tbody tr {
  transition: background 0.15s ease;
}
.ca-table tbody tr:hover {
  background: rgba(102, 126, 234, 0.03);
}

.ca-ticker {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 4px;
  background: rgba(102, 126, 234, 0.1);
  color: #5568d3;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
}

.ca-event-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
}
.ca-event-pill--split {
  background: rgba(56, 161, 105, 0.12);
  color: rgb(45.4709677419, 130.7290322581, 85.2580645161);
}
.ca-event-pill--reverse_split {
  background: rgba(237, 137, 54, 0.14);
  color: rgb(220.2739726027, 110.6849315068, 19.7260273973);
}

.ca-date {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: #4a5568;
  font-variant-numeric: tabular-nums;
}
.ca-date i {
  color: #718096;
}

.ca-actions {
  text-align: right;
}

.ca-delete-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(229, 62, 62, 0.3);
  border-radius: 4px;
  background: #ffffff;
  color: #e53e3e;
  cursor: pointer;
  transition: all 0.15s ease;
}
.ca-delete-btn:hover {
  background: #e53e3e;
  border-color: #e53e3e;
  color: #ffffff;
  transform: translateY(-1px);
}

.ca-empty {
  text-align: center;
  padding: 3rem 1.5rem;
  color: #718096;
}
.ca-empty i {
  font-size: 2.5rem;
  color: rgba(102, 126, 234, 0.35);
  display: block;
  margin-bottom: 0.5rem;
}
.ca-empty p {
  margin: 0;
  font-size: 0.9rem;
}

.modal-close-btn {
  background: none;
  border: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #718096;
  cursor: pointer;
  padding: 0;
  transition: all 0.15s ease;
}
.modal-close-btn:hover {
  background: rgba(229, 62, 62, 0.08);
  color: #e53e3e;
}
.modal-close-btn i {
  font-size: 0.9rem;
}

.ccc-calendar {
  display: none;
  position: absolute;
  z-index: 100;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 0.5rem;
  min-width: 260px;
}
.ccc-calendar--open {
  display: block;
}

.ccc-cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  padding: 0 0.25rem;
}

.ccc-cal-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #2d3748;
}

.ccc-cal-nav {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  background: #ffffff;
  color: #4a5568;
  cursor: pointer;
  font-size: 0.75rem;
  transition: all 0.15s ease;
}
.ccc-cal-nav:hover {
  border-color: #667eea;
  color: #667eea;
}

.ccc-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
}

.ccc-cal-day-header {
  text-align: center;
  font-size: 0.65rem;
  font-weight: 700;
  color: #718096;
  padding: 0.25rem 0;
}

.ccc-cal-cell {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  color: #2d3748;
  border: none;
  border-radius: 4px;
  background: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.15s ease;
}
.ccc-cal-cell:hover {
  background: rgba(102, 126, 234, 0.1);
  color: #667eea;
}
.ccc-cal-cell--empty {
  visibility: hidden;
  pointer-events: none;
}
.ccc-cal-cell--today {
  font-weight: 700;
  color: #667eea;
  background: rgba(102, 126, 234, 0.06);
}
.ccc-cal-cell--selected {
  background: #667eea !important;
  color: #ffffff !important;
  font-weight: 700;
  border-radius: 50%;
}
.ccc-cal-cell--selected:hover {
  background: #5568d3 !important;
}
.ccc-cal-cell--disabled, .ccc-cal-cell--disabled:hover {
  color: #cbd5e0;
  background: none;
  cursor: not-allowed;
  pointer-events: none;
}

.flash-notice,
.flash-warning,
.flash-alert {
  padding: 1rem 3rem 1rem 1.5rem;
  margin: 0;
  border-radius: 0.5rem;
  font-weight: 500;
  position: fixed;
  top: 20px;
  right: 20px;
  max-width: 500px;
  z-index: 9999;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  animation: slideIn 0.3s ease-out;
}

.flash-notice {
  background-color: #d3f0dd;
  color: #1b5e36;
  border: 1px solid rgba(56, 161, 105, 0.55);
}

.flash-warning {
  background-color: #ffe7a3;
  color: #6b4e00;
  border: 1px solid rgba(214, 158, 46, 0.55);
}

.flash-alert {
  background-color: #ffd9d6;
  color: #9b2226;
  border: 1px solid rgba(229, 62, 62, 0.55);
}

.flash-close {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: inherit;
  opacity: 0.7;
  padding: 0;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
}
.flash-close:hover {
  opacity: 1;
}

@keyframes slideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
