@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
html::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
html::-webkit-scrollbar-track {
  background: transparent;
}
html::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  background-clip: padding-box;
  border: 2px solid transparent;
  border-radius: 4px;
}
html::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
  background-clip: padding-box;
}
html {
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--so-text-primary);
  background-color: var(--so-page-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

h1.so-h1,
h2.so-h2,
h3.so-h3,
h4.so-h4,
h5.so-h5,
h6.so-h6 {
  margin: 0;
}

p.so-p {
  margin: 0 0 16px;
}
p.so-p:last-child {
  margin-bottom: 0;
  margin-top: 10px;
}

a.so-a {
  color: var(--so-accent-primary);
  text-decoration: none;
  background-color: transparent;
  transition: color 0.15s ease;
}
a.so-a:hover {
  color: var(--so-accent-primary-hover, #1557b0);
}

ol.so-ol,
ul.so-ul {
  margin: 0;
  padding: 0;
}

hr.so-hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid var(--so-border-color);
  margin: 16px 0;
}

pre.so-pre,
code.so-code,
kbd.so-kbd,
samp.so-samp {
  font-family: "Roboto Mono", "SF Mono", "Monaco", "Consolas", monospace;
  font-size: 1em;
}

code.so-code {
  padding: 0.2em 0.4em;
  font-size: 87.5%;
  background-color: rgba(154, 160, 166, 0.1);
  border-radius: 3px;
}

pre.so-pre {
  margin: 0;
  overflow: auto;
  font-size: 87.5%;
}
pre.so-pre code {
  padding: 0;
  font-size: inherit;
  background-color: transparent;
  border-radius: 0;
}

img,
svg {
  vertical-align: middle;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
}

.material-symbols-rounded {
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
  -webkit-font-smoothing: antialiased;
}

table.so-table {
  border-collapse: collapse;
  border-spacing: 0;
}
table.so-table th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 8px;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
}

b.so-b,
strong.so-strong {
  font-weight: 700;
}

small.so-small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

::-moz-selection {
  background-color: var(--so-accent-primary, #1a73e8);
  color: #fff;
}

::selection {
  background-color: var(--so-accent-primary, #1a73e8);
  color: #fff;
}

::-moz-selection {
  background-color: var(--so-accent-primary, #1a73e8);
  color: #fff;
}

[data-theme=dark] ::-moz-selection {
  background-color: var(--so-accent-primary, #1a73e8);
  color: #fff;
}

[data-theme=dark] ::selection,
[data-theme=dark] ::-moz-selection {
  background-color: var(--so-accent-primary, #1a73e8);
  color: #fff;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible,
.so-focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: 2px;
}

.so-code-content {
  margin: 0 !important;
}

.so-code-block {
  border: 3px solid var(--so-border-color) !important;
}

:root {
  --so-page-bg: #f5f5f5;
  --so-card-bg: #ffffff;
  --so-card-hover-bg: #f1f3f4;
  --so-hover-bg: #f1f3f4;
  --so-bg-primary: #ffffff;
  --so-bg-secondary: #f5f5f5;
  --so-bg-subtle: #f1f3f4;
  --so-border-color: #e8eaed;
  --so-card-border: rgba(0, 0, 0, 0.05);
  --so-border-light: rgba(0, 0, 0, 0.03);
  --so-border-dark: #dadce0;
  --so-text-primary: #202124;
  --so-text-heading: #202124;
  --so-text-secondary: #5f6368;
  --so-text-muted: #9aa0a6;
  --so-text-disabled: #bdc1c6;
  --so-accent-primary: #1a73e8;
  --so-accent-primary-hover: #1557b0;
  --so-accent-primary-light: #e8f0fe;
  --so-accent-success: #34a853;
  --so-accent-success-hover: #2d8f47;
  --so-accent-success-light: #e6f4ea;
  --so-accent-danger: #ea4335;
  --so-accent-danger-hover: #d33426;
  --so-accent-danger-light: #fce8e6;
  --so-accent-warning: #ffb300;
  --so-accent-warning-hover: #ff8f00;
  --so-accent-warning-light: #fff8e1;
  --so-warning-fg: #422c00;
  --so-warning-fg-deep: #422c00;
  --so-accent-info: #17a2b8;
  --so-accent-info-hover: #138496;
  --so-accent-info-light: #e0f7fa;
  --so-accent-secondary: #6c757d;
  --so-accent-secondary-hover: #5a6268;
  --so-accent-secondary-light: #f8f9fa;
  --so-accent-light: #f1f3f4;
  --so-accent-light-hover: #e8eaed;
  --so-accent-light-light: #fafafa;
  --so-accent-dark: #202124;
  --so-accent-dark-hover: #3c4043;
  --so-accent-dark-light: #e8eaed;
  --so-primary-rgb: 26, 115, 232;
  --so-primary-bg-subtle: rgba(26, 115, 232, 0.08);
  --so-primary-border-subtle: rgba(26, 115, 232, 0.2);
  --so-primary-bg-emphasis: rgba(26, 115, 232, 0.15);
  --so-primary-text-emphasis: #1557b0;
  --so-primary-focus-ring: rgba(26, 115, 232, 0.2);
  --so-secondary-bg-subtle: rgba(108, 117, 125, 0.08);
  --so-secondary-border-subtle: rgba(108, 117, 125, 0.2);
  --so-secondary-bg-emphasis: rgba(108, 117, 125, 0.15);
  --so-secondary-text-emphasis: #5a6268;
  --so-secondary-focus-ring: rgba(108, 117, 125, 0.2);
  --so-success-bg-subtle: rgba(52, 168, 83, 0.08);
  --so-success-border-subtle: rgba(52, 168, 83, 0.2);
  --so-success-bg-emphasis: rgba(52, 168, 83, 0.15);
  --so-success-text-emphasis: #2d8f47;
  --so-success-focus-ring: rgba(52, 168, 83, 0.2);
  --so-danger-bg-subtle: rgba(234, 67, 53, 0.08);
  --so-danger-border-subtle: rgba(234, 67, 53, 0.2);
  --so-danger-bg-emphasis: rgba(234, 67, 53, 0.15);
  --so-danger-text-emphasis: #d33426;
  --so-danger-focus-ring: rgba(234, 67, 53, 0.2);
  --so-warning-bg-subtle: #fff8e1;
  --so-warning-border-subtle: #ffd54f;
  --so-warning-bg-emphasis: #ffe082;
  --so-warning-text-emphasis: #5f4100;
  --so-warning-focus-ring: rgba(255, 179, 0, 0.35);
  --so-soft-warning-bg: #ffecb3;
  --so-soft-warning-text: #5f4100;
  --so-info-bg-subtle: rgba(23, 162, 184, 0.08);
  --so-info-border-subtle: rgba(23, 162, 184, 0.2);
  --so-info-bg-emphasis: rgba(23, 162, 184, 0.15);
  --so-info-text-emphasis: #138496;
  --so-info-focus-ring: rgba(23, 162, 184, 0.2);
  --so-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15);
  --so-shadow-lg: 0 4px 12px 0 rgba(0, 0, 0, 0.18);
  --so-shadow-xl: 0 8px 24px 0 rgba(0, 0, 0, 0.22);
  --so-form-bg: #ffffff;
  --so-form-border: #dadce0;
  --so-form-border-hover: #bdc1c6;
  --so-form-border-focus: #1a73e8;
  --so-form-text: #202124;
  --so-form-placeholder: #9aa0a6;
  --so-form-disabled-bg: #f1f3f4;
  --so-form-disabled-text: #9aa0a6;
  --so-menu-item-color: #5d596c;
  --so-dropdown-bg: #ffffff;
  --so-dropdown-border: #e8eaed;
  --so-dropdown-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
  --so-dropdown-item-hover: #f1f3f4;
  --so-dropdown-item-active: #e8f0fe;
  --so-dropdown-item-active-text: #1a73e8;
  --so-sidebar-bg: #ffffff;
  --so-sidebar-border: #e8eaed;
  --so-sidebar-text: #5f6368;
  --so-sidebar-text-active: #1a73e8;
  --so-sidebar-icon: #5f6368;
  --so-sidebar-icon-active: #1a73e8;
  --so-sidebar-hover-bg: #f1f3f4;
  --so-sidebar-active-bg: #e8f0fe;
  --so-sidebar-item-color: #5d596c;
  --so-sidebar-item-hover-bg: #f1f3f4;
  --so-sidebar-item-active-bg: linear-gradient(135deg, #1a73e8 0%, #4285f4 100%);
  --so-sidebar-item-active-color: #ffffff;
  --so-sidebar-item-icon-color: #5d596c;
  --so-navbar-bg: #ffffff;
  --so-navbar-border: #e8eaed;
  --so-navbar-shadow: 0 1px 3px 0 rgba(60, 64, 67, 0.15);
  --so-navbar-text-color: #3c4043;
  --so-navbar-icon-color: #5f6368;
  --so-navbar-icon-hover: #202124;
  --so-navbar-brand-color: #202124;
  --so-navbar-brand-hover: #1a73e8;
  --so-navbar-search-bg: #f1f3f4;
  --so-navbar-search-hover-bg: #e8eaed;
  --so-navbar-search-focus-bg: #ffffff;
  --so-navbar-search-border: transparent;
  --so-navbar-search-focus-border: #1a73e8;
  --so-navbar-search-placeholder: #5f6368;
  --so-navbar-height: 56px;
  --so-navbar-height-mobile: 50px;
  --so-sidebar-width: 250px;
  --so-sidebar-collapsed-width: 56px;
  --so-mobile-bottom-bar-height: 60px;
  --so-form-height-sm: 32px;
  --so-form-height-md: 40px;
  --so-form-height-lg: 48px;
  --so-radius-sm: 3px;
  --so-radius-base: 4px;
  --so-radius-md: 6px;
  --so-radius-lg: 8px;
  --so-radius-xl: 10px;
  --so-radius-full: 9999px;
  --so-transition-fast: 0.1s ease;
  --so-transition-base: 0.15s ease;
  --so-transition-normal: 0.2s ease;
  --so-transition-slow: 0.3s ease;
  --so-transition-material: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --so-font-family: Google Sans, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif;
  --so-font-family-mono: Roboto Mono, SF Mono, Monaco, Consolas, monospace;
  --so-text-xs: 0.6875rem;
  --so-text-sm: 0.8125rem;
  --so-text-base: 0.875rem;
  --so-text-md: 0.9375rem;
  --so-text-lg: 1rem;
  --so-text-xl: 1.125rem;
  --so-text-2xl: 1.25rem;
  --so-text-3xl: 1.375rem;
  --so-text-4xl: 1.5rem;
  --so-space-1: 4px;
  --so-space-2: 8px;
  --so-space-3: 12px;
  --so-space-4: 16px;
  --so-space-5: 20px;
  --so-space-6: 24px;
  --so-space-8: 32px;
}

:root[data-theme=dark],
html[data-theme=dark] {
  --so-page-bg: #25293c;
  --so-card-bg: #2f3349;
  --so-card-hover-bg: #3b4056;
  --so-hover-bg: #3b4056;
  --so-bg-primary: #2f3349;
  --so-bg-secondary: #25293c;
  --so-bg-subtle: #3b4056;
  --so-border-color: #3b4056;
  --so-card-border: rgba(255, 255, 255, 0.05);
  --so-border-light: rgba(255, 255, 255, 0.03);
  --so-border-dark: #474d64;
  --so-text-primary: #d0d4e4;
  --so-text-heading: #e7e9f0;
  --so-text-secondary: #a3a8b8;
  --so-text-muted: #6c7293;
  --so-text-disabled: #4a5068;
  --so-accent-primary: #5b9ef5;
  --so-accent-primary-hover: #7db4f8;
  --so-accent-primary-light: rgba(91, 158, 245, 0.15);
  --so-accent-success: #28c76f;
  --so-accent-success-hover: #48da89;
  --so-accent-success-light: rgba(40, 199, 111, 0.15);
  --so-accent-danger: #ea5455;
  --so-accent-danger-hover: #f08182;
  --so-accent-danger-light: rgba(234, 84, 85, 0.15);
  --so-accent-warning: #ffca28;
  --so-accent-warning-hover: #ffd54f;
  --so-accent-warning-light: rgba(255, 202, 40, 0.16);
  --so-warning-fg: #422c00;
  --so-warning-fg-deep: #422c00;
  --so-accent-info: #00cfe8;
  --so-accent-info-hover: #33d8ec;
  --so-accent-info-light: rgba(0, 207, 232, 0.15);
  --so-accent-secondary: #8f96a3;
  --so-accent-secondary-hover: #a3a9b5;
  --so-accent-secondary-light: rgba(143, 150, 163, 0.15);
  --so-accent-light: #3b4056;
  --so-accent-light-hover: #474d64;
  --so-accent-light-light: rgba(59, 64, 86, 0.15);
  --so-accent-dark: #d0d4e4;
  --so-accent-dark-hover: #e7e9f0;
  --so-accent-dark-light: rgba(208, 212, 228, 0.15);
  --so-primary-rgb: 91, 158, 245;
  --so-primary-bg-subtle: rgba(91, 158, 245, 0.1);
  --so-primary-border-subtle: rgba(91, 158, 245, 0.25);
  --so-primary-bg-emphasis: rgba(91, 158, 245, 0.2);
  --so-primary-text-emphasis: #7db4f8;
  --so-primary-focus-ring: rgba(91, 158, 245, 0.25);
  --so-secondary-bg-subtle: rgba(143, 150, 163, 0.1);
  --so-secondary-border-subtle: rgba(143, 150, 163, 0.25);
  --so-secondary-bg-emphasis: rgba(143, 150, 163, 0.2);
  --so-secondary-text-emphasis: #a3a9b5;
  --so-secondary-focus-ring: rgba(143, 150, 163, 0.25);
  --so-success-bg-subtle: rgba(40, 199, 111, 0.1);
  --so-success-border-subtle: rgba(40, 199, 111, 0.25);
  --so-success-bg-emphasis: rgba(40, 199, 111, 0.2);
  --so-success-text-emphasis: #48da89;
  --so-success-focus-ring: rgba(40, 199, 111, 0.25);
  --so-danger-bg-subtle: rgba(234, 84, 85, 0.1);
  --so-danger-border-subtle: rgba(234, 84, 85, 0.25);
  --so-danger-bg-emphasis: rgba(234, 84, 85, 0.2);
  --so-danger-text-emphasis: #f08182;
  --so-danger-focus-ring: rgba(234, 84, 85, 0.25);
  --so-warning-bg-subtle: rgba(255, 202, 40, 0.12);
  --so-warning-border-subtle: rgba(255, 202, 40, 0.3);
  --so-warning-bg-emphasis: rgba(255, 202, 40, 0.25);
  --so-warning-text-emphasis: #ffd54f;
  --so-warning-focus-ring: rgba(255, 202, 40, 0.35);
  --so-soft-warning-bg: rgba(255, 202, 40, 0.16);
  --so-soft-warning-text: #ffd54f;
  --so-info-bg-subtle: rgba(0, 207, 232, 0.1);
  --so-info-border-subtle: rgba(0, 207, 232, 0.25);
  --so-info-bg-emphasis: rgba(0, 207, 232, 0.2);
  --so-info-text-emphasis: #33d8ec;
  --so-info-focus-ring: rgba(0, 207, 232, 0.25);
  --so-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  --so-shadow-lg: 0 4px 12px 0 rgba(0, 0, 0, 0.35);
  --so-shadow-xl: 0 8px 24px 0 rgba(0, 0, 0, 0.45);
  --so-form-bg: #25293c;
  --so-form-border: #3b4056;
  --so-form-border-hover: #474d64;
  --so-form-border-focus: #5b9ef5;
  --so-form-text: #d0d4e4;
  --so-form-placeholder: #6c7293;
  --so-form-disabled-bg: #2f3349;
  --so-form-disabled-text: #6c7293;
  --so-menu-item-color: #d0d4e4;
  --so-dropdown-bg: #2f3349;
  --so-dropdown-border: #3b4056;
  --so-dropdown-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  --so-dropdown-item-hover: #3b4056;
  --so-dropdown-item-active: rgba(91, 158, 245, 0.15);
  --so-dropdown-item-active-text: #5b9ef5;
  --so-sidebar-bg: #2f3349;
  --so-sidebar-border: #3b4056;
  --so-sidebar-text: #a3a8b8;
  --so-sidebar-text-active: #5b9ef5;
  --so-sidebar-icon: #a3a8b8;
  --so-sidebar-icon-active: #5b9ef5;
  --so-sidebar-hover-bg: #3b4056;
  --so-sidebar-active-bg: rgba(91, 158, 245, 0.15);
  --so-sidebar-item-color: #d0d4e4;
  --so-sidebar-item-hover-bg: #3b4056;
  --so-sidebar-item-active-bg: #5b9ef5;
  --so-sidebar-item-active-color: #ffffff;
  --so-sidebar-item-icon-color: #a3a8b8;
  --so-navbar-bg: #2f3349;
  --so-navbar-border: #3b4056;
  --so-navbar-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  --so-navbar-text-color: #d0d4e4;
  --so-navbar-icon-color: #a3a8b8;
  --so-navbar-icon-hover: #e7e9f0;
  --so-navbar-brand-color: #e7e9f0;
  --so-navbar-brand-hover: #5b9ef5;
  --so-navbar-search-bg: #25293c;
  --so-navbar-search-hover-bg: #3b4056;
  --so-navbar-search-focus-bg: #25293c;
  --so-navbar-search-border: transparent;
  --so-navbar-search-focus-border: #5b9ef5;
  --so-navbar-search-placeholder: #6c7293;
}

[data-fontsize=xs] {
  --so-text-xs: 0.5rem;
  --so-text-sm: 0.5625rem;
  --so-text-base: 0.625rem;
  --so-text-md: 0.6875rem;
  --so-text-lg: 0.75rem;
  --so-text-xl: 0.875rem;
  --so-text-2xl: 1rem;
  --so-text-3xl: 1.125rem;
  --so-text-4xl: 1.25rem;
}

[data-fontsize=sm] {
  --so-text-xs: 0.5625rem;
  --so-text-sm: 0.6875rem;
  --so-text-base: 0.75rem;
  --so-text-md: 0.8125rem;
  --so-text-lg: 0.875rem;
  --so-text-xl: 1rem;
  --so-text-2xl: 1.125rem;
  --so-text-3xl: 1.25rem;
  --so-text-4xl: 1.375rem;
}

[data-fontsize=lg] {
  --so-text-xs: 0.75rem;
  --so-text-sm: 0.875rem;
  --so-text-base: 0.9375rem;
  --so-text-md: 1rem;
  --so-text-lg: 1.125rem;
  --so-text-xl: 1.25rem;
  --so-text-2xl: 1.375rem;
  --so-text-3xl: 1.5rem;
  --so-text-4xl: 1.75rem;
}

[data-so-sharp=true] {
  --so-radius-sm: 0;
  --so-radius-base: 0;
  --so-radius-md: 0;
  --so-radius-lg: 0;
  --so-radius-xl: 0;
}
[data-so-sharp=true] .so-card,
[data-so-sharp=true] .so-card-header,
[data-so-sharp=true] .so-card-footer,
[data-so-sharp=true] .so-btn,
[data-so-sharp=true] .so-form-control,
[data-so-sharp=true] .so-form-select,
[data-so-sharp=true] .so-input-addon,
[data-so-sharp=true] .so-alert,
[data-so-sharp=true] .so-badge,
[data-so-sharp=true] .so-toast,
[data-so-sharp=true] .so-modal-dialog,
[data-so-sharp=true] .so-dropdown-menu,
[data-so-sharp=true] .so-nav-tabs .so-nav-link,
[data-so-sharp=true] .so-list-group,
[data-so-sharp=true] .so-list-group-item,
[data-so-sharp=true] .so-progress,
[data-so-sharp=true] .so-progress-bar,
[data-so-sharp=true] .so-popover,
[data-so-sharp=true] .so-tooltip-inner,
[data-so-sharp=true] .so-offcanvas,
[data-so-sharp=true] .so-accordion-item,
[data-so-sharp=true] .so-breadcrumb,
[data-so-sharp=true] .so-table,
[data-so-sharp=true] .so-autocomplete-dropdown,
[data-so-sharp=true] .so-autocomplete-container {
  border-radius: 0 !important;
}
[data-so-sharp=true] .so-badge-pill {
  border-radius: 0 !important;
}

[data-so-rounded=true] {
  --so-radius-sm: 6px;
  --so-radius-base: 8px;
  --so-radius-md: 12px;
  --so-radius-lg: 16px;
  --so-radius-xl: 20px;
}
[data-so-rounded=true] .so-card {
  border-radius: 16px !important;
}
[data-so-rounded=true] .so-card-header:first-child {
  border-radius: 16px 16px 0 0 !important;
}
[data-so-rounded=true] .so-card-footer:last-child {
  border-radius: 0 0 16px 16px !important;
}
[data-so-rounded=true] .so-btn {
  border-radius: 12px !important;
}
[data-so-rounded=true] .so-btn-circle {
  border-radius: 50% !important;
}
[data-so-rounded=true] .so-form-control,
[data-so-rounded=true] .so-form-select,
[data-so-rounded=true] .so-autocomplete-container {
  border-radius: 10px !important;
}
[data-so-rounded=true] .so-alert,
[data-so-rounded=true] .so-toast {
  border-radius: 14px !important;
}
[data-so-rounded=true] .so-modal-dialog {
  border-radius: 20px !important;
}
[data-so-rounded=true] .so-dropdown-menu,
[data-so-rounded=true] .so-autocomplete-dropdown {
  border-radius: 14px !important;
}
[data-so-rounded=true] .so-badge {
  border-radius: 10px !important;
}
[data-so-rounded=true] .so-badge-pill {
  border-radius: 9999px !important;
}
[data-so-rounded=true] .so-progress {
  border-radius: 12px !important;
}
[data-so-rounded=true] .so-input-group > :first-child {
  border-radius: 10px 0 0 10px !important;
}
[data-so-rounded=true] .so-input-group > :last-child {
  border-radius: 0 10px 10px 0 !important;
}

[data-so-compact=true] {
  --so-space-1: 4px;
  --so-space-2: 8px;
  --so-space-3: 12px;
  --so-space-4: 16px;
  --so-space-5: 24px;
  --so-space-6: 32px;
  --so-space-8: 48px;
}
[data-so-compact=true] .so-card-body {
  padding: 12px !important;
}
[data-so-compact=true] .so-card-header,
[data-so-compact=true] .so-card-footer {
  padding: 8px 12px !important;
}
[data-so-compact=true] .so-form-control,
[data-so-compact=true] .so-form-select {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}
[data-so-compact=true] .so-table td,
[data-so-compact=true] .so-table th {
  padding: 6px 10px !important;
}
[data-so-compact=true] .so-btn {
  padding: 4px 12px !important;
}
[data-so-compact=true] .so-btn-sm {
  padding: 2px 8px !important;
}
[data-so-compact=true] .so-navbar {
  height: 48px !important;
}

[data-so-flat-cards=true] .so-card {
  box-shadow: none !important;
}

[data-so-bordered-cards=true] .so-card {
  border: 1px solid var(--so-border-color) !important;
}

[data-so-thick-bordered-cards=true] .so-card {
  border: 3px solid var(--so-border-color) !important;
}

.so-sidebar.sidebar-dark,
.so-drawer-sidebar.drawer-sidebar-dark {
  --so-text-heading: #e7e9f0;
  --so-text-muted: #6c7293;
  --so-text-secondary: #a3a8b8;
  --so-menu-item-color: #d0d4e4;
  --so-border-color: #3b4056;
  --so-card-bg: #2f3349;
  --so-card-hover-bg: #3b4056;
  --so-accent-primary: #5b9ef5;
  --so-dropdown-bg: #2f3349;
  --so-dropdown-border: #3b4056;
  --so-dropdown-item-hover: #3b4056;
  --so-form-bg: #3b4056;
  --so-form-border: transparent;
  --so-form-text: #e7e9f0;
  --so-form-placeholder: #6c7293;
  --so-sidebar-bg: #2f3349;
  --so-sidebar-border: #3b4056;
  --so-sidebar-text: #a3a8b8;
  --so-sidebar-text-active: #5b9ef5;
  --so-sidebar-icon: #a3a8b8;
  --so-sidebar-icon-active: #5b9ef5;
  --so-sidebar-hover-bg: #3b4056;
  --so-sidebar-active-bg: rgba(91, 158, 245, 0.15);
  --so-sidebar-section-text: #6c7293;
  --so-sidebar-item-color: #d0d4e4;
  --so-sidebar-item-hover-bg: #3b4056;
  --so-sidebar-item-active-bg: #5b9ef5;
  --so-sidebar-item-active-color: #ffffff;
  --so-sidebar-item-icon-color: #a3a8b8;
}

@media print {
  :root {
    --so-page-bg: #ffffff;
    --so-card-bg: #ffffff;
    --so-text-primary: #000000;
    --so-text-secondary: #333333;
    --so-shadow: none;
    --so-shadow-lg: none;
  }
}
h1.so-h1,
.so-h1 {
  font-family: var(--so-font-family);
  font-size: var(--so-text-4xl);
  font-weight: 500;
  line-height: 1.2;
  color: var(--so-text-heading);
  margin-bottom: 16px;
}

h2.so-h2,
.so-h2 {
  font-family: var(--so-font-family);
  font-size: var(--so-text-3xl);
  font-weight: 500;
  line-height: 1.2;
  color: var(--so-text-heading);
  margin-bottom: 12px;
}

h3.so-h3,
.so-h3 {
  font-family: var(--so-font-family);
  font-size: var(--so-text-3xl);
  font-weight: 500;
  line-height: 1.3;
  color: var(--so-text-heading);
  margin-bottom: 12px;
}

h4.so-h4,
.so-h4 {
  font-family: var(--so-font-family);
  font-size: var(--so-text-xl);
  font-weight: 500;
  line-height: 1.3;
  color: var(--so-text-heading);
  margin-bottom: 8px;
}

h5.so-h5,
.so-h5 {
  font-family: var(--so-font-family);
  font-size: var(--so-text-lg);
  font-weight: 500;
  line-height: 1.4;
  color: var(--so-text-heading);
  margin-bottom: 8px;
}

h6.so-h6,
.so-h6 {
  font-family: var(--so-font-family);
  font-size: var(--so-text-base);
  font-weight: 500;
  line-height: 1.4;
  color: var(--so-text-heading);
  margin-bottom: 8px;
}

ul.so-ul,
ol.so-ol {
  margin-bottom: 16px;
  padding-left: 24px;
}
ul.so-ul li,
ol.so-ol li {
  margin-bottom: 8px;
  line-height: 1.5;
}
ul.so-ul li:last-child,
ol.so-ol li:last-child {
  margin-bottom: 0;
}
ul.so-ul ul, ul.so-ul ol,
ol.so-ol ul,
ol.so-ol ol {
  margin-top: 8px;
  margin-bottom: 0;
}

ul.so-ul {
  list-style-type: disc;
}
ul.so-ul ul {
  list-style-type: circle;
}
ul.so-ul ul ul {
  list-style-type: square;
}

ol.so-ol {
  list-style-type: decimal;
}
ol.so-ol ol {
  list-style-type: lower-alpha;
}
ol.so-ol ol ol {
  list-style-type: lower-roman;
}

.so-list-unstyled {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.so-list-unstyled li {
  margin-bottom: 0;
}

.so-list-inline {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.so-list-inline li {
  margin-bottom: 0;
}

.so-lead {
  font-size: var(--so-text-lg);
  font-weight: 400;
  line-height: 1.5;
  color: var(--so-text-secondary);
}

.so-small,
small.so-small {
  font-size: var(--so-text-sm);
  font-weight: 400;
}

.so-muted {
  color: var(--so-text-muted);
}

.so-text-xs {
  font-size: var(--so-text-xs) !important;
}

.so-text-sm {
  font-size: var(--so-text-sm) !important;
}

.so-text-base {
  font-size: var(--so-text-base) !important;
}

.so-text-md {
  font-size: var(--so-text-md) !important;
}

.so-text-lg {
  font-size: var(--so-text-lg) !important;
}

.so-text-xl {
  font-size: var(--so-text-xl) !important;
}

.so-text-2xl {
  font-size: var(--so-text-2xl) !important;
}

.so-text-3xl {
  font-size: var(--so-text-3xl) !important;
}

.so-text-4xl {
  font-size: var(--so-text-4xl) !important;
}

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

.so-font-regular {
  font-weight: 400 !important;
}

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

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

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

.so-text-heading {
  color: var(--so-text-heading) !important;
}

.so-text-accent {
  color: var(--so-accent-primary) !important;
}

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

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

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

.so-text-justify {
  text-align: justify !important;
}

.so-text-uppercase {
  text-transform: uppercase !important;
  letter-spacing: 0.5px;
}

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

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

.so-text-normal-case {
  text-transform: none !important;
}

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

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

.so-text-no-underline {
  text-decoration: none !important;
}

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

.so-truncate-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.so-truncate-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.so-leading-tight {
  line-height: 1.2 !important;
}

.so-leading-snug {
  line-height: 1.3 !important;
}

.so-leading-normal {
  line-height: 1.4 !important;
}

.so-leading-relaxed {
  line-height: 1.5 !important;
}

.so-leading-loose {
  line-height: 1.6 !important;
}

.so-whitespace-nowrap {
  white-space: nowrap !important;
}

.so-whitespace-normal {
  white-space: normal !important;
}

.so-whitespace-pre {
  white-space: pre !important;
}

.so-whitespace-pre-line {
  white-space: pre-line !important;
}

.so-whitespace-pre-wrap {
  white-space: pre-wrap !important;
}

.so-break-normal {
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.so-break-words {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

.so-break-all {
  word-break: break-all !important;
}

.so-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 0 16px;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: inherit;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  border-radius: 4px;
  border: 1px solid transparent;
  transition: all 0.15s ease;
  position: relative;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-btn:focus {
  outline: none;
}
.so-btn:disabled, .so-btn.disabled {
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none;
}
.so-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-btn:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}
.so-btn .material-symbols-rounded {
  font-size: 21px;
  line-height: 1;
  width: 21px;
  min-width: 21px;
  height: 21px;
  flex-shrink: 0;
}
.so-btn > span:not(.material-symbols-rounded):not([class*=material-symbols-rounded]) {
  line-height: 21px;
}

a.so-btn.so-btn-primary:hover:not(:disabled) {
  color: #ffffff;
}

a.so-btn.so-btn-secondary:hover:not(:disabled) {
  color: #ffffff;
}

a.so-btn.so-btn-success:hover:not(:disabled) {
  color: #ffffff;
}

a.so-btn.so-btn-danger:hover:not(:disabled) {
  color: #ffffff;
}

a.so-btn.so-btn-warning:hover:not(:disabled) {
  color: var(--so-warning-fg);
}

a.so-btn.so-btn-info:hover:not(:disabled) {
  color: #ffffff;
}

a.so-btn.so-btn-light:hover:not(:disabled) {
  color: #3c4043;
}

a.so-btn.so-btn-dark:hover:not(:disabled) {
  color: #ffffff;
}

.so-btn-xs {
  height: 26px;
  padding: 0 8px;
  font-size: 11px;
}
.so-btn-xs .material-symbols-rounded {
  font-size: 14px;
  width: 14px;
  min-width: 14px;
  height: 14px;
}
.so-btn-xs > span:not(.material-symbols-rounded):not([class*=material-symbols-rounded]) {
  line-height: 14px;
}

.so-btn-sm {
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
}
.so-btn-sm .material-symbols-rounded {
  font-size: 16px;
  width: 16px;
  min-width: 16px;
  height: 16px;
}
.so-btn-sm > span:not(.material-symbols-rounded):not([class*=material-symbols-rounded]) {
  line-height: 16px;
}

.so-btn-lg {
  height: 48px;
  padding: 0 24px;
  font-size: 15px;
}
.so-btn-lg .material-symbols-rounded {
  font-size: 20px;
  width: 20px;
  min-width: 20px;
  height: 20px;
}
.so-btn-lg > span:not(.material-symbols-rounded):not([class*=material-symbols-rounded]) {
  line-height: 20px;
}

.so-btn-icon {
  width: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.so-btn-icon .material-symbols-rounded {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.so-btn-icon.so-btn-xs {
  width: 26px;
  height: 26px;
}
.so-btn-icon.so-btn-sm {
  width: 32px;
  height: 32px;
}
.so-btn-icon.so-btn-lg {
  width: 48px;
  height: 48px;
}

.so-btn-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
  border-color: var(--so-accent-primary);
}
.so-btn-primary:hover:not(:disabled) {
  background: var(--so-accent-primary-hover, #1557b0);
  border-color: var(--so-accent-primary-hover, #1557b0);
}
.so-btn-primary:focus {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
[data-theme=dark] .so-btn-primary:focus {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-btn-secondary {
  background: var(--so-accent-secondary);
  color: #ffffff;
  border-color: var(--so-accent-secondary);
}
.so-btn-secondary:hover:not(:disabled) {
  background: var(--so-accent-secondary-hover);
  border-color: var(--so-accent-secondary-hover);
}
.so-btn-secondary:focus {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-btn:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-link]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft]) {
  background: var(--so-card-bg);
  color: var(--so-text-secondary);
  border-color: var(--so-border-color);
}
.so-btn:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-link]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft]):hover:not(:disabled) {
  background: var(--so-card-hover-bg);
}
.so-btn:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-link]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft]):focus {
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-btn:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-link]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft])::after {
  background: rgba(0, 0, 0, 0.1);
}

.so-btn-success {
  background: var(--so-accent-success);
  color: #ffffff;
  border-color: var(--so-accent-success);
}
.so-btn-success:hover:not(:disabled) {
  background: var(--so-accent-success-hover, #2d8f47);
  border-color: var(--so-accent-success-hover, #2d8f47);
}
.so-btn-success:focus {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-btn-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
  border-color: var(--so-accent-danger);
}
.so-btn-danger:hover:not(:disabled) {
  background: var(--so-accent-danger-hover, #d33426);
  border-color: var(--so-accent-danger-hover, #d33426);
}
.so-btn-danger:focus {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-btn-warning {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
  border-color: var(--so-accent-warning);
}
.so-btn-warning:hover:not(:disabled) {
  background: var(--so-accent-warning-hover, #ff8f00);
  border-color: var(--so-accent-warning-hover, #ff8f00);
}
.so-btn-warning::after {
  background: rgba(0, 0, 0, 0.15);
}
.so-btn-warning:focus {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-btn-info {
  background: var(--so-accent-info);
  color: #ffffff;
  border-color: var(--so-accent-info);
}
.so-btn-info:hover:not(:disabled) {
  background: var(--so-accent-info-hover, #138496);
  border-color: var(--so-accent-info-hover, #138496);
}
.so-btn-info:focus {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-btn-ghost {
  background: transparent;
  color: var(--so-text-secondary);
  border-color: transparent;
}
.so-btn-ghost:hover:not(:disabled) {
  background: var(--so-card-hover-bg);
}
.so-btn-ghost:focus {
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.15);
}
.so-btn-ghost::after {
  background: rgba(0, 0, 0, 0.1);
}
.so-btn-ghost.so-btn-primary {
  color: var(--so-accent-primary);
  background: transparent;
  border-color: transparent;
}
.so-btn-ghost.so-btn-primary:hover:not(:disabled) {
  background: var(--so-accent-primary-light, #e8f0fe);
}
.so-btn-ghost.so-btn-danger {
  color: var(--so-accent-danger);
  background: transparent;
  border-color: transparent;
}
.so-btn-ghost.so-btn-danger:hover:not(:disabled) {
  background: var(--so-accent-danger-light, #fce8e6);
}
.so-btn-ghost.so-btn-success {
  color: var(--so-accent-success);
  background: transparent;
  border-color: transparent;
}
.so-btn-ghost.so-btn-success:hover:not(:disabled) {
  background: var(--so-accent-success-light, #e6f4ea);
}
.so-btn-ghost.so-btn-info {
  color: var(--so-accent-info);
  background: transparent;
  border-color: transparent;
}
.so-btn-ghost.so-btn-info:hover:not(:disabled) {
  background: var(--so-accent-info-light, #e0f7fa);
}
.so-btn-ghost.so-btn-warning {
  color: var(--so-soft-warning-text);
  background: transparent;
  border-color: transparent;
}
.so-btn-ghost.so-btn-warning:hover:not(:disabled) {
  background: var(--so-soft-warning-bg);
}
.so-btn-ghost.so-btn-secondary {
  color: #6c757d;
  background: transparent;
  border-color: transparent;
}
.so-btn-ghost.so-btn-secondary:hover:not(:disabled) {
  background: #e8eaed;
}
.so-btn-ghost.so-btn-dark {
  color: #202124;
  background: transparent;
  border-color: transparent;
}
.so-btn-ghost.so-btn-dark:hover:not(:disabled) {
  background: #e8eaed;
}
.so-btn-ghost.so-btn-light {
  color: #80868b;
  background: transparent;
  border-color: transparent;
}
.so-btn-ghost.so-btn-light:hover:not(:disabled) {
  background: #f1f3f4;
}

.so-btn-link {
  background: transparent;
  color: var(--so-accent-primary);
  border-color: transparent;
  padding: 0;
  height: auto;
}
.so-btn-link:hover:not(:disabled) {
  text-decoration: underline;
  background: transparent;
}
.so-btn-link:focus {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-btn-link::after {
  display: none;
}

.so-btn-outline {
  background: transparent;
  color: var(--so-text-secondary);
  border-color: var(--so-border-color);
}
.so-btn-outline:hover:not(:disabled) {
  background: var(--so-card-hover-bg);
  border-color: var(--so-border-dark, #dadce0);
}
.so-btn-outline:focus {
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-btn-outline::after {
  background: rgba(0, 0, 0, 0.1);
}

.so-btn-outline-primary {
  background: transparent;
  color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-btn-outline-primary:hover:not(:disabled) {
  background: var(--so-accent-primary);
  color: #ffffff;
}
.so-btn-outline-primary:focus {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-btn-outline-success {
  background: transparent;
  color: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-btn-outline-success:hover:not(:disabled) {
  background: var(--so-accent-success);
  color: #ffffff;
}
.so-btn-outline-success:focus {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-btn-outline-danger {
  background: transparent;
  color: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}
.so-btn-outline-danger:hover:not(:disabled) {
  background: var(--so-accent-danger);
  color: #ffffff;
}
.so-btn-outline-danger:focus {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-btn-outline-warning {
  background: transparent;
  color: var(--so-warning-text-emphasis);
  border-color: var(--so-accent-warning);
}
.so-btn-outline-warning:hover:not(:disabled) {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
  border-color: var(--so-accent-warning);
}
.so-btn-outline-warning:focus {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-btn-outline-info {
  background: transparent;
  color: var(--so-accent-info);
  border-color: var(--so-accent-info);
}
.so-btn-outline-info:hover:not(:disabled) {
  background: var(--so-accent-info);
  color: #ffffff;
}
.so-btn-outline-info:focus {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-btn-outline-secondary {
  background: transparent;
  color: var(--so-accent-secondary);
  border-color: var(--so-accent-secondary);
}
.so-btn-outline-secondary:hover:not(:disabled) {
  background: var(--so-accent-secondary);
  color: #ffffff;
}
.so-btn-outline-secondary:focus {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-btn-outline-dark {
  background: transparent;
  color: #202124;
  border-color: #202124;
}
.so-btn-outline-dark:hover:not(:disabled) {
  background: #202124;
  color: #ffffff;
}
.so-btn-outline-dark:focus {
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.2);
}

.so-btn-outline-light {
  background: transparent;
  color: #80868b;
  border-color: #dadce0;
}
.so-btn-outline-light:hover:not(:disabled) {
  background: #f1f3f4;
  color: #3c4043;
}
.so-btn-outline-light:focus {
  box-shadow: 0 0 0 3px rgba(189, 193, 198, 0.2);
}

.so-btn-light-primary {
  background: var(--so-accent-primary-light, #e8f0fe);
  color: var(--so-accent-primary);
  border-color: transparent;
}
.so-btn-light-primary:hover:not(:disabled) {
  background: var(--so-accent-primary);
  color: #ffffff;
}
.so-btn-light-primary:focus {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-btn-light-success {
  background: var(--so-accent-success-light, #e6f4ea);
  color: var(--so-accent-success);
  border-color: transparent;
}
.so-btn-light-success:hover:not(:disabled) {
  background: var(--so-accent-success);
  color: #ffffff;
}
.so-btn-light-success:focus {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-btn-light-danger {
  background: var(--so-accent-danger-light, #fce8e6);
  color: var(--so-accent-danger);
  border-color: transparent;
}
.so-btn-light-danger:hover:not(:disabled) {
  background: var(--so-accent-danger);
  color: #ffffff;
}
.so-btn-light-danger:focus {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-btn-light-warning {
  background: var(--so-soft-warning-bg);
  color: var(--so-soft-warning-text);
  border-color: transparent;
}
.so-btn-light-warning:hover:not(:disabled) {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
}
.so-btn-light-warning:focus {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-btn-light-info {
  background: var(--so-accent-info-light, #e0f7fa);
  color: var(--so-accent-info);
  border-color: transparent;
}
.so-btn-light-info:hover:not(:disabled) {
  background: var(--so-accent-info);
  color: #ffffff;
}
.so-btn-light-info:focus {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-btn-light-secondary {
  background: #e8eaed;
  color: #6c757d;
  border-color: transparent;
}
.so-btn-light-secondary:hover:not(:disabled) {
  background: #6c757d;
  color: #ffffff;
}
.so-btn-light-secondary:focus {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-btn-light-dark {
  background: #e8eaed;
  color: #202124;
  border-color: transparent;
}
.so-btn-light-dark:hover:not(:disabled) {
  background: #202124;
  color: #ffffff;
}
.so-btn-light-dark:focus {
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.2);
}

.so-btn-light-light {
  background: #f8f9fa;
  color: #80868b;
  border-color: transparent;
}
.so-btn-light-light:hover:not(:disabled) {
  background: #f1f3f4;
  color: #3c4043;
}
.so-btn-light-light:focus {
  box-shadow: 0 0 0 3px rgba(189, 193, 198, 0.2);
}

.so-btn-soft-secondary {
  background: var(--so-card-bg);
  color: var(--so-form-text);
  border-color: var(--so-border-color);
}
.so-btn-soft-secondary:hover:not(:disabled) {
  background: var(--so-card-bg);
  border-color: var(--so-border-dark);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.so-btn-soft-secondary:focus {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-btn-dark {
  background: #202124;
  color: #ffffff;
  border-color: #202124;
}
.so-btn-dark:hover:not(:disabled) {
  background: #3c4043;
  border-color: #3c4043;
}
.so-btn-dark:focus {
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.2);
}

.so-btn-light {
  background: #f1f3f4;
  color: #3c4043;
  border-color: #e8eaed;
}
.so-btn-light:hover:not(:disabled) {
  background: #e8eaed;
  border-color: #dadce0;
}
.so-btn-light:focus {
  box-shadow: 0 0 0 3px rgba(189, 193, 198, 0.2);
}

.so-btn-circle {
  border-radius: 9999px;
}
.so-btn-circle.so-btn-icon {
  border-radius: 9999px;
}

.so-btn-avatar {
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 0.875rem;
  text-transform: uppercase;
}
.so-btn-avatar.so-btn-xs {
  width: 26px;
  height: 26px;
  font-size: 0.625rem;
}
.so-btn-avatar.so-btn-sm {
  width: 32px;
  height: 32px;
  font-size: 0.75rem;
}
.so-btn-avatar.so-btn-lg {
  width: 48px;
  height: 48px;
  font-size: 1rem;
}
.so-btn-avatar.so-btn-xl {
  width: 56px;
  height: 56px;
  font-size: 1.25rem;
}

.so-btn-block {
  display: flex;
  width: 100%;
}

.so-btn-group {
  display: inline-flex;
}
.so-btn-group .so-btn {
  border-radius: 0;
}
.so-btn-group .so-btn:first-child {
  border-radius: 4px 0 0 4px;
}
.so-btn-group .so-btn:last-child {
  border-radius: 0 4px 4px 0;
}
.so-btn-group .so-btn:not(:first-child) {
  margin-left: -1px;
}
.so-btn-group .so-btn:only-child {
  border-radius: 4px;
}
.so-btn-group .so-btn.so-active {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  border-color: var(--so-border-color);
  z-index: 1;
}
.so-btn-group .so-btn-outline {
  border-color: var(--so-border-color);
}
.so-btn-group .so-btn-outline-primary {
  border-color: var(--so-accent-primary);
}
.so-btn-group .so-btn-outline-success {
  border-color: var(--so-accent-success);
}
.so-btn-group .so-btn-outline-danger {
  border-color: var(--so-accent-danger);
}
.so-btn-group .so-btn-outline-warning {
  border-color: var(--so-soft-warning-text);
}
.so-btn-group .so-btn-outline-info {
  border-color: var(--so-accent-info);
}
.so-btn-group .so-btn-outline-secondary {
  border-color: #6c757d;
}
.so-btn-group .so-btn-primary + .so-btn-primary {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-secondary + .so-btn-secondary {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-success + .so-btn-success {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-danger + .so-btn-danger {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-warning + .so-btn-warning {
  border-left: 1px solid rgba(0, 0, 0, 0.15);
}
.so-btn-group .so-btn-info + .so-btn-info {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-light + .so-btn-light {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.so-btn-group .so-btn-dark + .so-btn-dark {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}
.so-btn-group .so-btn-outline + .so-btn-outline {
  border-left: 1px solid var(--so-border-color);
}
.so-btn-group .so-btn-outline-primary + .so-btn-outline-primary {
  border-left: 1px solid var(--so-accent-primary);
}
.so-btn-group .so-btn-outline-success + .so-btn-outline-success {
  border-left: 1px solid var(--so-accent-success);
}
.so-btn-group .so-btn-outline-danger + .so-btn-outline-danger {
  border-left: 1px solid var(--so-accent-danger);
}
.so-btn-group .so-btn-outline-warning + .so-btn-outline-warning {
  border-left: 1px solid var(--so-soft-warning-text);
}
.so-btn-group .so-btn-outline-info + .so-btn-outline-info {
  border-left: 1px solid var(--so-accent-info);
}
.so-btn-group .so-btn-outline-secondary + .so-btn-outline-secondary {
  border-left: 1px solid #6c757d;
}
.so-btn-group .so-dropdown:last-child .so-btn {
  border-radius: 0 4px 4px 0;
  margin-left: -1px;
}
.so-btn-group .so-dropdown:only-child .so-btn {
  border-radius: 4px;
  margin-left: 0;
}

.so-btn-group-vertical {
  display: inline-flex;
  flex-direction: column;
}
.so-btn-group-vertical .so-btn {
  border-radius: 0;
}
.so-btn-group-vertical .so-btn:first-child {
  border-radius: 4px 4px 0 0;
}
.so-btn-group-vertical .so-btn:last-child {
  border-radius: 0 0 4px 4px;
}
.so-btn-group-vertical .so-btn:not(:first-child) {
  margin-top: -1px;
}
.so-btn-group-vertical .so-btn:only-child {
  border-radius: 4px;
}
.so-btn-group-vertical .so-btn.so-active {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  border-color: var(--so-dropdown-item-active-text);
  z-index: 1;
}

.so-btn-group-block {
  display: flex;
  width: 100%;
}
.so-btn-group-block .so-btn {
  flex: 1;
}

.so-btn-group-vertical.so-btn-group-block {
  width: 100%;
}
.so-btn-group-vertical.so-btn-group-block .so-btn {
  flex: none;
  width: 100%;
}

.so-btn-group-sm .so-btn,
.so-btn-group-vertical.so-btn-group-sm .so-btn {
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
}
.so-btn-group-sm .so-btn .material-symbols-rounded,
.so-btn-group-vertical.so-btn-group-sm .so-btn .material-symbols-rounded {
  font-size: 16px;
  width: 16px;
  height: 16px;
}
.so-btn-group-sm .so-btn-icon,
.so-btn-group-vertical.so-btn-group-sm .so-btn-icon {
  width: 32px;
  padding: 0;
}

.so-btn-group-lg .so-btn,
.so-btn-group-vertical.so-btn-group-lg .so-btn {
  height: 48px;
  padding: 0 24px;
  font-size: 15px;
}
.so-btn-group-lg .so-btn .material-symbols-rounded,
.so-btn-group-vertical.so-btn-group-lg .so-btn .material-symbols-rounded {
  font-size: 20px;
  width: 20px;
  height: 20px;
}
.so-btn-group-lg .so-btn-icon,
.so-btn-group-vertical.so-btn-group-lg .so-btn-icon {
  width: 48px;
  padding: 0;
}

.so-btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.so-btn-check:checked + .so-btn {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  border-color: var(--so-border-color);
  z-index: 1;
}
.so-btn-check:focus-visible + .so-btn {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-btn-check:disabled + .so-btn {
  opacity: 0.6;
  pointer-events: none;
  cursor: not-allowed;
}
.so-btn-check:checked:focus-visible + .so-btn {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-btn-check:checked + .so-btn-outline-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
  border-color: var(--so-accent-primary);
}

.so-btn-check:checked + .so-btn-outline-secondary {
  background: #6c757d;
  color: #ffffff;
  border-color: #6c757d;
}

.so-btn-check:checked + .so-btn-outline-success {
  background: var(--so-accent-success);
  color: #ffffff;
  border-color: var(--so-accent-success);
}

.so-btn-check:checked + .so-btn-outline-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
  border-color: var(--so-accent-danger);
}

.so-btn-check:checked + .so-btn-outline-warning {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
  border-color: var(--so-accent-warning);
}

.so-btn-check:checked + .so-btn-outline-info {
  background: var(--so-accent-info);
  color: #ffffff;
  border-color: var(--so-accent-info);
}

.so-btn-check:checked + .so-btn-outline {
  background: var(--so-card-hover-bg);
  border-color: var(--so-border-dark, #bdc1c6);
}

.so-btn-check:checked + .so-btn-ghost {
  background: var(--so-card-hover-bg);
}

.so-btn-check:checked + .so-btn-light-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-btn-check:checked + .so-btn-light-success {
  background: var(--so-accent-success);
  color: #ffffff;
}

.so-btn-check:checked + .so-btn-light-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
}

.so-btn-check:checked + .so-btn-light-warning {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
}

.so-btn-check:checked + .so-btn-light-info {
  background: var(--so-accent-info);
  color: #ffffff;
}

.so-btn-check:not(:checked) + .so-btn-outline-primary:hover:not(:disabled) {
  background: var(--so-accent-primary-light, #e8f0fe);
  color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}

.so-btn-check:not(:checked) + .so-btn-outline-secondary:hover:not(:disabled) {
  background: #f1f3f4;
  color: #6c757d;
  border-color: #6c757d;
}

.so-btn-check:not(:checked) + .so-btn-outline-success:hover:not(:disabled) {
  background: var(--so-accent-success-light, #e6f4ea);
  color: var(--so-accent-success);
  border-color: var(--so-accent-success);
}

.so-btn-check:not(:checked) + .so-btn-outline-danger:hover:not(:disabled) {
  background: var(--so-accent-danger-light, #fce8e6);
  color: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}

.so-btn-check:not(:checked) + .so-btn-outline-warning:hover:not(:disabled) {
  background: var(--so-soft-warning-bg);
  color: var(--so-soft-warning-text);
  border-color: var(--so-soft-warning-text);
}

.so-btn-check:not(:checked) + .so-btn-outline-info:hover:not(:disabled) {
  background: var(--so-accent-info-light, #e0f7fa);
  color: var(--so-accent-info);
  border-color: var(--so-accent-info);
}

.so-btn-check:checked + .so-btn-primary:hover:not(:disabled),
.so-btn-check:checked + .so-btn-secondary:hover:not(:disabled),
.so-btn-check:checked + .so-btn-success:hover:not(:disabled),
.so-btn-check:checked + .so-btn-danger:hover:not(:disabled),
.so-btn-check:checked + .so-btn-info:hover:not(:disabled),
.so-btn-check:checked + .so-btn-dark:hover:not(:disabled),
.so-btn-check:checked + .so-btn-outline-primary:hover:not(:disabled),
.so-btn-check:checked + .so-btn-outline-secondary:hover:not(:disabled),
.so-btn-check:checked + .so-btn-outline-success:hover:not(:disabled),
.so-btn-check:checked + .so-btn-outline-danger:hover:not(:disabled),
.so-btn-check:checked + .so-btn-outline-info:hover:not(:disabled),
.so-btn-check:checked + .so-btn-light-primary:hover:not(:disabled),
.so-btn-check:checked + .so-btn-light-success:hover:not(:disabled),
.so-btn-check:checked + .so-btn-light-danger:hover:not(:disabled),
.so-btn-check:checked + .so-btn-light-info:hover:not(:disabled) {
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.45);
  filter: brightness(0.9);
}

.so-btn-check:checked + .so-btn-warning:hover:not(:disabled),
.so-btn-check:checked + .so-btn-outline-warning:hover:not(:disabled),
.so-btn-check:checked + .so-btn-light-warning:hover:not(:disabled),
.so-btn-check:checked + .so-btn-light:hover:not(:disabled) {
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.22);
  filter: brightness(0.95);
}

.so-btn-check:checked + .so-btn-outline:hover:not(:disabled),
.so-btn-check:checked + .so-btn-ghost:hover:not(:disabled) {
  box-shadow: inset 0 0 0 2px var(--so-border-dark, #bdc1c6);
}

.so-btn-check:checked + .so-btn:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-link]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft]):hover:not(:disabled) {
  box-shadow: inset 0 0 0 2px var(--so-border-dark, #bdc1c6);
}

.so-btn-group .so-btn-check:checked + .so-btn,
.so-btn-group-vertical .so-btn-check:checked + .so-btn {
  z-index: 1;
}
.so-btn-group .so-btn-check + .so-btn,
.so-btn-group-vertical .so-btn-check + .so-btn {
  border-radius: 0;
}
.so-btn-group .so-btn-check:first-of-type + .so-btn,
.so-btn-group-vertical .so-btn-check:first-of-type + .so-btn {
  border-radius: 4px 0 0 4px;
}
.so-btn-group .so-btn-check:last-of-type + .so-btn,
.so-btn-group-vertical .so-btn-check:last-of-type + .so-btn {
  border-radius: 0 4px 4px 0;
}
.so-btn-group .so-btn-check:only-of-type + .so-btn,
.so-btn-group-vertical .so-btn-check:only-of-type + .so-btn {
  border-radius: 4px;
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn {
  margin-left: -1px;
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-outline,
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn:not([class*=btn-outline-]):not([class*=btn-primary]):not([class*=btn-secondary]):not([class*=btn-success]):not([class*=btn-danger]):not([class*=btn-warning]):not([class*=btn-info]):not([class*=btn-light]):not([class*=btn-dark]):not([class*=btn-ghost]),
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-outline,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn:not([class*=btn-outline-]):not([class*=btn-primary]):not([class*=btn-secondary]):not([class*=btn-success]):not([class*=btn-danger]):not([class*=btn-warning]):not([class*=btn-info]):not([class*=btn-light]):not([class*=btn-dark]):not([class*=btn-ghost]) {
  border-left: 1px solid var(--so-border-color);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-primary,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-primary {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-secondary,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-secondary {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-success,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-success {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-danger,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-danger {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-warning,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-warning {
  border-left: 1px solid rgba(0, 0, 0, 0.15);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-info,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-info {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-light,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-light {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-dark,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-dark {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-outline-primary,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-outline-primary {
  border-left: 1px solid var(--so-accent-primary);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-outline-success,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-outline-success {
  border-left: 1px solid var(--so-accent-success);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-outline-danger,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-outline-danger {
  border-left: 1px solid var(--so-accent-danger);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-outline-warning,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-outline-warning {
  border-left: 1px solid var(--so-accent-warning);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-outline-info,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-outline-info {
  border-left: 1px solid var(--so-accent-info);
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-outline-secondary,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-outline-secondary {
  border-left: 1px solid #6c757d;
}
.so-btn-group .so-btn-check:not(:first-of-type) + .so-btn-ghost,
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn-ghost {
  border-left: 1px solid var(--so-border-color);
}
.so-btn-group .so-btn-check:checked + .so-btn-outline,
.so-btn-group-vertical .so-btn-check:checked + .so-btn-outline {
  border-left-color: var(--so-dropdown-item-active);
}
.so-btn-group .so-btn-check:checked + .so-btn-outline-primary,
.so-btn-group-vertical .so-btn-check:checked + .so-btn-outline-primary {
  border-left-color: var(--so-accent-primary);
}
.so-btn-group .so-btn-check:checked + .so-btn-outline-success,
.so-btn-group-vertical .so-btn-check:checked + .so-btn-outline-success {
  border-left-color: var(--so-accent-success);
}
.so-btn-group .so-btn-check:checked + .so-btn-outline-danger,
.so-btn-group-vertical .so-btn-check:checked + .so-btn-outline-danger {
  border-left-color: var(--so-accent-danger);
}
.so-btn-group .so-btn-check:checked + .so-btn-outline-warning,
.so-btn-group-vertical .so-btn-check:checked + .so-btn-outline-warning {
  border-left-color: var(--so-accent-warning);
}
.so-btn-group .so-btn-check:checked + .so-btn-outline-info,
.so-btn-group-vertical .so-btn-check:checked + .so-btn-outline-info {
  border-left-color: var(--so-accent-info);
}
.so-btn-group .so-btn-check:checked + .so-btn-outline-secondary,
.so-btn-group-vertical .so-btn-check:checked + .so-btn-outline-secondary {
  border-left-color: #6c757d;
}
.so-btn-group .so-btn-check:first-of-type:checked + .so-btn,
.so-btn-group-vertical .so-btn-check:first-of-type:checked + .so-btn {
  border-left-color: transparent;
}

.so-btn-group-vertical .so-btn-check:first-of-type + .so-btn {
  border-radius: 4px 4px 0 0;
}
.so-btn-group-vertical .so-btn-check:last-of-type + .so-btn {
  border-radius: 0 0 4px 4px;
}
.so-btn-group-vertical .so-btn-check:not(:first-of-type) + .so-btn {
  margin-left: 0;
  margin-top: -1px;
}

.so-btn.btn-hover-soft.so-btn-primary:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-outline-primary:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-light-primary:hover:not(:disabled) {
  background: var(--so-accent-primary-light, #e8f0fe) !important;
  color: var(--so-accent-primary) !important;
  border-color: transparent !important;
}
.so-btn.btn-hover-soft.so-btn-success:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-outline-success:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-light-success:hover:not(:disabled) {
  background: var(--so-accent-success-light, #e6f4ea) !important;
  color: var(--so-accent-success) !important;
  border-color: transparent !important;
}
.so-btn.btn-hover-soft.so-btn-danger:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-outline-danger:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-light-danger:hover:not(:disabled) {
  background: var(--so-accent-danger-light, #fce8e6) !important;
  color: var(--so-accent-danger) !important;
  border-color: transparent !important;
}
.so-btn.btn-hover-soft.so-btn-warning:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-outline-warning:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-light-warning:hover:not(:disabled) {
  background: var(--so-soft-warning-bg) !important;
  color: var(--so-soft-warning-text) !important;
  border-color: transparent !important;
}
.so-btn.btn-hover-soft.so-btn-info:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-outline-info:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-light-info:hover:not(:disabled) {
  background: var(--so-accent-info-light, #e0f7fa) !important;
  color: var(--so-accent-info) !important;
  border-color: transparent !important;
}
.so-btn.btn-hover-soft.so-btn-secondary:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-outline-secondary:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-outline:hover:not(:disabled), .so-btn.btn-hover-soft.so-btn-ghost:hover:not(:disabled) {
  background: var(--so-card-hover-bg) !important;
  color: var(--so-text-primary) !important;
  border-color: transparent !important;
}

.so-btn.btn-hover-solid.so-btn-primary:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-outline-primary:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-light-primary:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-ghost.so-btn-primary:hover:not(:disabled) {
  background: var(--so-accent-primary) !important;
  color: #ffffff !important;
  border-color: var(--so-accent-primary) !important;
}
.so-btn.btn-hover-solid.so-btn-success:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-outline-success:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-light-success:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-ghost.so-btn-success:hover:not(:disabled) {
  background: var(--so-accent-success) !important;
  color: #ffffff !important;
  border-color: var(--so-accent-success) !important;
}
.so-btn.btn-hover-solid.so-btn-danger:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-outline-danger:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-light-danger:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-ghost.so-btn-danger:hover:not(:disabled) {
  background: var(--so-accent-danger) !important;
  color: #ffffff !important;
  border-color: var(--so-accent-danger) !important;
}
.so-btn.btn-hover-solid.so-btn-warning:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-outline-warning:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-light-warning:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-ghost.so-btn-warning:hover:not(:disabled) {
  background: var(--so-accent-warning) !important;
  color: var(--so-warning-fg) !important;
  border-color: var(--so-accent-warning) !important;
}
.so-btn.btn-hover-solid.so-btn-info:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-outline-info:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-light-info:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-ghost.so-btn-info:hover:not(:disabled) {
  background: var(--so-accent-info) !important;
  color: #ffffff !important;
  border-color: var(--so-accent-info) !important;
}
.so-btn.btn-hover-solid.so-btn-secondary:hover:not(:disabled), .so-btn.btn-hover-solid.so-btn-outline-secondary:hover:not(:disabled) {
  background: #6c757d !important;
  color: #ffffff !important;
  border-color: #6c757d !important;
}

.so-btn.btn-hover-darken.so-btn-light-primary:hover:not(:disabled) {
  background: rgb(194.74, 215.7, 252.38) !important;
  color: var(--so-accent-primary) !important;
}
.so-btn.btn-hover-darken.so-btn-light-success:hover:not(:disabled) {
  background: rgb(203.6666666667, 232.4133333333, 211.88) !important;
  color: var(--so-accent-success) !important;
}
.so-btn.btn-hover-darken.so-btn-light-danger:hover:not(:disabled) {
  background: rgb(247.8685714286, 200.3257142857, 195.5714285714) !important;
  color: var(--so-accent-danger) !important;
}
.so-btn.btn-hover-darken.so-btn-light-warning:hover:not(:disabled) {
  background: var(--so-accent-warning) !important;
  color: var(--so-warning-fg) !important;
}
.so-btn.btn-hover-darken.so-btn-light-info:hover:not(:disabled) {
  background: rgb(191.3466666667, 238.5733333333, 244.7333333333) !important;
  color: var(--so-accent-info) !important;
}
.so-btn.btn-hover-darken.so-btn-outline-primary:hover:not(:disabled), .so-btn.btn-hover-darken.so-btn-outline-success:hover:not(:disabled), .so-btn.btn-hover-darken.so-btn-outline-danger:hover:not(:disabled), .so-btn.btn-hover-darken.so-btn-outline-warning:hover:not(:disabled), .so-btn.btn-hover-darken.so-btn-outline-info:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.05) !important;
}
.so-btn.btn-hover-darken.so-btn-ghost:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.08) !important;
}

.so-btn.btn-hover-none:hover:not(:disabled) {
  background: inherit !important;
  color: inherit !important;
  border-color: inherit !important;
  transform: none !important;
}

.so-btn.btn-hover-lift:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18);
}

.so-btn.btn-hover-scale:hover:not(:disabled) {
  transform: scale(1.02);
}

.so-btn.so-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}
.so-btn.so-loading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 2px solid #ffffff;
  border-right-color: transparent;
  border-radius: 50%;
  animation: so-btn-spin 0.6s linear infinite;
  will-change: transform;
  transform-origin: center center;
}
.so-btn.so-loading.so-btn-outline::before, .so-btn.so-loading.so-btn-ghost::before, .so-btn.so-loading.so-btn-link::before {
  border-color: var(--so-text-secondary);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-primary::before {
  border-color: rgb(186.3, 213, 248.1);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-secondary::before {
  border-color: rgb(210.9, 213.6, 216);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-success::before {
  border-color: rgb(194.1, 228.9, 203.4);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-danger::before {
  border-color: rgb(248.7, 198.6, 194.4);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-warning::before {
  border-color: rgb(255, 232.2, 178.5);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-info::before {
  border-color: rgb(185.4, 227.1, 233.7);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light::before {
  border-color: #9aa0a6;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-dark::before {
  border-color: #9aa0a6;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-outline-primary::before {
  border-color: var(--so-accent-primary);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-outline-secondary::before {
  border-color: #6c757d;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-outline-success::before {
  border-color: var(--so-accent-success);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-outline-danger::before {
  border-color: var(--so-accent-danger);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-outline-warning::before {
  border-color: var(--so-accent-warning);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-outline-info::before {
  border-color: var(--so-accent-info);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-outline-light::before {
  border-color: #bdc1c6;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-outline-dark::before {
  border-color: #202124;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light-primary::before {
  border-color: var(--so-accent-primary);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light-secondary::before {
  border-color: #6c757d;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light-success::before {
  border-color: var(--so-accent-success);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light-danger::before {
  border-color: var(--so-accent-danger);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light-warning::before {
  border-color: var(--so-soft-warning-text);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light-info::before {
  border-color: var(--so-accent-info);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light-light::before {
  border-color: #9aa0a6;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-light-dark::before {
  border-color: #202124;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-ghost.so-btn-primary::before {
  border-color: var(--so-accent-primary);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-ghost.so-btn-secondary::before {
  border-color: #6c757d;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-ghost.so-btn-success::before {
  border-color: var(--so-accent-success);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-ghost.so-btn-danger::before {
  border-color: var(--so-accent-danger);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-ghost.so-btn-warning::before {
  border-color: var(--so-accent-warning);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-ghost.so-btn-info::before {
  border-color: var(--so-accent-info);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-ghost.so-btn-light::before {
  border-color: #bdc1c6;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-ghost.so-btn-dark::before {
  border-color: #202124;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-link.so-text-primary::before {
  border-color: var(--so-accent-primary);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-link.so-text-secondary::before {
  border-color: #6c757d;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-link.so-text-success::before {
  border-color: var(--so-accent-success);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-link.so-text-danger::before {
  border-color: var(--so-accent-danger);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-link.so-text-warning::before {
  border-color: var(--so-accent-warning);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-link.so-text-info::before {
  border-color: var(--so-accent-info);
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-link.so-text-light::before {
  border-color: #bdc1c6;
  border-right-color: transparent;
}
.so-btn.so-loading.so-btn-link.so-text-dark::before {
  border-color: #202124;
  border-right-color: transparent;
}

@keyframes so-btn-spin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.so-btn-progress {
  position: relative;
}
.so-btn-progress .so-btn-progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: var(--progress, 0%);
  background: rgba(255, 255, 255, 0.3);
  transition: width 0.3s ease;
  z-index: 0;
  pointer-events: none;
}
.so-btn-progress .so-btn-text {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.so-btn-progress .so-btn-text .material-symbols-rounded {
  font-size: 18px;
  line-height: 1;
}
.so-btn-progress .so-btn-start {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 0;
  margin-right: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  transition: opacity 0.2s ease, max-width 0.2s ease, margin 0.2s ease;
}
.so-btn-progress .so-btn-start .material-symbols-rounded {
  font-size: 18px;
  line-height: 1;
}
.so-btn-progress.so-progressing .so-btn-start {
  max-width: 200px;
  margin-right: 8px;
  opacity: 1;
}
.so-btn-progress .so-btn-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.so-btn-progress .so-btn-icon .material-symbols-rounded {
  font-size: 20px;
  line-height: 1;
}
.so-btn-progress .so-btn-done {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  opacity: 0;
  transform: scale(0);
  z-index: 1;
  transition: opacity 0.3s ease 0.1s, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s;
}
.so-btn-progress .so-btn-done .material-symbols-rounded {
  font-size: 21px;
  line-height: 1;
}
.so-btn-progress.so-btn-xs .so-btn-done .material-symbols-rounded {
  font-size: 14px;
  width: 14px;
  height: 14px;
}
.so-btn-progress.so-btn-sm .so-btn-done .material-symbols-rounded {
  font-size: 16px;
  width: 16px;
  height: 16px;
}
.so-btn-progress.so-completed {
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.so-btn-progress.so-completed .so-btn-progress-bar {
  width: 100%;
}
.so-btn-progress.so-completed .so-btn-text {
  opacity: 0;
  transform: scale(0.8);
}
.so-btn-progress.so-completed .so-btn-start {
  opacity: 0;
}
.so-btn-progress.so-completed .so-btn-icon {
  opacity: 0;
  transform: scale(0.8);
}
.so-btn-progress.so-completed .so-btn-done {
  opacity: 1;
  transform: scale(1);
}
.so-btn-progress.so-btn-outline .so-btn-progress-bar, .so-btn-progress[class*=btn-outline-] .so-btn-progress-bar {
  background: currentColor;
  opacity: 0.15;
}
.so-btn-progress.so-btn-outline.so-completed .so-btn-progress-bar, .so-btn-progress[class*=btn-outline-].so-completed .so-btn-progress-bar {
  opacity: 0.2;
}
.so-btn-progress.so-btn-ghost .so-btn-progress-bar, .so-btn-progress[class*=btn-light-] .so-btn-progress-bar {
  background: currentColor;
  opacity: 0.1;
}
.so-btn-progress.so-btn-ghost.so-completed .so-btn-progress-bar, .so-btn-progress[class*=btn-light-].so-completed .so-btn-progress-bar {
  opacity: 0.15;
}

.so-btn-progress.so-completed.so-btn-primary {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-btn-progress.so-completed.so-btn-secondary {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-btn-progress.so-completed.so-btn-outline-primary, .so-btn-progress.so-completed.so-btn-outline {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
  color: #ffffff;
}
.so-btn-progress.so-completed.so-btn-light-primary {
  background: var(--so-accent-success-light, #e6f4ea);
  color: var(--so-accent-success);
}
.so-btn-progress.so-completed.so-btn-danger {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}

.so-btn-progress.so-completed.btn-done-match.so-btn-primary {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-secondary {
  background: #6c757d;
  border-color: #6c757d;
}
.so-btn-progress.so-completed.btn-done-match.so-btn-success {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-danger {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-warning {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-info {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-outline-primary, .so-btn-progress.so-completed.btn-done-match.so-btn-outline {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  color: #ffffff;
}
.so-btn-progress.so-completed.btn-done-match.so-btn-outline-secondary {
  background: #6c757d;
  border-color: #6c757d;
  color: #ffffff;
}
.so-btn-progress.so-completed.btn-done-match.so-btn-outline-success {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
  color: #ffffff;
}
.so-btn-progress.so-completed.btn-done-match.so-btn-outline-danger {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
  color: #ffffff;
}
.so-btn-progress.so-completed.btn-done-match.so-btn-outline-warning {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
  color: var(--so-warning-fg);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-outline-info {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
  color: #ffffff;
}
.so-btn-progress.so-completed.btn-done-match.so-btn-light-primary {
  background: var(--so-accent-primary-light, #e8f0fe);
  color: var(--so-accent-primary);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-light-secondary {
  background: #e8eaed;
  color: #6c757d;
}
.so-btn-progress.so-completed.btn-done-match.so-btn-light-success {
  background: var(--so-accent-success-light, #e6f4ea);
  color: var(--so-accent-success);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-light-danger {
  background: var(--so-accent-danger-light, #fce8e6);
  color: var(--so-accent-danger);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-light-warning {
  background: var(--so-soft-warning-bg);
  color: var(--so-soft-warning-text);
}
.so-btn-progress.so-completed.btn-done-match.so-btn-light-info {
  background: var(--so-accent-info-light, #e0f7fa);
  color: var(--so-accent-info);
}

.so-btn-progress.so-completed.btn-done-primary {
  background: var(--so-accent-primary) !important;
  border-color: var(--so-accent-primary) !important;
  color: #ffffff !important;
}
.so-btn-progress.so-completed.btn-done-primary[class*=btn-light-] {
  background: var(--so-accent-primary-light, #e8f0fe) !important;
  color: var(--so-accent-primary) !important;
}

.so-btn-progress.so-completed.btn-done-success {
  background: var(--so-accent-success) !important;
  border-color: var(--so-accent-success) !important;
  color: #ffffff !important;
}
.so-btn-progress.so-completed.btn-done-success[class*=btn-light-] {
  background: var(--so-accent-success-light, #e6f4ea) !important;
  color: var(--so-accent-success) !important;
}

.so-btn-progress.so-completed.btn-done-danger {
  background: var(--so-accent-danger) !important;
  border-color: var(--so-accent-danger) !important;
  color: #ffffff !important;
}
.so-btn-progress.so-completed.btn-done-danger[class*=btn-light-] {
  background: var(--so-accent-danger-light, #fce8e6) !important;
  color: var(--so-accent-danger) !important;
}

.so-btn-progress.so-completed.btn-done-warning {
  background: var(--so-accent-warning) !important;
  border-color: var(--so-accent-warning) !important;
  color: var(--so-warning-fg) !important;
}
.so-btn-progress.so-completed.btn-done-warning[class*=btn-light-] {
  background: var(--so-accent-warning-light, #fff8e1) !important;
  color: var(--so-warning-text-emphasis) !important;
}

.so-btn-progress.so-completed.btn-done-info {
  background: var(--so-accent-info) !important;
  border-color: var(--so-accent-info) !important;
  color: #ffffff !important;
}
.so-btn-progress.so-completed.btn-done-info[class*=btn-light-] {
  background: var(--so-accent-info-light, #e0f7fa) !important;
  color: var(--so-accent-info) !important;
}

.so-btn-progress.so-completed.btn-done-secondary {
  background: #6c757d !important;
  border-color: #6c757d !important;
  color: #ffffff !important;
}
.so-btn-progress.so-completed.btn-done-secondary[class*=btn-light-] {
  background: #e8eaed !important;
  color: #6c757d !important;
}

.so-btn[data-loading=true],
.so-btn[data-loading] {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}
.so-btn[data-loading=true]::before,
.so-btn[data-loading]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: so-btn-spin 0.6s linear infinite;
  opacity: 1;
  will-change: transform;
  transform-origin: center center;
}
.so-btn[data-loading=true].so-btn-primary::before,
.so-btn[data-loading].so-btn-primary::before {
  border-color: rgb(186.3, 213, 248.1);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-secondary::before,
.so-btn[data-loading].so-btn-secondary::before {
  border-color: rgb(210.9, 213.6, 216);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-success::before,
.so-btn[data-loading].so-btn-success::before {
  border-color: rgb(194.1, 228.9, 203.4);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-danger::before,
.so-btn[data-loading].so-btn-danger::before {
  border-color: rgb(248.7, 198.6, 194.4);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-warning::before,
.so-btn[data-loading].so-btn-warning::before {
  border-color: rgb(255, 232.2, 178.5);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-info::before,
.so-btn[data-loading].so-btn-info::before {
  border-color: rgb(185.4, 227.1, 233.7);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline-primary::before,
.so-btn[data-loading].so-btn-outline-primary::before {
  border-color: var(--so-accent-primary);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline-secondary::before,
.so-btn[data-loading].so-btn-outline-secondary::before {
  border-color: #6c757d;
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline-success::before,
.so-btn[data-loading].so-btn-outline-success::before {
  border-color: var(--so-accent-success);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline-danger::before,
.so-btn[data-loading].so-btn-outline-danger::before {
  border-color: var(--so-accent-danger);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline-warning::before,
.so-btn[data-loading].so-btn-outline-warning::before {
  border-color: var(--so-accent-warning);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline-info::before,
.so-btn[data-loading].so-btn-outline-info::before {
  border-color: var(--so-accent-info);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline-light::before,
.so-btn[data-loading].so-btn-outline-light::before {
  border-color: #bdc1c6;
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline-dark::before,
.so-btn[data-loading].so-btn-outline-dark::before {
  border-color: #202124;
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-light-primary::before,
.so-btn[data-loading].so-btn-light-primary::before {
  border-color: var(--so-accent-primary);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-light-secondary::before,
.so-btn[data-loading].so-btn-light-secondary::before {
  border-color: #6c757d;
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-light-success::before,
.so-btn[data-loading].so-btn-light-success::before {
  border-color: var(--so-accent-success);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-light-danger::before,
.so-btn[data-loading].so-btn-light-danger::before {
  border-color: var(--so-accent-danger);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-light-warning::before,
.so-btn[data-loading].so-btn-light-warning::before {
  border-color: var(--so-accent-warning);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-light-info::before,
.so-btn[data-loading].so-btn-light-info::before {
  border-color: var(--so-accent-info);
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-light-light::before,
.so-btn[data-loading].so-btn-light-light::before {
  border-color: #9aa0a6;
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-light-dark::before,
.so-btn[data-loading].so-btn-light-dark::before {
  border-color: #202124;
  border-right-color: transparent;
}
.so-btn[data-loading=true].so-btn-outline::before, .so-btn[data-loading=true].so-btn-ghost::before,
.so-btn[data-loading].so-btn-outline::before,
.so-btn[data-loading].so-btn-ghost::before {
  border-color: var(--so-text-secondary);
  border-right-color: transparent;
}

.so-btn[data-loading=false] {
  color: inherit !important;
  pointer-events: auto;
}
.so-btn[data-loading=false]::before {
  content: none;
}

.so-fab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  background: var(--so-accent-primary, #1a73e8);
  color: #ffffff;
  line-height: 1;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  box-shadow: var(--so-shadow-md, 0 2px 6px rgba(0, 0, 0, 0.2));
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  text-decoration: none;
}

.so-fab:hover,
.so-fab:focus-visible {
  box-shadow: var(--so-shadow-lg, 0 8px 16px rgba(0, 0, 0, 0.25));
  text-decoration: none;
}

.so-fab:active {
  box-shadow: var(--so-shadow-md, 0 2px 6px rgba(0, 0, 0, 0.2));
}

.so-fab:disabled,
.so-fab[aria-disabled=true] {
  cursor: not-allowed;
  opacity: 0.6;
  box-shadow: var(--so-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.08));
}

.so-fab .material-symbols-rounded {
  font-size: 22px;
  line-height: 1;
}

.so-fab-sm {
  width: 36px;
  height: 36px;
}

.so-fab-sm .material-symbols-rounded {
  font-size: 18px;
}

.so-fab-lg {
  width: 56px;
  height: 56px;
}

.so-fab-lg .material-symbols-rounded {
  font-size: 26px;
}

.so-fab-primary {
  background: var(--so-accent-primary, #1a73e8);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-primary:hover,
.so-fab-primary:focus-visible {
  background: var(--so-accent-primary-hover, #1557b0);
  color: #ffffff;
}

.so-fab-secondary {
  background: var(--so-accent-secondary, #5f6368);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-secondary:hover,
.so-fab-secondary:focus-visible {
  background: var(--so-accent-secondary-hover, #3c4043);
  color: #ffffff;
}

.so-fab-success {
  background: var(--so-accent-success, #34a853);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-success:hover,
.so-fab-success:focus-visible {
  background: var(--so-accent-success-hover, #2d8f47);
  color: #ffffff;
}

.so-fab-danger {
  background: var(--so-accent-danger, #ea4335);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-danger:hover,
.so-fab-danger:focus-visible {
  background: var(--so-accent-danger-hover, #d33426);
  color: #ffffff;
}

.so-fab-warning {
  background: var(--so-accent-warning, #f9ab00);
  color: #202124;
  border-color: transparent;
}

.so-fab-warning:hover,
.so-fab-warning:focus-visible {
  background: var(--so-accent-warning-hover, #e09b00);
  color: #202124;
}

.so-fab-info {
  background: var(--so-accent-info, #17a2b8);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-info:hover,
.so-fab-info:focus-visible {
  background: var(--so-accent-info-hover, #138496);
  color: #ffffff;
}

.so-fab-soft-primary {
  background: var(--so-primary-bg-subtle, rgba(26, 115, 232, 0.08));
  color: var(--so-primary-text-emphasis, var(--so-accent-primary, #1a73e8));
}

.so-fab-soft-primary:hover,
.so-fab-soft-primary:focus-visible {
  background: var(--so-primary-bg-emphasis, rgba(26, 115, 232, 0.15));
}

.so-fab-soft-success {
  background: var(--so-success-bg-subtle, rgba(52, 168, 83, 0.08));
  color: var(--so-success-text-emphasis, var(--so-accent-success, #34a853));
}

.so-fab-soft-success:hover,
.so-fab-soft-success:focus-visible {
  background: var(--so-success-bg-emphasis, rgba(52, 168, 83, 0.15));
}

.so-fab-soft-danger {
  background: var(--so-danger-bg-subtle, rgba(234, 67, 53, 0.08));
  color: var(--so-danger-text-emphasis, var(--so-accent-danger, #ea4335));
}

.so-fab-soft-danger:hover,
.so-fab-soft-danger:focus-visible {
  background: var(--so-danger-bg-emphasis, rgba(234, 67, 53, 0.15));
}

.so-fab-soft-warning {
  background: var(--so-warning-bg-subtle, rgba(249, 171, 0, 0.1));
  color: var(--so-warning-text-emphasis, var(--so-accent-warning, #f9ab00));
}

.so-fab-soft-warning:hover,
.so-fab-soft-warning:focus-visible {
  background: var(--so-warning-bg-emphasis, rgba(249, 171, 0, 0.2));
}

.so-fab-soft-info {
  background: var(--so-info-bg-subtle, rgba(23, 162, 184, 0.1));
  color: var(--so-info-text-emphasis, var(--so-accent-info, #17a2b8));
}

.so-fab-soft-info:hover,
.so-fab-soft-info:focus-visible {
  background: var(--so-info-bg-emphasis, rgba(23, 162, 184, 0.2));
}

.so-fab-outline-primary {
  background: transparent;
  color: var(--so-accent-primary, #1a73e8);
  border-color: var(--so-accent-primary, #1a73e8);
  box-shadow: none;
}

.so-fab-outline-primary:hover,
.so-fab-outline-primary:focus-visible {
  background: var(--so-accent-primary, #1a73e8);
  color: #ffffff;
}

.so-fab-outline-secondary {
  background: transparent;
  color: var(--so-accent-secondary, #5f6368);
  border-color: var(--so-accent-secondary, #5f6368);
  box-shadow: none;
}

.so-fab-outline-secondary:hover,
.so-fab-outline-secondary:focus-visible {
  background: var(--so-accent-secondary, #5f6368);
  color: #ffffff;
}

.so-fab-outline-success {
  background: transparent;
  color: var(--so-accent-success, #34a853);
  border-color: var(--so-accent-success, #34a853);
  box-shadow: none;
}

.so-fab-outline-success:hover,
.so-fab-outline-success:focus-visible {
  background: var(--so-accent-success, #34a853);
  color: #ffffff;
}

.so-fab-outline-danger {
  background: transparent;
  color: var(--so-accent-danger, #ea4335);
  border-color: var(--so-accent-danger, #ea4335);
  box-shadow: none;
}

.so-fab-outline-danger:hover,
.so-fab-outline-danger:focus-visible {
  background: var(--so-accent-danger, #ea4335);
  color: #ffffff;
}

.so-fab-outline-warning {
  background: transparent;
  color: var(--so-accent-warning, #f9ab00);
  border-color: var(--so-accent-warning, #f9ab00);
  box-shadow: none;
}

.so-fab-outline-warning:hover,
.so-fab-outline-warning:focus-visible {
  background: var(--so-accent-warning, #f9ab00);
  color: #202124;
}

.so-fab-outline-info {
  background: transparent;
  color: var(--so-accent-info, #17a2b8);
  border-color: var(--so-accent-info, #17a2b8);
  box-shadow: none;
}

.so-fab-outline-info:hover,
.so-fab-outline-info:focus-visible {
  background: var(--so-accent-info, #17a2b8);
  color: #ffffff;
}

.so-fab-group {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.35rem;
}

.so-fab-group-label-right {
  flex-direction: row;
}

.so-fab-group-label-left {
  flex-direction: row-reverse;
}

.so-fab-group-label-top,
.so-fab-group-label-bottom {
  align-items: center;
  gap: 0.25rem;
}

.so-fab-group-label-top {
  flex-direction: column-reverse;
}

.so-fab-group-label-bottom {
  flex-direction: column;
}

.so-fab-caption {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 22px;
  padding: 0 8px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1;
  white-space: nowrap;
  border-radius: 2px;
  border: 1px solid transparent;
  background: var(--so-accent-dark, #202124);
  color: #ffffff;
  box-shadow: var(--so-shadow-md, 0 2px 6px rgba(0, 0, 0, 0.2));
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.so-fab-caption .material-symbols-rounded {
  font-size: 14px;
  line-height: 1;
}

.so-fab-caption-primary {
  background: var(--so-accent-primary, #1a73e8);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-caption-secondary {
  background: var(--so-accent-secondary, #5f6368);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-caption-success {
  background: var(--so-accent-success, #34a853);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-caption-danger {
  background: var(--so-accent-danger, #ea4335);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-caption-warning {
  background: var(--so-accent-warning, #f9ab00);
  color: #202124;
  border-color: transparent;
}

.so-fab-caption-info {
  background: var(--so-accent-info, #17a2b8);
  color: #ffffff;
  border-color: transparent;
}

.so-fab-caption-soft-primary {
  background: var(--so-primary-bg-subtle, rgba(26, 115, 232, 0.1));
  color: var(--so-primary-text-emphasis, var(--so-accent-primary, #1a73e8));
  border-color: var(--so-primary-border-subtle, rgba(26, 115, 232, 0.2));
}

.so-fab-caption-soft-success {
  background: var(--so-success-bg-subtle, rgba(52, 168, 83, 0.1));
  color: var(--so-success-text-emphasis, var(--so-accent-success, #34a853));
  border-color: var(--so-success-border-subtle, rgba(52, 168, 83, 0.2));
}

.so-fab-caption-soft-danger {
  background: var(--so-danger-bg-subtle, rgba(234, 67, 53, 0.1));
  color: var(--so-danger-text-emphasis, var(--so-accent-danger, #ea4335));
  border-color: var(--so-danger-border-subtle, rgba(234, 67, 53, 0.2));
}

.so-fab-caption-soft-warning {
  background: var(--so-warning-bg-subtle, rgba(249, 171, 0, 0.12));
  color: var(--so-warning-text-emphasis, var(--so-accent-warning, #f9ab00));
  border-color: var(--so-warning-border-subtle, rgba(249, 171, 0, 0.25));
}

.so-fab-caption-soft-info {
  background: var(--so-info-bg-subtle, rgba(23, 162, 184, 0.12));
  color: var(--so-info-text-emphasis, var(--so-accent-info, #17a2b8));
  border-color: var(--so-info-border-subtle, rgba(23, 162, 184, 0.25));
}

.so-fab-caption-light {
  background: #ffffff;
  color: var(--so-text-primary, #202124);
  border-color: var(--so-navbar-border, #e8eaed);
}

.so-fab-group-hide-caption .so-fab-caption {
  display: none;
}

.so-fab-fixed {
  position: fixed;
  z-index: 1030;
}

.so-fab-bottom-right {
  bottom: 1.5rem;
  right: 1.5rem;
}

.so-fab-bottom-left {
  bottom: 1.5rem;
  left: 1.5rem;
}

.so-fab-top-right {
  top: 1.5rem;
  right: 1.5rem;
}

.so-fab-top-left {
  top: 1.5rem;
  left: 1.5rem;
}

@media (max-width: 767.98px) {
  .so-fab-bottom-right,
  .so-fab-bottom-left {
    bottom: 1rem;
  }
  .so-fab-bottom-right,
  .so-fab-top-right {
    right: 1rem;
  }
  .so-fab-bottom-left,
  .so-fab-top-left {
    left: 1rem;
  }
  .so-fab-top-right,
  .so-fab-top-left {
    top: 1rem;
  }
}
.so-form-control {
  display: block;
  width: 100%;
  height: 40px;
  padding: 8px 12px;
  font-size: 0.875rem;
  font-family: inherit;
  line-height: 1.4;
  color: var(--so-form-text);
  background: var(--so-form-bg);
  border: 1px solid var(--so-form-border);
  border-radius: 4px;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.so-form-control::-moz-placeholder {
  color: var(--so-form-placeholder);
}
.so-form-control::placeholder {
  color: var(--so-form-placeholder);
}
.so-form-control:hover:not(:disabled):not(:focus):not(.so-is-invalid) {
  border-color: var(--so-form-border-hover);
}
.so-form-control:focus {
  border-color: var(--so-form-border-focus);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-form-control:disabled {
  background: var(--so-form-disabled-bg);
  color: var(--so-form-disabled-text);
  cursor: not-allowed;
}

select.so-form-control:not([multiple]):not([size]) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 18px;
}
select.so-form-control:not([multiple]):not([size]):disabled {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23aaaaaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}
select.so-form-control:not([multiple]):not([size])::-ms-expand {
  display: none;
}
select.so-form-control:not([multiple]):not([size]).so-select-placeholder, select.so-form-control:not([multiple]):not([size]):invalid {
  color: var(--so-form-placeholder);
}
select.so-form-control:not([multiple]):not([size]) option {
  color: var(--so-form-text, #202124);
  background-color: var(--so-form-bg, #ffffff);
}
select.so-form-control:not([multiple]):not([size]) option[value=""] {
  color: var(--so-form-placeholder, #9aa0a6);
}

select.so-form-control-xs:not([multiple]):not([size]),
select.so-form-control[data-so-size=xs]:not([multiple]):not([size]) {
  padding-right: 26px;
  background-position: right 6px center;
  background-size: 14px;
}

select.so-form-control-sm:not([multiple]):not([size]),
select.so-form-control[data-so-size=sm]:not([multiple]):not([size]) {
  padding-right: 32px;
  background-position: right 8px center;
  background-size: 16px;
}

select.so-form-control-lg:not([multiple]):not([size]),
select.so-form-control[data-so-size=lg]:not([multiple]):not([size]) {
  padding-right: 48px;
  background-position: right 14px center;
  background-size: 20px;
}

[data-theme=dark] select.so-form-control:not([multiple]):not([size]),
[data-theme=sidebar-dark] select.so-form-control:not([multiple]):not([size]) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}
[data-theme=dark] select.so-form-control:not([multiple]):not([size]):disabled,
[data-theme=sidebar-dark] select.so-form-control:not([multiple]):not([size]):disabled {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}
[data-theme=dark] select.so-form-control:not([multiple]):not([size]) option,
[data-theme=sidebar-dark] select.so-form-control:not([multiple]):not([size]) option {
  color: var(--so-form-text, #d0d4e4);
  background-color: var(--so-form-bg, #25293c);
}
[data-theme=dark] select.so-form-control:not([multiple]):not([size]) option[value=""],
[data-theme=sidebar-dark] select.so-form-control:not([multiple]):not([size]) option[value=""] {
  color: var(--so-form-placeholder, #6c7293);
}

textarea.so-form-control,
.so-form-control[rows] {
  height: auto;
  min-height: 100px;
  padding: 8px 12px;
  resize: vertical;
  line-height: 1.5;
}

.so-form-control-xs,
.so-form-control[data-so-size=xs] {
  height: 26px;
  padding: 2px 8px;
  font-size: 11px;
}

.so-form-control-sm,
.so-form-control[data-so-size=sm] {
  height: 32px;
  padding: 4px 10px;
  font-size: 13px;
}

.so-form-control-lg,
.so-form-control[data-so-size=lg] {
  height: 48px;
  padding: 8px 16px;
  font-size: 15px;
}

textarea.so-form-control-sm,
.so-form-control-sm[rows] {
  height: auto;
  min-height: 80px;
  padding: 6px 10px;
}

textarea.so-form-control-lg,
.so-form-control-lg[rows] {
  height: auto;
  min-height: 120px;
  padding: 12px 16px;
}

.so-resize-none {
  resize: none !important;
}

.so-resize-vertical {
  resize: vertical !important;
}

.so-resize-horizontal {
  resize: horizontal !important;
}

.so-resize-both {
  resize: both !important;
}

.so-form-control-primary {
  border-color: var(--so-accent-primary);
}
.so-form-control-primary:focus {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.2);
}

.so-form-control-secondary {
  border-color: #6c757d;
}
.so-form-control-secondary:focus {
  border-color: #6c757d;
  box-shadow: 0 0 0 3px rgba(108, 117, 125, 0.2);
}

.so-form-control-success {
  border-color: var(--so-accent-success);
}
.so-form-control-success:focus {
  border-color: var(--so-accent-success);
  box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.2);
}

.so-form-control-danger {
  border-color: var(--so-accent-danger);
}
.so-form-control-danger:focus {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px rgba(234, 67, 53, 0.2);
}

.so-form-control-warning {
  border-color: var(--so-accent-warning);
}
.so-form-control-warning:focus {
  border-color: var(--so-accent-warning);
  box-shadow: 0 0 0 3px rgba(255, 179, 0, 0.2);
}

.so-form-control-info {
  border-color: var(--so-accent-info);
}
.so-form-control-info:focus {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.2);
}

.so-form-control-light {
  border-color: #dadce0;
}
.so-form-control-light:focus {
  border-color: #bdc1c6;
  box-shadow: 0 0 0 3px rgba(218, 220, 224, 0.2);
}

.so-form-control-dark {
  border-color: #202124;
}
.so-form-control-dark:focus {
  border-color: #202124;
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.2);
}

.so-input-wrapper {
  position: relative;
  display: block;
}
.so-input-wrapper .so-input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-text-secondary);
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.so-input-wrapper .so-input-icon .material-symbols-rounded {
  font-size: 19px;
}
.so-input-wrapper:has(.so-input-icon):not(.icon-right) .so-form-control {
  padding-left: 40px;
}
.so-input-wrapper.icon-right .so-form-control {
  padding-right: 40px;
}
.so-input-wrapper.icon-right .so-input-icon {
  left: auto;
  right: 12px;
}
.so-input-wrapper .so-input-action {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--so-text-muted);
  cursor: pointer;
  pointer-events: auto;
  transition: color 0.15s ease, background 0.15s ease;
}
.so-input-wrapper .so-input-action:hover {
  color: var(--so-text-primary);
  background: var(--so-card-hover-bg);
}
.so-input-wrapper .so-input-action:focus {
  outline: none;
  color: var(--so-accent-primary);
}
.so-input-wrapper .so-input-action .material-symbols-rounded {
  font-size: 19px;
}
.so-input-wrapper:has(.so-input-action) .so-form-control {
  padding-right: 44px;
}
.so-input-wrapper:has(.so-input-icon):has(.so-input-action) .so-form-control {
  padding-left: 40px;
  padding-right: 44px;
}
.so-input-wrapper .so-input-icon:last-of-type:not(:first-of-type) {
  left: auto;
  right: 12px;
}
.so-input-wrapper:has(.so-input-icon:nth-of-type(2)) .so-form-control {
  padding-left: 40px;
  padding-right: 40px;
}
.so-input-wrapper .so-input-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: var(--so-text-secondary);
  transition: background 0.15s ease;
}
.so-input-wrapper .so-input-clear:hover {
  background: var(--so-card-hover-bg);
}
.so-input-wrapper .so-input-clear .material-symbols-rounded {
  font-size: 18px;
}
.so-input-wrapper .so-form-control:not(:-moz-placeholder) ~ .so-input-clear {
  display: flex;
}
.so-input-wrapper .so-form-control:not(:placeholder-shown) ~ .so-input-clear {
  display: flex;
}

.so-form-control-autosize {
  overflow: hidden;
  resize: none;
  min-height: 80px;
  max-height: 400px;
}

.so-form-control-autosize-sm {
  overflow: hidden;
  resize: none;
  min-height: 60px;
  max-height: 200px;
}

.so-form-control-autosize-lg {
  overflow: hidden;
  resize: none;
  min-height: 120px;
  max-height: 600px;
}

.so-form-group {
  margin-bottom: 16px;
}

.so-form-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-form-text);
}
.so-form-label.so-required::after {
  content: " *";
  color: var(--so-accent-danger);
}
.so-form-label:has(.so-form-hint-inline) {
  display: flex;
  align-items: center;
}

.so-form-hint {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  margin-top: 4px;
  font-size: 0.75rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
}
.so-form-hint .material-symbols-rounded {
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 2px;
}
.so-form-hint.so-form-hint-counter {
  justify-content: flex-end;
  color: var(--so-text-muted);
}
.so-form-hint.so-form-hint-inline {
  display: inline-flex;
  align-items: center;
  margin-top: 0;
  margin-left: 8px;
}
.so-form-hint.so-form-hint-inline .material-symbols-rounded {
  margin-top: 0;
}

.so-input-group {
  display: flex;
  align-items: stretch;
}
.so-input-group > * {
  border-radius: 0;
}
.so-input-group > *:first-child {
  border-radius: 4px 0 0 4px;
}
.so-input-group > *:last-child {
  border-radius: 0 4px 4px 0;
}
.so-input-group > *:only-child {
  border-radius: 4px;
}
.so-input-group > *:has(+ .so-d-none:last-child) {
  border-radius: 0 4px 4px 0;
}
.so-input-group > .so-d-none:first-child + * {
  border-radius: 4px 0 0 4px;
}
.so-input-group > .so-d-none:first-child + *:has(+ .so-d-none:last-child) {
  border-radius: 4px;
}
.so-input-group .so-form-control {
  flex: 1;
  min-width: 0;
  margin-left: -1px;
}
.so-input-group .so-form-control:first-child {
  margin-left: 0;
}
.so-input-group .so-form-control:focus {
  z-index: 2;
}
.so-input-group .so-btn {
  flex-shrink: 0;
  margin-left: -1px;
  z-index: 1;
}
.so-input-group .so-btn:first-child {
  margin-left: 0;
}
.so-input-group .so-btn:hover, .so-input-group .so-btn:focus {
  z-index: 3;
}
.so-input-group .so-btn + .so-btn {
  margin-left: -1px;
}
.so-input-group .so-input-addon {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 12px;
  font-size: 0.875rem;
  color: var(--so-text-secondary);
  background: var(--so-form-disabled-bg);
  border: 1px solid var(--so-form-border);
  white-space: nowrap;
  flex-shrink: 0;
}
.so-input-group .so-input-addon .material-symbols-rounded {
  font-size: 20px;
}
.so-input-group .so-input-addon + .so-input-addon {
  margin-left: -1px;
}
.so-input-group select.so-form-control {
  flex-shrink: 0;
}
.so-input-group .so-select {
  flex: 0 0 auto;
  width: auto;
  min-width: 100px;
  margin-left: -1px;
}
.so-input-group .so-select .so-select-trigger {
  border-radius: 0;
  min-height: 100%;
  height: 100%;
  width: 100%;
}
.so-input-group .so-select:first-child {
  margin-left: 0;
}
.so-input-group .so-select:first-child .so-select-trigger {
  border-radius: 4px 0 0 4px;
}
.so-input-group .so-select:last-child .so-select-trigger {
  border-radius: 0 4px 4px 0;
}
.so-input-group .so-select:only-child .so-select-trigger {
  border-radius: 4px;
}
.so-input-group .so-select + .so-select {
  margin-left: -1px;
}
.so-input-group > *:not(:first-child) {
  margin-left: -1px;
}
.so-input-group > *:focus,
.so-input-group > *:focus-within {
  z-index: 2;
}
.so-input-group .so-input-addon input[type=checkbox],
.so-input-group .so-input-addon input[type=radio] {
  margin: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.so-input-group .so-input-addon label {
  margin: 0;
  margin-left: 4px;
  cursor: pointer;
  font-size: 0.8125rem;
  white-space: nowrap;
}
.so-input-group .so-input-addon .so-switch {
  margin: 0;
}
.so-input-group .so-dropdown {
  display: flex;
  margin-left: -1px;
}
.so-input-group .so-dropdown:first-child {
  margin-left: 0;
}
.so-input-group .so-dropdown .so-dropdown-trigger {
  border-radius: 0;
  height: 100%;
}
.so-input-group .so-dropdown:first-child .so-dropdown-trigger {
  border-radius: 4px 0 0 4px;
}
.so-input-group .so-dropdown:last-child .so-dropdown-trigger {
  border-radius: 0 4px 4px 0;
}
.so-input-group .so-dropdown:only-child .so-dropdown-trigger {
  border-radius: 4px;
}
.so-input-group .so-btn-group {
  display: flex;
  margin-left: -1px;
}
.so-input-group .so-btn-group:first-child {
  margin-left: 0;
}
.so-input-group .so-btn-group .so-btn {
  border-radius: 0;
  margin-left: -1px;
}
.so-input-group .so-btn-group .so-btn:first-child {
  margin-left: 0;
}
.so-input-group .so-btn-group .so-dropdown {
  margin-left: -1px;
}
.so-input-group .so-btn-group .so-dropdown .so-dropdown-trigger {
  border-radius: 0;
}
.so-input-group .so-btn-group:first-child > .so-btn:first-child {
  border-radius: 4px 0 0 4px;
}
.so-input-group .so-btn-group:last-child > .so-btn:last-child {
  border-radius: 0 4px 4px 0;
}
.so-input-group .so-btn-group:last-child > .so-dropdown:last-child .so-dropdown-trigger {
  border-radius: 0 4px 4px 0;
}
.so-input-group .so-btn-group:only-child > .so-btn:first-child {
  border-radius: 4px 0 0 4px;
}
.so-input-group .so-btn-group:only-child > .so-btn:last-child {
  border-radius: 0 4px 4px 0;
}
.so-input-group .so-btn-group:only-child > .so-dropdown:last-child .so-dropdown-trigger {
  border-radius: 0 4px 4px 0;
}

.so-input-group-sm .so-form-control {
  height: 32px;
  padding: 8px 12px;
  font-size: 13px;
}
.so-input-group-sm .so-input-addon {
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
}
.so-input-group-sm .so-btn {
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
}
.so-input-group-sm .so-btn-icon {
  width: 32px;
  height: 32px;
}
.so-input-group-sm .so-dropdown-trigger {
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
}

.so-input-group-lg .so-form-control {
  height: 48px;
  padding: 12px 16px;
  font-size: 15px;
}
.so-input-group-lg .so-input-addon {
  height: 48px;
  padding: 0 16px;
  font-size: 15px;
}
.so-input-group-lg .so-btn {
  height: 48px;
  padding: 0 24px;
  font-size: 15px;
}
.so-input-group-lg .so-btn-icon {
  width: 48px;
  height: 48px;
}
.so-input-group-lg .so-dropdown-trigger {
  height: 48px;
  padding: 0 16px;
  font-size: 15px;
}

.so-form-floating {
  position: relative;
}
.so-form-floating > .so-form-control {
  height: 40px;
  padding: 16px 12px 8px;
  font-size: 0.875rem;
  line-height: 1.4;
  border-radius: 4px;
  border: 1px solid var(--so-form-border);
  background: var(--so-form-bg);
}
.so-form-floating > .so-form-control::-moz-placeholder {
  color: transparent;
  -moz-transition: color 0.1s ease;
  transition: color 0.1s ease;
}
.so-form-floating > .so-form-control::placeholder {
  color: transparent;
  transition: color 0.1s ease;
}
.so-form-floating > .so-form-control:focus::-moz-placeholder {
  color: var(--so-form-placeholder);
  transition-delay: 0.1s;
}
.so-form-floating > .so-form-control:focus::placeholder {
  color: var(--so-form-placeholder);
  transition-delay: 0.1s;
}
.so-form-floating > .so-form-control:focus {
  border-color: var(--so-accent-primary);
  box-shadow: none;
  outline: none;
}
.so-form-floating > .so-form-control:not(:-moz-placeholder) ~ label {
  top: 2px;
  transform: translateY(-50%) scale(0.75);
  padding: 0 4px;
  background: var(--so-form-bg);
  color: var(--so-text-secondary);
}
.so-form-floating > .so-form-control:focus ~ label, .so-form-floating > .so-form-control:not(:placeholder-shown) ~ label {
  top: 2px;
  transform: translateY(-50%) scale(0.75);
  padding: 0 4px;
  background: var(--so-form-bg);
  color: var(--so-text-secondary);
}
.so-form-floating > .so-form-control:focus ~ label {
  color: var(--so-accent-primary);
}
.so-form-floating > textarea.so-form-control {
  height: auto;
  min-height: 100px;
  padding-top: 24px;
  resize: vertical;
}
.so-form-floating > label {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  transform-origin: left top;
  padding: 0;
  margin: 0;
  pointer-events: none;
  color: var(--so-text-muted);
  font-size: 0.875rem;
  line-height: 1;
  background: transparent;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}
.so-form-floating > label.so-required::after {
  content: " *";
  color: var(--so-accent-danger);
}
.so-form-floating > textarea.so-form-control ~ label {
  top: 20px;
  transform: none;
}
.so-form-floating > textarea.so-form-control:not(:-moz-placeholder) ~ label {
  top: 2px;
  transform: translateY(-50%) scale(0.75);
}
.so-form-floating > textarea.so-form-control:focus ~ label,
.so-form-floating > textarea.so-form-control:not(:placeholder-shown) ~ label {
  top: 2px;
  transform: translateY(-50%) scale(0.75);
}
.so-form-floating.so-form-floating-sm > .so-form-control {
  height: 32px;
  padding: 10px 8px 2px;
  font-size: 13px;
}
.so-form-floating.so-form-floating-sm > label {
  left: 8px;
  font-size: 13px;
}
.so-form-floating.so-form-floating-sm > .so-form-control:not(:-moz-placeholder) ~ label {
  top: 1px;
  transform: translateY(-50%) scale(0.75);
}
.so-form-floating.so-form-floating-sm > .so-form-control:focus ~ label,
.so-form-floating.so-form-floating-sm > .so-form-control:not(:placeholder-shown) ~ label {
  top: 1px;
  transform: translateY(-50%) scale(0.75);
}
.so-form-floating.so-form-floating-lg > .so-form-control {
  height: 48px;
  padding: 18px 16px 6px;
  font-size: 15px;
}
.so-form-floating.so-form-floating-lg > label {
  left: 16px;
  font-size: 15px;
}
.so-form-floating.so-form-floating-lg > .so-form-control:not(:-moz-placeholder) ~ label {
  top: 3px;
  transform: translateY(-50%) scale(0.75);
}
.so-form-floating.so-form-floating-lg > .so-form-control:focus ~ label,
.so-form-floating.so-form-floating-lg > .so-form-control:not(:placeholder-shown) ~ label {
  top: 3px;
  transform: translateY(-50%) scale(0.75);
}
.so-form-floating.so-has-error > .so-form-control {
  border-color: var(--so-accent-danger);
}
.so-form-floating.so-has-error > .so-form-control:focus {
  box-shadow: 0 0 0 3px rgba(234, 67, 53, 0.15);
}
.so-form-floating.so-has-error > label {
  color: var(--so-accent-danger);
}
.so-form-floating.so-has-error > .so-form-control:not(:-moz-placeholder) ~ label {
  color: var(--so-accent-danger);
}
.so-form-floating.so-has-error > .so-form-control:focus ~ label,
.so-form-floating.so-has-error > .so-form-control:not(:placeholder-shown) ~ label {
  color: var(--so-accent-danger);
}
.so-form-floating.so-has-success > .so-form-control {
  border-color: var(--so-accent-success);
}
.so-form-floating.so-has-success > .so-form-control:focus {
  box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.15);
}
.so-form-floating.so-has-success > .so-form-control:not(:-moz-placeholder) ~ label {
  color: var(--so-accent-success);
}
.so-form-floating.so-has-success > .so-form-control:focus ~ label,
.so-form-floating.so-has-success > .so-form-control:not(:placeholder-shown) ~ label {
  color: var(--so-accent-success);
}
.so-form-floating.so-has-warning > .so-form-control {
  border-color: var(--so-accent-warning);
}
.so-form-floating.so-has-warning > .so-form-control:focus {
  box-shadow: 0 0 0 3px rgba(255, 179, 0, 0.15);
}
.so-form-floating.so-has-warning > .so-form-control:not(:-moz-placeholder) ~ label {
  color: var(--so-warning-text-emphasis);
}
.so-form-floating.so-has-warning > .so-form-control:focus ~ label,
.so-form-floating.so-has-warning > .so-form-control:not(:placeholder-shown) ~ label {
  color: var(--so-warning-text-emphasis);
}
.so-form-floating.so-disabled > .so-form-control, .so-form-floating:has(.so-form-control:disabled) > .so-form-control {
  background: var(--so-form-disabled-bg);
  color: var(--so-text-muted);
  cursor: not-allowed;
  opacity: 0.7;
}
.so-form-floating.so-disabled > label, .so-form-floating:has(.so-form-control:disabled) > label {
  color: var(--so-text-muted);
}
.so-form-floating.so-form-floating-notab > .so-form-control:focus {
  outline: 2px dashed var(--so-form-border);
  outline-offset: 2px;
}
.so-form-floating:has(.so-form-control:-moz-read-only) > .so-form-control {
  background: var(--so-form-disabled-bg);
  cursor: default;
}
.so-form-floating:has(.so-form-control:read-only) > .so-form-control, .so-form-floating.so-form-floating-readonly > .so-form-control {
  background: var(--so-form-disabled-bg);
  cursor: default;
}
.so-form-floating:has(.so-form-control:-moz-read-only) > .so-form-control:focus {
  border-color: var(--so-form-border);
  box-shadow: none;
}
.so-form-floating:has(.so-form-control:read-only) > .so-form-control:focus, .so-form-floating.so-form-floating-readonly > .so-form-control:focus {
  border-color: var(--so-form-border);
  box-shadow: none;
}
.so-form-floating:has(.so-form-control:read-only) > .so-form-control:not(:-moz-placeholder) ~ label, .so-form-floating.so-form-floating-readonly > .so-form-control:not(:-moz-placeholder) ~ label {
  color: var(--so-text-muted);
}
.so-form-floating:has(.so-form-control:-moz-read-only) > .so-form-control:focus ~ label, .so-form-floating:has(.so-form-control:-moz-read-only) > .so-form-control:not(:placeholder-shown) ~ label {
  color: var(--so-text-muted);
}
.so-form-floating:has(.so-form-control:read-only) > .so-form-control:focus ~ label,
.so-form-floating:has(.so-form-control:read-only) > .so-form-control:not(:placeholder-shown) ~ label, .so-form-floating.so-form-floating-readonly > .so-form-control:focus ~ label,
.so-form-floating.so-form-floating-readonly > .so-form-control:not(:placeholder-shown) ~ label {
  color: var(--so-text-muted);
}
.so-form-floating.so-form-floating-secondary > .so-form-control:focus {
  border-color: #6c757d;
  box-shadow: 0 0 0 3px rgba(108, 117, 125, 0.15);
}
.so-form-floating.so-form-floating-secondary > .so-form-control:focus ~ label {
  color: #6c757d;
}
.so-form-floating.so-form-floating-info > .so-form-control:focus {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.15);
}
.so-form-floating.so-form-floating-info > .so-form-control:focus ~ label {
  color: var(--so-accent-info);
}
.so-form-floating.so-form-floating-icon-start > .so-form-control {
  padding-left: 40px;
}
.so-form-floating.so-form-floating-icon-start > label {
  left: 40px;
}
.so-form-floating.so-form-floating-icon-start > .so-form-control:not(:-moz-placeholder) ~ label {
  left: 8px;
}
.so-form-floating.so-form-floating-icon-start > .so-form-control:focus ~ label,
.so-form-floating.so-form-floating-icon-start > .so-form-control:not(:placeholder-shown) ~ label {
  left: 8px;
}
.so-form-floating.so-form-floating-icon-start > .so-input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-text-muted);
  pointer-events: none;
  z-index: 2;
}
.so-form-floating.so-form-floating-icon-start > .so-input-icon .material-symbols-rounded {
  font-size: 20px;
}
.so-form-floating.so-form-floating-icon-start:focus-within > .so-input-icon {
  color: var(--so-accent-primary);
}
.so-form-floating.so-form-floating-icon-end > .so-form-control {
  padding-right: 44px;
}
.so-form-floating.so-form-floating-icon-end > .so-input-action,
.so-form-floating.so-form-floating-icon-end > .so-input-icon-end {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-text-muted);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.so-form-floating.so-form-floating-icon-end > .so-input-action .material-symbols-rounded,
.so-form-floating.so-form-floating-icon-end > .so-input-icon-end .material-symbols-rounded {
  font-size: 20px;
}
.so-form-floating.so-form-floating-icon-end > .so-input-action {
  cursor: pointer;
  padding: 4px;
  background: transparent;
  border: none;
  border-radius: 6px;
  transition: color 0.15s ease, background 0.15s ease;
}
.so-form-floating.so-form-floating-icon-end > .so-input-action:hover {
  color: var(--so-text-primary);
  background: var(--so-card-hover-bg);
}
.so-form-floating.so-form-floating-icon-start.so-form-floating-icon-end > .so-form-control {
  padding-left: 40px;
  padding-right: 44px;
}
.so-form-floating + .so-form-hint {
  margin-top: 4px;
}
.so-form-floating + .so-form-error,
.so-form-floating + .so-form-success,
.so-form-floating + .so-form-warning {
  margin-top: 4px;
}

.so-form-floating-outlined > .so-form-control {
  border-width: 1px;
}
.so-form-floating-outlined > .so-form-control:focus {
  border-color: var(--so-accent-primary);
}
.so-form-floating-outlined > .so-form-control:not(:-moz-placeholder) ~ label {
  background: var(--so-card-bg);
}
.so-form-floating-outlined > .so-form-control:focus ~ label,
.so-form-floating-outlined > .so-form-control:not(:placeholder-shown) ~ label {
  background: var(--so-card-bg);
}

.so-form-floating-filled > .so-form-control {
  border: none;
  border-bottom: 1px solid var(--so-form-border);
  border-radius: 4px 4px 0 0;
  background: var(--so-card-hover-bg);
}
.so-form-floating-filled > .so-form-control:hover {
  background: rgba(154, 160, 166, 0.08);
}
.so-form-floating-filled > .so-form-control:focus {
  border-bottom-color: var(--so-accent-primary);
  box-shadow: none;
}
.so-form-floating-filled > label {
  left: 12px;
}
.so-form-floating-filled > .so-form-control:not(:-moz-placeholder) ~ label {
  top: 2px;
  left: 12px;
  background: transparent;
}
.so-form-floating-filled > .so-form-control:focus ~ label,
.so-form-floating-filled > .so-form-control:not(:placeholder-shown) ~ label {
  top: 2px;
  left: 12px;
  background: transparent;
}
[data-theme=dark] .so-form-floating-filled > .so-form-control {
  background: rgba(154, 160, 166, 0.1);
}
[data-theme=dark] .so-form-floating-filled > .so-form-control:hover {
  background: rgba(154, 160, 166, 0.15);
}

.so-form-floating-standard > .so-form-control {
  border: none;
  border-bottom: 1px solid var(--so-form-border);
  border-radius: 0;
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}
.so-form-floating-standard > .so-form-control:hover {
  border-bottom-color: var(--so-text-primary);
}
.so-form-floating-standard > .so-form-control:focus {
  border-bottom-color: var(--so-accent-primary);
  box-shadow: none;
}
.so-form-floating-standard > label {
  left: 0;
}
.so-form-floating-standard > .so-form-control:not(:-moz-placeholder) ~ label {
  top: 2px;
  left: 0;
  background: transparent;
}
.so-form-floating-standard > .so-form-control:focus ~ label,
.so-form-floating-standard > .so-form-control:not(:placeholder-shown) ~ label {
  top: 2px;
  left: 0;
  background: transparent;
}
.so-form-floating-standard::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1px;
  background: var(--so-accent-primary);
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1), left 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.so-form-floating-standard:focus-within::after {
  left: 0;
  width: 100%;
}

.so-form-horizontal .so-form-group {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}
.so-form-horizontal .so-form-group > .so-form-label {
  margin-bottom: 0;
  padding-top: 10px;
  text-align: right;
}
.so-form-horizontal .so-form-error,
.so-form-horizontal .so-form-success,
.so-form-horizontal .so-form-warning,
.so-form-horizontal .so-form-info,
.so-form-horizontal .so-form-hint {
  grid-column: 2;
}
.so-form-horizontal .so-form-group-check > .so-form-label {
  padding-top: 0;
}
.so-form-horizontal .so-form-group:has(.so-switch) {
  align-items: center;
}
.so-form-horizontal .so-form-group:has(.so-switch) > .so-form-label {
  padding-top: 0;
}
@media (max-width: 768px) {
  .so-form-horizontal .so-form-group {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .so-form-horizontal .so-form-group > .so-form-label {
    text-align: left;
    padding-top: 0;
  }
  .so-form-horizontal .so-form-error,
  .so-form-horizontal .so-form-success,
  .so-form-horizontal .so-form-warning,
  .so-form-horizontal .so-form-info,
  .so-form-horizontal .so-form-hint {
    grid-column: 1;
  }
}

.so-form-horizontal-narrow .so-form-group {
  grid-template-columns: 120px 1fr;
}

.so-form-horizontal-wide .so-form-group {
  grid-template-columns: 240px 1fr;
}

.so-form-horizontal-auto .so-form-group {
  grid-template-columns: auto 1fr;
}

.so-form-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
}
.so-form-inline .so-form-group {
  flex: 0 0 auto;
  margin-bottom: 0;
}
.so-form-inline .so-form-label {
  margin-bottom: 4px;
}
.so-form-inline .so-form-control {
  width: auto;
}
@media (max-width: 576px) {
  .so-form-inline {
    flex-direction: column;
    align-items: stretch;
  }
  .so-form-inline .so-form-group {
    width: 100%;
  }
  .so-form-inline .so-form-control {
    width: 100%;
  }
}

.so-form-control-plaintext {
  display: block;
  width: 100%;
  padding: 8px 0;
  font-size: 0.875rem;
  color: var(--so-text-primary);
  background: transparent;
  border: none;
  border-bottom: 1px solid transparent;
  line-height: 1.4;
}
.so-form-control-plaintext:focus {
  outline: none;
}
.so-form-control-plaintext.so-form-control-plaintext-underline {
  border-bottom-color: var(--so-border-color);
}
.so-form-control-plaintext.so-form-control-plaintext-sm {
  padding: 4px 0;
  font-size: 13px;
}
.so-form-control-plaintext.so-form-control-plaintext-lg {
  padding: 12px 0;
  font-size: 15px;
}

.so-form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
}
.so-form-row > .so-form-group {
  flex: 1 1 0;
  min-width: 0;
  margin-bottom: 0;
}
.so-form-row > .so-col-auto {
  flex: 0 0 auto;
  width: auto;
}
.so-form-row > .so-col-1 {
  flex: 0 0 auto;
  width: calc(8.3333333333% - 16px * 0.9166666667);
}
.so-form-row > .so-col-2 {
  flex: 0 0 auto;
  width: calc(16.6666666667% - 16px * 0.8333333333);
}
.so-form-row > .so-col-3 {
  flex: 0 0 auto;
  width: calc(25% - 16px * 0.75);
}
.so-form-row > .so-col-4 {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 16px * 0.6666666667);
}
.so-form-row > .so-col-5 {
  flex: 0 0 auto;
  width: calc(41.6666666667% - 16px * 0.5833333333);
}
.so-form-row > .so-col-6 {
  flex: 0 0 auto;
  width: calc(50% - 16px * 0.5);
}
.so-form-row > .so-col-7 {
  flex: 0 0 auto;
  width: calc(58.3333333333% - 16px * 0.4166666667);
}
.so-form-row > .so-col-8 {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 16px * 0.3333333333);
}
.so-form-row > .so-col-9 {
  flex: 0 0 auto;
  width: calc(75% - 16px * 0.25);
}
.so-form-row > .so-col-10 {
  flex: 0 0 auto;
  width: calc(83.3333333333% - 16px * 0.1666666667);
}
.so-form-row > .so-col-11 {
  flex: 0 0 auto;
  width: calc(91.6666666667% - 16px * 0.0833333333);
}
.so-form-row > .so-col-12 {
  flex: 0 0 auto;
  width: calc(100% - 16px * 0);
}
@media (max-width: 576px) {
  .so-form-row {
    flex-direction: column;
  }
  .so-form-row > .so-form-group,
  .so-form-row > [class*=so-col-] {
    flex: 1 1 100%;
    width: 100%;
  }
}

.so-form-row-sm {
  gap: 8px;
}

.so-form-row-lg {
  gap: 24px;
}

@keyframes so-form-shake {
  0%, 100% {
    transform: translateX(0);
  }
  20%, 60% {
    transform: translateX(-4px);
  }
  40%, 80% {
    transform: translateX(4px);
  }
}
.so-form-group.so-shake {
  animation: so-form-shake 0.4s ease;
}

@keyframes so-form-success-pop {
  0% {
    transform: translateY(-50%) scale(0);
    opacity: 0;
  }
  50% {
    transform: translateY(-50%) scale(1.2);
  }
  100% {
    transform: translateY(-50%) scale(1);
    opacity: 1;
  }
}
.so-form-group.so-has-success .so-input-wrapper.so-show-success-icon::after {
  content: "check_circle";
  font-family: "Material Symbols Rounded";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-accent-success);
  font-size: 20px;
  animation: so-form-success-pop 0.3s ease;
}

.so-form-group.so-has-error .so-input-wrapper.so-show-error-icon::after {
  content: "error";
  font-family: "Material Symbols Rounded";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-accent-danger);
  font-size: 20px;
}

.so-form-hints {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 4px;
  gap: 8px;
}

.so-form-hint-left {
  flex: 1;
}

.so-form-hint-right {
  flex-shrink: 0;
  text-align: right;
}

.so-form-char-counter {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  font-variant-numeric: tabular-nums;
}
.so-form-char-counter.so-warning {
  color: var(--so-warning-text-emphasis);
}
.so-form-char-counter.so-danger {
  color: var(--so-accent-danger);
}

.so-form-card {
  background: var(--so-card-bg);
  border: 1px solid var(--so-card-border);
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}
[data-theme=dark] .so-form-card {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}

.so-form-card-header {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--so-border-color);
}

.so-form-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0 0 4px;
}

.so-form-card-subtitle {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  margin: 0;
}

.so-form-card-footer {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--so-border-color);
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.so-form-card-footer.so-form-card-footer-start {
  justify-content: flex-start;
}
.so-form-card-footer.so-form-card-footer-between {
  justify-content: space-between;
}
.so-form-card-footer.so-form-card-footer-center {
  justify-content: center;
}

.so-form-section {
  margin-bottom: 32px;
}
.so-form-section:last-child {
  margin-bottom: 0;
}

.so-form-section-title {
  color: var(--so-text-heading);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--so-border-color);
}
.so-form-section-title .so-h1,
.so-form-section-title .so-h2,
.so-form-section-title .so-h3,
.so-form-section-title .so-h4,
.so-form-section-title .so-h5,
.so-form-section-title .so-h6 {
  margin: 0;
}

.so-form-section-subtitle {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  margin: -12px 0 16px;
}

.so-form-text {
  display: block;
  margin-top: 8px;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  line-height: 1.5;
}

.so-form-block-virtual-scroll-container {
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 600px;
}
.so-form-block-virtual-scroll-container::-webkit-scrollbar {
  width: 8px;
}
.so-form-block-virtual-scroll-container::-webkit-scrollbar-track {
  background: var(--so-gray-100);
  border-radius: border-radius("md");
}
.so-form-block-virtual-scroll-container::-webkit-scrollbar-thumb {
  background: var(--so-gray-400);
  border-radius: border-radius("md");
}
.so-form-block-virtual-scroll-container::-webkit-scrollbar-thumb:hover {
  background: var(--so-gray-500);
}
.so-form-block-virtual-scroll-container {
  scrollbar-width: thin;
  scrollbar-color: var(--so-gray-400) var(--so-gray-100);
}

.so-form-block-virtual-content {
  position: relative;
  width: 100%;
  min-height: 100%;
}

.so-form-block-virtual-spacer {
  width: 100%;
  pointer-events: none;
  transition: height 0.1s ease;
}
.so-form-block-virtual-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1100;
  background: var(--so-info);
  color: var(--so-white);
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 0.6875rem;
  font-weight: 500;
  pointer-events: none;
  opacity: 0.9;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 4px;
}
.so-form-block-virtual-badge .material-symbols-rounded {
  font-size: 0.8125rem;
}

@keyframes so-highlight-fade {
  0% {
    background-color: rgba(var(--so-primary-rgb), 0.3);
  }
  50% {
    background-color: rgba(var(--so-primary-rgb), 0.15);
  }
  100% {
    background-color: transparent;
  }
}
.so-highlighted {
  animation: so-highlight-fade 2s ease-in-out;
}

.so-form-control-file {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  font-size: 0.875rem;
  color: var(--so-form-text);
  background: var(--so-form-bg);
  border: 1px solid var(--so-form-border);
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.so-form-control-file:hover {
  border-color: var(--so-form-border-hover);
}
.so-form-control-file:focus-within {
  border-color: var(--so-form-border-focus);
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.1);
}
[data-theme=dark] .so-form-control-file:focus-within {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-form-control-file input[type=file] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.so-form-control-file input[type=file]:disabled {
  cursor: not-allowed;
}
.so-form-control-file .so-form-file-button {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 100%;
  min-width: 100px;
  padding: 0 12px;
  background: var(--so-card-hover-bg);
  border-right: 1px solid var(--so-form-border);
  font-weight: 500;
  color: var(--so-text-primary);
  white-space: nowrap;
}
.so-form-control-file .so-form-file-button .material-symbols-rounded {
  font-size: 18px;
}
.so-form-control-file .so-form-file-text {
  flex: 1;
  padding: 0 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--so-text-muted);
}
.so-form-control-file .so-form-file-text.has-file {
  color: var(--so-form-text);
}
.so-form-control-file .so-form-file-clear {
  display: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 100%;
  padding: 0;
  background: transparent;
  border: none;
  border-left: 1px solid var(--so-form-border);
  cursor: pointer;
  color: var(--so-text-muted);
  transition: color 0.15s ease, background 0.15s ease;
  z-index: 3;
}
.so-form-control-file .so-form-file-clear:hover {
  color: var(--so-accent-danger);
  background: rgba(234, 67, 53, 0.05);
}
.so-form-control-file .so-form-file-clear .material-symbols-rounded {
  font-size: 18px;
}
.so-form-control-file.has-file .so-form-file-clear {
  display: flex;
}
.so-form-control-file.disabled, .so-form-control-file:has(input:disabled) {
  opacity: 0.6;
  cursor: not-allowed;
  background: var(--so-form-disabled-bg);
}
.so-form-control-file.disabled .so-form-file-button, .so-form-control-file:has(input:disabled) .so-form-file-button {
  background: var(--so-form-disabled-bg);
}
.so-form-control-file.so-form-control-file-sm {
  height: 32px;
  font-size: 13px;
}
.so-form-control-file.so-form-control-file-sm .so-form-file-button {
  min-width: 80px;
  padding: 0 8px;
}
.so-form-control-file.so-form-control-file-sm .so-form-file-button .material-symbols-rounded {
  font-size: 16px;
}
.so-form-control-file.so-form-control-file-sm .so-form-file-text {
  padding: 0 8px;
}
.so-form-control-file.so-form-control-file-lg {
  height: 48px;
  font-size: 15px;
}
.so-form-control-file.so-form-control-file-lg .so-form-file-button {
  min-width: 120px;
  padding: 0 16px;
}
.so-form-control-file.so-form-control-file-lg .so-form-file-button .material-symbols-rounded {
  font-size: 20px;
}
.so-form-control-file.so-form-control-file-lg .so-form-file-text {
  padding: 0 16px;
}

.so-form-control-file-primary {
  border-color: var(--so-accent-primary);
}
.so-form-control-file-primary:focus-within {
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.15);
}
.so-form-control-file-primary .so-form-file-button {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
}

.so-form-control-file-success {
  border-color: var(--so-accent-success);
}
.so-form-control-file-success:focus-within {
  box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.15);
}
.so-form-control-file-success .so-form-file-button {
  background: rgba(52, 168, 83, 0.1);
  color: var(--so-accent-success);
}

.so-form-control-file-danger {
  border-color: var(--so-accent-danger);
}
.so-form-control-file-danger:focus-within {
  box-shadow: 0 0 0 3px rgba(234, 67, 53, 0.15);
}
.so-form-control-file-danger .so-form-file-button {
  background: rgba(234, 67, 53, 0.1);
  color: var(--so-accent-danger);
}

.so-form-file-dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 32px 16px;
  background: var(--so-form-bg);
  border: 2px dashed var(--so-form-border);
  border-radius: 8px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.so-form-file-dropzone input[type=file] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.so-form-file-dropzone .so-form-file-dropzone-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(26, 115, 232, 0.1);
  border-radius: 9999px;
  color: var(--so-accent-primary);
  transition: transform 0.15s ease, background 0.15s ease;
}
.so-form-file-dropzone .so-form-file-dropzone-icon .material-symbols-rounded {
  font-size: 24px;
}
[data-theme=dark] .so-form-file-dropzone .so-form-file-dropzone-icon {
  background: var(--so-primary-bg-emphasis);
}

.so-form-file-dropzone .so-form-file-dropzone-text {
  font-size: 0.875rem;
  color: var(--so-text-primary);
  line-height: 1.5;
}
.so-form-file-dropzone .so-form-file-dropzone-text span {
  color: var(--so-accent-primary);
  font-weight: 500;
}
.so-form-file-dropzone .so-form-file-dropzone-hint {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
}
.so-form-file-dropzone .so-form-file-dropzone-files {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  max-width: 100%;
}
.so-form-file-dropzone .so-form-file-dropzone-file {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: var(--so-card-hover-bg);
  border-radius: 4px;
  font-size: 0.8125rem;
  max-width: 200px;
}
.so-form-file-dropzone .so-form-file-dropzone-file .file-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.so-form-file-dropzone .so-form-file-dropzone-file .file-size {
  color: var(--so-text-muted);
  white-space: nowrap;
}
.so-form-file-dropzone .so-form-file-dropzone-file .file-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--so-text-muted);
  transition: color 0.15s ease;
}
.so-form-file-dropzone .so-form-file-dropzone-file .file-remove:hover {
  color: var(--so-accent-danger);
}
.so-form-file-dropzone .so-form-file-dropzone-file .file-remove .material-symbols-rounded {
  font-size: 16px;
}
.so-form-file-dropzone:hover, .so-form-file-dropzone.so-dragover {
  border-color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.02);
}
.so-form-file-dropzone:hover .so-form-file-dropzone-icon, .so-form-file-dropzone.so-dragover .so-form-file-dropzone-icon {
  transform: scale(1.1);
  background: rgba(26, 115, 232, 0.15);
}
[data-theme=dark] .so-form-file-dropzone:hover, .so-form-file-dropzone.so-dragover {
  background: var(--so-primary-bg-subtle);
}
[data-theme=dark] .so-form-file-dropzone:hover .so-form-file-dropzone-icon, .so-form-file-dropzone.so-dragover .so-form-file-dropzone-icon {
  background: var(--so-primary-focus-ring);
}

.so-form-file-dropzone.disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.so-form-file-dropzone.so-uploading {
  pointer-events: none;
}
.so-form-file-dropzone.so-uploading .so-form-file-dropzone-icon {
  animation: so-dropzone-pulse 1.5s ease infinite;
}

@keyframes so-dropzone-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.7;
  }
}
.so-form-file-dropzone-sm {
  padding: 16px 12px;
  gap: 8px;
}
.so-form-file-dropzone-sm .so-form-file-dropzone-icon {
  width: 36px;
  height: 36px;
}
.so-form-file-dropzone-sm .so-form-file-dropzone-icon .material-symbols-rounded {
  font-size: 18px;
}
.so-form-file-dropzone-sm .so-form-file-dropzone-text {
  font-size: 0.8125rem;
}
.so-form-file-dropzone-sm .so-form-file-dropzone-hint {
  font-size: 0.6875rem;
}

.so-form-file-dropzone-lg {
  padding: 40px 24px;
  gap: 16px;
}
.so-form-file-dropzone-lg .so-form-file-dropzone-icon {
  width: 64px;
  height: 64px;
}
.so-form-file-dropzone-lg .so-form-file-dropzone-icon .material-symbols-rounded {
  font-size: 32px;
}
.so-form-file-dropzone-lg .so-form-file-dropzone-text {
  font-size: 1rem;
}

.so-form-file-dropzone-horizontal {
  flex-direction: row;
  padding: 16px;
  gap: 16px;
  text-align: left;
}
.so-form-file-dropzone-horizontal .so-form-file-dropzone-content {
  flex: 1;
}
.so-form-file-dropzone-horizontal .so-form-file-dropzone-text,
.so-form-file-dropzone-horizontal .so-form-file-dropzone-hint {
  margin: 0;
}
.so-form-file-dropzone-horizontal .so-form-file-dropzone-hint {
  margin-top: 4px;
}

.so-form-file-dropzone-primary {
  border-color: var(--so-accent-primary);
}
.so-form-file-dropzone-primary:hover, .so-form-file-dropzone-primary.so-dragover {
  background: rgba(26, 115, 232, 0.05);
}

.so-form-file-dropzone-success {
  border-color: var(--so-accent-success);
}
.so-form-file-dropzone-success .so-form-file-dropzone-icon {
  background: rgba(52, 168, 83, 0.1);
  color: var(--so-accent-success);
}
.so-form-file-dropzone-success .so-form-file-dropzone-text span {
  color: var(--so-accent-success);
}
.so-form-file-dropzone-success:hover, .so-form-file-dropzone-success.so-dragover {
  border-color: var(--so-accent-success);
  background: rgba(52, 168, 83, 0.02);
}
.so-form-file-dropzone-success:hover .so-form-file-dropzone-icon, .so-form-file-dropzone-success.so-dragover .so-form-file-dropzone-icon {
  background: rgba(52, 168, 83, 0.15);
}

.so-form-file-dropzone-warning {
  border-color: var(--so-accent-warning);
}
.so-form-file-dropzone-warning .so-form-file-dropzone-icon {
  background: rgba(255, 179, 0, 0.1);
  color: var(--so-warning-text-emphasis);
}
.so-form-file-dropzone-warning .so-form-file-dropzone-text span {
  color: var(--so-warning-text-emphasis);
}
.so-form-file-dropzone-warning:hover, .so-form-file-dropzone-warning.so-dragover {
  border-color: var(--so-accent-warning);
  background: rgba(255, 179, 0, 0.02);
}
.so-form-file-dropzone-warning:hover .so-form-file-dropzone-icon, .so-form-file-dropzone-warning.so-dragover .so-form-file-dropzone-icon {
  background: rgba(255, 179, 0, 0.15);
}

.so-form-file-dropzone.so-has-error {
  border-color: var(--so-accent-danger);
}
.so-form-file-dropzone.so-has-error .so-form-file-dropzone-icon {
  background: rgba(234, 67, 53, 0.1);
  color: var(--so-accent-danger);
}

.so-form-file-dropzone.so-has-success {
  border-color: var(--so-accent-success);
  border-style: solid;
}
.so-form-file-dropzone.so-has-success .so-form-file-dropzone-icon {
  background: rgba(52, 168, 83, 0.1);
  color: var(--so-accent-success);
}

.so-form-control-color {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.so-form-control-color input[type=color] {
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  opacity: 0;
}
.so-form-control-color input[type=color]::-webkit-color-swatch-wrapper {
  padding: 0;
}
.so-form-control-color input[type=color]::-webkit-color-swatch {
  border: none;
  border-radius: 4px;
}
.so-form-control-color input[type=color]::-moz-color-swatch {
  border: none;
  border-radius: 4px;
}
.so-form-control-color .so-form-color-swatch {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 2px solid var(--so-form-border);
  border-radius: 4px;
  background: var(--selected-color, #1a73e8);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.so-form-control-color .so-form-color-swatch:hover {
  border-color: var(--so-form-border-hover);
  transform: scale(1.05);
}
.so-form-control-color:focus-within .so-form-color-swatch {
  border-color: var(--so-form-border-focus);
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.1);
}
[data-theme=dark] .so-form-control-color:focus-within .so-form-color-swatch {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-form-control-color .so-form-color-value {
  font-family: "Roboto Mono", monospace;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  text-transform: uppercase;
  min-width: 70px;
  letter-spacing: 0.5px;
}
.so-form-control-color .so-form-color-name {
  font-size: 0.8125rem;
  color: var(--so-text-primary);
  font-weight: 500;
}
.so-form-control-color.so-form-control-color-sm {
  gap: 4px;
}
.so-form-control-color.so-form-control-color-sm input[type=color] {
  width: 28px;
  height: 28px;
}
.so-form-control-color.so-form-control-color-sm .so-form-color-swatch {
  width: 24px;
  height: 24px;
}
.so-form-control-color.so-form-control-color-sm .so-form-color-value {
  font-size: 0.6875rem;
  min-width: 60px;
}
.so-form-control-color.so-form-control-color-lg {
  gap: 12px;
}
.so-form-control-color.so-form-control-color-lg input[type=color] {
  width: 44px;
  height: 44px;
}
.so-form-control-color.so-form-control-color-lg .so-form-color-swatch {
  width: 40px;
  height: 40px;
}
.so-form-control-color.so-form-control-color-lg .so-form-color-value {
  font-size: 0.875rem;
  min-width: 80px;
}
.so-form-control-color.so-form-control-color-xl {
  gap: 12px;
}
.so-form-control-color.so-form-control-color-xl input[type=color] {
  width: 52px;
  height: 52px;
}
.so-form-control-color.so-form-control-color-xl .so-form-color-swatch {
  width: 48px;
  height: 48px;
  border-radius: 6px;
}
.so-form-control-color.so-form-control-color-xl .so-form-color-value {
  font-size: 1rem;
  min-width: 90px;
}
.so-form-control-color.disabled {
  opacity: 0.6;
  pointer-events: none;
}
.so-form-control-color.disabled .so-form-color-swatch {
  cursor: not-allowed;
}

.so-form-control-color-circle .so-form-color-swatch {
  border-radius: 9999px;
}

.so-form-control-color-rounded .so-form-color-swatch {
  border-radius: 8px;
}

.so-form-color-input {
  display: flex;
  align-items: center;
}
.so-form-color-input .so-form-control-color {
  position: relative;
  margin-right: -1px;
  z-index: 1;
}
.so-form-color-input .so-form-control-color .so-form-color-swatch {
  border-radius: 4px 0 0 4px;
  height: 38px;
  width: 38px;
}
.so-form-color-input .so-form-control-color input[type=color] {
  width: 40px;
  height: 40px;
}
.so-form-color-input .so-form-control {
  border-radius: 0 4px 4px 0;
  font-family: "Roboto Mono", monospace;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.so-form-color-input.so-form-color-input-sm .so-form-control-color .so-form-color-swatch {
  height: 30px;
  width: 30px;
}
.so-form-color-input.so-form-color-input-sm .so-form-control-color input[type=color] {
  width: 32px;
  height: 32px;
}
.so-form-color-input.so-form-color-input-lg .so-form-control-color .so-form-color-swatch {
  height: 46px;
  width: 46px;
}
.so-form-color-input.so-form-color-input-lg .so-form-control-color input[type=color] {
  width: 48px;
  height: 48px;
}

.so-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.so-color-swatch {
  position: relative;
  width: 32px;
  height: 32px;
  border: 2px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.so-color-swatch:hover {
  transform: scale(1.1);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}
.so-color-swatch.so-selected {
  border-color: var(--so-text-primary);
  box-shadow: 0 0 0 2px var(--so-card-bg), 0 0 0 4px var(--so-text-primary);
}
.so-color-swatch.so-selected::after {
  content: "check";
  font-family: "Material Symbols Rounded";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  font-size: 16px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.so-color-swatch input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  margin: 0;
}

.so-color-swatches-sm .so-color-swatch {
  width: 24px;
  height: 24px;
}
.so-color-swatches-sm .so-color-swatch.so-selected::after {
  font-size: 14px;
}

.so-color-swatches-lg .so-color-swatch {
  width: 40px;
  height: 40px;
}
.so-color-swatches-lg .so-color-swatch.so-selected::after {
  font-size: 20px;
}

.so-color-swatches-circle .so-color-swatch {
  border-radius: 9999px;
}

.so-color-palette {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(32px, 1fr));
  gap: 4px;
  padding: 8px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-card-border);
  border-radius: 8px;
  max-width: 280px;
}

.so-color-palette-item {
  aspect-ratio: 1;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.so-color-palette-item:hover {
  transform: scale(1.15);
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18);
  z-index: 1;
}
.so-color-palette-item:active {
  transform: scale(1.05);
}

.so-select {
  position: relative;
  display: block;
  width: 100%;
}
.so-select:hover:not(.so-select-disabled) .so-select-trigger:not(:focus):not([disabled]):not(.so-is-invalid) {
  border-color: var(--so-form-border-hover);
}
.so-select.so-select-disabled {
  opacity: 0.6;
  pointer-events: none;
}
.so-select.so-select-disabled .so-select-trigger {
  cursor: not-allowed;
  background-color: var(--so-form-disabled-bg);
}
.so-select.so-select-open .so-select-dropdown {
  display: block;
  opacity: 1;
  transform: translateY(0);
}
.so-select.so-select-open .so-select-arrow {
  transform: translateY(-50%) rotate(180deg);
}
.so-select.so-select-loading .so-select-arrow {
  animation: so-select-spin 1s linear infinite;
}

@keyframes so-select-spin {
  from {
    transform: translateY(-50%) rotate(0deg);
  }
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}
.so-select-trigger {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 40px;
  padding: 0 40px 0 12px;
  font-size: 0.875rem;
  font-family: inherit;
  line-height: 1.4;
  color: var(--so-form-text);
  background-color: var(--so-form-bg);
  border: 1px solid var(--so-form-border);
  border-radius: 4px;
  box-sizing: border-box;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.so-select-trigger:focus {
  border-color: var(--so-form-border-focus);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-select-value {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: normal;
}

.so-select-placeholder {
  flex: 1;
  color: var(--so-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: normal;
}

.so-select-trigger-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  color: var(--so-text-secondary);
  height: 100%;
}
.so-select-trigger-icon .material-symbols-rounded {
  font-size: 20px;
  line-height: 1;
}

.so-select-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--so-text-secondary);
  pointer-events: none;
  transition: transform 0.15s ease;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
.so-select-arrow .material-symbols-rounded {
  font-size: 20px;
  line-height: 1;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.so-select-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 4px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: var(--so-text-secondary);
  transition: background 0.15s ease, color 0.15s ease;
}
.so-select-clear:hover {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-select-clear .material-symbols-rounded {
  font-size: 16px;
}

.so-select-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  flex: 1;
  min-height: 24px;
  align-items: center;
  align-self: center;
}

.so-select-chip {
  max-width: 150px;
}
.so-select-chip > span:not(.so-select-chip-icon):not(.so-chip-close) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
}

.so-select-chip.so-chip {
  border-radius: 6px;
}

.so-select-chip-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}
.so-select-chip-icon .material-symbols-rounded {
  font-size: 16px;
  line-height: 0;
}

.so-select-overflow {
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
  white-space: nowrap;
}

.so-select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  margin-top: 4px;
  background: var(--so-dropdown-bg);
  border: 1px solid var(--so-dropdown-border);
  border-radius: 4px;
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.22);
  display: none;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}
[data-theme=dark] .so-select-dropdown {
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.45);
}

.so-select-search {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-bottom: 1px solid var(--so-border-color);
}
.so-select-search .material-symbols-rounded {
  color: var(--so-text-secondary);
  font-size: 20px;
  margin-right: 8px;
}

.so-select-search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.8125rem;
  color: var(--so-form-text);
}
.so-select-search-input::-moz-placeholder {
  color: var(--so-text-muted);
}
.so-select-search-input::placeholder {
  color: var(--so-text-muted);
}

.so-select-highlight,
.so-select-option mark {
  background: rgba(115, 103, 240, 0.2);
  color: var(--so-accent-primary);
  padding: 0;
  border-radius: 0;
  font-weight: 600;
}
[data-theme=dark] .so-select-highlight, .so-select-option mark {
  background: rgba(115, 103, 240, 0.3);
}

.so-select-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--so-border-color);
  font-size: 0.6875rem;
}

.so-select-action {
  padding: 0;
  background: none;
  border: none;
  color: var(--so-accent-primary);
  cursor: pointer;
  font-size: inherit;
  font-weight: 500;
  transition: color 0.15s ease;
}
.so-select-action:hover {
  color: var(--so-primary-text-emphasis);
  text-decoration: underline;
}

.so-select-action-separator {
  color: var(--so-text-muted);
}

.so-select-options {
  max-height: 280px;
  overflow-y: auto;
  padding: 4px 0;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-select-options::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-select-options::-webkit-scrollbar-track {
  background: transparent;
}
.so-select-options::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-select-options::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-select-no-results {
  padding: 12px;
  text-align: center;
  color: var(--so-text-muted);
  font-size: 0.8125rem;
}

.so-select-loading-text {
  padding: 12px;
  text-align: center;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
}

.so-select-group:not(:first-child) {
  margin-top: 4px;
  padding-top: 4px;
}
.so-select-group:not(:first-child)::before {
  content: "";
  display: block;
  height: 1px;
  margin: 0 12px 4px;
  background: var(--so-border-color);
}

.so-select-group-label {
  padding: 8px 12px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--so-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--so-card-hover-bg);
  margin: 0 4px;
  border-radius: 3px;
}

.so-select-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  transition: background 0.1s ease;
}
.so-select-option:hover:not(.so-disabled) {
  background: var(--so-dropdown-item-hover);
}
.so-select-option.so-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.so-select-option.so-focused {
  background: var(--so-dropdown-item-hover);
  box-shadow: inset 3px 0 0 0 var(--so-accent-primary);
}

.so-select-option-icon {
  flex-shrink: 0;
  color: var(--so-text-secondary);
}
.so-select-option-icon .material-symbols-rounded {
  font-size: 20px;
}

.so-select-option-content {
  flex: 1;
  min-width: 0;
}

.so-select-option-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.so-select-option-desc {
  display: block;
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.so-select-option-check {
  flex-shrink: 0;
  margin-left: auto;
  opacity: 0;
  color: var(--so-dropdown-item-active-text);
  transition: opacity 0.1s ease;
}
.so-select-option-check .material-symbols-rounded {
  font-size: 20px;
}

.so-select-option.so-selected,
.so-select-style-icon-bg .so-select-option.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-select-option.so-selected .so-select-option-check,
.so-select-style-icon-bg .so-select-option.so-selected .so-select-option-check {
  opacity: 1;
}

.so-select-style-icon .so-select-option.so-selected {
  background: transparent;
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-select-style-icon .so-select-option.so-selected .so-select-option-check {
  opacity: 1;
}
.so-select-style-icon .so-select-option.so-selected:hover {
  background: var(--so-dropdown-item-hover);
}

.so-select-style-bg .so-select-option.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-select-style-bg .so-select-option.so-selected .so-select-option-check {
  display: none;
}

.so-select-style-checkbox .so-select-option .so-checkbox-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid var(--so-form-border);
  border-radius: 3px;
  background: var(--so-card-bg);
  margin-right: 4px;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.so-select-style-checkbox .so-select-option .so-checkbox-box .material-symbols-rounded {
  font-size: 16px;
  color: #ffffff;
  opacity: 0;
  transform: scale(0);
  transition: all 0.15s ease;
  line-height: 1;
}
.so-select-style-checkbox .so-select-option:hover:not(.so-disabled) .so-checkbox-box {
  border-color: var(--so-accent-primary);
}
.so-select-style-checkbox .so-select-option.so-selected {
  background: transparent;
  color: inherit;
  font-weight: inherit;
}
.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box .material-symbols-rounded {
  opacity: 1;
  transform: scale(1);
}
.so-select-style-checkbox .so-select-option .so-select-option-check {
  display: none;
}

.so-select-style-checkbox-bg .so-select-option .so-checkbox-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid var(--so-form-border);
  border-radius: 3px;
  background: var(--so-card-bg);
  margin-right: 4px;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.so-select-style-checkbox-bg .so-select-option .so-checkbox-box .material-symbols-rounded {
  font-size: 16px;
  color: #ffffff;
  opacity: 0;
  transform: scale(0);
  transition: all 0.15s ease;
  line-height: 1;
}
.so-select-style-checkbox-bg .so-select-option:hover:not(.so-disabled) .so-checkbox-box {
  border-color: var(--so-accent-primary);
}
.so-select-style-checkbox-bg .so-select-option.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box .material-symbols-rounded {
  opacity: 1;
  transform: scale(1);
}
.so-select-style-checkbox-bg .so-select-option .so-select-option-check {
  display: none;
}

.so-select-style-radio .so-select-option .so-radio-circle {
  margin-top: 0;
  margin-right: 8px;
}
.so-select-style-radio .so-select-option:hover:not(.so-disabled) .so-radio-circle {
  border-color: var(--so-accent-primary);
}
.so-select-style-radio .so-select-option.so-selected {
  background: transparent;
  color: inherit;
  font-weight: inherit;
}
.so-select-style-radio .so-select-option.so-selected .so-radio-circle {
  border-color: var(--so-accent-primary);
}
.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after {
  transform: scale(1);
}
.so-select-style-radio .so-select-option .so-select-option-check {
  display: none;
}

.so-select-style-radio-bg .so-select-option .so-radio-circle {
  margin-top: 0;
  margin-right: 8px;
}
.so-select-style-radio-bg .so-select-option:hover:not(.so-disabled) .so-radio-circle {
  border-color: var(--so-accent-primary);
}
.so-select-style-radio-bg .so-select-option.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: var(--so-accent-primary);
}
.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  transform: scale(1);
}
.so-select-style-radio-bg .so-select-option .so-select-option-check {
  display: none;
}

.so-select-sm .so-select-trigger {
  height: 32px;
  padding: 0 10px;
  padding-right: 32px;
  font-size: 13px;
}
.so-select-sm .so-select-trigger-icon .material-symbols-rounded {
  font-size: 18px;
}
.so-select-sm .so-select-arrow {
  right: 8px;
}
.so-select-sm .so-select-arrow .material-symbols-rounded {
  font-size: 18px;
}
.so-select-sm .so-select-chip-icon .material-symbols-rounded {
  font-size: 14px;
}
.so-select-sm .so-select-dropdown {
  font-size: 13px;
}
.so-select-sm .so-select-option {
  padding: 6px 10px;
}

.so-select-xs .so-select-trigger {
  height: 26px;
  padding: 0 8px;
  padding-right: 26px;
  font-size: 11px;
}
.so-select-xs .so-select-trigger-icon .material-symbols-rounded {
  font-size: 16px;
}
.so-select-xs .so-select-arrow {
  right: 6px;
}
.so-select-xs .so-select-arrow .material-symbols-rounded {
  font-size: 16px;
}
.so-select-xs .so-select-chip-icon .material-symbols-rounded {
  font-size: 12px;
}
.so-select-xs .so-select-dropdown {
  font-size: 11px;
}
.so-select-xs .so-select-option {
  padding: 4px 8px;
}

.so-select-lg .so-select-trigger {
  height: 48px;
  padding: 0 16px;
  padding-right: 44px;
  font-size: 15px;
}
.so-select-lg .so-select-trigger-icon .material-symbols-rounded {
  font-size: 24px;
}
.so-select-lg .so-select-arrow {
  right: 14px;
}
.so-select-lg .so-select-arrow .material-symbols-rounded {
  font-size: 24px;
}
.so-select-lg .so-select-chip-icon .material-symbols-rounded {
  font-size: 20px;
}
.so-select-lg .so-select-dropdown {
  font-size: 15px;
}
.so-select-lg .so-select-option {
  padding: 12px 16px;
}

.so-select-primary .so-select-trigger {
  border-color: var(--so-accent-primary);
}
.so-select-primary .so-select-trigger:focus {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-select-primary .so-select-option.so-selected {
  background: var(--so-primary-bg-subtle);
  color: var(--so-accent-primary);
  font-weight: 500;
}
.so-select-primary .so-select-option.so-selected .so-select-option-check {
  color: var(--so-accent-primary);
}
.so-select-primary.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box, .so-select-primary.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-select-primary.so-select-style-radio .so-select-option.so-selected .so-radio-circle, .so-select-primary.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: var(--so-accent-primary);
}
.so-select-primary.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after, .so-select-primary.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  background: var(--so-accent-primary);
}
.so-select-primary .so-select-option mark,
.so-select-primary .so-select-highlight {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-accent-primary);
}

.so-select-secondary .so-select-trigger {
  border-color: var(--so-accent-secondary);
}
.so-select-secondary .so-select-trigger:focus {
  border-color: var(--so-accent-secondary);
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}
.so-select-secondary .so-select-option.so-selected {
  background: var(--so-secondary-bg-subtle);
  color: var(--so-accent-secondary);
  font-weight: 500;
}
.so-select-secondary .so-select-option.so-selected .so-select-option-check {
  color: var(--so-accent-secondary);
}
.so-select-secondary.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box, .so-select-secondary.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: var(--so-accent-secondary);
  border-color: var(--so-accent-secondary);
}
.so-select-secondary.so-select-style-radio .so-select-option.so-selected .so-radio-circle, .so-select-secondary.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: var(--so-accent-secondary);
}
.so-select-secondary.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after, .so-select-secondary.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  background: var(--so-accent-secondary);
}
.so-select-secondary .so-select-option mark,
.so-select-secondary .so-select-highlight {
  background: var(--so-secondary-bg-emphasis);
  color: var(--so-accent-secondary);
}

.so-select-success .so-select-trigger {
  border-color: var(--so-accent-success);
}
.so-select-success .so-select-trigger:focus {
  border-color: var(--so-accent-success);
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-select-success .so-select-option.so-selected {
  background: var(--so-success-bg-subtle);
  color: var(--so-accent-success);
  font-weight: 500;
}
.so-select-success .so-select-option.so-selected .so-select-option-check {
  color: var(--so-accent-success);
}
.so-select-success.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box, .so-select-success.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-select-success.so-select-style-radio .so-select-option.so-selected .so-radio-circle, .so-select-success.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: var(--so-accent-success);
}
.so-select-success.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after, .so-select-success.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  background: var(--so-accent-success);
}
.so-select-success .so-select-option mark,
.so-select-success .so-select-highlight {
  background: var(--so-success-bg-emphasis);
  color: var(--so-accent-success);
}

.so-select-danger .so-select-trigger {
  border-color: var(--so-accent-danger);
}
.so-select-danger .so-select-trigger:focus {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-select-danger .so-select-option.so-selected {
  background: var(--so-danger-bg-subtle);
  color: var(--so-accent-danger);
  font-weight: 500;
}
.so-select-danger .so-select-option.so-selected .so-select-option-check {
  color: var(--so-accent-danger);
}
.so-select-danger.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box, .so-select-danger.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}
.so-select-danger.so-select-style-radio .so-select-option.so-selected .so-radio-circle, .so-select-danger.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: var(--so-accent-danger);
}
.so-select-danger.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after, .so-select-danger.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  background: var(--so-accent-danger);
}
.so-select-danger .so-select-option mark,
.so-select-danger .so-select-highlight {
  background: var(--so-danger-bg-emphasis);
  color: var(--so-accent-danger);
}

.so-select-warning .so-select-trigger {
  border-color: var(--so-accent-warning);
}
.so-select-warning .so-select-trigger:focus {
  border-color: var(--so-accent-warning);
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-select-warning .so-select-option.so-selected {
  background: var(--so-warning-bg-subtle);
  color: var(--so-accent-warning);
  font-weight: 500;
}
.so-select-warning .so-select-option.so-selected .so-select-option-check {
  color: var(--so-accent-warning);
}
.so-select-warning.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box, .so-select-warning.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
}
.so-select-warning.so-select-style-radio .so-select-option.so-selected .so-radio-circle, .so-select-warning.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: var(--so-accent-warning);
}
.so-select-warning.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after, .so-select-warning.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  background: var(--so-accent-warning);
}
.so-select-warning .so-select-option mark,
.so-select-warning .so-select-highlight {
  background: var(--so-warning-bg-emphasis);
  color: var(--so-accent-warning);
}

.so-select-info .so-select-trigger {
  border-color: var(--so-accent-info);
}
.so-select-info .so-select-trigger:focus {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-select-info .so-select-option.so-selected {
  background: var(--so-info-bg-subtle);
  color: var(--so-accent-info);
  font-weight: 500;
}
.so-select-info .so-select-option.so-selected .so-select-option-check {
  color: var(--so-accent-info);
}
.so-select-info.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box, .so-select-info.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
}
.so-select-info.so-select-style-radio .so-select-option.so-selected .so-radio-circle, .so-select-info.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: var(--so-accent-info);
}
.so-select-info.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after, .so-select-info.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  background: var(--so-accent-info);
}
.so-select-info .so-select-option mark,
.so-select-info .so-select-highlight {
  background: var(--so-info-bg-emphasis);
  color: var(--so-accent-info);
}

.so-select-light .so-select-trigger {
  border-color: #bdc1c6;
}
.so-select-light .so-select-trigger:focus {
  border-color: #bdc1c6;
  box-shadow: 0 0 0 3px rgba(189, 193, 198, 0.2);
}
.so-select-light .so-select-option.so-selected {
  background: rgba(189, 193, 198, 0.1);
  color: #bdc1c6;
  font-weight: 500;
}
.so-select-light .so-select-option.so-selected .so-select-option-check {
  color: #bdc1c6;
}
.so-select-light.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box, .so-select-light.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: #bdc1c6;
  border-color: #bdc1c6;
}
.so-select-light.so-select-style-radio .so-select-option.so-selected .so-radio-circle, .so-select-light.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: #bdc1c6;
}
.so-select-light.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after, .so-select-light.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  background: #bdc1c6;
}
.so-select-light .so-select-option mark,
.so-select-light .so-select-highlight {
  background: rgba(189, 193, 198, 0.2);
  color: #bdc1c6;
}

.so-select-dark .so-select-trigger {
  border-color: #202124;
}
.so-select-dark .so-select-trigger:focus {
  border-color: #202124;
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.2);
}
.so-select-dark .so-select-option.so-selected {
  background: rgba(32, 33, 36, 0.1);
  color: #202124;
  font-weight: 500;
}
.so-select-dark .so-select-option.so-selected .so-select-option-check {
  color: #202124;
}
.so-select-dark.so-select-style-checkbox .so-select-option.so-selected .so-checkbox-box, .so-select-dark.so-select-style-checkbox-bg .so-select-option.so-selected .so-checkbox-box {
  background: #202124;
  border-color: #202124;
}
.so-select-dark.so-select-style-radio .so-select-option.so-selected .so-radio-circle, .so-select-dark.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle {
  border-color: #202124;
}
.so-select-dark.so-select-style-radio .so-select-option.so-selected .so-radio-circle::after, .so-select-dark.so-select-style-radio-bg .so-select-option.so-selected .so-radio-circle::after {
  background: #202124;
}
.so-select-dark .so-select-option mark,
.so-select-dark .so-select-highlight {
  background: rgba(32, 33, 36, 0.2);
  color: #202124;
}

.so-select-display-chips .so-select-trigger {
  flex-wrap: wrap;
  height: auto;
  min-height: 40px;
  max-height: 120px;
  overflow-y: auto;
  align-content: center;
  padding-top: 4px;
  padding-bottom: 4px;
}
.so-select-display-chips .so-select-chips {
  flex-wrap: wrap;
  align-items: center;
}

.so-select-display-chips-overflow .so-select-trigger {
  align-items: center;
}
.so-select-display-chips-overflow .so-select-chips {
  flex-wrap: nowrap;
  overflow: hidden;
  align-items: center;
}
.so-select-display-chips-overflow .so-select-chip {
  flex-shrink: 0;
}

.so-select-nowrap .so-select-dropdown {
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
.so-select-nowrap .so-select-option {
  white-space: nowrap;
}
.so-select-nowrap .so-select-option-content,
.so-select-nowrap .so-select-option-text {
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}
.so-select-nowrap .so-select-group-label {
  white-space: nowrap;
}

select.so-select-enhanced {
  position: absolute !important;
  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;
}

.so-autocomplete {
  position: relative;
  display: block;
  width: 100%;
}
.so-autocomplete.so-autocomplete-disabled {
  opacity: 0.6;
  pointer-events: none;
}
.so-autocomplete.so-autocomplete-disabled .so-autocomplete-container {
  cursor: not-allowed;
  background-color: var(--so-form-disabled-bg);
}
.so-autocomplete.so-autocomplete-open .so-autocomplete-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.so-autocomplete.so-autocomplete-open .so-autocomplete-arrow .material-symbols-rounded {
  transform: rotate(180deg);
}
.so-autocomplete.so-autocomplete-focused .so-autocomplete-container {
  border-color: var(--so-form-border-focus);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-autocomplete.so-autocomplete-loading .so-autocomplete-arrow {
  opacity: 0.5;
}
.so-autocomplete.so-autocomplete-error .so-autocomplete-container {
  border-color: var(--so-danger);
}
.so-autocomplete.so-autocomplete-locked .so-autocomplete-container {
  cursor: default;
  background-color: var(--so-form-bg);
}
.so-autocomplete.so-autocomplete-locked .so-autocomplete-input {
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-autocomplete.so-autocomplete-locked .so-autocomplete-arrow {
  display: none;
}
.so-autocomplete.so-autocomplete-locked .so-autocomplete-clear {
  display: flex;
  right: 12px;
}

.so-form-group.so-has-error .so-autocomplete .so-autocomplete-container {
  border-color: var(--so-accent-danger);
}

.so-form-group.so-has-error .so-autocomplete .so-autocomplete-container:focus-within {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-autocomplete-container {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 40px;
  padding: 8px 40px 8px 12px;
  font-size: 0.875rem;
  font-family: inherit;
  color: var(--so-form-text);
  background-color: var(--so-form-bg);
  border: 1px solid var(--so-form-border);
  border-radius: 4px;
  box-sizing: border-box;
  cursor: text;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.so-autocomplete-container:hover:not([disabled]):not(.so-is-invalid) {
  border-color: var(--so-form-border-focus);
}

.so-autocomplete-input {
  flex: 1;
  min-width: 60px;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  background: transparent;
  border: none;
  outline: none;
}
.so-autocomplete-input::-moz-placeholder {
  color: var(--so-form-placeholder);
  opacity: 1;
}
.so-autocomplete-input::placeholder {
  color: var(--so-form-placeholder);
  opacity: 1;
}
.so-autocomplete-input:disabled {
  cursor: not-allowed;
}

.so-autocomplete-tokens {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  line-height: 1.4;
  box-sizing: border-box;
}

.so-autocomplete-token {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  gap: 4px;
  border-radius: 6px;
}
.so-autocomplete-token-text {
  white-space: nowrap;
  line-height: 1.4;
}
.so-autocomplete-token-overflow {
  background-color: transparent;
  border: 1px dashed var(--so-border-color);
  color: var(--so-text-muted);
  cursor: default;
}
[data-theme=dark] .so-autocomplete-token-overflow {
  border-color: var(--so-form-border);
}

.so-autocomplete-token-overflow:hover {
  background-color: transparent;
}

.so-autocomplete-token.so-chip,
.so-autocomplete-single-chip-item.so-chip {
  border-radius: 6px;
}

.so-autocomplete-selected-text {
  color: var(--so-text);
  font-size: 0.8125rem;
}

.so-autocomplete-clear {
  display: none;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--so-text-muted);
  transition: color 0.15s ease;
  z-index: 2;
}
.so-autocomplete-clear:hover {
  color: var(--so-danger);
}
.so-autocomplete-clear .material-symbols-rounded {
  font-size: 18px;
}

.so-autocomplete:not(:has(.so-autocomplete-arrow)) .so-autocomplete-clear {
  right: 12px;
}
.so-autocomplete:not(:has(.so-autocomplete-arrow)) .so-autocomplete-container {
  padding-right: 32px;
}
.so-autocomplete:not(:has(.so-autocomplete-arrow)) .so-autocomplete-spinner {
  right: 32px;
}
.so-autocomplete:not(:has(.so-autocomplete-arrow)):has(.so-autocomplete-clear[style*=flex]) .so-autocomplete-spinner {
  right: 48px;
}

.so-autocomplete-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-text-muted);
  pointer-events: none;
  transition: transform 0.15s ease;
}
.so-autocomplete-arrow .material-symbols-rounded {
  font-size: 20px;
  transition: transform 0.15s ease;
}

.so-autocomplete-spinner {
  display: none;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.so-autocomplete-spinner .so-spinner {
  width: 16px;
  height: 16px;
  border-width: 2px;
}

.so-autocomplete:has(.so-autocomplete-clear[style*=flex]) .so-autocomplete-spinner {
  right: 64px;
}

.so-autocomplete-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 280px;
  background-color: var(--so-dropdown-bg);
  border: 1px solid var(--so-dropdown-border);
  border-radius: 4px;
  box-shadow: var(--so-shadow-lg);
  z-index: 9999;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
}
[data-theme=dark] .so-autocomplete-dropdown {
  background-color: var(--so-dropdown-bg);
  border-color: var(--so-dropdown-border);
}

.so-autocomplete-dropdown .so-autocomplete-loading {
  display: none !important;
}

.so-autocomplete-options {
  max-height: 280px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-autocomplete-options::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-autocomplete-options::-webkit-scrollbar-track {
  background: transparent;
}
.so-autocomplete-options::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-autocomplete-options::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-autocomplete-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  font-size: 0.875rem;
  color: var(--so-dropdown-text);
  cursor: pointer;
  transition: background-color 0.1s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-autocomplete-option:hover:not(.so-autocomplete-option-disabled) {
  background-color: var(--so-dropdown-hover);
}
[data-theme=dark] .so-autocomplete-option:hover:not(.so-autocomplete-option-disabled) {
  background-color: var(--so-dropdown-item-hover);
}

.so-autocomplete-option-text {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}
.so-autocomplete-option-check {
  display: none;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  color: var(--so-accent-primary);
}
.so-autocomplete-option-check .material-symbols-rounded {
  font-size: 18px;
}
.so-autocomplete-option.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-autocomplete-option.so-selected .so-autocomplete-option-check {
  display: flex;
}
.so-autocomplete-option.so-selected:hover {
  background: var(--so-dropdown-item-active);
}
.so-autocomplete-option-focused {
  background-color: var(--so-dropdown-item-hover);
}
[data-theme=dark] .so-autocomplete-option-focused {
  background-color: var(--so-dropdown-item-hover);
}

.so-autocomplete-option-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.so-autocomplete-option mark {
  background: rgba(115, 103, 240, 0.2);
  color: var(--so-accent-primary);
  padding: 0;
  border-radius: 0;
  font-weight: 600;
}
[data-theme=dark] .so-autocomplete-option mark {
  background: rgba(115, 103, 240, 0.3);
}

.so-autocomplete-group-header {
  padding: 8px 12px 4px 12px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background-color: var(--so-bg-subtle);
}
[data-theme=dark] .so-autocomplete-group-header {
  background-color: var(--so-card-bg);
}

.so-autocomplete-group-header:not(:first-child) {
  border-top: 1px solid var(--so-border-color);
}
[data-theme=dark] .so-autocomplete-group-header:not(:first-child) {
  border-top-color: var(--so-dropdown-border);
}

.so-autocomplete-no-results {
  display: none;
  padding: 16px 12px;
  text-align: center;
  color: var(--so-text-muted);
  font-size: 0.8125rem;
}

.so-autocomplete-xs .so-autocomplete-container {
  min-height: 26px;
  padding: 2px 20px 2px 4px;
  font-size: 0.6875rem;
}
.so-autocomplete-xs .so-autocomplete-input {
  font-size: 0.6875rem;
}
.so-autocomplete-xs .so-autocomplete-token {
  padding: 2px 4px;
  font-size: 10px;
}
.so-autocomplete-xs .so-autocomplete-option {
  padding: 4px 6px;
  font-size: 0.6875rem;
}
.so-autocomplete-xs .so-autocomplete-clear,
.so-autocomplete-xs .so-autocomplete-arrow {
  right: 4px;
}
.so-autocomplete-xs .so-autocomplete-clear {
  right: 18px;
}
.so-autocomplete-xs .so-autocomplete-arrow .material-symbols-rounded {
  font-size: 16px;
}

.so-autocomplete-sm .so-autocomplete-container {
  min-height: 32px;
  padding: 4px 36px 4px 8px;
  font-size: 0.8125rem;
}
.so-autocomplete-sm .so-autocomplete-input {
  font-size: 0.8125rem;
}
.so-autocomplete-sm .so-autocomplete-token {
  padding: 2px 6px;
  font-size: 0.6875rem;
}
.so-autocomplete-sm .so-autocomplete-option {
  padding: 8px 10px;
  font-size: 0.8125rem;
}
.so-autocomplete-sm .so-autocomplete-clear,
.so-autocomplete-sm .so-autocomplete-arrow {
  right: 8px;
}
.so-autocomplete-sm .so-autocomplete-clear {
  right: 32px;
}

.so-autocomplete-lg .so-autocomplete-container {
  min-height: 48px;
  padding: 12px 44px 12px 16px;
  font-size: 1rem;
}
.so-autocomplete-lg .so-autocomplete-input {
  font-size: 1rem;
}
.so-autocomplete-lg .so-autocomplete-token {
  padding: 6px 10px;
  font-size: 0.875rem;
}
.so-autocomplete-lg .so-autocomplete-option {
  padding: 12px 16px;
  font-size: 1rem;
}
.so-autocomplete-lg .so-autocomplete-clear,
.so-autocomplete-lg .so-autocomplete-arrow {
  right: 16px;
}
.so-autocomplete-lg .so-autocomplete-clear {
  right: 48px;
}

.so-autocomplete-primary.so-autocomplete-focused .so-autocomplete-container {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-autocomplete-primary .so-autocomplete-option.so-selected {
  background: var(--so-primary-bg-subtle);
  color: var(--so-accent-primary);
  font-weight: 500;
}
.so-autocomplete-primary .so-autocomplete-option.so-selected:hover {
  background: var(--so-primary-bg-emphasis);
}
.so-autocomplete-primary .so-autocomplete-option mark {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-accent-primary);
}
.so-autocomplete-primary .so-autocomplete-option-check {
  color: var(--so-accent-primary);
}

.so-autocomplete-secondary.so-autocomplete-focused .so-autocomplete-container {
  border-color: var(--so-accent-secondary);
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}
.so-autocomplete-secondary .so-autocomplete-option.so-selected {
  background: var(--so-secondary-bg-subtle);
  color: var(--so-accent-secondary);
  font-weight: 500;
}
.so-autocomplete-secondary .so-autocomplete-option.so-selected:hover {
  background: var(--so-secondary-bg-emphasis);
}
.so-autocomplete-secondary .so-autocomplete-option mark {
  background: var(--so-secondary-bg-emphasis);
  color: var(--so-accent-secondary);
}
.so-autocomplete-secondary .so-autocomplete-option-check {
  color: var(--so-accent-secondary);
}

.so-autocomplete-success.so-autocomplete-focused .so-autocomplete-container {
  border-color: var(--so-accent-success);
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-autocomplete-success .so-autocomplete-option.so-selected {
  background: var(--so-success-bg-subtle);
  color: var(--so-accent-success);
  font-weight: 500;
}
.so-autocomplete-success .so-autocomplete-option.so-selected:hover {
  background: var(--so-success-bg-emphasis);
}
.so-autocomplete-success .so-autocomplete-option mark {
  background: var(--so-success-bg-emphasis);
  color: var(--so-accent-success);
}
.so-autocomplete-success .so-autocomplete-option-check {
  color: var(--so-accent-success);
}

.so-autocomplete-danger.so-autocomplete-focused .so-autocomplete-container {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-autocomplete-danger .so-autocomplete-option.so-selected {
  background: var(--so-danger-bg-subtle);
  color: var(--so-accent-danger);
  font-weight: 500;
}
.so-autocomplete-danger .so-autocomplete-option.so-selected:hover {
  background: var(--so-danger-bg-emphasis);
}
.so-autocomplete-danger .so-autocomplete-option mark {
  background: var(--so-danger-bg-emphasis);
  color: var(--so-accent-danger);
}
.so-autocomplete-danger .so-autocomplete-option-check {
  color: var(--so-accent-danger);
}

.so-autocomplete-warning.so-autocomplete-focused .so-autocomplete-container {
  border-color: var(--so-accent-warning);
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-autocomplete-warning .so-autocomplete-option.so-selected {
  background: var(--so-warning-bg-subtle);
  color: var(--so-accent-warning);
  font-weight: 500;
}
.so-autocomplete-warning .so-autocomplete-option.so-selected:hover {
  background: var(--so-warning-bg-emphasis);
}
.so-autocomplete-warning .so-autocomplete-option mark {
  background: var(--so-warning-bg-emphasis);
  color: var(--so-accent-warning);
}
.so-autocomplete-warning .so-autocomplete-option-check {
  color: var(--so-accent-warning);
}

.so-autocomplete-info.so-autocomplete-focused .so-autocomplete-container {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-autocomplete-info .so-autocomplete-option.so-selected {
  background: var(--so-info-bg-subtle);
  color: var(--so-accent-info);
  font-weight: 500;
}
.so-autocomplete-info .so-autocomplete-option.so-selected:hover {
  background: var(--so-info-bg-emphasis);
}
.so-autocomplete-info .so-autocomplete-option mark {
  background: var(--so-info-bg-emphasis);
  color: var(--so-accent-info);
}
.so-autocomplete-info .so-autocomplete-option-check {
  color: var(--so-accent-info);
}

.so-autocomplete-dark.so-autocomplete-focused .so-autocomplete-container {
  border-color: #3c4043;
  box-shadow: 0 0 0 3px rgba(60, 64, 67, 0.1);
}
.so-autocomplete-dark .so-autocomplete-option.so-selected {
  background: rgba(60, 64, 67, 0.1);
  color: #3c4043;
  font-weight: 500;
}
.so-autocomplete-dark .so-autocomplete-option.so-selected:hover {
  background: rgba(60, 64, 67, 0.15);
}
.so-autocomplete-dark .so-autocomplete-option mark {
  background: rgba(60, 64, 67, 0.2);
  color: #3c4043;
}
.so-autocomplete-dark .so-autocomplete-option-check {
  color: #3c4043;
}

.so-autocomplete-light.so-autocomplete-focused .so-autocomplete-container {
  border-color: #f1f3f4;
  box-shadow: 0 0 0 3px rgba(241, 243, 244, 0.1);
}
.so-autocomplete-light .so-autocomplete-option.so-selected {
  background: rgba(241, 243, 244, 0.1);
  color: #f1f3f4;
  font-weight: 500;
}
.so-autocomplete-light .so-autocomplete-option.so-selected:hover {
  background: rgba(241, 243, 244, 0.15);
}
.so-autocomplete-light .so-autocomplete-option mark {
  background: rgba(241, 243, 244, 0.2);
  color: #f1f3f4;
}
.so-autocomplete-light .so-autocomplete-option-check {
  color: #f1f3f4;
}

.so-autocomplete-display-chips .so-autocomplete-tokens {
  flex-wrap: wrap;
}

.so-autocomplete-display-chips-overflow .so-autocomplete-tokens {
  flex-wrap: nowrap;
}
.so-autocomplete-display-chips-overflow .so-autocomplete-input {
  flex: 1 1 auto;
  min-width: 50px;
  padding: 0 4px;
}
.so-autocomplete-display-chips-overflow .so-autocomplete-token {
  flex-shrink: 0;
  white-space: nowrap;
}
.so-autocomplete-display-chips-overflow .so-autocomplete-token-overflow {
  flex-shrink: 0;
  white-space: nowrap;
}
.so-autocomplete-display-chips-overflow.so-autocomplete-xs .so-autocomplete-input {
  min-width: 30px;
}
.so-autocomplete-display-chips-overflow.so-autocomplete-sm .so-autocomplete-input {
  min-width: 40px;
}
.so-autocomplete-display-chips-overflow.so-autocomplete-lg .so-autocomplete-input {
  min-width: 30px;
}

.so-autocomplete-display-text .so-autocomplete-tokens {
  flex-wrap: nowrap;
  overflow: hidden;
}
.so-autocomplete-display-text .so-autocomplete-selected-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-autocomplete-multiple .so-autocomplete-container {
  padding: 0 40px 0 0;
  align-items: center;
}
.so-autocomplete-multiple .so-autocomplete-tokens {
  min-height: calc(40px - 2px);
  padding: 8px 12px;
  gap: 4px;
  box-sizing: border-box;
}
.so-autocomplete-multiple .so-autocomplete-token {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px 0 10px;
  font-size: 0.6875rem;
  line-height: 22px;
  white-space: nowrap;
  gap: 4px;
}
.so-autocomplete-multiple .so-autocomplete-token .so-autocomplete-token-text {
  white-space: nowrap;
}
.so-autocomplete-multiple .so-autocomplete-token .so-autocomplete-token-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  margin-left: 0;
  padding: 0 4px 0 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  opacity: 0.7;
}
.so-autocomplete-multiple .so-autocomplete-token .so-autocomplete-token-remove:hover {
  opacity: 1;
}
.so-autocomplete-multiple .so-autocomplete-token .so-autocomplete-token-remove .material-symbols-rounded {
  font-size: 12px;
}
.so-autocomplete-multiple.so-autocomplete-xs .so-autocomplete-tokens {
  min-height: calc(26px - 2px);
  padding: 4px 4px;
  box-sizing: border-box;
}
.so-autocomplete-multiple.so-autocomplete-xs .so-autocomplete-token {
  height: 18px;
  padding: 0 4px;
  font-size: 0.6875rem;
  line-height: 18px;
}
.so-autocomplete-multiple.so-autocomplete-xs .so-autocomplete-container {
  padding-right: 20px;
}
.so-autocomplete-multiple.so-autocomplete-sm .so-autocomplete-tokens {
  min-height: calc(32px - 2px);
  padding: 6px 8px;
  box-sizing: border-box;
}
.so-autocomplete-multiple.so-autocomplete-sm .so-autocomplete-token {
  height: 20px;
  padding: 0 8px;
  font-size: 0.6875rem;
  line-height: 20px;
}
.so-autocomplete-multiple.so-autocomplete-sm .so-autocomplete-container {
  padding-right: 36px;
}
.so-autocomplete-multiple.so-autocomplete-lg .so-autocomplete-tokens {
  min-height: calc(48px - 2px);
  padding: 6px 8px;
  box-sizing: border-box;
}
.so-autocomplete-multiple.so-autocomplete-lg .so-autocomplete-token {
  height: 24px;
  padding: 0 8px;
  font-size: 0.6875rem;
  line-height: 24px;
}
.so-autocomplete-multiple.so-autocomplete-lg .so-autocomplete-container {
  padding-right: 44px;
}

.so-autocomplete-multiple.so-autocomplete-display-chips .so-autocomplete-token,
.so-autocomplete-display-chips .so-autocomplete-token {
  height: auto;
  min-height: 22px;
  max-width: 100%;
  white-space: normal;
  align-items: center;
  line-height: 1.4;
}
.so-autocomplete-multiple.so-autocomplete-display-chips .so-autocomplete-token .so-autocomplete-token-text,
.so-autocomplete-display-chips .so-autocomplete-token .so-autocomplete-token-text {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
}
.so-autocomplete-multiple.so-autocomplete-display-chips .so-autocomplete-token .so-autocomplete-token-remove,
.so-autocomplete-display-chips .so-autocomplete-token .so-autocomplete-token-remove {
  align-self: center;
}

@media (max-width: 640px) {
  .so-autocomplete-token {
    max-width: 120px;
  }
  .so-autocomplete-dropdown {
    max-height: 200px;
  }
  .so-autocomplete-options {
    max-height: 200px;
  }
}
[data-theme=dark] .so-autocomplete-container {
  background-color: var(--so-form-bg);
  border-color: var(--so-form-border);
  color: var(--so-form-text);
}
[data-theme=dark] .so-autocomplete-container:hover:not([disabled]):not(.so-is-invalid) {
  border-color: var(--so-form-border-hover);
}
[data-theme=dark] .so-autocomplete-input::-moz-placeholder {
  color: var(--so-form-placeholder);
}
[data-theme=dark] .so-autocomplete-input::placeholder {
  color: var(--so-form-placeholder);
}
[data-theme=dark] .so-autocomplete-option {
  color: var(--so-dropdown-text);
}

@media (prefers-contrast: high) {
  .so-autocomplete-container {
    border-width: 2px;
  }
  .so-autocomplete-option-focused {
    outline: 2px solid var(--so-accent-primary);
    outline-offset: -2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .so-autocomplete-dropdown {
    transition: none;
  }
  .so-autocomplete-arrow .material-symbols-rounded {
    transition: none;
  }
}
.so-autocomplete-single-chip .so-autocomplete-tokens {
  min-height: auto;
  padding: 0;
  flex-wrap: nowrap;
  gap: 4px;
  align-items: center;
  flex: 1;
  min-width: 0;
}
.so-autocomplete-single-chip .so-autocomplete-single-chip-item {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  height: 22px;
  border-radius: 6px;
  padding: 0 8px 0 10px;
  font-size: 0.6875rem;
  line-height: 22px;
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
}
.so-autocomplete-single-chip .so-autocomplete-single-chip-item .so-autocomplete-chip-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.so-autocomplete-single-chip .so-autocomplete-single-chip-item .so-autocomplete-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  margin-left: 6px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  opacity: 0.7;
}
.so-autocomplete-single-chip .so-autocomplete-single-chip-item .so-autocomplete-chip-remove:hover {
  opacity: 1;
}
.so-autocomplete-single-chip .so-autocomplete-single-chip-item .so-autocomplete-chip-remove .material-symbols-rounded {
  font-size: 12px;
}
.so-autocomplete-single-chip:has(.so-autocomplete-single-chip-item) .so-autocomplete-input {
  width: 0;
  min-width: 0;
  padding: 0;
  flex: 0;
  opacity: 0;
  position: absolute;
  pointer-events: none;
}
.so-autocomplete-single-chip:not(:has(.so-autocomplete-single-chip-item)) .so-autocomplete-input {
  flex: 1;
  opacity: 1;
  position: static;
  pointer-events: auto;
}

@media print {
  .so-autocomplete-dropdown,
  .so-autocomplete-clear,
  .so-autocomplete-arrow {
    display: none !important;
  }
  .so-autocomplete-container {
    border: 1px solid #000;
  }
}
.so-form-group.so-has-error .so-form-control,
.so-form-group.so-has-error select.so-form-control {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-form-control:hover:not(:disabled):not(:focus),
.so-form-group.so-has-error select.so-form-control:hover:not(:disabled):not(:focus) {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-form-control:focus,
.so-form-group.so-has-error select.so-form-control:focus {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px rgba(234, 67, 53, 0.15);
}
.so-form-group.so-has-error .so-select .so-select-trigger {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-select .so-select-trigger:hover:not([disabled]) {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-autocomplete-container {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-autocomplete-container:hover:not([disabled]) {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-select:focus-within .so-select-trigger,
.so-form-group.so-has-error .so-select .so-select-trigger:focus {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px rgba(234, 67, 53, 0.15);
}
.so-form-group.so-has-error .so-form-label {
  color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-checkbox .so-checkbox-box {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-checkbox input:checked + .so-checkbox-box {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-radio .so-radio-circle {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-radio input:checked + .so-radio-circle {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-radio input:checked + .so-radio-circle::after {
  background: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-switch .so-switch-track {
  background: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-checkbox-label,
.so-form-group.so-has-error .so-radio-label,
.so-form-group.so-has-error .so-switch-label {
  color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-otp-input {
  border-color: var(--so-accent-danger);
}
.so-form-group.so-has-error .so-otp-input:focus {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px rgba(234, 67, 53, 0.15);
}
.so-form-group.so-has-error .so-slider {
  --slider-fill-bg: var(--so-accent-danger);
  --slider-thumb-bg: var(--so-accent-danger);
}

.so-form-group.so-has-success .so-form-control,
.so-form-group.so-has-success select.so-form-control {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-form-control:hover:not(:disabled):not(:focus),
.so-form-group.so-has-success select.so-form-control:hover:not(:disabled):not(:focus) {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-form-control:focus,
.so-form-group.so-has-success select.so-form-control:focus {
  border-color: var(--so-accent-success);
  box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.15);
}
.so-form-group.so-has-success .so-select .so-select-trigger {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-select .so-select-trigger:hover:not([disabled]) {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-autocomplete-container {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-autocomplete-container:hover:not([disabled]) {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-select:focus-within .so-select-trigger,
.so-form-group.so-has-success .so-select .so-select-trigger:focus {
  border-color: var(--so-accent-success);
  box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.15);
}
.so-form-group.so-has-success .so-form-label {
  color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-checkbox .so-checkbox-box {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-checkbox input:checked + .so-checkbox-box {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-radio .so-radio-circle {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-radio input:checked + .so-radio-circle {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-radio input:checked + .so-radio-circle::after {
  background: var(--so-accent-success);
}
.so-form-group.so-has-success .so-switch .so-switch-track {
  background: var(--so-accent-success);
}
.so-form-group.so-has-success .so-checkbox-label,
.so-form-group.so-has-success .so-radio-label,
.so-form-group.so-has-success .so-switch-label {
  color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-otp-input {
  border-color: var(--so-accent-success);
}
.so-form-group.so-has-success .so-otp-input:focus {
  border-color: var(--so-accent-success);
  box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.15);
}
.so-form-group.so-has-success .so-slider {
  --slider-fill-bg: var(--so-accent-success);
  --slider-thumb-bg: var(--so-accent-success);
}

.so-form-group.so-has-warning .so-form-control,
.so-form-group.so-has-warning select.so-form-control {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-form-control:hover:not(:disabled):not(:focus),
.so-form-group.so-has-warning select.so-form-control:hover:not(:disabled):not(:focus) {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-form-control:focus,
.so-form-group.so-has-warning select.so-form-control:focus {
  border-color: var(--so-accent-warning);
  box-shadow: 0 0 0 3px rgba(255, 179, 0, 0.15);
}
.so-form-group.so-has-warning .so-select .so-select-trigger {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-select .so-select-trigger:hover:not([disabled]) {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-autocomplete-container {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-autocomplete-container:hover:not([disabled]) {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-select:focus-within .so-select-trigger,
.so-form-group.so-has-warning .so-select .so-select-trigger:focus {
  border-color: var(--so-accent-warning);
  box-shadow: 0 0 0 3px rgba(255, 179, 0, 0.15);
}
.so-form-group.so-has-warning .so-form-label {
  color: var(--so-warning-text-emphasis);
}
.so-form-group.so-has-warning .so-checkbox .so-checkbox-box {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-checkbox input:checked + .so-checkbox-box {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-radio .so-radio-circle {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-radio input:checked + .so-radio-circle {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-radio input:checked + .so-radio-circle::after {
  background: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-switch .so-switch-track {
  background: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-checkbox-label,
.so-form-group.so-has-warning .so-radio-label,
.so-form-group.so-has-warning .so-switch-label {
  color: var(--so-warning-text-emphasis);
}
.so-form-group.so-has-warning .so-otp-input {
  border-color: var(--so-accent-warning);
}
.so-form-group.so-has-warning .so-otp-input:focus {
  border-color: var(--so-accent-warning);
  box-shadow: 0 0 0 3px rgba(255, 179, 0, 0.15);
}
.so-form-group.so-has-warning .so-slider {
  --slider-fill-bg: var(--so-accent-warning);
  --slider-thumb-bg: var(--so-accent-warning);
}

.so-form-group.so-has-info .so-form-control,
.so-form-group.so-has-info select.so-form-control {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-form-control:hover:not(:disabled):not(:focus),
.so-form-group.so-has-info select.so-form-control:hover:not(:disabled):not(:focus) {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-form-control:focus,
.so-form-group.so-has-info select.so-form-control:focus {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.15);
}
.so-form-group.so-has-info .so-select .so-select-trigger {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-select .so-select-trigger:hover:not([disabled]) {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-autocomplete-container {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-autocomplete-container:hover:not([disabled]) {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-select:focus-within .so-select-trigger,
.so-form-group.so-has-info .so-select .so-select-trigger:focus {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.15);
}
.so-form-group.so-has-info .so-form-label {
  color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-checkbox .so-checkbox-box {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-checkbox input:checked + .so-checkbox-box {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-radio .so-radio-circle {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-radio input:checked + .so-radio-circle {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-radio input:checked + .so-radio-circle::after {
  background: var(--so-accent-info);
}
.so-form-group.so-has-info .so-switch .so-switch-track {
  background: var(--so-accent-info);
}
.so-form-group.so-has-info .so-checkbox-label,
.so-form-group.so-has-info .so-radio-label,
.so-form-group.so-has-info .so-switch-label {
  color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-otp-input {
  border-color: var(--so-accent-info);
}
.so-form-group.so-has-info .so-otp-input:focus {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.15);
}
.so-form-group.so-has-info .so-slider {
  --slider-fill-bg: var(--so-accent-info);
  --slider-thumb-bg: var(--so-accent-info);
}

.so-form-group.so-user-input .so-form-control,
.so-form-group.so-user-input select.so-form-control {
  border-left: 4px solid var(--so-accent-primary);
  background-color: rgba(26, 115, 232, 0.04);
}
.so-form-group.so-user-input .so-select .so-select-trigger {
  border-left: 4px solid var(--so-accent-primary);
  background-color: rgba(26, 115, 232, 0.04);
}
.so-form-group.so-user-input .so-autocomplete-container {
  border-left: 4px solid var(--so-accent-primary);
  background-color: rgba(26, 115, 232, 0.04);
}
.so-form-group.so-user-input .so-otp-input {
  border-left: 4px solid var(--so-accent-primary);
  background-color: rgba(26, 115, 232, 0.04);
}

.so-form-error {
  display: none;
  align-items: flex-start;
  gap: 4px;
  margin-top: 4px;
  font-size: 0.75rem;
  line-height: 1.4;
}
.so-form-error .material-symbols-rounded {
  font-size: 16px;
  flex-shrink: 0;
}
.so-form-error {
  color: var(--so-accent-danger);
}

.so-form-success {
  display: none;
  align-items: flex-start;
  gap: 4px;
  margin-top: 4px;
  font-size: 0.75rem;
  line-height: 1.4;
}
.so-form-success .material-symbols-rounded {
  font-size: 16px;
  flex-shrink: 0;
}
.so-form-success {
  color: var(--so-accent-success);
}

.so-form-warning {
  display: none;
  align-items: flex-start;
  gap: 4px;
  margin-top: 4px;
  font-size: 0.75rem;
  line-height: 1.4;
}
.so-form-warning .material-symbols-rounded {
  font-size: 16px;
  flex-shrink: 0;
}
.so-form-warning {
  color: var(--so-warning-text-emphasis);
}

.so-form-info {
  display: none;
  align-items: flex-start;
  gap: 4px;
  margin-top: 4px;
  font-size: 0.75rem;
  line-height: 1.4;
}
.so-form-info .material-symbols-rounded {
  font-size: 16px;
  flex-shrink: 0;
}
.so-form-info {
  color: var(--so-accent-info);
}

.so-form-group.so-has-error .so-form-error {
  display: flex;
}

.so-form-group.so-has-success .so-form-success {
  display: flex;
}

.so-form-group.so-has-warning .so-form-warning {
  display: flex;
}

.so-form-group.so-has-info .so-form-info {
  display: flex;
}

.so-input-wrapper.show-validation-icon {
  position: relative;
}
.so-input-wrapper.show-validation-icon .so-form-control {
  padding-right: 40px;
}
.so-input-wrapper.show-validation-icon::after {
  font-family: "Material Symbols Rounded";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  pointer-events: none;
}

.so-form-group.so-has-error .so-input-wrapper.show-validation-icon::after {
  content: "error";
  color: var(--so-accent-danger);
}

.so-form-group.so-has-success .so-input-wrapper.show-validation-icon::after {
  content: "check_circle";
  color: var(--so-accent-success);
}

.so-form-group.so-has-warning .so-input-wrapper.show-validation-icon::after {
  content: "warning";
  color: var(--so-warning-text-emphasis);
}

.so-form-group.so-has-info .so-input-wrapper.show-validation-icon::after {
  content: "info";
  color: var(--so-accent-info);
}

.so-dropdown {
  position: relative;
  display: inline-block;
}

.so-dropdown-trigger .so-dropdown-arrow {
  transition: transform 0.2s ease;
}

.so-btn.so-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.so-btn.so-dropdown-trigger:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft]) {
  background: var(--so-card-bg);
  border-color: var(--so-border-color);
  color: var(--so-text-secondary);
}
.so-btn.so-dropdown-trigger:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft]):hover:not(:disabled) {
  background: var(--so-card-hover-bg);
  border-color: var(--so-border-color);
}
.so-btn.so-dropdown-trigger:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft]):focus {
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-btn.so-dropdown-trigger:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-light]):not([class*=so-btn-dark]):not([class*=so-btn-soft]):active:not(:disabled) {
  background: var(--so-card-hover-bg);
}

.so-dropdown-fixed .so-dropdown-trigger {
  min-width: 160px;
  max-width: 160px;
}
.so-dropdown-fixed .so-dropdown-trigger.so-btn-block {
  max-width: none;
}
.so-dropdown-fixed .so-dropdown-trigger .so-dropdown-selected {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}
.so-dropdown-fixed.so-dropdown-fixed-sm .so-dropdown-trigger {
  min-width: 120px;
  max-width: 120px;
}
.so-dropdown-fixed.so-dropdown-fixed-sm .so-dropdown-trigger.so-btn-block {
  max-width: none;
}
.so-dropdown-fixed.so-dropdown-fixed-lg .so-dropdown-trigger {
  min-width: 200px;
  max-width: 200px;
}
.so-dropdown-fixed.so-dropdown-fixed-lg .so-dropdown-trigger.so-btn-block {
  max-width: none;
}
.so-dropdown-fixed.so-dropdown-fixed-xl .so-dropdown-trigger {
  min-width: 260px;
  max-width: 260px;
}
.so-dropdown-fixed.so-dropdown-fixed-xl .so-dropdown-trigger.so-btn-block {
  max-width: none;
}

.so-dropdown.so-open .so-dropdown-trigger .so-dropdown-arrow {
  transform: rotate(180deg);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger:not([class*=so-btn-primary]):not([class*=so-btn-secondary]):not([class*=so-btn-success]):not([class*=so-btn-danger]):not([class*=so-btn-warning]):not([class*=so-btn-info]):not([class*=so-btn-outline]):not([class*=so-btn-ghost]):not([class*=so-btn-light]):not([class*=so-btn-dark]) {
  background: var(--so-card-hover-bg);
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-primary {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-secondary {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-success {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-danger {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-warning {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-info {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-outline, .so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-outline-primary {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-outline-success {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-outline-danger {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-outline-warning {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-outline-info {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-ghost {
  background: var(--so-card-hover-bg);
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.15);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-light {
  box-shadow: 0 0 0 3px rgba(189, 193, 198, 0.2);
}
.so-dropdown.so-open .so-btn.so-dropdown-trigger.so-btn-dark {
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.2);
}

.so-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 200px;
  max-height: 320px;
  overflow-y: auto;
  background: var(--so-dropdown-bg);
  border: 1px solid var(--so-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-dropdown-shadow);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.so-dropdown-menu:has(.so-dropdown-submenu) {
  max-height: none;
  overflow: visible;
}

.so-dropdown-submenu > .so-dropdown-menu,
.so-dropdown-menu .so-dropdown-menu {
  max-height: none !important;
  overflow: visible !important;
}

.so-dropdown.so-open > .so-dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.so-dropdown.dropdown-right .so-dropdown-menu {
  left: auto;
  right: 0;
}

.so-dropdown-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-text-muted);
}
.so-dropdown-header .material-symbols-rounded {
  font-size: 16px;
}

a.so-dropdown-item,
.so-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 0.875rem;
  color: var(--so-menu-item-color);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease;
}
a.so-dropdown-item:hover,
.so-dropdown-item:hover {
  background: var(--so-dropdown-item-hover);
  text-decoration: none;
}
a.so-dropdown-item.so-active, a.so-dropdown-item.so-selected,
.so-dropdown-item.so-active,
.so-dropdown-item.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
}
a.so-dropdown-item .material-symbols-rounded,
.so-dropdown-item .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-text-secondary);
}
a.so-dropdown-item.so-active .material-symbols-rounded,
.so-dropdown-item.so-active .material-symbols-rounded {
  color: var(--so-dropdown-item-active-text);
}
a.so-dropdown-item .so-dropdown-check,
.so-dropdown-item .so-dropdown-check {
  margin-left: auto;
  opacity: 0;
}
a.so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-item.so-active .so-dropdown-check {
  opacity: 1;
}

.so-dropdown-divider {
  height: 1px;
  margin: 4px 0;
  background: var(--so-dropdown-border);
}

.so-dropdown-item-danger {
  color: var(--so-accent-danger) !important;
}
.so-dropdown-item-danger .material-symbols-rounded {
  color: var(--so-accent-danger) !important;
}

.so-dropdown-search {
  padding: 8px;
  border-bottom: 1px solid var(--so-dropdown-border);
}
.so-dropdown-search .so-input {
  height: 36px;
}

.so-dropdown.so-dropdown-searchable {
  display: block;
}
.so-dropdown.so-dropdown-searchable .so-dropdown-trigger {
  width: 100%;
  justify-content: space-between;
}
.so-dropdown.so-dropdown-searchable .so-dropdown-menu {
  left: 0;
  right: 0;
  min-width: auto;
}

.so-dropdown-search {
  position: relative;
  padding: 8px 12px;
  border-bottom: 1px solid var(--so-dropdown-border);
}
.so-dropdown-search .so-dropdown-search-input {
  width: 100%;
  height: 32px;
  padding: 0 8px 0 28px;
  border: none;
  border-radius: 0;
  font-size: 0.8125rem;
  background: transparent;
  color: var(--so-text-primary);
  font-family: inherit;
}
.so-dropdown-search .so-dropdown-search-input:focus {
  outline: none;
}
.so-dropdown-search .so-dropdown-search-input::-moz-placeholder {
  color: var(--so-text-secondary);
}
.so-dropdown-search .so-dropdown-search-input::placeholder {
  color: var(--so-text-secondary);
}
.so-dropdown-search::before {
  content: "search";
  font-family: "Material Symbols Rounded";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: var(--so-text-secondary);
  pointer-events: none;
}

.so-dropdown-items {
  max-height: 240px;
  overflow-y: auto;
  pointer-events: none;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-dropdown-items::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-dropdown-items::-webkit-scrollbar-track {
  background: transparent;
}
.so-dropdown-items::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-dropdown-items::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}
.so-dropdown-items .so-dropdown-item,
.so-dropdown-items a.so-dropdown-item {
  pointer-events: none;
}

.so-dropdown.so-open > .so-dropdown-items,
.so-searchable-dropdown.so-open > .so-dropdown-items,
.so-options-dropdown.so-open > .so-dropdown-items,
.so-outlet-dropdown.so-open > .so-dropdown-items {
  pointer-events: auto;
}
.so-dropdown.so-open > .so-dropdown-items > .so-dropdown-item,
.so-dropdown.so-open > .so-dropdown-items > a.so-dropdown-item,
.so-searchable-dropdown.so-open > .so-dropdown-items > .so-dropdown-item,
.so-searchable-dropdown.so-open > .so-dropdown-items > a.so-dropdown-item,
.so-options-dropdown.so-open > .so-dropdown-items > .so-dropdown-item,
.so-options-dropdown.so-open > .so-dropdown-items > a.so-dropdown-item,
.so-outlet-dropdown.so-open > .so-dropdown-items > .so-dropdown-item,
.so-outlet-dropdown.so-open > .so-dropdown-items > a.so-dropdown-item {
  pointer-events: auto;
}
.so-dropdown.so-open > .so-dropdown-menu,
.so-searchable-dropdown.so-open > .so-dropdown-menu,
.so-options-dropdown.so-open > .so-dropdown-menu,
.so-outlet-dropdown.so-open > .so-dropdown-menu {
  pointer-events: auto;
}
.so-dropdown.so-open > .so-dropdown-menu .so-dropdown-items,
.so-searchable-dropdown.so-open > .so-dropdown-menu .so-dropdown-items,
.so-options-dropdown.so-open > .so-dropdown-menu .so-dropdown-items,
.so-outlet-dropdown.so-open > .so-dropdown-menu .so-dropdown-items {
  pointer-events: auto;
}
.so-dropdown.so-open > .so-dropdown-menu .so-dropdown-items .so-dropdown-item,
.so-dropdown.so-open > .so-dropdown-menu .so-dropdown-items a.so-dropdown-item,
.so-searchable-dropdown.so-open > .so-dropdown-menu .so-dropdown-items .so-dropdown-item,
.so-searchable-dropdown.so-open > .so-dropdown-menu .so-dropdown-items a.so-dropdown-item,
.so-options-dropdown.so-open > .so-dropdown-menu .so-dropdown-items .so-dropdown-item,
.so-options-dropdown.so-open > .so-dropdown-menu .so-dropdown-items a.so-dropdown-item,
.so-outlet-dropdown.so-open > .so-dropdown-menu .so-dropdown-items .so-dropdown-item,
.so-outlet-dropdown.so-open > .so-dropdown-menu .so-dropdown-items a.so-dropdown-item {
  pointer-events: auto;
}

.so-dropdown.so-dropdown-no-scroll .so-dropdown-menu {
  max-height: none !important;
  overflow: visible !important;
}
.so-dropdown.so-dropdown-no-scroll .so-dropdown-items {
  max-height: none !important;
  overflow: visible !important;
}

.so-dropdown-menu.so-dropdown-menu-no-scroll {
  max-height: none !important;
  overflow: visible !important;
}
.so-dropdown-menu.so-dropdown-menu-no-scroll .so-dropdown-items {
  max-height: none !important;
  overflow: visible !important;
}

.so-dropdown-menu:has(.so-dropdown-items),
.so-dropdown-menu:has(.so-dropdown-search),
.so-dropdown-menu:has(.so-dropdown-actions) {
  max-height: none;
  overflow: visible;
}

.so-dropdown-empty {
  padding: 16px;
  text-align: center;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
}

.so-searchable-dropdown {
  position: relative;
  display: block;
}

.so-searchable-dropdown-trigger,
.so-searchable-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  padding-right: 36px;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: inherit;
  color: var(--so-text-secondary);
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 4px;
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
  position: relative;
}
.so-searchable-dropdown-trigger:hover,
.so-searchable-trigger:hover {
  background: var(--so-card-hover-bg);
}
.so-searchable-dropdown-trigger:focus,
.so-searchable-trigger:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-searchable-dropdown-trigger:active:not(:disabled),
.so-searchable-trigger:active:not(:disabled) {
  background: var(--so-card-hover-bg);
}
.so-searchable-dropdown-trigger .placeholder,
.so-searchable-trigger .placeholder {
  color: var(--so-form-placeholder);
}
.so-searchable-dropdown-trigger .so-dropdown-arrow,
.so-searchable-trigger .so-dropdown-arrow {
  position: absolute;
  right: 12px;
  color: var(--so-text-secondary);
  transition: transform 0.2s ease;
}

.so-searchable-dropdown.so-open .so-searchable-dropdown-trigger,
.so-searchable-dropdown.so-open .so-searchable-trigger {
  background: var(--so-card-hover-bg);
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-searchable-dropdown.so-open .so-searchable-dropdown-trigger .so-dropdown-arrow,
.so-searchable-dropdown.so-open .so-searchable-trigger .so-dropdown-arrow {
  transform: rotate(180deg);
}

.so-searchable-dropdown-menu,
.so-searchable-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 200px;
  max-height: 320px;
  overflow-y: auto;
  background: var(--so-dropdown-bg);
  border: 1px solid var(--so-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-dropdown-shadow);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  left: 0;
  right: 0;
  min-width: auto;
  max-height: none;
  overflow: visible;
}

.so-searchable-dropdown.so-open .so-searchable-dropdown-menu,
.so-searchable-dropdown.so-open .so-searchable-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.so-searchable-dropdown-search,
.so-searchable-search {
  position: relative;
  padding: 8px 12px;
  border-bottom: 1px solid var(--so-dropdown-border);
}
.so-searchable-dropdown-search > .material-symbols-rounded,
.so-searchable-search > .material-symbols-rounded {
  display: none;
}
.so-searchable-dropdown-search .so-input,
.so-searchable-dropdown-search .so-searchable-input,
.so-searchable-dropdown-search .so-searchable-dropdown-input,
.so-searchable-search .so-input,
.so-searchable-search .so-searchable-input,
.so-searchable-search .so-searchable-dropdown-input {
  width: 100%;
  height: 32px;
  padding: 0 8px 0 28px;
  border: none;
  border-radius: 0;
  font-size: 0.8125rem;
  background: transparent;
  color: var(--so-text-primary);
}
.so-searchable-dropdown-search .so-input:focus,
.so-searchable-dropdown-search .so-searchable-input:focus,
.so-searchable-dropdown-search .so-searchable-dropdown-input:focus,
.so-searchable-search .so-input:focus,
.so-searchable-search .so-searchable-input:focus,
.so-searchable-search .so-searchable-dropdown-input:focus {
  outline: none;
}
.so-searchable-dropdown-search .so-input::-moz-placeholder, .so-searchable-dropdown-search .so-searchable-input::-moz-placeholder, .so-searchable-dropdown-search .so-searchable-dropdown-input::-moz-placeholder, .so-searchable-search .so-input::-moz-placeholder, .so-searchable-search .so-searchable-input::-moz-placeholder, .so-searchable-search .so-searchable-dropdown-input::-moz-placeholder {
  color: var(--so-text-secondary);
}
.so-searchable-dropdown-search .so-input::placeholder,
.so-searchable-dropdown-search .so-searchable-input::placeholder,
.so-searchable-dropdown-search .so-searchable-dropdown-input::placeholder,
.so-searchable-search .so-input::placeholder,
.so-searchable-search .so-searchable-input::placeholder,
.so-searchable-search .so-searchable-dropdown-input::placeholder {
  color: var(--so-text-secondary);
}
.so-searchable-dropdown-search::before,
.so-searchable-search::before {
  content: "search";
  font-family: "Material Symbols Rounded";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: var(--so-text-secondary);
  pointer-events: none;
}

.so-searchable-dropdown-list,
.so-searchable-items {
  max-height: 240px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-searchable-dropdown-list::-webkit-scrollbar,
.so-searchable-items::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-searchable-dropdown-list::-webkit-scrollbar-track,
.so-searchable-items::-webkit-scrollbar-track {
  background: transparent;
}
.so-searchable-dropdown-list::-webkit-scrollbar-thumb,
.so-searchable-items::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-searchable-dropdown-list::-webkit-scrollbar-thumb:hover,
.so-searchable-items::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-searchable-dropdown-item,
.so-searchable-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 0.875rem;
  color: var(--so-menu-item-color);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-searchable-dropdown-item:hover,
.so-searchable-item:hover {
  background: var(--so-dropdown-item-hover);
  text-decoration: none;
}
.so-searchable-dropdown-item.so-active, .so-searchable-dropdown-item.so-selected,
.so-searchable-item.so-active,
.so-searchable-item.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
}
.so-searchable-dropdown-item .check-icon,
.so-searchable-item .check-icon {
  font-size: 18px;
  margin-left: auto;
  visibility: hidden;
}
.so-searchable-dropdown-item.so-selected .check-icon,
.so-searchable-item.so-selected .check-icon {
  visibility: visible;
}

.so-searchable-dropdown-empty {
  padding: 16px;
  text-align: center;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
}

.so-outlet-dropdown {
  position: relative;
  display: inline-block;
}

.so-outlet-dropdown-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 12px;
  font-size: 0.875rem;
  font-family: inherit;
  color: var(--so-form-text);
  background: var(--so-form-bg);
  border: 1px solid var(--so-form-border);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.so-outlet-dropdown-trigger:hover {
  border-color: var(--so-form-border-hover);
  background: var(--so-dropdown-item-hover);
}
.so-outlet-dropdown-trigger:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-outlet-dropdown-trigger:active:not(:disabled) {
  background: var(--so-dropdown-item-hover);
}
.so-outlet-dropdown-trigger .outlet-icon {
  font-size: 18px;
  color: var(--so-text-secondary);
}
.so-outlet-dropdown-trigger .outlet-text {
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.so-outlet-dropdown-trigger .outlet-arrow {
  font-size: 18px;
  color: var(--so-text-secondary);
  margin-left: auto;
  transition: transform 0.2s ease;
}

.so-outlet-dropdown.so-open .so-outlet-dropdown-trigger {
  background: var(--so-dropdown-item-hover);
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-outlet-dropdown.so-open .so-outlet-dropdown-trigger .outlet-arrow {
  transform: rotate(180deg);
}

.so-outlet-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 220px;
  background: var(--so-dropdown-bg);
  border: 1px solid var(--so-form-border);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  display: none;
}

.so-outlet-dropdown.so-open .so-outlet-dropdown-menu {
  display: block;
}

.so-outlet-dropdown.position-right .so-outlet-dropdown-menu {
  left: auto;
  right: 0;
}

.so-outlet-dropdown.position-top .so-outlet-dropdown-menu {
  top: auto;
  bottom: calc(100% + 4px);
}

.so-outlet-dropdown-search {
  padding: 8px;
  border-bottom: 1px solid var(--so-dropdown-border);
}
.so-outlet-dropdown-search input {
  width: 100%;
  padding: 8px 12px;
  font-size: 0.8125rem;
  font-family: inherit;
  color: var(--so-form-text);
  background: var(--so-form-bg);
  border: 1px solid var(--so-form-border);
  border-radius: 4px;
  outline: none;
  transition: border-color 0.15s ease;
}
.so-outlet-dropdown-search input::-moz-placeholder {
  color: var(--so-form-placeholder);
}
.so-outlet-dropdown-search input::placeholder {
  color: var(--so-form-placeholder);
}
.so-outlet-dropdown-search input:focus {
  border-color: var(--so-form-border-focus);
}

.so-outlet-dropdown-list {
  max-height: 240px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-outlet-dropdown-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-outlet-dropdown-list::-webkit-scrollbar-track {
  background: transparent;
}
.so-outlet-dropdown-list::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-outlet-dropdown-list::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-outlet-dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  font-size: 0.875rem;
  color: var(--so-form-text);
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-outlet-dropdown-item:hover {
  background: var(--so-dropdown-item-hover);
}
.so-outlet-dropdown-item.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
}
.so-outlet-dropdown-item .check-icon {
  font-size: 18px;
  visibility: hidden;
}
.so-outlet-dropdown-item.so-selected .check-icon {
  visibility: visible;
}

.so-outlet-dropdown-empty {
  padding: 16px;
  text-align: center;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
}

.so-outlet-dropdown.so-outlet-sm .so-outlet-dropdown-trigger {
  height: 32px;
  padding: 0 8px;
  font-size: 0.8125rem;
  gap: 6px;
}
.so-outlet-dropdown.so-outlet-sm .so-outlet-dropdown-trigger .outlet-icon,
.so-outlet-dropdown.so-outlet-sm .so-outlet-dropdown-trigger .outlet-arrow {
  font-size: 16px;
}
.so-outlet-dropdown.so-outlet-sm .so-outlet-dropdown-trigger .outlet-text {
  max-width: 120px;
}

.so-outlet-dropdown.so-outlet-lg .so-outlet-dropdown-trigger {
  height: 48px;
  padding: 0 16px;
  font-size: 0.9375rem;
  gap: 10px;
}
.so-outlet-dropdown.so-outlet-lg .so-outlet-dropdown-trigger .outlet-text {
  max-width: 200px;
}

.so-options-dropdown {
  position: relative;
  display: inline-block;
}

.so-options-trigger {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  font-family: inherit;
  color: var(--so-text-secondary);
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.so-options-trigger:hover {
  background: var(--so-card-hover-bg);
}
.so-options-trigger:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-options-trigger:active:not(:disabled) {
  background: var(--so-card-hover-bg);
}
.so-options-trigger .material-symbols-rounded {
  font-size: 18px;
}

.so-options-arrow {
  transition: transform 0.2s ease;
}

.so-options-dropdown.so-open .so-options-arrow {
  transform: rotate(180deg);
}

.so-options-dropdown.so-open .so-options-trigger {
  background: var(--so-card-hover-bg);
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}

.so-options-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: auto;
  bottom: auto;
  min-width: 220px;
  background: var(--so-dropdown-bg);
  border: 1px solid var(--so-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-dropdown-shadow);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.so-options-dropdown.so-open .so-options-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-options-dropdown.position-left .so-options-menu {
  right: auto;
  left: 0;
}

.so-options-dropdown.position-top .so-options-menu {
  top: auto;
  bottom: calc(100% + 4px);
  transform: translateY(8px);
}

.so-options-dropdown.position-top.open .so-options-menu {
  transform: translateY(0);
}

.so-options-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  font-size: 0.875rem;
  color: var(--so-form-text);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-options-item:first-child {
  border-radius: 8px 8px 0 0;
}
.so-options-item:last-child {
  border-radius: 0 0 8px 8px;
}
.so-options-item:only-child {
  border-radius: 8px;
}
.so-options-item:hover {
  background: var(--so-dropdown-item-hover);
  text-decoration: none;
}
.so-options-item .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-text-secondary);
}
.so-options-item:hover .material-symbols-rounded {
  color: var(--so-dropdown-item-active-text);
}
.so-options-item.danger {
  color: var(--so-accent-danger);
}
.so-options-item.danger .material-symbols-rounded {
  color: var(--so-accent-danger);
}

.so-options-divider {
  height: 1px;
  margin: 4px 0;
  background: var(--so-dropdown-border);
}

.so-dropdown.disabled,
.so-searchable-dropdown.disabled,
.so-options-dropdown.disabled,
.so-outlet-dropdown.disabled {
  opacity: 0.6;
  pointer-events: none;
}
.so-dropdown.disabled .so-dropdown-trigger,
.so-dropdown.disabled .so-searchable-trigger,
.so-dropdown.disabled .so-options-trigger,
.so-dropdown.disabled .so-outlet-dropdown-trigger,
.so-searchable-dropdown.disabled .so-dropdown-trigger,
.so-searchable-dropdown.disabled .so-searchable-trigger,
.so-searchable-dropdown.disabled .so-options-trigger,
.so-searchable-dropdown.disabled .so-outlet-dropdown-trigger,
.so-options-dropdown.disabled .so-dropdown-trigger,
.so-options-dropdown.disabled .so-searchable-trigger,
.so-options-dropdown.disabled .so-options-trigger,
.so-options-dropdown.disabled .so-outlet-dropdown-trigger,
.so-outlet-dropdown.disabled .so-dropdown-trigger,
.so-outlet-dropdown.disabled .so-searchable-trigger,
.so-outlet-dropdown.disabled .so-options-trigger,
.so-outlet-dropdown.disabled .so-outlet-dropdown-trigger {
  cursor: not-allowed;
}

.so-dropdown-item.so-disabled, .so-dropdown-item:disabled, .so-dropdown-item[aria-disabled=true],
.so-searchable-item.so-disabled,
.so-searchable-item:disabled,
.so-searchable-item[aria-disabled=true],
.so-options-item.so-disabled,
.so-options-item:disabled,
.so-options-item[aria-disabled=true],
.so-outlet-dropdown-item.so-disabled,
.so-outlet-dropdown-item:disabled,
.so-outlet-dropdown-item[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.so-dropdown-item.so-disabled:hover, .so-dropdown-item:disabled:hover, .so-dropdown-item[aria-disabled=true]:hover,
.so-searchable-item.so-disabled:hover,
.so-searchable-item:disabled:hover,
.so-searchable-item[aria-disabled=true]:hover,
.so-options-item.so-disabled:hover,
.so-options-item:disabled:hover,
.so-options-item[aria-disabled=true]:hover,
.so-outlet-dropdown-item.so-disabled:hover,
.so-outlet-dropdown-item:disabled:hover,
.so-outlet-dropdown-item[aria-disabled=true]:hover {
  background: transparent;
}
.so-dropdown-item.so-focused,
.so-searchable-item.so-focused,
.so-options-item.so-focused,
.so-outlet-dropdown-item.so-focused {
  background: var(--so-dropdown-item-hover);
  outline: none;
}

.so-dropdown-item-text {
  display: block;
  padding: 8px 12px;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-dropdown-item-text:hover {
  background: transparent;
  cursor: default;
}

.so-dropup .so-dropdown-menu {
  top: auto;
  bottom: calc(100% + 4px);
  transform-origin: bottom center;
}
.so-dropup .so-dropdown-trigger .so-dropdown-arrow {
  transform: rotate(180deg);
}
.so-dropup.so-open .so-dropdown-trigger .so-dropdown-arrow {
  transform: rotate(0deg);
}

.so-dropstart .so-dropdown-menu {
  top: 0;
  left: auto;
  right: calc(100% + 4px);
  transform-origin: right center;
}

.so-dropend .so-dropdown-menu {
  top: 0;
  left: calc(100% + 4px);
  right: auto;
  transform-origin: left center;
}

.so-dropdown.so-dropdown-menu-end .so-dropdown-menu,
.so-dropdown.so-dropdown-menu-end .so-searchable-menu,
.so-dropdown.so-dropdown-menu-end .so-options-menu,
.so-searchable-dropdown.so-dropdown-menu-end .so-dropdown-menu,
.so-searchable-dropdown.so-dropdown-menu-end .so-searchable-menu,
.so-searchable-dropdown.so-dropdown-menu-end .so-options-menu,
.so-options-dropdown.so-dropdown-menu-end .so-dropdown-menu,
.so-options-dropdown.so-dropdown-menu-end .so-searchable-menu,
.so-options-dropdown.so-dropdown-menu-end .so-options-menu {
  left: auto;
  right: 0;
}

.so-dropdown-menu.so-dropdown-menu-end,
.so-searchable-menu.so-dropdown-menu-end,
.so-options-menu.so-dropdown-menu-end {
  left: auto;
  right: 0;
}

.so-dropdown-sm .so-dropdown-menu {
  min-width: 160px;
}
.so-dropdown-sm .so-dropdown-item {
  padding: 6px 8px;
  font-size: 0.8125rem;
}
.so-dropdown-sm .so-dropdown-header {
  padding: 6px 8px;
  font-size: 10px;
}

.so-dropdown-lg .so-dropdown-trigger {
  height: 48px;
  padding: 0 16px;
  font-size: 0.9375rem;
}
.so-dropdown-lg .so-dropdown-menu {
  min-width: 280px;
}
.so-dropdown-lg .so-dropdown-item {
  padding: 12px 16px;
  font-size: 0.9375rem;
}
.so-dropdown-lg .so-dropdown-header {
  padding: 10px 16px;
  font-size: 0.6875rem;
}

.so-btn-group {
  display: inline-flex;
}
.so-btn-group > .so-btn:not(:last-child),
.so-btn-group > .so-dropdown:not(:last-child) .so-btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.so-btn-group > .so-btn:not(:first-child),
.so-btn-group > .so-dropdown:not(:first-child) .so-btn,
.so-btn-group > .so-dropdown:not(:first-child) .so-dropdown-trigger {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  margin-left: -1px;
}
.so-btn-group > .so-dropdown {
  position: relative;
}
.so-btn-group > .so-dropdown .so-dropdown-trigger {
  padding: 0 8px;
}
.so-btn-group > .so-dropdown .so-dropdown-trigger .so-dropdown-selected {
  display: none;
}
.so-btn-group > .so-btn + .so-dropdown .so-dropdown-trigger,
.so-btn-group > .so-btn + .so-dropdown .so-btn {
  border-left: 1px solid rgba(255, 255, 255, 0.25);
}
.so-btn-group > .so-btn-primary + .so-dropdown .so-btn-primary {
  border-left-color: rgba(255, 255, 255, 0.3);
}
.so-btn-group > .so-btn-secondary + .so-dropdown .so-btn-secondary {
  border-left-color: rgba(255, 255, 255, 0.3);
}
.so-btn-group > .so-btn-success + .so-dropdown .so-btn-success {
  border-left-color: rgba(255, 255, 255, 0.3);
}
.so-btn-group > .so-btn-danger + .so-dropdown .so-btn-danger {
  border-left-color: rgba(255, 255, 255, 0.3);
}
.so-btn-group > .so-btn-warning + .so-dropdown .so-btn-warning {
  border-left-color: rgba(0, 0, 0, 0.15);
}
.so-btn-group > .so-btn-info + .so-dropdown .so-btn-info {
  border-left-color: rgba(255, 255, 255, 0.3);
}
.so-btn-group > .so-btn-light + .so-dropdown .so-btn-light {
  border-left-color: rgba(0, 0, 0, 0.1);
}
.so-btn-group > .so-btn-outline + .so-dropdown .so-btn-outline {
  border-left-color: var(--so-border-color);
}
.so-btn-group > .so-btn-outline-primary + .so-dropdown .so-btn-outline-primary {
  border-left-color: var(--so-accent-primary);
}
.so-btn-group > .so-btn-outline-success + .so-dropdown .so-btn-outline-success {
  border-left-color: var(--so-accent-success);
}
.so-btn-group > .so-btn-outline-danger + .so-dropdown .so-btn-outline-danger {
  border-left-color: var(--so-accent-danger);
}
.so-btn-group > .so-btn-outline-warning + .so-dropdown .so-btn-outline-warning {
  border-left-color: var(--so-accent-warning);
}
.so-btn-group > .so-btn-outline-info + .so-dropdown .so-btn-outline-info {
  border-left-color: var(--so-accent-info);
}
.so-btn-group > .so-btn-outline-secondary + .so-dropdown .so-btn-outline-secondary {
  border-left-color: #6c757d;
}

.so-dropdown-item.so-active, .so-dropdown-item.so-selected,
.so-searchable-item.so-active,
.so-searchable-item.so-selected,
.so-outlet-dropdown-item.so-active,
.so-outlet-dropdown-item.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-item.so-active .check-icon, .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-item.so-selected .check-icon,
.so-searchable-item.so-active .so-dropdown-check,
.so-searchable-item.so-active .check-icon,
.so-searchable-item.so-selected .so-dropdown-check,
.so-searchable-item.so-selected .check-icon,
.so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-outlet-dropdown-item.so-active .check-icon,
.so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-outlet-dropdown-item.so-selected .check-icon {
  opacity: 1;
  visibility: visible;
}

.so-dropdown-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.so-dropdown-item .material-symbols-rounded:first-child {
  flex-shrink: 0;
}

.so-dropdown-selection-highlight .so-dropdown-item .so-dropdown-check,
.so-dropdown-selection-highlight .so-dropdown-item .check-icon,
.so-dropdown-selection-highlight .so-searchable-item .so-dropdown-check,
.so-dropdown-selection-highlight .so-searchable-item .check-icon,
.so-dropdown-selection-highlight .so-outlet-dropdown-item .so-dropdown-check,
.so-dropdown-selection-highlight .so-outlet-dropdown-item .check-icon {
  display: none !important;
}

.so-dropdown-selection-check .so-dropdown-item.so-active, .so-dropdown-selection-check .so-dropdown-item.so-selected,
.so-dropdown-selection-check .so-searchable-item.so-active,
.so-dropdown-selection-check .so-searchable-item.so-selected,
.so-dropdown-selection-check .so-outlet-dropdown-item.so-active,
.so-dropdown-selection-check .so-outlet-dropdown-item.so-selected {
  background: transparent;
  color: inherit;
  font-weight: inherit;
}
.so-dropdown-selection-check .so-dropdown-item.so-active:hover, .so-dropdown-selection-check .so-dropdown-item.so-selected:hover,
.so-dropdown-selection-check .so-searchable-item.so-active:hover,
.so-dropdown-selection-check .so-searchable-item.so-selected:hover,
.so-dropdown-selection-check .so-outlet-dropdown-item.so-active:hover,
.so-dropdown-selection-check .so-outlet-dropdown-item.so-selected:hover {
  background: var(--so-dropdown-item-hover);
}
.so-dropdown-selection-check .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-selection-check .so-dropdown-item.so-active .check-icon, .so-dropdown-selection-check .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-selection-check .so-dropdown-item.so-selected .check-icon,
.so-dropdown-selection-check .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-selection-check .so-searchable-item.so-active .check-icon,
.so-dropdown-selection-check .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-selection-check .so-searchable-item.so-selected .check-icon,
.so-dropdown-selection-check .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-selection-check .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-selection-check .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-selection-check .so-outlet-dropdown-item.so-selected .check-icon {
  opacity: 1;
  visibility: visible;
  color: var(--so-accent-primary);
}

.so-dropdown-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--so-dropdown-border);
  font-size: 0.8125rem;
}
.so-dropdown-actions .so-dropdown-action {
  color: var(--so-accent-primary);
  cursor: pointer;
  font-weight: 500;
  transition: color 0.15s ease;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
}
.so-dropdown-actions .so-dropdown-action:hover {
  color: var(--so-accent-primary-hover);
  text-decoration: underline;
}
.so-dropdown-actions .so-dropdown-action:focus {
  outline: none;
  text-decoration: underline;
}
.so-dropdown-actions .so-dropdown-action.disabled, .so-dropdown-actions .so-dropdown-action:disabled {
  color: var(--so-text-disabled);
  cursor: not-allowed;
  pointer-events: none;
}
.so-dropdown-actions .so-dropdown-action-separator {
  color: var(--so-text-muted);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.so-dropdown-multiple .so-dropdown-selected.placeholder,
.so-dropdown-multiple .so-searchable-selected.placeholder {
  color: var(--so-form-placeholder);
}
.so-dropdown-multiple .so-dropdown-item,
.so-dropdown-multiple .so-searchable-item {
  justify-content: flex-start;
}
.so-dropdown-multiple .so-dropdown-item .so-checkbox-box,
.so-dropdown-multiple .so-searchable-item .so-checkbox-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid var(--so-form-border);
  background: transparent;
  flex-shrink: 0;
  margin-right: 8px;
  transition: all 0.15s ease;
}
.so-dropdown-multiple .so-dropdown-item .so-checkbox-box .material-symbols-rounded,
.so-dropdown-multiple .so-searchable-item .so-checkbox-box .material-symbols-rounded {
  font-size: 14px;
  color: #ffffff;
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.15s ease;
}
.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: var(--so-accent-primary);
}
.so-dropdown-multiple .so-dropdown-item.so-selected .so-checkbox-box, .so-dropdown-multiple .so-dropdown-item.so-active .so-checkbox-box,
.so-dropdown-multiple .so-searchable-item.so-selected .so-checkbox-box,
.so-dropdown-multiple .so-searchable-item.so-active .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-dropdown-multiple .so-dropdown-item.so-selected .so-checkbox-box .material-symbols-rounded, .so-dropdown-multiple .so-dropdown-item.so-active .so-checkbox-box .material-symbols-rounded,
.so-dropdown-multiple .so-searchable-item.so-selected .so-checkbox-box .material-symbols-rounded,
.so-dropdown-multiple .so-searchable-item.so-active .so-checkbox-box .material-symbols-rounded {
  opacity: 1;
  transform: scale(1);
}
.so-dropdown-multiple .so-dropdown-item .so-dropdown-check,
.so-dropdown-multiple .so-dropdown-item .check-icon,
.so-dropdown-multiple .so-searchable-item .so-dropdown-check,
.so-dropdown-multiple .so-searchable-item .check-icon {
  display: none;
}

.so-dropdown-multiple.so-dropdown-selection-highlight .so-dropdown-item .so-checkbox-box,
.so-dropdown-multiple.so-dropdown-selection-highlight .so-searchable-item .so-checkbox-box {
  display: none;
}

.so-dropdown-multiple.so-dropdown-selection-check .so-dropdown-item .so-checkbox-box,
.so-dropdown-multiple.so-dropdown-selection-check .so-searchable-item .so-checkbox-box {
  display: none;
}
.so-dropdown-multiple.so-dropdown-selection-check .so-dropdown-item .so-dropdown-check,
.so-dropdown-multiple.so-dropdown-selection-check .so-dropdown-item .check-icon,
.so-dropdown-multiple.so-dropdown-selection-check .so-searchable-item .so-dropdown-check,
.so-dropdown-multiple.so-dropdown-selection-check .so-searchable-item .check-icon {
  display: block;
}

.so-dropdown-multiple-check .so-dropdown-item .so-checkbox-box,
.so-dropdown-multiple-check .so-searchable-item .so-checkbox-box {
  display: none;
}
.so-dropdown-multiple-check .so-dropdown-item .so-dropdown-check,
.so-dropdown-multiple-check .so-dropdown-item .check-icon,
.so-dropdown-multiple-check .so-searchable-item .so-dropdown-check,
.so-dropdown-multiple-check .so-searchable-item .check-icon {
  display: block;
  opacity: 0;
  margin-left: auto;
}
.so-dropdown-multiple-check .so-dropdown-item.so-active, .so-dropdown-multiple-check .so-dropdown-item.so-selected,
.so-dropdown-multiple-check .so-searchable-item.so-active,
.so-dropdown-multiple-check .so-searchable-item.so-selected {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-dropdown-multiple-check .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-multiple-check .so-dropdown-item.so-active .check-icon, .so-dropdown-multiple-check .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-multiple-check .so-dropdown-item.so-selected .check-icon,
.so-dropdown-multiple-check .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-multiple-check .so-searchable-item.so-active .check-icon,
.so-dropdown-multiple-check .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-multiple-check .so-searchable-item.so-selected .check-icon {
  opacity: 1;
  color: var(--so-accent-primary);
}

.so-dropdown-primary .so-dropdown-item.so-active, .so-dropdown-primary .so-dropdown-item.so-selected,
.so-dropdown-primary .so-searchable-item.so-active,
.so-dropdown-primary .so-searchable-item.so-selected,
.so-dropdown-primary .so-outlet-dropdown-item.so-active,
.so-dropdown-primary .so-outlet-dropdown-item.so-selected {
  background: var(--so-primary-bg-subtle);
  color: var(--so-accent-primary);
}
.so-dropdown-primary .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-primary .so-dropdown-item.so-active .check-icon, .so-dropdown-primary .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-primary .so-dropdown-item.so-selected .check-icon,
.so-dropdown-primary .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-primary .so-searchable-item.so-active .check-icon,
.so-dropdown-primary .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-primary .so-searchable-item.so-selected .check-icon,
.so-dropdown-primary .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-primary .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-primary .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-primary .so-outlet-dropdown-item.so-selected .check-icon {
  color: var(--so-accent-primary);
}
.so-dropdown-primary.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-primary.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: var(--so-accent-primary);
}
.so-dropdown-primary.so-dropdown-multiple .so-dropdown-item.selected .so-checkbox-box, .so-dropdown-primary.so-dropdown-multiple .so-dropdown-item.active .so-checkbox-box,
.so-dropdown-primary.so-dropdown-multiple .so-searchable-item.selected .so-checkbox-box,
.so-dropdown-primary.so-dropdown-multiple .so-searchable-item.active .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}

.so-dropdown-success .so-dropdown-item.so-active, .so-dropdown-success .so-dropdown-item.so-selected,
.so-dropdown-success .so-searchable-item.so-active,
.so-dropdown-success .so-searchable-item.so-selected,
.so-dropdown-success .so-outlet-dropdown-item.so-active,
.so-dropdown-success .so-outlet-dropdown-item.so-selected {
  background: var(--so-success-bg-subtle);
  color: var(--so-accent-success);
}
.so-dropdown-success .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-success .so-dropdown-item.so-active .check-icon, .so-dropdown-success .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-success .so-dropdown-item.so-selected .check-icon,
.so-dropdown-success .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-success .so-searchable-item.so-active .check-icon,
.so-dropdown-success .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-success .so-searchable-item.so-selected .check-icon,
.so-dropdown-success .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-success .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-success .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-success .so-outlet-dropdown-item.so-selected .check-icon {
  color: var(--so-accent-success);
}
.so-dropdown-success.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-success.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: var(--so-accent-success);
}
.so-dropdown-success.so-dropdown-multiple .so-dropdown-item.selected .so-checkbox-box, .so-dropdown-success.so-dropdown-multiple .so-dropdown-item.active .so-checkbox-box,
.so-dropdown-success.so-dropdown-multiple .so-searchable-item.selected .so-checkbox-box,
.so-dropdown-success.so-dropdown-multiple .so-searchable-item.active .so-checkbox-box {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}

.so-dropdown-danger .so-dropdown-item.so-active, .so-dropdown-danger .so-dropdown-item.so-selected,
.so-dropdown-danger .so-searchable-item.so-active,
.so-dropdown-danger .so-searchable-item.so-selected,
.so-dropdown-danger .so-outlet-dropdown-item.so-active,
.so-dropdown-danger .so-outlet-dropdown-item.so-selected {
  background: var(--so-danger-bg-subtle);
  color: var(--so-accent-danger);
}
.so-dropdown-danger .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-danger .so-dropdown-item.so-active .check-icon, .so-dropdown-danger .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-danger .so-dropdown-item.so-selected .check-icon,
.so-dropdown-danger .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-danger .so-searchable-item.so-active .check-icon,
.so-dropdown-danger .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-danger .so-searchable-item.so-selected .check-icon,
.so-dropdown-danger .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-danger .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-danger .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-danger .so-outlet-dropdown-item.so-selected .check-icon {
  color: var(--so-accent-danger);
}
.so-dropdown-danger.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-danger.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: var(--so-accent-danger);
}
.so-dropdown-danger.so-dropdown-multiple .so-dropdown-item.selected .so-checkbox-box, .so-dropdown-danger.so-dropdown-multiple .so-dropdown-item.active .so-checkbox-box,
.so-dropdown-danger.so-dropdown-multiple .so-searchable-item.selected .so-checkbox-box,
.so-dropdown-danger.so-dropdown-multiple .so-searchable-item.active .so-checkbox-box {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}

.so-dropdown-warning .so-dropdown-item.so-active, .so-dropdown-warning .so-dropdown-item.so-selected,
.so-dropdown-warning .so-searchable-item.so-active,
.so-dropdown-warning .so-searchable-item.so-selected,
.so-dropdown-warning .so-outlet-dropdown-item.so-active,
.so-dropdown-warning .so-outlet-dropdown-item.so-selected {
  background: var(--so-warning-bg-subtle);
  color: var(--so-warning-text-emphasis);
}
.so-dropdown-warning .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-warning .so-dropdown-item.so-active .check-icon, .so-dropdown-warning .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-warning .so-dropdown-item.so-selected .check-icon,
.so-dropdown-warning .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-warning .so-searchable-item.so-active .check-icon,
.so-dropdown-warning .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-warning .so-searchable-item.so-selected .check-icon,
.so-dropdown-warning .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-warning .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-warning .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-warning .so-outlet-dropdown-item.so-selected .check-icon {
  color: var(--so-warning-text-emphasis);
}
.so-dropdown-warning.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-warning.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: var(--so-accent-warning);
}
.so-dropdown-warning.so-dropdown-multiple .so-dropdown-item.selected .so-checkbox-box, .so-dropdown-warning.so-dropdown-multiple .so-dropdown-item.active .so-checkbox-box,
.so-dropdown-warning.so-dropdown-multiple .so-searchable-item.selected .so-checkbox-box,
.so-dropdown-warning.so-dropdown-multiple .so-searchable-item.active .so-checkbox-box {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
}

.so-dropdown-info .so-dropdown-item.so-active, .so-dropdown-info .so-dropdown-item.so-selected,
.so-dropdown-info .so-searchable-item.so-active,
.so-dropdown-info .so-searchable-item.so-selected,
.so-dropdown-info .so-outlet-dropdown-item.so-active,
.so-dropdown-info .so-outlet-dropdown-item.so-selected {
  background: var(--so-info-bg-subtle);
  color: var(--so-accent-info);
}
.so-dropdown-info .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-info .so-dropdown-item.so-active .check-icon, .so-dropdown-info .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-info .so-dropdown-item.so-selected .check-icon,
.so-dropdown-info .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-info .so-searchable-item.so-active .check-icon,
.so-dropdown-info .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-info .so-searchable-item.so-selected .check-icon,
.so-dropdown-info .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-info .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-info .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-info .so-outlet-dropdown-item.so-selected .check-icon {
  color: var(--so-accent-info);
}
.so-dropdown-info.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-info.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: var(--so-accent-info);
}
.so-dropdown-info.so-dropdown-multiple .so-dropdown-item.selected .so-checkbox-box, .so-dropdown-info.so-dropdown-multiple .so-dropdown-item.active .so-checkbox-box,
.so-dropdown-info.so-dropdown-multiple .so-searchable-item.selected .so-checkbox-box,
.so-dropdown-info.so-dropdown-multiple .so-searchable-item.active .so-checkbox-box {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
}

.so-dropdown-secondary .so-dropdown-item.so-active, .so-dropdown-secondary .so-dropdown-item.so-selected,
.so-dropdown-secondary .so-searchable-item.so-active,
.so-dropdown-secondary .so-searchable-item.so-selected,
.so-dropdown-secondary .so-outlet-dropdown-item.so-active,
.so-dropdown-secondary .so-outlet-dropdown-item.so-selected {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-dropdown-secondary .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-secondary .so-dropdown-item.so-active .check-icon, .so-dropdown-secondary .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-secondary .so-dropdown-item.so-selected .check-icon,
.so-dropdown-secondary .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-secondary .so-searchable-item.so-active .check-icon,
.so-dropdown-secondary .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-secondary .so-searchable-item.so-selected .check-icon,
.so-dropdown-secondary .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-secondary .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-secondary .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-secondary .so-outlet-dropdown-item.so-selected .check-icon {
  color: var(--so-text-secondary);
}
.so-dropdown-secondary.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-secondary.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: #6c757d;
}
.so-dropdown-secondary.so-dropdown-multiple .so-dropdown-item.selected .so-checkbox-box, .so-dropdown-secondary.so-dropdown-multiple .so-dropdown-item.active .so-checkbox-box,
.so-dropdown-secondary.so-dropdown-multiple .so-searchable-item.selected .so-checkbox-box,
.so-dropdown-secondary.so-dropdown-multiple .so-searchable-item.active .so-checkbox-box {
  background: #6c757d;
  border-color: #6c757d;
}

.so-dropdown-light .so-dropdown-item.so-active, .so-dropdown-light .so-dropdown-item.so-selected,
.so-dropdown-light .so-searchable-item.so-active,
.so-dropdown-light .so-searchable-item.so-selected,
.so-dropdown-light .so-outlet-dropdown-item.so-active,
.so-dropdown-light .so-outlet-dropdown-item.so-selected {
  background: rgba(218, 220, 224, 0.2);
  color: #5f6368;
}
.so-dropdown-light .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-light .so-dropdown-item.so-active .check-icon, .so-dropdown-light .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-light .so-dropdown-item.so-selected .check-icon,
.so-dropdown-light .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-light .so-searchable-item.so-active .check-icon,
.so-dropdown-light .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-light .so-searchable-item.so-selected .check-icon,
.so-dropdown-light .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-light .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-light .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-light .so-outlet-dropdown-item.so-selected .check-icon {
  color: #80868b;
}
.so-dropdown-light.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-light.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: #bdc1c6;
}
.so-dropdown-light.so-dropdown-multiple .so-dropdown-item.selected .so-checkbox-box, .so-dropdown-light.so-dropdown-multiple .so-dropdown-item.active .so-checkbox-box,
.so-dropdown-light.so-dropdown-multiple .so-searchable-item.selected .so-checkbox-box,
.so-dropdown-light.so-dropdown-multiple .so-searchable-item.active .so-checkbox-box {
  background: #bdc1c6;
  border-color: #bdc1c6;
}

.so-dropdown-dark .so-dropdown-item.so-active, .so-dropdown-dark .so-dropdown-item.so-selected,
.so-dropdown-dark .so-searchable-item.so-active,
.so-dropdown-dark .so-searchable-item.so-selected,
.so-dropdown-dark .so-outlet-dropdown-item.so-active,
.so-dropdown-dark .so-outlet-dropdown-item.so-selected {
  background: #202124;
  color: #ffffff;
}
.so-dropdown-dark .so-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-dark .so-dropdown-item.so-active .check-icon, .so-dropdown-dark .so-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-dark .so-dropdown-item.so-selected .check-icon,
.so-dropdown-dark .so-searchable-item.so-active .so-dropdown-check,
.so-dropdown-dark .so-searchable-item.so-active .check-icon,
.so-dropdown-dark .so-searchable-item.so-selected .so-dropdown-check,
.so-dropdown-dark .so-searchable-item.so-selected .check-icon,
.so-dropdown-dark .so-outlet-dropdown-item.so-active .so-dropdown-check,
.so-dropdown-dark .so-outlet-dropdown-item.so-active .check-icon,
.so-dropdown-dark .so-outlet-dropdown-item.so-selected .so-dropdown-check,
.so-dropdown-dark .so-outlet-dropdown-item.so-selected .check-icon {
  color: #ffffff;
}
.so-dropdown-dark.so-dropdown-multiple .so-dropdown-item:hover .so-checkbox-box,
.so-dropdown-dark.so-dropdown-multiple .so-searchable-item:hover .so-checkbox-box {
  border-color: #202124;
}
.so-dropdown-dark.so-dropdown-multiple .so-dropdown-item.selected .so-checkbox-box, .so-dropdown-dark.so-dropdown-multiple .so-dropdown-item.active .so-checkbox-box,
.so-dropdown-dark.so-dropdown-multiple .so-searchable-item.selected .so-checkbox-box,
.so-dropdown-dark.so-dropdown-multiple .so-searchable-item.active .so-checkbox-box {
  background: #202124;
  border-color: #202124;
}

.so-dropdown-submenu {
  position: relative;
}
.so-dropdown-submenu > .so-dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 8px;
  cursor: pointer;
}
.so-dropdown-submenu > .so-dropdown-item::after {
  content: "chevron_right";
  font-family: "Material Symbols Rounded";
  font-size: 18px;
  color: var(--so-text-secondary);
  margin-left: auto;
  transition: transform 0.15s ease;
}
.so-dropdown-submenu > .so-dropdown-menu {
  position: absolute;
  top: 0;
  left: 100%;
  margin-left: 4px;
  min-width: 180px;
  max-height: none !important;
  overflow: visible !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-8px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}
.so-dropdown-submenu > .so-dropdown-menu .so-dropdown-items {
  max-height: none !important;
  overflow: visible !important;
}
.so-dropdown-submenu > .so-dropdown-item:hover {
  background: var(--so-dropdown-item-hover);
}
.so-dropdown-submenu.so-submenu-open > .so-dropdown-item {
  background: var(--so-dropdown-item-hover);
}
.so-dropdown-submenu.so-submenu-open > .so-dropdown-item::after {
  color: var(--so-text-primary);
}
.so-dropdown-submenu.so-submenu-open > .so-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}

.so-dropdown-submenu.so-submenu-left > .so-dropdown-item::after {
  content: "chevron_left";
  order: -1;
  margin-left: 0;
  margin-right: 8px;
}
.so-dropdown-submenu.so-submenu-left > .so-dropdown-menu {
  left: auto;
  right: 100%;
  margin-left: 0;
  margin-right: 4px;
  transform: translateX(8px);
}
.so-dropdown-submenu.so-submenu-left.so-submenu-open > .so-dropdown-menu {
  transform: translateX(0);
}

.so-dropdown-submenu.so-submenu-up > .so-dropdown-menu {
  top: auto;
  bottom: 0;
}

.so-dropdown-submenu .so-dropdown-submenu > .so-dropdown-item {
  padding-left: 12px;
}

@media (hover: none) and (pointer: coarse) {
  .so-dropdown-submenu > .so-dropdown-menu {
    display: none;
  }
  .so-dropdown-submenu.so-submenu-open > .so-dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
}
.so-dropdown-submenu.so-disabled > .so-dropdown-item {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.so-dropdown-submenu.so-disabled > .so-dropdown-item::after {
  color: var(--so-text-muted);
}
.so-dropdown-submenu.so-disabled > .so-dropdown-menu {
  display: none;
}

.so-dropdown-nowrap .so-dropdown-menu {
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
.so-dropdown-nowrap .so-dropdown-menu * {
  white-space: nowrap;
}

.so-dropdown-menu-nowrap,
.so-searchable-menu-nowrap {
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  max-width: none;
}
.so-dropdown-menu-nowrap .so-dropdown-item,
.so-dropdown-menu-nowrap .so-searchable-item,
.so-searchable-menu-nowrap .so-dropdown-item,
.so-searchable-menu-nowrap .so-searchable-item {
  white-space: nowrap;
}
.so-dropdown-menu-nowrap .so-dropdown-header,
.so-searchable-menu-nowrap .so-dropdown-header {
  white-space: nowrap;
}

.so-checkbox {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  min-height: 1.5rem;
}
.so-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.so-checkbox-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid var(--so-form-border);
  border-radius: 3px;
  background: var(--so-card-bg);
  transition: all 0.15s ease;
  flex-shrink: 0;
  margin-top: 2px;
}
.so-checkbox-box .material-symbols-rounded {
  font-size: 16px;
  color: #ffffff;
  opacity: 0;
  transform: scale(0);
  transition: all 0.15s ease;
  line-height: 1;
}

.so-no-checkbox-transition .so-checkbox-box,
.so-no-checkbox-transition .so-checkbox-box .material-symbols-rounded {
  transition: none !important;
}

.so-checkbox:hover:not(.disabled) .so-checkbox-box {
  border-color: var(--so-accent-primary);
}

.so-checkbox input:checked + .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-checkbox input:checked + .so-checkbox-box .material-symbols-rounded {
  opacity: 1;
  transform: scale(1);
}

.so-checkbox input:indeterminate + .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-checkbox input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  opacity: 0;
  transform: scale(0);
}
.so-checkbox input:indeterminate + .so-checkbox-box::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 2px;
  background: #ffffff;
  border-radius: 1px;
}

.so-checkbox input:focus-visible + .so-checkbox-box {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-checkbox.disabled,
.so-checkbox input:disabled + .so-checkbox-box {
  cursor: not-allowed;
}

.so-checkbox input:disabled + .so-checkbox-box {
  border-color: var(--so-form-border);
  background: var(--so-form-disabled-bg);
  opacity: 0.6;
}
.so-checkbox input:disabled + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-text-muted);
}

.so-checkbox input:disabled:checked + .so-checkbox-box {
  background: var(--so-form-border-hover);
  border-color: var(--so-text-muted);
}
.so-checkbox input:disabled:checked + .so-checkbox-box .material-symbols-rounded {
  color: #ffffff;
}

.so-checkbox input:disabled:indeterminate + .so-checkbox-box {
  background: var(--so-form-border-hover);
  border-color: var(--so-text-muted);
}

.so-checkbox:has(input:disabled):hover .so-checkbox-box {
  border-color: var(--so-form-border);
}

.so-checkbox:has(input:disabled):hover .so-checkbox-box::before {
  opacity: 0 !important;
  transform: scale(0) !important;
}

.so-checkbox:has(input:disabled:checked):hover .so-checkbox-box {
  border-color: var(--so-text-muted);
}

.so-checkbox.is-invalid .so-checkbox-box,
.so-form-group.so-has-error .so-checkbox input + .so-checkbox-box {
  border-color: var(--so-accent-danger);
}

.so-checkbox.is-invalid input:checked + .so-checkbox-box,
.so-form-group.so-has-error .so-checkbox input:checked + .so-checkbox-box {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}

.so-form-group.so-has-error .so-checkbox input:focus-visible + .so-checkbox-box {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-checkbox-label {
  font-size: 0.875rem;
  color: var(--so-text-primary);
  line-height: 1.5;
  padding-top: 1px;
}

.so-checkbox input:disabled ~ .so-checkbox-label {
  color: var(--so-text-muted);
  cursor: not-allowed;
}

.so-checkbox.is-invalid .so-checkbox-label {
  color: var(--so-accent-danger);
}

.so-checkbox-sm .so-checkbox-box {
  width: 16px;
  height: 16px;
  min-width: 16px;
  border-radius: 2px;
  border-width: 1.5px;
}
.so-checkbox-sm .so-checkbox-box .material-symbols-rounded {
  font-size: 12px;
}
.so-checkbox-sm .so-checkbox-label {
  font-size: 0.8125rem;
}

.so-checkbox-lg .so-checkbox-box {
  width: 24px;
  height: 24px;
  min-width: 24px;
  border-radius: 3px;
}
.so-checkbox-lg .so-checkbox-box .material-symbols-rounded {
  font-size: 18px;
}
.so-checkbox-lg .so-checkbox-label {
  font-size: 1rem;
}

.so-checkbox-primary:hover:not(.disabled) .so-checkbox-box {
  border-color: var(--so-accent-primary);
}
.so-checkbox-primary input:checked + .so-checkbox-box,
.so-checkbox-primary input:indeterminate + .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-checkbox-primary input:focus-visible + .so-checkbox-box {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-checkbox-primary.so-checkbox-label-contextual input:checked ~ .so-checkbox-label,
.so-checkbox-primary.so-checkbox-label-contextual input:indeterminate ~ .so-checkbox-label {
  color: var(--so-accent-primary);
}

.so-checkbox-secondary:hover:not(.disabled) .so-checkbox-box {
  border-color: var(--so-accent-secondary);
}
.so-checkbox-secondary input:checked + .so-checkbox-box,
.so-checkbox-secondary input:indeterminate + .so-checkbox-box {
  background: var(--so-accent-secondary);
  border-color: var(--so-accent-secondary);
}
.so-checkbox-secondary input:focus-visible + .so-checkbox-box {
  border-color: var(--so-accent-secondary);
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}
.so-checkbox-secondary.so-checkbox-label-contextual input:checked ~ .so-checkbox-label,
.so-checkbox-secondary.so-checkbox-label-contextual input:indeterminate ~ .so-checkbox-label {
  color: var(--so-accent-secondary);
}

.so-checkbox-success:hover:not(.disabled) .so-checkbox-box {
  border-color: var(--so-accent-success);
}
.so-checkbox-success input:checked + .so-checkbox-box,
.so-checkbox-success input:indeterminate + .so-checkbox-box {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-checkbox-success input:focus-visible + .so-checkbox-box {
  border-color: var(--so-accent-success);
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-checkbox-success.so-checkbox-label-contextual input:checked ~ .so-checkbox-label,
.so-checkbox-success.so-checkbox-label-contextual input:indeterminate ~ .so-checkbox-label {
  color: var(--so-accent-success);
}

.so-checkbox-danger:hover:not(.disabled) .so-checkbox-box {
  border-color: var(--so-accent-danger);
}
.so-checkbox-danger input:checked + .so-checkbox-box,
.so-checkbox-danger input:indeterminate + .so-checkbox-box {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}
.so-checkbox-danger input:focus-visible + .so-checkbox-box {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-checkbox-danger.so-checkbox-label-contextual input:checked ~ .so-checkbox-label,
.so-checkbox-danger.so-checkbox-label-contextual input:indeterminate ~ .so-checkbox-label {
  color: var(--so-accent-danger);
}

.so-checkbox-warning:hover:not(.disabled) .so-checkbox-box {
  border-color: var(--so-accent-warning);
}
.so-checkbox-warning input:checked + .so-checkbox-box,
.so-checkbox-warning input:indeterminate + .so-checkbox-box {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
}
.so-checkbox-warning input:focus-visible + .so-checkbox-box {
  border-color: var(--so-accent-warning);
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-checkbox-warning.so-checkbox-label-contextual input:checked ~ .so-checkbox-label,
.so-checkbox-warning.so-checkbox-label-contextual input:indeterminate ~ .so-checkbox-label {
  color: var(--so-accent-warning);
}

.so-checkbox-info:hover:not(.disabled) .so-checkbox-box {
  border-color: var(--so-accent-info);
}
.so-checkbox-info input:checked + .so-checkbox-box,
.so-checkbox-info input:indeterminate + .so-checkbox-box {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
}
.so-checkbox-info input:focus-visible + .so-checkbox-box {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-checkbox-info.so-checkbox-label-contextual input:checked ~ .so-checkbox-label,
.so-checkbox-info.so-checkbox-label-contextual input:indeterminate ~ .so-checkbox-label {
  color: var(--so-accent-info);
}

.so-checkbox-light:hover:not(.disabled) .so-checkbox-box {
  border-color: #bdc1c6;
}
.so-checkbox-light input:checked + .so-checkbox-box,
.so-checkbox-light input:indeterminate + .so-checkbox-box {
  background: #bdc1c6;
  border-color: #bdc1c6;
}
.so-checkbox-light input:focus-visible + .so-checkbox-box {
  border-color: #bdc1c6;
  box-shadow: 0 0 0 3px rgba(189, 193, 198, 0.25);
}
.so-checkbox-light.so-checkbox-label-contextual input:checked ~ .so-checkbox-label,
.so-checkbox-light.so-checkbox-label-contextual input:indeterminate ~ .so-checkbox-label {
  color: #bdc1c6;
}

.so-checkbox-dark:hover:not(.disabled) .so-checkbox-box {
  border-color: #202124;
}
.so-checkbox-dark input:checked + .so-checkbox-box,
.so-checkbox-dark input:indeterminate + .so-checkbox-box {
  background: #202124;
  border-color: #202124;
}
.so-checkbox-dark input:focus-visible + .so-checkbox-box {
  border-color: #202124;
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.25);
}
.so-checkbox-dark.so-checkbox-label-contextual input:checked ~ .so-checkbox-label,
.so-checkbox-dark.so-checkbox-label-contextual input:indeterminate ~ .so-checkbox-label {
  color: #202124;
}

.so-radio {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  min-height: 1.5rem;
}
.so-radio input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.so-radio-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 2px solid var(--so-form-border);
  border-radius: 50%;
  background: var(--so-card-bg);
  transition: all 0.15s ease;
  flex-shrink: 0;
  margin-top: 1px;
}
.so-radio-circle::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--so-accent-primary);
  transform: scale(0);
  transition: transform 0.15s ease;
}

.so-radio:hover:not(.disabled) .so-radio-circle {
  border-color: var(--so-accent-primary);
}

.so-radio input:checked + .so-radio-circle {
  border-color: var(--so-accent-primary);
}
.so-radio input:checked + .so-radio-circle::after {
  transform: scale(1);
}

.so-radio input:focus-visible + .so-radio-circle {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-radio.disabled,
.so-radio input:disabled + .so-radio-circle {
  cursor: not-allowed;
}

.so-radio input:disabled + .so-radio-circle {
  border-color: var(--so-form-border);
  background: var(--so-form-disabled-bg);
  opacity: 0.6;
}
.so-radio input:disabled + .so-radio-circle::after {
  background: var(--so-form-border-hover);
}

.so-radio input:disabled:checked + .so-radio-circle {
  border-color: var(--so-text-muted);
}
.so-radio input:disabled:checked + .so-radio-circle::after {
  background: var(--so-form-border-hover);
}

.so-radio.is-invalid .so-radio-circle,
.so-form-group.so-has-error .so-radio input + .so-radio-circle {
  border-color: var(--so-accent-danger);
}

.so-radio.is-invalid input:checked + .so-radio-circle,
.so-form-group.so-has-error .so-radio input:checked + .so-radio-circle {
  border-color: var(--so-accent-danger);
}
.so-radio.is-invalid input:checked + .so-radio-circle::after,
.so-form-group.so-has-error .so-radio input:checked + .so-radio-circle::after {
  background: var(--so-accent-danger);
}

.so-form-group.so-has-error .so-radio input:focus-visible + .so-radio-circle {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-radio-label {
  font-size: 0.875rem;
  color: var(--so-text-primary);
  line-height: 1.5;
  padding-top: 1px;
}

.so-radio input:disabled ~ .so-radio-label {
  color: var(--so-text-muted);
  cursor: not-allowed;
}

.so-radio.is-invalid .so-radio-label {
  color: var(--so-accent-danger);
}

.so-form-group.so-has-error .so-radio-label {
  color: var(--so-accent-danger);
}

.so-form-group.so-has-error .so-checkbox-label {
  color: var(--so-accent-danger);
}

.so-radio-sm .so-radio-circle {
  width: 16px;
  height: 16px;
  min-width: 16px;
  border-width: 1.5px;
}
.so-radio-sm .so-radio-circle::after {
  width: 8px;
  height: 8px;
}
.so-radio-sm .so-radio-label {
  font-size: 0.8125rem;
}

.so-radio-lg .so-radio-circle {
  width: 24px;
  height: 24px;
  min-width: 24px;
}
.so-radio-lg .so-radio-circle::after {
  width: 12px;
  height: 12px;
}
.so-radio-lg .so-radio-label {
  font-size: 1rem;
}

.so-radio-primary:hover:not(.disabled) .so-radio-circle {
  border-color: var(--so-accent-primary);
}
.so-radio-primary input:checked + .so-radio-circle {
  border-color: var(--so-accent-primary);
}
.so-radio-primary input:checked + .so-radio-circle::after {
  background: var(--so-accent-primary);
}
.so-radio-primary input:focus-visible + .so-radio-circle {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-radio-primary.so-radio-label-contextual input:checked ~ .so-radio-label {
  color: var(--so-accent-primary);
}

.so-radio-secondary:hover:not(.disabled) .so-radio-circle {
  border-color: var(--so-accent-secondary);
}
.so-radio-secondary input:checked + .so-radio-circle {
  border-color: var(--so-accent-secondary);
}
.so-radio-secondary input:checked + .so-radio-circle::after {
  background: var(--so-accent-secondary);
}
.so-radio-secondary input:focus-visible + .so-radio-circle {
  border-color: var(--so-accent-secondary);
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}
.so-radio-secondary.so-radio-label-contextual input:checked ~ .so-radio-label {
  color: var(--so-accent-secondary);
}

.so-radio-success:hover:not(.disabled) .so-radio-circle {
  border-color: var(--so-accent-success);
}
.so-radio-success input:checked + .so-radio-circle {
  border-color: var(--so-accent-success);
}
.so-radio-success input:checked + .so-radio-circle::after {
  background: var(--so-accent-success);
}
.so-radio-success input:focus-visible + .so-radio-circle {
  border-color: var(--so-accent-success);
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-radio-success.so-radio-label-contextual input:checked ~ .so-radio-label {
  color: var(--so-accent-success);
}

.so-radio-danger:hover:not(.disabled) .so-radio-circle {
  border-color: var(--so-accent-danger);
}
.so-radio-danger input:checked + .so-radio-circle {
  border-color: var(--so-accent-danger);
}
.so-radio-danger input:checked + .so-radio-circle::after {
  background: var(--so-accent-danger);
}
.so-radio-danger input:focus-visible + .so-radio-circle {
  border-color: var(--so-accent-danger);
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-radio-danger.so-radio-label-contextual input:checked ~ .so-radio-label {
  color: var(--so-accent-danger);
}

.so-radio-warning:hover:not(.disabled) .so-radio-circle {
  border-color: var(--so-accent-warning);
}
.so-radio-warning input:checked + .so-radio-circle {
  border-color: var(--so-accent-warning);
}
.so-radio-warning input:checked + .so-radio-circle::after {
  background: var(--so-accent-warning);
}
.so-radio-warning input:focus-visible + .so-radio-circle {
  border-color: var(--so-accent-warning);
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-radio-warning.so-radio-label-contextual input:checked ~ .so-radio-label {
  color: var(--so-accent-warning);
}

.so-radio-info:hover:not(.disabled) .so-radio-circle {
  border-color: var(--so-accent-info);
}
.so-radio-info input:checked + .so-radio-circle {
  border-color: var(--so-accent-info);
}
.so-radio-info input:checked + .so-radio-circle::after {
  background: var(--so-accent-info);
}
.so-radio-info input:focus-visible + .so-radio-circle {
  border-color: var(--so-accent-info);
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-radio-info.so-radio-label-contextual input:checked ~ .so-radio-label {
  color: var(--so-accent-info);
}

.so-radio-light:hover:not(.disabled) .so-radio-circle {
  border-color: #bdc1c6;
}
.so-radio-light input:checked + .so-radio-circle {
  border-color: #bdc1c6;
}
.so-radio-light input:checked + .so-radio-circle::after {
  background: #bdc1c6;
}
.so-radio-light input:focus-visible + .so-radio-circle {
  border-color: #bdc1c6;
  box-shadow: 0 0 0 3px rgba(189, 193, 198, 0.25);
}
.so-radio-light.so-radio-label-contextual input:checked ~ .so-radio-label {
  color: #bdc1c6;
}

.so-radio-dark:hover:not(.disabled) .so-radio-circle {
  border-color: #202124;
}
.so-radio-dark input:checked + .so-radio-circle {
  border-color: #202124;
}
.so-radio-dark input:checked + .so-radio-circle::after {
  background: #202124;
}
.so-radio-dark input:focus-visible + .so-radio-circle {
  border-color: #202124;
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.25);
}
.so-radio-dark.so-radio-label-contextual input:checked ~ .so-radio-label {
  color: #202124;
}

.so-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.so-checkbox-group.so-checkbox-group-vertical {
  flex-direction: column;
  gap: 8px;
}
.so-checkbox-group.so-checkbox-group-inline {
  flex-direction: row;
  flex-wrap: wrap;
}

.so-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.so-radio-group.so-radio-group-vertical {
  flex-direction: column;
  gap: 8px;
}
.so-radio-group.so-radio-group-inline {
  flex-direction: row;
  flex-wrap: wrap;
}

.so-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  margin: 0;
}
.so-switch input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.so-switch-track {
  position: relative;
  width: 40px;
  height: 22px;
  background: var(--so-form-border-hover);
  border-radius: 11px;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.so-switch-track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.15s ease;
}

.so-switch:hover:not(.disabled) .so-switch-track {
  background: var(--so-text-secondary);
}

.so-switch input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch input:checked + .so-switch-track::after {
  left: calc(100% - 20px);
}

.so-switch:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-primary-hover);
}

.so-switch input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-switch.disabled,
.so-switch input:disabled + .so-switch-track {
  cursor: not-allowed;
  opacity: 0.6;
}

.so-switch input:disabled + .so-switch-track {
  background: var(--so-form-disabled-bg);
}

.so-switch input:disabled:checked + .so-switch-track {
  background: var(--so-form-border-hover);
}

.so-switch:has(input:disabled) {
  pointer-events: none;
}

.so-switch.is-invalid .so-switch-track,
.so-form-group.so-has-error .so-switch .so-switch-track {
  background: var(--so-accent-danger);
}

.so-form-group.so-has-error .so-switch input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-switch-label {
  font-size: 0.875rem;
  color: var(--so-text-primary);
  line-height: 1.5;
}

.so-switch input:disabled ~ .so-switch-label {
  color: var(--so-text-muted);
  cursor: not-allowed;
}

.so-switch.is-invalid .so-switch-label,
.so-form-group.so-has-error .so-switch-label {
  color: var(--so-accent-danger);
}

.so-switch-sm .so-switch-track {
  width: 32px;
  height: 18px;
  border-radius: 9px;
}
.so-switch-sm .so-switch-track::after {
  width: 14px;
  height: 14px;
}
.so-switch-sm input:checked + .so-switch-track::after {
  left: calc(100% - 16px);
}
.so-switch-sm .so-switch-label {
  font-size: 0.8125rem;
}

.so-switch-lg .so-switch-track {
  width: 52px;
  height: 28px;
  border-radius: 14px;
}
.so-switch-lg .so-switch-track::after {
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
}
.so-switch-lg input:checked + .so-switch-track::after {
  left: calc(100% - 25px);
}
.so-switch-lg .so-switch-label {
  font-size: 1rem;
}

.so-switch-primary input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch-primary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch-primary input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-switch-primary.so-switch-label-contextual input:checked ~ .so-switch-label {
  color: var(--so-accent-primary);
}

.so-switch-secondary input:checked + .so-switch-track {
  background: var(--so-accent-secondary);
}
.so-switch-secondary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-secondary);
}
.so-switch-secondary input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}
.so-switch-secondary.so-switch-label-contextual input:checked ~ .so-switch-label {
  color: var(--so-accent-secondary);
}

.so-switch-success input:checked + .so-switch-track {
  background: var(--so-accent-success);
}
.so-switch-success:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-success);
}
.so-switch-success input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-switch-success.so-switch-label-contextual input:checked ~ .so-switch-label {
  color: var(--so-accent-success);
}

.so-switch-danger input:checked + .so-switch-track {
  background: var(--so-accent-danger);
}
.so-switch-danger:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-danger);
}
.so-switch-danger input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-switch-danger.so-switch-label-contextual input:checked ~ .so-switch-label {
  color: var(--so-accent-danger);
}

.so-switch-warning input:checked + .so-switch-track {
  background: var(--so-accent-warning);
}
.so-switch-warning:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-warning);
}
.so-switch-warning input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-switch-warning.so-switch-label-contextual input:checked ~ .so-switch-label {
  color: var(--so-accent-warning);
}

.so-switch-info input:checked + .so-switch-track {
  background: var(--so-accent-info);
}
.so-switch-info:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-info);
}
.so-switch-info input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-switch-info.so-switch-label-contextual input:checked ~ .so-switch-label {
  color: var(--so-accent-info);
}

.so-switch-light input:checked + .so-switch-track {
  background: #bdc1c6;
}
.so-switch-light:hover:not(.disabled) input:checked + .so-switch-track {
  background: rgb(216.3658536585, 218.7073170732, 221.6341463415);
}
.so-switch-light input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px rgba(189, 193, 198, 0.25);
}
.so-switch-light.so-switch-label-contextual input:checked ~ .so-switch-label {
  color: #bdc1c6;
}

.so-switch-dark input:checked + .so-switch-track {
  background: #202124;
}
.so-switch-dark:hover:not(.disabled) input:checked + .so-switch-track {
  background: rgb(56, 57.75, 63);
}
.so-switch-dark input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px rgba(32, 33, 36, 0.25);
}
.so-switch-dark.so-switch-label-contextual input:checked ~ .so-switch-label {
  color: #202124;
}

.so-switch-inner .so-switch-track {
  width: 50px;
  height: 26px;
  border-radius: 13px;
  background: var(--so-form-border-hover);
}
.so-switch-inner .so-switch-track::after {
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  z-index: 2;
}
.so-switch-inner:hover:not(.disabled) .so-switch-track {
  background: var(--so-text-secondary);
}
.so-switch-inner input:checked + .so-switch-track::after {
  left: calc(100% - 23px);
}
.so-switch-inner .so-switch-on,
.so-switch-inner .so-switch-off {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  transition: opacity 0.15s ease;
  z-index: 1;
}
.so-switch-inner .so-switch-on {
  left: 6px;
  color: #ffffff;
  opacity: 0;
}
.so-switch-inner .so-switch-off {
  right: 6px;
  color: #ffffff;
  opacity: 0.6;
}
.so-switch-inner input:checked + .so-switch-track .so-switch-on {
  opacity: 1;
}
.so-switch-inner input:checked + .so-switch-track .so-switch-off {
  opacity: 0;
}

.so-switch-icon .so-switch-track {
  width: 50px;
  height: 26px;
  border-radius: 13px;
  background: var(--so-form-border-hover);
}
.so-switch-icon .so-switch-track::after {
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  z-index: 2;
}
.so-switch-icon:hover:not(.disabled) .so-switch-track {
  background: var(--so-text-secondary);
}
.so-switch-icon input:checked + .so-switch-track::after {
  left: calc(100% - 23px);
}
.so-switch-icon .so-switch-on,
.so-switch-icon .so-switch-off {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s ease;
  z-index: 1;
}
.so-switch-icon .so-switch-on .material-symbols-rounded,
.so-switch-icon .so-switch-off .material-symbols-rounded {
  font-size: 14px;
  line-height: 1;
}
.so-switch-icon .so-switch-on {
  left: 6px;
  color: #ffffff;
  opacity: 0;
}
.so-switch-icon .so-switch-off {
  right: 6px;
  color: #ffffff;
  opacity: 0.6;
}
.so-switch-icon input:checked + .so-switch-track .so-switch-on {
  opacity: 1;
}
.so-switch-icon input:checked + .so-switch-track .so-switch-off {
  opacity: 0;
}

.so-switch-text .so-switch-track {
  width: 56px;
  height: 26px;
  border-radius: 13px;
  background: var(--so-form-border-hover);
}
.so-switch-text .so-switch-track::after {
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  z-index: 2;
}
.so-switch-text:hover:not(.disabled) .so-switch-track {
  background: var(--so-text-secondary);
}
.so-switch-text input:checked + .so-switch-track::after {
  left: calc(100% - 23px);
}
.so-switch-text .so-switch-on,
.so-switch-text .so-switch-off {
  position: absolute;
  top: 3px;
  bottom: 0;
  display: flex;
  align-items: center;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: opacity 0.15s ease;
  z-index: 1;
}
.so-switch-text .so-switch-on {
  left: 7px;
  color: #ffffff;
  opacity: 0;
}
.so-switch-text .so-switch-off {
  right: 7px;
  color: #ffffff;
  opacity: 0.6;
}
.so-switch-text input:checked + .so-switch-track .so-switch-on {
  opacity: 1;
}
.so-switch-text input:checked + .so-switch-track .so-switch-off {
  opacity: 0;
}

.so-switch-icon-text .so-switch-track {
  width: 70px;
  height: 28px;
  border-radius: 14px;
  background: var(--so-form-border-hover);
}
.so-switch-icon-text .so-switch-track::after {
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  z-index: 2;
}
.so-switch-icon-text:hover:not(.disabled) .so-switch-track {
  background: var(--so-text-secondary);
}
.so-switch-icon-text input:checked + .so-switch-track::after {
  left: calc(100% - 25px);
}
.so-switch-icon-text .so-switch-on,
.so-switch-icon-text .so-switch-off {
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  transition: opacity 0.15s ease;
  z-index: 1;
}
.so-switch-icon-text .so-switch-on .material-symbols-rounded,
.so-switch-icon-text .so-switch-off .material-symbols-rounded {
  font-size: 12px;
  line-height: 1;
}
.so-switch-icon-text .so-switch-on {
  left: 7px;
  color: #ffffff;
  opacity: 0;
}
.so-switch-icon-text .so-switch-off {
  right: 7px;
  color: #ffffff;
  opacity: 0.6;
}
.so-switch-icon-text input:checked + .so-switch-track .so-switch-on {
  opacity: 1;
}
.so-switch-icon-text input:checked + .so-switch-track .so-switch-off {
  opacity: 0;
}

.so-switch-inner-sm .so-switch-track,
.so-switch-icon-sm .so-switch-track,
.so-switch-text-sm .so-switch-track {
  width: 42px;
  height: 22px;
  border-radius: 11px;
}
.so-switch-inner-sm .so-switch-track::after,
.so-switch-icon-sm .so-switch-track::after,
.so-switch-text-sm .so-switch-track::after {
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
}
.so-switch-inner-sm input:checked + .so-switch-track::after,
.so-switch-icon-sm input:checked + .so-switch-track::after,
.so-switch-text-sm input:checked + .so-switch-track::after {
  left: calc(100% - 20px);
}
.so-switch-inner-sm .so-switch-on,
.so-switch-inner-sm .so-switch-off,
.so-switch-icon-sm .so-switch-on,
.so-switch-icon-sm .so-switch-off,
.so-switch-text-sm .so-switch-on,
.so-switch-text-sm .so-switch-off {
  font-size: 8px;
}
.so-switch-inner-sm .so-switch-on .material-symbols-rounded,
.so-switch-inner-sm .so-switch-off .material-symbols-rounded,
.so-switch-icon-sm .so-switch-on .material-symbols-rounded,
.so-switch-icon-sm .so-switch-off .material-symbols-rounded,
.so-switch-text-sm .so-switch-on .material-symbols-rounded,
.so-switch-text-sm .so-switch-off .material-symbols-rounded {
  font-size: 12px;
}

.so-switch-inner-lg .so-switch-track,
.so-switch-icon-lg .so-switch-track,
.so-switch-text-lg .so-switch-track {
  width: 64px;
  height: 32px;
  border-radius: 16px;
}
.so-switch-inner-lg .so-switch-track::after,
.so-switch-icon-lg .so-switch-track::after,
.so-switch-text-lg .so-switch-track::after {
  top: 4px;
  left: 4px;
  width: 24px;
  height: 24px;
}
.so-switch-inner-lg input:checked + .so-switch-track::after,
.so-switch-icon-lg input:checked + .so-switch-track::after,
.so-switch-text-lg input:checked + .so-switch-track::after {
  left: calc(100% - 28px);
}
.so-switch-inner-lg .so-switch-on,
.so-switch-inner-lg .so-switch-off,
.so-switch-icon-lg .so-switch-on,
.so-switch-icon-lg .so-switch-off,
.so-switch-text-lg .so-switch-on,
.so-switch-text-lg .so-switch-off {
  font-size: 11px;
}
.so-switch-inner-lg .so-switch-on .material-symbols-rounded,
.so-switch-inner-lg .so-switch-off .material-symbols-rounded,
.so-switch-icon-lg .so-switch-on .material-symbols-rounded,
.so-switch-icon-lg .so-switch-off .material-symbols-rounded,
.so-switch-text-lg .so-switch-on .material-symbols-rounded,
.so-switch-text-lg .so-switch-off .material-symbols-rounded {
  font-size: 16px;
}
.so-switch-inner-lg .so-switch-on,
.so-switch-icon-lg .so-switch-on,
.so-switch-text-lg .so-switch-on {
  left: 8px;
}
.so-switch-inner-lg .so-switch-off,
.so-switch-icon-lg .so-switch-off,
.so-switch-text-lg .so-switch-off {
  right: 8px;
}

.so-checkbox-reverse,
.so-radio-reverse,
.so-switch-reverse {
  flex-direction: row-reverse;
}

@keyframes so-ripple-effect {
  0% {
    transform: scale(0);
    opacity: 0.4;
  }
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}
.so-checkbox-ripple .so-checkbox-box {
  position: relative;
  overflow: visible;
}
.so-checkbox-ripple .so-checkbox-box::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;
  margin-top: -18px;
  margin-left: -18px;
  background: currentColor;
  border-radius: 50%;
  opacity: 0;
  transform: scale(0);
  pointer-events: none;
  transition: none;
}
.so-checkbox-ripple .so-checkbox-box:active::before {
  animation: so-ripple-effect 0.4s ease-out;
}
.so-checkbox-ripple:hover:not(.disabled) .so-checkbox-box::before {
  opacity: 0.08;
  transform: scale(1);
  transition: opacity 0.15s, transform 0.15s;
}

.so-radio-ripple .so-radio-circle {
  position: relative;
  overflow: visible;
}
.so-radio-ripple .so-radio-circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;
  margin-top: -18px;
  margin-left: -18px;
  background: currentColor;
  border-radius: 50%;
  opacity: 0;
  transform: scale(0);
  pointer-events: none;
  transition: none;
}
.so-radio-ripple .so-radio-circle:active::before {
  animation: so-ripple-effect 0.4s ease-out;
}
.so-radio-ripple:hover:not(.disabled) .so-radio-circle::before {
  opacity: 0.08;
  transform: scale(1);
  transition: opacity 0.15s, transform 0.15s;
}

.so-switch-ripple .so-switch-track::after {
  position: relative;
  overflow: visible;
}
.so-switch-ripple .so-switch-track::after::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  margin-left: -16px;
  background: currentColor;
  border-radius: 50%;
  opacity: 0;
  transform: scale(0);
  pointer-events: none;
  transition: none;
}
.so-switch-ripple .so-switch-track::after:active::before {
  animation: so-ripple-effect 0.4s ease-out;
}
.so-switch-ripple:hover:not(.disabled) .so-switch-track::after::before {
  opacity: 0.08;
  transform: scale(1);
}

.so-checkbox-label-top,
.so-radio-label-top,
.so-switch-label-top {
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 4px;
}
.so-checkbox-label-top .so-checkbox-label,
.so-checkbox-label-top .so-radio-label,
.so-checkbox-label-top .so-switch-label,
.so-radio-label-top .so-checkbox-label,
.so-radio-label-top .so-radio-label,
.so-radio-label-top .so-switch-label,
.so-switch-label-top .so-checkbox-label,
.so-switch-label-top .so-radio-label,
.so-switch-label-top .so-switch-label {
  padding-top: 0;
}
.so-checkbox-label-top .so-checkbox-box,
.so-checkbox-label-top .so-radio-circle,
.so-radio-label-top .so-checkbox-box,
.so-radio-label-top .so-radio-circle,
.so-switch-label-top .so-checkbox-box,
.so-switch-label-top .so-radio-circle {
  margin-top: 0;
}

.so-checkbox-label-bottom,
.so-radio-label-bottom,
.so-switch-label-bottom {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.so-checkbox-label-bottom .so-checkbox-label,
.so-checkbox-label-bottom .so-radio-label,
.so-checkbox-label-bottom .so-switch-label,
.so-radio-label-bottom .so-checkbox-label,
.so-radio-label-bottom .so-radio-label,
.so-radio-label-bottom .so-switch-label,
.so-switch-label-bottom .so-checkbox-label,
.so-switch-label-bottom .so-radio-label,
.so-switch-label-bottom .so-switch-label {
  padding-top: 0;
}
.so-checkbox-label-bottom .so-checkbox-box,
.so-checkbox-label-bottom .so-radio-circle,
.so-radio-label-bottom .so-checkbox-box,
.so-radio-label-bottom .so-radio-circle,
.so-switch-label-bottom .so-checkbox-box,
.so-switch-label-bottom .so-radio-circle {
  margin-top: 0;
}

.so-checkbox-label-start,
.so-radio-label-start,
.so-switch-label-start {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.so-checkbox-label-end,
.so-radio-label-end,
.so-switch-label-end {
  flex-direction: row;
}

.so-checkbox-soft-primary .so-checkbox-box {
  background: var(--so-primary-bg-subtle);
  border-color: var(--so-primary-border-subtle);
}
.so-checkbox-soft-primary:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-primary-bg-emphasis);
  border-color: var(--so-accent-primary);
}
.so-checkbox-soft-primary input:checked + .so-checkbox-box,
.so-checkbox-soft-primary input:indeterminate + .so-checkbox-box {
  background: var(--so-primary-bg-emphasis);
  border-color: var(--so-accent-primary);
}
.so-checkbox-soft-primary input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-soft-primary input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-primary);
}
.so-checkbox-soft-primary input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-radio-soft-primary .so-radio-circle {
  background: var(--so-primary-bg-subtle);
  border-color: var(--so-primary-border-subtle);
}
.so-radio-soft-primary .so-radio-circle::after {
  background: var(--so-accent-primary);
}
.so-radio-soft-primary:hover:not(.disabled) .so-radio-circle {
  background: var(--so-primary-bg-emphasis);
  border-color: var(--so-accent-primary);
}
.so-radio-soft-primary input:checked + .so-radio-circle {
  background: var(--so-primary-bg-emphasis);
  border-color: var(--so-accent-primary);
}
.so-radio-soft-primary input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-switch-soft-primary .so-switch-track {
  background: var(--so-primary-border-subtle);
}
.so-switch-soft-primary:hover:not(.disabled) .so-switch-track {
  background: var(--so-primary-bg-emphasis);
}
.so-switch-soft-primary input:checked + .so-switch-track {
  background: var(--so-primary-bg-emphasis);
}
.so-switch-soft-primary input:checked + .so-switch-track::after {
  background: var(--so-accent-primary);
}
.so-switch-soft-primary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-primary-bg-emphasis);
}
.so-switch-soft-primary input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-checkbox-soft-secondary .so-checkbox-box {
  background: var(--so-secondary-bg-subtle);
  border-color: var(--so-secondary-border-subtle);
}
.so-checkbox-soft-secondary:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-secondary-bg-emphasis);
  border-color: var(--so-accent-secondary);
}
.so-checkbox-soft-secondary input:checked + .so-checkbox-box,
.so-checkbox-soft-secondary input:indeterminate + .so-checkbox-box {
  background: var(--so-secondary-bg-emphasis);
  border-color: var(--so-accent-secondary);
}
.so-checkbox-soft-secondary input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-soft-secondary input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-secondary);
}
.so-checkbox-soft-secondary input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-radio-soft-secondary .so-radio-circle {
  background: var(--so-secondary-bg-subtle);
  border-color: var(--so-secondary-border-subtle);
}
.so-radio-soft-secondary .so-radio-circle::after {
  background: var(--so-accent-secondary);
}
.so-radio-soft-secondary:hover:not(.disabled) .so-radio-circle {
  background: var(--so-secondary-bg-emphasis);
  border-color: var(--so-accent-secondary);
}
.so-radio-soft-secondary input:checked + .so-radio-circle {
  background: var(--so-secondary-bg-emphasis);
  border-color: var(--so-accent-secondary);
}
.so-radio-soft-secondary input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-switch-soft-secondary .so-switch-track {
  background: var(--so-secondary-border-subtle);
}
.so-switch-soft-secondary:hover:not(.disabled) .so-switch-track {
  background: var(--so-secondary-bg-emphasis);
}
.so-switch-soft-secondary input:checked + .so-switch-track {
  background: var(--so-secondary-bg-emphasis);
}
.so-switch-soft-secondary input:checked + .so-switch-track::after {
  background: var(--so-accent-secondary);
}
.so-switch-soft-secondary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-secondary-bg-emphasis);
}
.so-switch-soft-secondary input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-checkbox-soft-success .so-checkbox-box {
  background: var(--so-success-bg-subtle);
  border-color: var(--so-success-border-subtle);
}
.so-checkbox-soft-success:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-success-bg-emphasis);
  border-color: var(--so-accent-success);
}
.so-checkbox-soft-success input:checked + .so-checkbox-box,
.so-checkbox-soft-success input:indeterminate + .so-checkbox-box {
  background: var(--so-success-bg-emphasis);
  border-color: var(--so-accent-success);
}
.so-checkbox-soft-success input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-soft-success input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-success);
}
.so-checkbox-soft-success input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-radio-soft-success .so-radio-circle {
  background: var(--so-success-bg-subtle);
  border-color: var(--so-success-border-subtle);
}
.so-radio-soft-success .so-radio-circle::after {
  background: var(--so-accent-success);
}
.so-radio-soft-success:hover:not(.disabled) .so-radio-circle {
  background: var(--so-success-bg-emphasis);
  border-color: var(--so-accent-success);
}
.so-radio-soft-success input:checked + .so-radio-circle {
  background: var(--so-success-bg-emphasis);
  border-color: var(--so-accent-success);
}
.so-radio-soft-success input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-switch-soft-success .so-switch-track {
  background: var(--so-success-border-subtle);
}
.so-switch-soft-success:hover:not(.disabled) .so-switch-track {
  background: var(--so-success-bg-emphasis);
}
.so-switch-soft-success input:checked + .so-switch-track {
  background: var(--so-success-bg-emphasis);
}
.so-switch-soft-success input:checked + .so-switch-track::after {
  background: var(--so-accent-success);
}
.so-switch-soft-success:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-success-bg-emphasis);
}
.so-switch-soft-success input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-checkbox-soft-danger .so-checkbox-box {
  background: var(--so-danger-bg-subtle);
  border-color: var(--so-danger-border-subtle);
}
.so-checkbox-soft-danger:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-danger-bg-emphasis);
  border-color: var(--so-accent-danger);
}
.so-checkbox-soft-danger input:checked + .so-checkbox-box,
.so-checkbox-soft-danger input:indeterminate + .so-checkbox-box {
  background: var(--so-danger-bg-emphasis);
  border-color: var(--so-accent-danger);
}
.so-checkbox-soft-danger input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-soft-danger input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-danger);
}
.so-checkbox-soft-danger input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-radio-soft-danger .so-radio-circle {
  background: var(--so-danger-bg-subtle);
  border-color: var(--so-danger-border-subtle);
}
.so-radio-soft-danger .so-radio-circle::after {
  background: var(--so-accent-danger);
}
.so-radio-soft-danger:hover:not(.disabled) .so-radio-circle {
  background: var(--so-danger-bg-emphasis);
  border-color: var(--so-accent-danger);
}
.so-radio-soft-danger input:checked + .so-radio-circle {
  background: var(--so-danger-bg-emphasis);
  border-color: var(--so-accent-danger);
}
.so-radio-soft-danger input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-switch-soft-danger .so-switch-track {
  background: var(--so-danger-border-subtle);
}
.so-switch-soft-danger:hover:not(.disabled) .so-switch-track {
  background: var(--so-danger-bg-emphasis);
}
.so-switch-soft-danger input:checked + .so-switch-track {
  background: var(--so-danger-bg-emphasis);
}
.so-switch-soft-danger input:checked + .so-switch-track::after {
  background: var(--so-accent-danger);
}
.so-switch-soft-danger:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-danger-bg-emphasis);
}
.so-switch-soft-danger input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-checkbox-soft-warning .so-checkbox-box {
  background: var(--so-warning-bg-subtle);
  border-color: var(--so-warning-border-subtle);
}
.so-checkbox-soft-warning:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-warning-bg-emphasis);
  border-color: var(--so-accent-warning);
}
.so-checkbox-soft-warning input:checked + .so-checkbox-box,
.so-checkbox-soft-warning input:indeterminate + .so-checkbox-box {
  background: var(--so-warning-bg-emphasis);
  border-color: var(--so-accent-warning);
}
.so-checkbox-soft-warning input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-soft-warning input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-warning);
}
.so-checkbox-soft-warning input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-radio-soft-warning .so-radio-circle {
  background: var(--so-warning-bg-subtle);
  border-color: var(--so-warning-border-subtle);
}
.so-radio-soft-warning .so-radio-circle::after {
  background: var(--so-accent-warning);
}
.so-radio-soft-warning:hover:not(.disabled) .so-radio-circle {
  background: var(--so-warning-bg-emphasis);
  border-color: var(--so-accent-warning);
}
.so-radio-soft-warning input:checked + .so-radio-circle {
  background: var(--so-warning-bg-emphasis);
  border-color: var(--so-accent-warning);
}
.so-radio-soft-warning input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-switch-soft-warning .so-switch-track {
  background: var(--so-warning-border-subtle);
}
.so-switch-soft-warning:hover:not(.disabled) .so-switch-track {
  background: var(--so-warning-bg-emphasis);
}
.so-switch-soft-warning input:checked + .so-switch-track {
  background: var(--so-warning-bg-emphasis);
}
.so-switch-soft-warning input:checked + .so-switch-track::after {
  background: var(--so-accent-warning);
}
.so-switch-soft-warning:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-warning-bg-emphasis);
}
.so-switch-soft-warning input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-checkbox-soft-info .so-checkbox-box {
  background: var(--so-info-bg-subtle);
  border-color: var(--so-info-border-subtle);
}
.so-checkbox-soft-info:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-info-bg-emphasis);
  border-color: var(--so-accent-info);
}
.so-checkbox-soft-info input:checked + .so-checkbox-box,
.so-checkbox-soft-info input:indeterminate + .so-checkbox-box {
  background: var(--so-info-bg-emphasis);
  border-color: var(--so-accent-info);
}
.so-checkbox-soft-info input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-soft-info input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-info);
}
.so-checkbox-soft-info input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-radio-soft-info .so-radio-circle {
  background: var(--so-info-bg-subtle);
  border-color: var(--so-info-border-subtle);
}
.so-radio-soft-info .so-radio-circle::after {
  background: var(--so-accent-info);
}
.so-radio-soft-info:hover:not(.disabled) .so-radio-circle {
  background: var(--so-info-bg-emphasis);
  border-color: var(--so-accent-info);
}
.so-radio-soft-info input:checked + .so-radio-circle {
  background: var(--so-info-bg-emphasis);
  border-color: var(--so-accent-info);
}
.so-radio-soft-info input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-switch-soft-info .so-switch-track {
  background: var(--so-info-border-subtle);
}
.so-switch-soft-info:hover:not(.disabled) .so-switch-track {
  background: var(--so-info-bg-emphasis);
}
.so-switch-soft-info input:checked + .so-switch-track {
  background: var(--so-info-bg-emphasis);
}
.so-switch-soft-info input:checked + .so-switch-track::after {
  background: var(--so-accent-info);
}
.so-switch-soft-info:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-info-bg-emphasis);
}
.so-switch-soft-info input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-checkbox-outlined-primary .so-checkbox-box {
  border-color: var(--so-accent-primary);
  background: transparent;
}
.so-checkbox-outlined-primary:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-primary-bg-subtle);
}
.so-checkbox-outlined-primary input:checked + .so-checkbox-box,
.so-checkbox-outlined-primary input:indeterminate + .so-checkbox-box {
  background: transparent;
  border-color: var(--so-accent-primary);
}
.so-checkbox-outlined-primary input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-outlined-primary input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-primary);
}
.so-checkbox-outlined-primary input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-radio-outlined-primary .so-radio-circle {
  border-color: var(--so-accent-primary);
  background: transparent;
}
.so-radio-outlined-primary .so-radio-circle::after {
  background: var(--so-accent-primary);
}
.so-radio-outlined-primary:hover:not(.disabled) .so-radio-circle {
  background: var(--so-primary-bg-subtle);
}
.so-radio-outlined-primary input:checked + .so-radio-circle {
  background: transparent;
}
.so-radio-outlined-primary input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-checkbox-outlined-secondary .so-checkbox-box {
  border-color: var(--so-accent-secondary);
  background: transparent;
}
.so-checkbox-outlined-secondary:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-secondary-bg-subtle);
}
.so-checkbox-outlined-secondary input:checked + .so-checkbox-box,
.so-checkbox-outlined-secondary input:indeterminate + .so-checkbox-box {
  background: transparent;
  border-color: var(--so-accent-secondary);
}
.so-checkbox-outlined-secondary input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-outlined-secondary input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-secondary);
}
.so-checkbox-outlined-secondary input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-radio-outlined-secondary .so-radio-circle {
  border-color: var(--so-accent-secondary);
  background: transparent;
}
.so-radio-outlined-secondary .so-radio-circle::after {
  background: var(--so-accent-secondary);
}
.so-radio-outlined-secondary:hover:not(.disabled) .so-radio-circle {
  background: var(--so-secondary-bg-subtle);
}
.so-radio-outlined-secondary input:checked + .so-radio-circle {
  background: transparent;
}
.so-radio-outlined-secondary input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-checkbox-outlined-success .so-checkbox-box {
  border-color: var(--so-accent-success);
  background: transparent;
}
.so-checkbox-outlined-success:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-success-bg-subtle);
}
.so-checkbox-outlined-success input:checked + .so-checkbox-box,
.so-checkbox-outlined-success input:indeterminate + .so-checkbox-box {
  background: transparent;
  border-color: var(--so-accent-success);
}
.so-checkbox-outlined-success input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-outlined-success input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-success);
}
.so-checkbox-outlined-success input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-radio-outlined-success .so-radio-circle {
  border-color: var(--so-accent-success);
  background: transparent;
}
.so-radio-outlined-success .so-radio-circle::after {
  background: var(--so-accent-success);
}
.so-radio-outlined-success:hover:not(.disabled) .so-radio-circle {
  background: var(--so-success-bg-subtle);
}
.so-radio-outlined-success input:checked + .so-radio-circle {
  background: transparent;
}
.so-radio-outlined-success input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-checkbox-outlined-danger .so-checkbox-box {
  border-color: var(--so-accent-danger);
  background: transparent;
}
.so-checkbox-outlined-danger:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-danger-bg-subtle);
}
.so-checkbox-outlined-danger input:checked + .so-checkbox-box,
.so-checkbox-outlined-danger input:indeterminate + .so-checkbox-box {
  background: transparent;
  border-color: var(--so-accent-danger);
}
.so-checkbox-outlined-danger input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-outlined-danger input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-danger);
}
.so-checkbox-outlined-danger input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-radio-outlined-danger .so-radio-circle {
  border-color: var(--so-accent-danger);
  background: transparent;
}
.so-radio-outlined-danger .so-radio-circle::after {
  background: var(--so-accent-danger);
}
.so-radio-outlined-danger:hover:not(.disabled) .so-radio-circle {
  background: var(--so-danger-bg-subtle);
}
.so-radio-outlined-danger input:checked + .so-radio-circle {
  background: transparent;
}
.so-radio-outlined-danger input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-checkbox-outlined-warning .so-checkbox-box {
  border-color: var(--so-accent-warning);
  background: transparent;
}
.so-checkbox-outlined-warning:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-warning-bg-subtle);
}
.so-checkbox-outlined-warning input:checked + .so-checkbox-box,
.so-checkbox-outlined-warning input:indeterminate + .so-checkbox-box {
  background: transparent;
  border-color: var(--so-accent-warning);
}
.so-checkbox-outlined-warning input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-outlined-warning input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-warning);
}
.so-checkbox-outlined-warning input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-radio-outlined-warning .so-radio-circle {
  border-color: var(--so-accent-warning);
  background: transparent;
}
.so-radio-outlined-warning .so-radio-circle::after {
  background: var(--so-accent-warning);
}
.so-radio-outlined-warning:hover:not(.disabled) .so-radio-circle {
  background: var(--so-warning-bg-subtle);
}
.so-radio-outlined-warning input:checked + .so-radio-circle {
  background: transparent;
}
.so-radio-outlined-warning input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-checkbox-outlined-info .so-checkbox-box {
  border-color: var(--so-accent-info);
  background: transparent;
}
.so-checkbox-outlined-info:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-info-bg-subtle);
}
.so-checkbox-outlined-info input:checked + .so-checkbox-box,
.so-checkbox-outlined-info input:indeterminate + .so-checkbox-box {
  background: transparent;
  border-color: var(--so-accent-info);
}
.so-checkbox-outlined-info input:checked + .so-checkbox-box .material-symbols-rounded,
.so-checkbox-outlined-info input:indeterminate + .so-checkbox-box .material-symbols-rounded {
  color: var(--so-accent-info);
}
.so-checkbox-outlined-info input:focus-visible + .so-checkbox-box {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-radio-outlined-info .so-radio-circle {
  border-color: var(--so-accent-info);
  background: transparent;
}
.so-radio-outlined-info .so-radio-circle::after {
  background: var(--so-accent-info);
}
.so-radio-outlined-info:hover:not(.disabled) .so-radio-circle {
  background: var(--so-info-bg-subtle);
}
.so-radio-outlined-info input:checked + .so-radio-circle {
  background: transparent;
}
.so-radio-outlined-info input:focus-visible + .so-radio-circle {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-switch-ios .so-switch-track {
  width: 51px;
  height: 31px;
  background: var(--so-form-border-hover);
  border-radius: 15.5px;
  border: none;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
  transition: background 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.so-switch-ios .so-switch-track::after {
  top: 2px;
  left: 2px;
  width: 27px;
  height: 27px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.so-switch-ios input:checked + .so-switch-track {
  background: var(--so-accent-success);
}
.so-switch-ios input:checked + .so-switch-track::after {
  transform: translateX(20px);
  left: 2px;
}
.so-switch-ios:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-success);
}
.so-switch-ios input:focus-visible + .so-switch-track {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--so-success-focus-ring);
}
.so-switch-ios.so-switch-ios-primary input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch-ios.so-switch-ios-primary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch-ios.so-switch-ios-primary input:focus-visible + .so-switch-track {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--so-primary-focus-ring);
}
.so-switch-ios.so-switch-ios-secondary input:checked + .so-switch-track {
  background: var(--so-accent-secondary);
}
.so-switch-ios.so-switch-ios-secondary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-secondary);
}
.so-switch-ios.so-switch-ios-secondary input:focus-visible + .so-switch-track {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--so-secondary-focus-ring);
}
.so-switch-ios.so-switch-ios-success input:checked + .so-switch-track {
  background: var(--so-accent-success);
}
.so-switch-ios.so-switch-ios-success:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-success);
}
.so-switch-ios.so-switch-ios-success input:focus-visible + .so-switch-track {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--so-success-focus-ring);
}
.so-switch-ios.so-switch-ios-danger input:checked + .so-switch-track {
  background: var(--so-accent-danger);
}
.so-switch-ios.so-switch-ios-danger:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-danger);
}
.so-switch-ios.so-switch-ios-danger input:focus-visible + .so-switch-track {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--so-danger-focus-ring);
}
.so-switch-ios.so-switch-ios-warning input:checked + .so-switch-track {
  background: var(--so-accent-warning);
}
.so-switch-ios.so-switch-ios-warning:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-warning);
}
.so-switch-ios.so-switch-ios-warning input:focus-visible + .so-switch-track {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--so-warning-focus-ring);
}
.so-switch-ios.so-switch-ios-info input:checked + .so-switch-track {
  background: var(--so-accent-info);
}
.so-switch-ios.so-switch-ios-info:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-info);
}
.so-switch-ios.so-switch-ios-info input:focus-visible + .so-switch-track {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--so-info-focus-ring);
}
.so-switch-ios.so-switch-ios-sm .so-switch-track {
  width: 40px;
  height: 24px;
  border-radius: 12px;
}
.so-switch-ios.so-switch-ios-sm .so-switch-track::after {
  width: 20px;
  height: 20px;
}
.so-switch-ios.so-switch-ios-sm input:checked + .so-switch-track::after {
  transform: translateX(16px);
}
.so-switch-ios.so-switch-ios-lg .so-switch-track {
  width: 64px;
  height: 38px;
  border-radius: 19px;
}
.so-switch-ios.so-switch-ios-lg .so-switch-track::after {
  top: 3px;
  left: 3px;
  width: 32px;
  height: 32px;
}
.so-switch-ios.so-switch-ios-lg input:checked + .so-switch-track::after {
  transform: translateX(26px);
}

.so-switch-android .so-switch-track {
  width: 36px;
  height: 14px;
  background: rgba(0, 0, 0, 0.38);
  border-radius: 7px;
  transition: background 0.15s ease;
}
.so-switch-android .so-switch-track::after {
  top: -3px;
  left: 0;
  width: 20px;
  height: 20px;
  background: #fafafa;
  border-radius: 50%;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12);
  transition: left 0.15s ease, background 0.15s ease;
}
.so-switch-android:hover:not(.disabled) .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px rgba(0, 0, 0, 0.04);
}
.so-switch-android input:checked + .so-switch-track {
  background: rgba(26, 115, 232, 0.5);
}
.so-switch-android input:checked + .so-switch-track::after {
  left: calc(100% - 20px);
  background: var(--so-accent-primary);
}
.so-switch-android:hover:not(.disabled) input:checked + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px rgba(26, 115, 232, 0.12);
}
.so-switch-android input:focus-visible + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-primary-focus-ring);
}
.so-switch-android.so-switch-android-primary input:checked + .so-switch-track {
  background: var(--so-primary-bg-emphasis);
}
.so-switch-android.so-switch-android-primary input:checked + .so-switch-track::after {
  background: var(--so-accent-primary);
}
.so-switch-android.so-switch-android-primary:hover:not(.disabled) input:checked + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-primary-bg-emphasis);
}
.so-switch-android.so-switch-android-primary input:focus-visible + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-primary-focus-ring);
}
.so-switch-android.so-switch-android-secondary input:checked + .so-switch-track {
  background: var(--so-secondary-bg-emphasis);
}
.so-switch-android.so-switch-android-secondary input:checked + .so-switch-track::after {
  background: var(--so-accent-secondary);
}
.so-switch-android.so-switch-android-secondary:hover:not(.disabled) input:checked + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-secondary-bg-emphasis);
}
.so-switch-android.so-switch-android-secondary input:focus-visible + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-secondary-focus-ring);
}
.so-switch-android.so-switch-android-success input:checked + .so-switch-track {
  background: var(--so-success-bg-emphasis);
}
.so-switch-android.so-switch-android-success input:checked + .so-switch-track::after {
  background: var(--so-accent-success);
}
.so-switch-android.so-switch-android-success:hover:not(.disabled) input:checked + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-success-bg-emphasis);
}
.so-switch-android.so-switch-android-success input:focus-visible + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-success-focus-ring);
}
.so-switch-android.so-switch-android-danger input:checked + .so-switch-track {
  background: var(--so-danger-bg-emphasis);
}
.so-switch-android.so-switch-android-danger input:checked + .so-switch-track::after {
  background: var(--so-accent-danger);
}
.so-switch-android.so-switch-android-danger:hover:not(.disabled) input:checked + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-danger-bg-emphasis);
}
.so-switch-android.so-switch-android-danger input:focus-visible + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-danger-focus-ring);
}
.so-switch-android.so-switch-android-warning input:checked + .so-switch-track {
  background: var(--so-warning-bg-emphasis);
}
.so-switch-android.so-switch-android-warning input:checked + .so-switch-track::after {
  background: var(--so-accent-warning);
}
.so-switch-android.so-switch-android-warning:hover:not(.disabled) input:checked + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-warning-bg-emphasis);
}
.so-switch-android.so-switch-android-warning input:focus-visible + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-warning-focus-ring);
}
.so-switch-android.so-switch-android-info input:checked + .so-switch-track {
  background: var(--so-info-bg-emphasis);
}
.so-switch-android.so-switch-android-info input:checked + .so-switch-track::after {
  background: var(--so-accent-info);
}
.so-switch-android.so-switch-android-info:hover:not(.disabled) input:checked + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-info-bg-emphasis);
}
.so-switch-android.so-switch-android-info input:focus-visible + .so-switch-track::after {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12), 0 0 0 8px var(--so-info-focus-ring);
}
.so-switch-android.so-switch-android-sm .so-switch-track {
  width: 28px;
  height: 10px;
  border-radius: 5px;
}
.so-switch-android.so-switch-android-sm .so-switch-track::after {
  top: -3px;
  width: 16px;
  height: 16px;
}
.so-switch-android.so-switch-android-sm input:checked + .so-switch-track::after {
  left: calc(100% - 16px);
}
.so-switch-android.so-switch-android-lg .so-switch-track {
  width: 48px;
  height: 18px;
  border-radius: 9px;
}
.so-switch-android.so-switch-android-lg .so-switch-track::after {
  top: -4px;
  width: 26px;
  height: 26px;
}
.so-switch-android.so-switch-android-lg input:checked + .so-switch-track::after {
  left: calc(100% - 26px);
}

.so-switch-m3 .so-switch-track {
  width: 52px;
  height: 32px;
  background: var(--so-form-border);
  border: 2px solid var(--so-text-secondary);
  border-radius: 16px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.so-switch-m3 .so-switch-track::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 6px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: var(--so-text-secondary);
  border-radius: 50%;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.so-switch-m3 .so-switch-icon-off,
.so-switch-m3 .so-switch-icon-on {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  z-index: 1;
  transition: opacity 0.15s ease;
}
.so-switch-m3 .so-switch-icon-off {
  right: 6px;
  color: var(--so-text-secondary);
  opacity: 1;
}
.so-switch-m3 .so-switch-icon-on {
  left: 6px;
  color: #ffffff;
  opacity: 0;
}
.so-switch-m3:hover:not(.disabled) .so-switch-track {
  background: var(--so-primary-bg-subtle);
  border-color: var(--so-text-secondary);
}
.so-switch-m3 input:checked + .so-switch-track {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-switch-m3 input:checked + .so-switch-track::after {
  left: calc(100% - 22px);
  width: 24px;
  height: 24px;
  margin-top: -12px;
  background: #ffffff;
}
.so-switch-m3 input:checked + .so-switch-track .so-switch-icon-off {
  opacity: 0;
}
.so-switch-m3 input:checked + .so-switch-track .so-switch-icon-on {
  opacity: 1;
}
.so-switch-m3:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-primary-hover);
  border-color: var(--so-accent-primary-hover);
}
.so-switch-m3 input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-switch-m3.so-switch-m3-primary:hover:not(.disabled) .so-switch-track {
  background: var(--so-primary-bg-subtle);
}
.so-switch-m3.so-switch-m3-primary input:checked + .so-switch-track {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-switch-m3.so-switch-m3-primary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-switch-m3.so-switch-m3-primary input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-switch-m3.so-switch-m3-secondary:hover:not(.disabled) .so-switch-track {
  background: var(--so-secondary-bg-subtle);
}
.so-switch-m3.so-switch-m3-secondary input:checked + .so-switch-track {
  background: var(--so-accent-secondary);
  border-color: var(--so-accent-secondary);
}
.so-switch-m3.so-switch-m3-secondary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-secondary);
  border-color: var(--so-accent-secondary);
}
.so-switch-m3.so-switch-m3-secondary input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}
.so-switch-m3.so-switch-m3-success:hover:not(.disabled) .so-switch-track {
  background: var(--so-success-bg-subtle);
}
.so-switch-m3.so-switch-m3-success input:checked + .so-switch-track {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-switch-m3.so-switch-m3-success:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-switch-m3.so-switch-m3-success input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-switch-m3.so-switch-m3-danger:hover:not(.disabled) .so-switch-track {
  background: var(--so-danger-bg-subtle);
}
.so-switch-m3.so-switch-m3-danger input:checked + .so-switch-track {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}
.so-switch-m3.so-switch-m3-danger:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}
.so-switch-m3.so-switch-m3-danger input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-switch-m3.so-switch-m3-warning:hover:not(.disabled) .so-switch-track {
  background: var(--so-warning-bg-subtle);
}
.so-switch-m3.so-switch-m3-warning input:checked + .so-switch-track {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
}
.so-switch-m3.so-switch-m3-warning:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
}
.so-switch-m3.so-switch-m3-warning input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-switch-m3.so-switch-m3-info:hover:not(.disabled) .so-switch-track {
  background: var(--so-info-bg-subtle);
}
.so-switch-m3.so-switch-m3-info input:checked + .so-switch-track {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
}
.so-switch-m3.so-switch-m3-info:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
}
.so-switch-m3.so-switch-m3-info input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-switch-m3.so-switch-m3-sm .so-switch-track {
  width: 40px;
  height: 24px;
  border-radius: 12px;
}
.so-switch-m3.so-switch-m3-sm .so-switch-track::after {
  left: 4px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
}
.so-switch-m3.so-switch-m3-sm input:checked + .so-switch-track::after {
  left: calc(100% - 16px);
  width: 18px;
  height: 18px;
  margin-top: -9px;
}
.so-switch-m3.so-switch-m3-sm .so-switch-icon-off,
.so-switch-m3.so-switch-m3-sm .so-switch-icon-on {
  font-size: 12px;
}
.so-switch-m3.so-switch-m3-lg .so-switch-track {
  width: 64px;
  height: 40px;
  border-radius: 20px;
}
.so-switch-m3.so-switch-m3-lg .so-switch-track::after {
  left: 8px;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
.so-switch-m3.so-switch-m3-lg input:checked + .so-switch-track::after {
  left: calc(100% - 28px);
  width: 30px;
  height: 30px;
  margin-top: -15px;
}
.so-switch-m3.so-switch-m3-lg .so-switch-icon-off,
.so-switch-m3.so-switch-m3-lg .so-switch-icon-on {
  font-size: 20px;
}

.so-switch-ant .so-switch-track {
  width: 44px;
  height: 22px;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 100px;
  transition: all 0.2s;
}
.so-switch-ant .so-switch-track::after {
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 35, 11, 0.2);
  transition: all 0.2s;
}
.so-switch-ant.loading .so-switch-track::after {
  animation: so-switch-loading 1s infinite linear;
}
.so-switch-ant input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch-ant input:checked + .so-switch-track::after {
  left: calc(100% - 20px);
}
.so-switch-ant:hover:not(.disabled) .so-switch-track {
  background: rgba(0, 0, 0, 0.35);
}
.so-switch-ant:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch-ant input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 2px var(--so-primary-focus-ring);
}
.so-switch-ant.so-switch-ant-primary input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch-ant.so-switch-ant-primary:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-primary);
}
.so-switch-ant.so-switch-ant-primary input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 2px var(--so-primary-focus-ring);
}
.so-switch-ant.so-switch-ant-success input:checked + .so-switch-track {
  background: var(--so-accent-success);
}
.so-switch-ant.so-switch-ant-success:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-success);
}
.so-switch-ant.so-switch-ant-success input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 2px var(--so-success-focus-ring);
}
.so-switch-ant.so-switch-ant-danger input:checked + .so-switch-track {
  background: var(--so-accent-danger);
}
.so-switch-ant.so-switch-ant-danger:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-danger);
}
.so-switch-ant.so-switch-ant-danger input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 2px var(--so-danger-focus-ring);
}
.so-switch-ant.so-switch-ant-warning input:checked + .so-switch-track {
  background: var(--so-accent-warning);
}
.so-switch-ant.so-switch-ant-warning:hover:not(.disabled) input:checked + .so-switch-track {
  background: var(--so-accent-warning);
}
.so-switch-ant.so-switch-ant-warning input:focus-visible + .so-switch-track {
  box-shadow: 0 0 0 2px var(--so-warning-focus-ring);
}
.so-switch-ant.so-switch-ant-sm .so-switch-track {
  width: 28px;
  height: 16px;
}
.so-switch-ant.so-switch-ant-sm .so-switch-track::after {
  width: 12px;
  height: 12px;
}
.so-switch-ant.so-switch-ant-sm input:checked + .so-switch-track::after {
  left: calc(100% - 14px);
}

@keyframes so-switch-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.so-checkbox-filled .so-checkbox-box {
  background: var(--so-form-disabled-bg);
  border-color: transparent;
}
.so-checkbox-filled:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-card-hover-bg);
}
.so-checkbox-filled input:checked + .so-checkbox-box {
  background: var(--so-accent-primary);
  border-color: transparent;
}
.so-checkbox-filled.so-checkbox-filled-primary .so-checkbox-box {
  background: var(--so-primary-bg-subtle);
}
.so-checkbox-filled.so-checkbox-filled-primary:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-primary-bg-emphasis);
}
.so-checkbox-filled.so-checkbox-filled-primary input:checked + .so-checkbox-box {
  background: var(--so-accent-primary);
}
.so-checkbox-filled.so-checkbox-filled-secondary .so-checkbox-box {
  background: var(--so-secondary-bg-subtle);
}
.so-checkbox-filled.so-checkbox-filled-secondary:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-secondary-bg-emphasis);
}
.so-checkbox-filled.so-checkbox-filled-secondary input:checked + .so-checkbox-box {
  background: var(--so-accent-secondary);
}
.so-checkbox-filled.so-checkbox-filled-success .so-checkbox-box {
  background: var(--so-success-bg-subtle);
}
.so-checkbox-filled.so-checkbox-filled-success:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-success-bg-emphasis);
}
.so-checkbox-filled.so-checkbox-filled-success input:checked + .so-checkbox-box {
  background: var(--so-accent-success);
}
.so-checkbox-filled.so-checkbox-filled-danger .so-checkbox-box {
  background: var(--so-danger-bg-subtle);
}
.so-checkbox-filled.so-checkbox-filled-danger:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-danger-bg-emphasis);
}
.so-checkbox-filled.so-checkbox-filled-danger input:checked + .so-checkbox-box {
  background: var(--so-accent-danger);
}
.so-checkbox-filled.so-checkbox-filled-warning .so-checkbox-box {
  background: var(--so-warning-bg-subtle);
}
.so-checkbox-filled.so-checkbox-filled-warning:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-warning-bg-emphasis);
}
.so-checkbox-filled.so-checkbox-filled-warning input:checked + .so-checkbox-box {
  background: var(--so-accent-warning);
}
.so-checkbox-filled.so-checkbox-filled-info .so-checkbox-box {
  background: var(--so-info-bg-subtle);
}
.so-checkbox-filled.so-checkbox-filled-info:hover:not(.disabled) .so-checkbox-box {
  background: var(--so-info-bg-emphasis);
}
.so-checkbox-filled.so-checkbox-filled-info input:checked + .so-checkbox-box {
  background: var(--so-accent-info);
}

.so-radio-filled .so-radio-circle {
  background: var(--so-form-disabled-bg);
  border-color: transparent;
}
.so-radio-filled:hover:not(.disabled) .so-radio-circle {
  background: var(--so-card-hover-bg);
}
.so-radio-filled input:checked + .so-radio-circle {
  background: var(--so-accent-primary);
  border-color: transparent;
}
.so-radio-filled input:checked + .so-radio-circle::after {
  background: #ffffff;
}
.so-radio-filled.so-radio-filled-primary .so-radio-circle {
  background: var(--so-primary-bg-subtle);
}
.so-radio-filled.so-radio-filled-primary .so-radio-circle::after {
  background: var(--so-accent-primary);
}
.so-radio-filled.so-radio-filled-primary:hover:not(.disabled) .so-radio-circle {
  background: var(--so-primary-bg-emphasis);
}
.so-radio-filled.so-radio-filled-primary input:checked + .so-radio-circle {
  background: var(--so-accent-primary);
}
.so-radio-filled.so-radio-filled-primary input:checked + .so-radio-circle::after {
  background: #ffffff;
}
.so-radio-filled.so-radio-filled-secondary .so-radio-circle {
  background: var(--so-secondary-bg-subtle);
}
.so-radio-filled.so-radio-filled-secondary .so-radio-circle::after {
  background: var(--so-accent-secondary);
}
.so-radio-filled.so-radio-filled-secondary:hover:not(.disabled) .so-radio-circle {
  background: var(--so-secondary-bg-emphasis);
}
.so-radio-filled.so-radio-filled-secondary input:checked + .so-radio-circle {
  background: var(--so-accent-secondary);
}
.so-radio-filled.so-radio-filled-secondary input:checked + .so-radio-circle::after {
  background: #ffffff;
}
.so-radio-filled.so-radio-filled-success .so-radio-circle {
  background: var(--so-success-bg-subtle);
}
.so-radio-filled.so-radio-filled-success .so-radio-circle::after {
  background: var(--so-accent-success);
}
.so-radio-filled.so-radio-filled-success:hover:not(.disabled) .so-radio-circle {
  background: var(--so-success-bg-emphasis);
}
.so-radio-filled.so-radio-filled-success input:checked + .so-radio-circle {
  background: var(--so-accent-success);
}
.so-radio-filled.so-radio-filled-success input:checked + .so-radio-circle::after {
  background: #ffffff;
}
.so-radio-filled.so-radio-filled-danger .so-radio-circle {
  background: var(--so-danger-bg-subtle);
}
.so-radio-filled.so-radio-filled-danger .so-radio-circle::after {
  background: var(--so-accent-danger);
}
.so-radio-filled.so-radio-filled-danger:hover:not(.disabled) .so-radio-circle {
  background: var(--so-danger-bg-emphasis);
}
.so-radio-filled.so-radio-filled-danger input:checked + .so-radio-circle {
  background: var(--so-accent-danger);
}
.so-radio-filled.so-radio-filled-danger input:checked + .so-radio-circle::after {
  background: #ffffff;
}
.so-radio-filled.so-radio-filled-warning .so-radio-circle {
  background: var(--so-warning-bg-subtle);
}
.so-radio-filled.so-radio-filled-warning .so-radio-circle::after {
  background: var(--so-accent-warning);
}
.so-radio-filled.so-radio-filled-warning:hover:not(.disabled) .so-radio-circle {
  background: var(--so-warning-bg-emphasis);
}
.so-radio-filled.so-radio-filled-warning input:checked + .so-radio-circle {
  background: var(--so-accent-warning);
}
.so-radio-filled.so-radio-filled-warning input:checked + .so-radio-circle::after {
  background: #ffffff;
}
.so-radio-filled.so-radio-filled-info .so-radio-circle {
  background: var(--so-info-bg-subtle);
}
.so-radio-filled.so-radio-filled-info .so-radio-circle::after {
  background: var(--so-accent-info);
}
.so-radio-filled.so-radio-filled-info:hover:not(.disabled) .so-radio-circle {
  background: var(--so-info-bg-emphasis);
}
.so-radio-filled.so-radio-filled-info input:checked + .so-radio-circle {
  background: var(--so-accent-info);
}
.so-radio-filled.so-radio-filled-info input:checked + .so-radio-circle::after {
  background: #ffffff;
}

.so-checkbox-card,
.so-radio-card {
  display: flex;
  align-items: flex-start;
  padding: 16px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-card-border);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  margin-bottom: 0;
}
.so-checkbox-card:hover:not(.disabled):not(:has(input:checked)),
.so-radio-card:hover:not(.disabled):not(:has(input:checked)) {
  background: var(--so-card-hover-bg);
  border-color: var(--so-form-border-hover);
}
.so-checkbox-card:has(input:checked):not(.disabled),
.so-radio-card:has(input:checked):not(.disabled) {
  border-color: var(--so-accent-primary);
  background: var(--so-primary-bg-subtle);
}
[data-theme=dark] .so-checkbox-card:has(input:checked):not(.disabled), .so-radio-card:has(input:checked):not(.disabled) {
  background: var(--so-primary-bg-subtle);
}

.so-checkbox-card:has(input:focus-visible),
.so-radio-card:has(input:focus-visible) {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-checkbox-card.disabled, .so-checkbox-card:has(input:disabled),
.so-radio-card.disabled,
.so-radio-card:has(input:disabled) {
  opacity: 0.6;
  cursor: not-allowed;
  background: var(--so-form-disabled-bg);
}
.so-checkbox-card .so-checkbox-card-content,
.so-checkbox-card .so-radio-card-content,
.so-radio-card .so-checkbox-card-content,
.so-radio-card .so-radio-card-content {
  flex: 1;
  margin-left: 12px;
}
.so-checkbox-card .so-checkbox-card-title,
.so-checkbox-card .so-radio-card-title,
.so-radio-card .so-checkbox-card-title,
.so-radio-card .so-radio-card-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--so-text-primary);
  margin-bottom: 4px;
}
.so-checkbox-card .so-checkbox-card-description,
.so-checkbox-card .so-radio-card-description,
.so-radio-card .so-checkbox-card-description,
.so-radio-card .so-radio-card-description {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
}
.so-checkbox-card.so-checkbox-card-primary:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-primary:has(input:checked):not(.disabled),
.so-radio-card.so-checkbox-card-primary:has(input:checked):not(.disabled),
.so-radio-card.so-radio-card-primary:has(input:checked):not(.disabled) {
  border-color: var(--so-accent-primary);
  background: var(--so-primary-bg-subtle);
}
[data-theme=dark] .so-checkbox-card.so-checkbox-card-primary:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-primary:has(input:checked):not(.disabled), .so-radio-card.so-checkbox-card-primary:has(input:checked):not(.disabled), .so-radio-card.so-radio-card-primary:has(input:checked):not(.disabled) {
  background: var(--so-primary-bg-subtle);
}

.so-checkbox-card.so-checkbox-card-primary:has(input:focus-visible), .so-checkbox-card.so-radio-card-primary:has(input:focus-visible),
.so-radio-card.so-checkbox-card-primary:has(input:focus-visible),
.so-radio-card.so-radio-card-primary:has(input:focus-visible) {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-checkbox-card.so-checkbox-card-secondary:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-secondary:has(input:checked):not(.disabled),
.so-radio-card.so-checkbox-card-secondary:has(input:checked):not(.disabled),
.so-radio-card.so-radio-card-secondary:has(input:checked):not(.disabled) {
  border-color: var(--so-accent-secondary);
  background: var(--so-secondary-bg-subtle);
}
[data-theme=dark] .so-checkbox-card.so-checkbox-card-secondary:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-secondary:has(input:checked):not(.disabled), .so-radio-card.so-checkbox-card-secondary:has(input:checked):not(.disabled), .so-radio-card.so-radio-card-secondary:has(input:checked):not(.disabled) {
  background: var(--so-secondary-bg-subtle);
}

.so-checkbox-card.so-checkbox-card-secondary:has(input:focus-visible), .so-checkbox-card.so-radio-card-secondary:has(input:focus-visible),
.so-radio-card.so-checkbox-card-secondary:has(input:focus-visible),
.so-radio-card.so-radio-card-secondary:has(input:focus-visible) {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}
.so-checkbox-card.so-checkbox-card-success:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-success:has(input:checked):not(.disabled),
.so-radio-card.so-checkbox-card-success:has(input:checked):not(.disabled),
.so-radio-card.so-radio-card-success:has(input:checked):not(.disabled) {
  border-color: var(--so-accent-success);
  background: var(--so-success-bg-subtle);
}
[data-theme=dark] .so-checkbox-card.so-checkbox-card-success:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-success:has(input:checked):not(.disabled), .so-radio-card.so-checkbox-card-success:has(input:checked):not(.disabled), .so-radio-card.so-radio-card-success:has(input:checked):not(.disabled) {
  background: var(--so-success-bg-subtle);
}

.so-checkbox-card.so-checkbox-card-success:has(input:focus-visible), .so-checkbox-card.so-radio-card-success:has(input:focus-visible),
.so-radio-card.so-checkbox-card-success:has(input:focus-visible),
.so-radio-card.so-radio-card-success:has(input:focus-visible) {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}
.so-checkbox-card.so-checkbox-card-danger:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-danger:has(input:checked):not(.disabled),
.so-radio-card.so-checkbox-card-danger:has(input:checked):not(.disabled),
.so-radio-card.so-radio-card-danger:has(input:checked):not(.disabled) {
  border-color: var(--so-accent-danger);
  background: var(--so-danger-bg-subtle);
}
[data-theme=dark] .so-checkbox-card.so-checkbox-card-danger:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-danger:has(input:checked):not(.disabled), .so-radio-card.so-checkbox-card-danger:has(input:checked):not(.disabled), .so-radio-card.so-radio-card-danger:has(input:checked):not(.disabled) {
  background: var(--so-danger-bg-subtle);
}

.so-checkbox-card.so-checkbox-card-danger:has(input:focus-visible), .so-checkbox-card.so-radio-card-danger:has(input:focus-visible),
.so-radio-card.so-checkbox-card-danger:has(input:focus-visible),
.so-radio-card.so-radio-card-danger:has(input:focus-visible) {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}
.so-checkbox-card.so-checkbox-card-warning:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-warning:has(input:checked):not(.disabled),
.so-radio-card.so-checkbox-card-warning:has(input:checked):not(.disabled),
.so-radio-card.so-radio-card-warning:has(input:checked):not(.disabled) {
  border-color: var(--so-accent-warning);
  background: var(--so-warning-bg-subtle);
}
[data-theme=dark] .so-checkbox-card.so-checkbox-card-warning:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-warning:has(input:checked):not(.disabled), .so-radio-card.so-checkbox-card-warning:has(input:checked):not(.disabled), .so-radio-card.so-radio-card-warning:has(input:checked):not(.disabled) {
  background: var(--so-warning-bg-subtle);
}

.so-checkbox-card.so-checkbox-card-warning:has(input:focus-visible), .so-checkbox-card.so-radio-card-warning:has(input:focus-visible),
.so-radio-card.so-checkbox-card-warning:has(input:focus-visible),
.so-radio-card.so-radio-card-warning:has(input:focus-visible) {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}
.so-checkbox-card.so-checkbox-card-info:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-info:has(input:checked):not(.disabled),
.so-radio-card.so-checkbox-card-info:has(input:checked):not(.disabled),
.so-radio-card.so-radio-card-info:has(input:checked):not(.disabled) {
  border-color: var(--so-accent-info);
  background: var(--so-info-bg-subtle);
}
[data-theme=dark] .so-checkbox-card.so-checkbox-card-info:has(input:checked):not(.disabled), .so-checkbox-card.so-radio-card-info:has(input:checked):not(.disabled), .so-radio-card.so-checkbox-card-info:has(input:checked):not(.disabled), .so-radio-card.so-radio-card-info:has(input:checked):not(.disabled) {
  background: var(--so-info-bg-subtle);
}

.so-checkbox-card.so-checkbox-card-info:has(input:focus-visible), .so-checkbox-card.so-radio-card-info:has(input:focus-visible),
.so-radio-card.so-checkbox-card-info:has(input:focus-visible),
.so-radio-card.so-radio-card-info:has(input:focus-visible) {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}
.so-checkbox-card.so-checkbox-card-sm, .so-checkbox-card.so-radio-card-sm,
.so-radio-card.so-checkbox-card-sm,
.so-radio-card.so-radio-card-sm {
  align-items: center;
  padding: 4px 10px;
  border-radius: 4px;
  gap: 6px;
}
.so-checkbox-card.so-checkbox-card-sm .so-checkbox-card-content,
.so-checkbox-card.so-checkbox-card-sm .so-radio-card-content, .so-checkbox-card.so-radio-card-sm .so-checkbox-card-content,
.so-checkbox-card.so-radio-card-sm .so-radio-card-content,
.so-radio-card.so-checkbox-card-sm .so-checkbox-card-content,
.so-radio-card.so-checkbox-card-sm .so-radio-card-content,
.so-radio-card.so-radio-card-sm .so-checkbox-card-content,
.so-radio-card.so-radio-card-sm .so-radio-card-content {
  margin-left: 0;
}
.so-checkbox-card.so-checkbox-card-sm .so-checkbox-card-title,
.so-checkbox-card.so-checkbox-card-sm .so-radio-card-title, .so-checkbox-card.so-radio-card-sm .so-checkbox-card-title,
.so-checkbox-card.so-radio-card-sm .so-radio-card-title,
.so-radio-card.so-checkbox-card-sm .so-checkbox-card-title,
.so-radio-card.so-checkbox-card-sm .so-radio-card-title,
.so-radio-card.so-radio-card-sm .so-checkbox-card-title,
.so-radio-card.so-radio-card-sm .so-radio-card-title {
  font-size: 0.8125rem;
  margin-bottom: 0;
  line-height: 1.2;
}
.so-checkbox-card.so-checkbox-card-sm .so-checkbox-card-description,
.so-checkbox-card.so-checkbox-card-sm .so-radio-card-description, .so-checkbox-card.so-radio-card-sm .so-checkbox-card-description,
.so-checkbox-card.so-radio-card-sm .so-radio-card-description,
.so-radio-card.so-checkbox-card-sm .so-checkbox-card-description,
.so-radio-card.so-checkbox-card-sm .so-radio-card-description,
.so-radio-card.so-radio-card-sm .so-checkbox-card-description,
.so-radio-card.so-radio-card-sm .so-radio-card-description {
  font-size: 0.6875rem;
}
.so-checkbox-card.so-checkbox-card-icon > .so-radio-circle,
.so-checkbox-card.so-checkbox-card-icon > .so-checkbox-box, .so-checkbox-card.so-radio-card-icon > .so-radio-circle,
.so-checkbox-card.so-radio-card-icon > .so-checkbox-box,
.so-radio-card.so-checkbox-card-icon > .so-radio-circle,
.so-radio-card.so-checkbox-card-icon > .so-checkbox-box,
.so-radio-card.so-radio-card-icon > .so-radio-circle,
.so-radio-card.so-radio-card-icon > .so-checkbox-box {
  display: none;
}
.so-checkbox-card.so-checkbox-card-icon > .material-symbols-rounded,
.so-checkbox-card.so-checkbox-card-icon > .so-icon, .so-checkbox-card.so-radio-card-icon > .material-symbols-rounded,
.so-checkbox-card.so-radio-card-icon > .so-icon,
.so-radio-card.so-checkbox-card-icon > .material-symbols-rounded,
.so-radio-card.so-checkbox-card-icon > .so-icon,
.so-radio-card.so-radio-card-icon > .material-symbols-rounded,
.so-radio-card.so-radio-card-icon > .so-icon {
  font-size: 1.125rem;
  line-height: 1;
  flex-shrink: 0;
  color: var(--so-text-secondary);
}
.so-checkbox-card.so-checkbox-card-icon:has(input:checked) > .material-symbols-rounded, .so-checkbox-card.so-checkbox-card-icon:has(input:checked) > .so-icon, .so-checkbox-card.so-radio-card-icon:has(input:checked) > .material-symbols-rounded, .so-checkbox-card.so-radio-card-icon:has(input:checked) > .so-icon,
.so-radio-card.so-checkbox-card-icon:has(input:checked) > .material-symbols-rounded,
.so-radio-card.so-checkbox-card-icon:has(input:checked) > .so-icon,
.so-radio-card.so-radio-card-icon:has(input:checked) > .material-symbols-rounded,
.so-radio-card.so-radio-card-icon:has(input:checked) > .so-icon {
  color: var(--so-accent-primary);
}
.so-checkbox-card.so-checkbox-card-check-icon > .material-symbols-rounded,
.so-checkbox-card.so-checkbox-card-check-icon > .so-icon, .so-checkbox-card.so-radio-card-radio-icon > .material-symbols-rounded,
.so-checkbox-card.so-radio-card-radio-icon > .so-icon,
.so-radio-card.so-checkbox-card-check-icon > .material-symbols-rounded,
.so-radio-card.so-checkbox-card-check-icon > .so-icon,
.so-radio-card.so-radio-card-radio-icon > .material-symbols-rounded,
.so-radio-card.so-radio-card-radio-icon > .so-icon {
  font-size: 1.125rem;
  line-height: 1;
  flex-shrink: 0;
  color: var(--so-text-secondary);
}
.so-checkbox-card.so-checkbox-card-check-icon:has(input:checked) > .material-symbols-rounded, .so-checkbox-card.so-checkbox-card-check-icon:has(input:checked) > .so-icon, .so-checkbox-card.so-radio-card-radio-icon:has(input:checked) > .material-symbols-rounded, .so-checkbox-card.so-radio-card-radio-icon:has(input:checked) > .so-icon,
.so-radio-card.so-checkbox-card-check-icon:has(input:checked) > .material-symbols-rounded,
.so-radio-card.so-checkbox-card-check-icon:has(input:checked) > .so-icon,
.so-radio-card.so-radio-card-radio-icon:has(input:checked) > .material-symbols-rounded,
.so-radio-card.so-radio-card-radio-icon:has(input:checked) > .so-icon {
  color: var(--so-accent-primary);
}

.so-otp-group {
  text-align: center;
}

.so-otp-inputs {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.so-otp-input {
  width: 52px;
  height: 60px;
  text-align: center;
  font-size: 1.375rem;
  font-weight: 500;
  font-family: "Roboto Mono", monospace;
  color: var(--so-form-text);
  background: var(--so-form-bg);
  border: 2px solid var(--so-form-border);
  border-radius: 8px;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.so-otp-input:focus {
  border-color: var(--so-form-border-focus);
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.1);
}
[data-theme=dark] .so-otp-input:focus {
  box-shadow: 0 0 0 3px rgba(115, 103, 240, 0.15);
}

.so-otp-input.filled, .so-otp-input.so-otp-filled {
  border-color: var(--so-accent-success);
}
.so-otp-input.error, .so-otp-input.so-otp-error {
  border-color: var(--so-accent-danger);
}
.so-otp-input:disabled, .so-otp-input[disabled] {
  background: var(--so-form-bg-disabled, var(--so-bg-tertiary));
  color: var(--so-text-muted);
  border-color: var(--so-border-light);
  cursor: not-allowed;
  opacity: 0.6;
}
.so-otp-input[readonly] {
  background: var(--so-form-bg-disabled, var(--so-bg-tertiary));
  cursor: default;
}
.so-otp-input::-webkit-outer-spin-button, .so-otp-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.so-otp-input[type=number] {
  -moz-appearance: textfield;
}

.so-otp-group-sm .so-otp-inputs {
  gap: 8px;
}
.so-otp-group-sm .so-otp-input {
  width: 40px;
  height: 48px;
  font-size: 1.125rem;
  border-radius: 6px;
}

.so-otp-group-lg .so-otp-inputs {
  gap: 16px;
}
.so-otp-group-lg .so-otp-input {
  width: 64px;
  height: 72px;
  font-size: 1.5rem;
  border-radius: 10px;
}

.so-otp-group-default .so-otp-input {
  border: 2px solid var(--so-form-border);
  background: var(--so-form-bg);
  border-radius: 8px;
}

.so-otp-group-outline .so-otp-input {
  border: 2px solid var(--so-accent-primary);
  background: transparent;
  border-radius: 8px;
}
.so-otp-group-outline .so-otp-input:focus {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.2);
}

.so-otp-group-filled .so-otp-input {
  border: 2px solid transparent;
  background: rgba(154, 160, 166, 0.15);
  border-radius: 8px;
}
.so-otp-group-filled .so-otp-input:focus {
  border-color: var(--so-accent-primary);
  background: var(--so-form-bg);
}
[data-theme=dark] .so-otp-group-filled .so-otp-input {
  background: rgba(189, 193, 198, 0.2);
}
[data-theme=dark] .so-otp-group-filled .so-otp-input:focus {
  background: var(--so-form-bg);
}

.so-otp-group-underline .so-otp-input {
  border: none;
  border-bottom: 2px solid var(--so-form-border);
  background: transparent;
  border-radius: 0;
}
.so-otp-group-underline .so-otp-input:focus {
  border-bottom-color: var(--so-accent-primary);
  box-shadow: none;
}

.so-otp-separator {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  color: var(--so-text-muted);
  padding: 0 4px;
}

.so-otp-resend {
  margin-top: 16px;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  text-align: center;
}

.so-otp-resend-link {
  color: var(--so-accent-primary);
  text-decoration: none;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.so-otp-resend-link:hover {
  text-decoration: underline;
}
.so-otp-resend-link.disabled, .so-otp-resend-link[disabled] {
  color: var(--so-text-muted);
  cursor: not-allowed;
  pointer-events: none;
}

.so-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 22px;
  padding: 0 8px;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  border-radius: 9999px;
  transition: all 0.15s ease;
}

.so-badge-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-badge-secondary {
  background: var(--so-card-hover-bg);
  color: var(--so-text-secondary);
}

.so-badge-success {
  background: var(--so-accent-success);
  color: #ffffff;
}

.so-badge-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
}

.so-badge-warning {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
}

.so-badge-info {
  background: var(--so-accent-info);
  color: #ffffff;
}

.so-badge-light {
  background: #f1f3f4;
  color: #3c4043;
}

.so-badge-dark {
  background: #202124;
  color: #ffffff;
}

.so-badge-soft-primary {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-accent-primary);
}

.so-badge-soft-success {
  background: var(--so-success-bg-subtle);
  color: var(--so-success-text-emphasis);
}

.so-badge-soft-danger {
  background: var(--so-danger-bg-subtle);
  color: var(--so-danger-text-emphasis);
}

.so-badge-soft-warning {
  background: var(--so-soft-warning-bg);
  color: var(--so-soft-warning-text);
}

.so-badge-soft-info {
  background: var(--so-info-bg-subtle);
  color: var(--so-info-text-emphasis);
}

.so-badge-soft-secondary {
  background: var(--so-secondary-bg-subtle);
  color: var(--so-secondary-text-emphasis);
}

.so-badge-soft-light {
  background: #f8f9fa;
  color: #5f6368;
}

.so-badge-soft-dark {
  background: rgba(32, 33, 36, 0.08);
  color: #202124;
}

.so-badge-outline-primary {
  background: transparent;
  border: 1px solid var(--so-accent-primary);
  color: var(--so-accent-primary);
}

.so-badge-outline-success {
  background: transparent;
  border: 1px solid var(--so-accent-success);
  color: var(--so-accent-success);
}

.so-badge-outline-danger {
  background: transparent;
  border: 1px solid var(--so-accent-danger);
  color: var(--so-accent-danger);
}

.so-badge-outline-warning {
  background: transparent;
  border: 1px solid var(--so-accent-warning);
  color: var(--so-warning-text-emphasis);
}

.so-badge-outline-info {
  background: transparent;
  border: 1px solid var(--so-accent-info);
  color: var(--so-accent-info);
}

.so-badge-outline-secondary {
  background: transparent;
  border: 1px solid var(--so-accent-secondary);
  color: var(--so-accent-secondary);
}

.so-badge-outline-light {
  background: transparent;
  border: 1px solid #bdc1c6;
  color: #80868b;
}

.so-badge-outline-dark {
  background: transparent;
  border: 1px solid #202124;
  color: #202124;
}

.so-badge-sm {
  height: 18px;
  padding: 0 6px;
  font-size: 10px;
}

.so-badge-lg {
  height: 28px;
  padding: 0 12px;
  font-size: 0.8125rem;
}

.so-badge-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 9999px;
  background: var(--so-accent-primary);
}

.so-badge-dot.so-badge-success {
  background: var(--so-accent-success);
}

.so-badge-dot.so-badge-danger {
  background: var(--so-accent-danger);
}

.so-badge-dot.so-badge-warning {
  background: var(--so-accent-warning);
}

.so-badge-dot.so-badge-info {
  background: var(--so-accent-info);
}

.so-badge-dot.so-badge-secondary {
  background: var(--so-accent-secondary);
}

.so-badge-dot.so-badge-light {
  background: #bdc1c6;
}

.so-badge-dot.so-badge-dark {
  background: #202124;
}

.so-badge-pulse {
  position: relative;
}
.so-badge-pulse::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: inherit;
  animation: so-badge-pulse 1.5s ease-out infinite;
}

@keyframes so-badge-pulse {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}
.so-badge-dot.so-badge-pulse::after {
  animation: so-badge-dot-pulse 1.5s ease-out infinite;
}

@keyframes so-badge-dot-pulse {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}
.so-badge .material-symbols-rounded {
  font-size: 14px;
}

.so-badge-sm .material-symbols-rounded {
  font-size: 12px;
}

.so-badge-lg .material-symbols-rounded {
  font-size: 16px;
}

.so-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
}
.so-status-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: var(--so-text-muted);
}
.so-status-badge.online::before {
  background: var(--so-accent-success);
}
.so-status-badge.away::before {
  background: var(--so-accent-warning);
}
.so-status-badge.busy::before {
  background: var(--so-accent-danger);
}
.so-status-badge.offline::before {
  background: var(--so-text-muted);
}

.so-badge-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 600;
  background: var(--so-accent-danger);
  color: #ffffff;
  border-radius: 9999px;
}

.so-badge-count.so-badge-sm {
  min-width: 16px;
  height: 16px;
  font-size: 10px;
  padding: 0 4px;
}

.so-badge-count.so-badge-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-badge-count.so-badge-secondary {
  background: var(--so-accent-secondary);
  color: #ffffff;
}

.so-badge-count.so-badge-success {
  background: var(--so-accent-success);
  color: #ffffff;
}

.so-badge-count.so-badge-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
}

.so-badge-count.so-badge-warning {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
}

.so-badge-count.so-badge-info {
  background: var(--so-accent-info);
  color: #ffffff;
}

.so-badge-count.so-badge-light {
  background: #e8eaed;
  color: #3c4043;
}

.so-badge-count.so-badge-dark {
  background: #202124;
  color: #ffffff;
}

.so-badge-wrapper {
  position: relative;
  display: inline-flex;
}
.so-badge-wrapper .so-badge-count {
  position: absolute;
  top: -6px;
  right: -6px;
}
.so-badge-wrapper .so-badge-dot {
  position: absolute;
  top: -2px;
  right: -2px;
}
.so-badge-wrapper.so-badge-top-left .so-badge-count {
  top: -6px;
  left: -6px;
  right: auto;
}
.so-badge-wrapper.so-badge-top-right .so-badge-count {
  top: -6px;
  right: -6px;
  left: auto;
}
.so-badge-wrapper.so-badge-bottom-left .so-badge-count {
  bottom: -6px;
  left: -6px;
  top: auto;
  right: auto;
}
.so-badge-wrapper.so-badge-bottom-right .so-badge-count {
  bottom: -6px;
  right: -6px;
  top: auto;
  left: auto;
}
.so-badge-wrapper.so-badge-top-left .so-badge-dot {
  top: -2px;
  left: -2px;
  right: auto;
}
.so-badge-wrapper.so-badge-top-right .so-badge-dot {
  top: -2px;
  right: -2px;
  left: auto;
}
.so-badge-wrapper.so-badge-bottom-left .so-badge-dot {
  bottom: -2px;
  left: -2px;
  top: auto;
  right: auto;
}
.so-badge-wrapper.so-badge-bottom-right .so-badge-dot {
  bottom: -2px;
  right: -2px;
  top: auto;
  left: auto;
}

.so-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 26px;
  padding: 0 12px;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  border-radius: 9999px;
  transition: all 0.15s ease;
}
.so-pill .material-symbols-rounded {
  font-size: 16px;
}

.so-pill-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-pill-secondary {
  background: var(--so-accent-secondary);
  color: #ffffff;
}

.so-pill-success {
  background: var(--so-accent-success);
  color: #ffffff;
}

.so-pill-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
}

.so-pill-warning {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
}

.so-pill-info {
  background: var(--so-accent-info);
  color: #ffffff;
}

.so-pill-light {
  background: #f1f3f4;
  color: #3c4043;
}

.so-pill-dark {
  background: #202124;
  color: #ffffff;
}

.so-pill-soft-primary {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-accent-primary);
}

.so-pill-soft-secondary {
  background: var(--so-secondary-bg-emphasis);
  color: var(--so-accent-secondary);
}

.so-pill-soft-success {
  background: var(--so-success-bg-emphasis);
  color: var(--so-accent-success);
}

.so-pill-soft-danger {
  background: var(--so-danger-bg-emphasis);
  color: var(--so-accent-danger);
}

.so-pill-soft-warning {
  background: var(--so-soft-warning-bg);
  color: var(--so-soft-warning-text);
}

.so-pill-soft-info {
  background: var(--so-info-bg-emphasis);
  color: var(--so-accent-info);
}

.so-pill-soft-light {
  background: rgba(232, 234, 237, 0.15);
  color: #80868b;
}

.so-pill-soft-dark {
  background: rgba(32, 33, 36, 0.15);
  color: #202124;
}

.so-pill-outline-primary {
  background: transparent;
  border: 1px solid var(--so-accent-primary);
  color: var(--so-accent-primary);
}

.so-pill-outline-secondary {
  background: transparent;
  border: 1px solid var(--so-accent-secondary);
  color: var(--so-accent-secondary);
}

.so-pill-outline-success {
  background: transparent;
  border: 1px solid var(--so-accent-success);
  color: var(--so-accent-success);
}

.so-pill-outline-danger {
  background: transparent;
  border: 1px solid var(--so-accent-danger);
  color: var(--so-accent-danger);
}

.so-pill-outline-warning {
  background: transparent;
  border: 1px solid var(--so-accent-warning);
  color: var(--so-accent-warning);
}

.so-pill-outline-info {
  background: transparent;
  border: 1px solid var(--so-accent-info);
  color: var(--so-accent-info);
}

.so-pill-outline-light {
  background: transparent;
  border: 1px solid #bdc1c6;
  color: #bdc1c6;
}

.so-pill-outline-dark {
  background: transparent;
  border: 1px solid #202124;
  color: #202124;
}

.so-pill-outline-warning {
  color: var(--so-warning-text-emphasis);
}

.so-pill-sm {
  height: 22px;
  padding: 0 8px;
  font-size: 11px;
}
.so-pill-sm .material-symbols-rounded {
  font-size: 14px;
}

.so-pill-lg {
  height: 32px;
  padding: 0 16px;
  font-size: 0.8125rem;
}
.so-pill-lg .material-symbols-rounded {
  font-size: 18px;
}

.so-pill-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  margin-right: -4px;
  padding: 0;
  border: none;
  background: transparent;
  border-radius: 9999px;
  cursor: pointer;
  opacity: 0.6;
  transition: 0.15s ease;
}
.so-pill-close:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.1);
}
.so-pill-close .material-symbols-rounded {
  font-size: 14px;
}

.so-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 22px;
  padding: 0 8px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1;
  white-space: nowrap;
  border-radius: 3px;
  transition: all 0.15s ease;
}
.so-label .material-symbols-rounded {
  font-size: 14px;
}

.so-label-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-label-secondary {
  background: var(--so-accent-secondary);
  color: #ffffff;
}

.so-label-success {
  background: var(--so-accent-success);
  color: #ffffff;
}

.so-label-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
}

.so-label-warning {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
}

.so-label-info {
  background: var(--so-accent-info);
  color: #ffffff;
}

.so-label-light {
  background: #f1f3f4;
  color: #3c4043;
}

.so-label-dark {
  background: #202124;
  color: #ffffff;
}

.so-label-soft-primary {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-accent-primary);
}

.so-label-soft-secondary {
  background: var(--so-secondary-bg-emphasis);
  color: var(--so-accent-secondary);
}

.so-label-soft-success {
  background: var(--so-success-bg-emphasis);
  color: var(--so-accent-success);
}

.so-label-soft-danger {
  background: var(--so-danger-bg-emphasis);
  color: var(--so-accent-danger);
}

.so-label-soft-warning {
  background: var(--so-soft-warning-bg);
  color: var(--so-soft-warning-text);
}

.so-label-soft-info {
  background: var(--so-info-bg-emphasis);
  color: var(--so-accent-info);
}

.so-label-soft-light {
  background: rgba(232, 234, 237, 0.15);
  color: #80868b;
}

.so-label-soft-dark {
  background: rgba(32, 33, 36, 0.15);
  color: #202124;
}

.so-label-sm {
  height: 18px;
  padding: 0 6px;
  font-size: 10px;
}
.so-label-sm .material-symbols-rounded {
  font-size: 12px;
}

.so-label-lg {
  height: 28px;
  padding: 0 12px;
  font-size: 0.6875rem;
}
.so-label-lg .material-symbols-rounded {
  font-size: 16px;
}

.so-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 32px;
  padding: 0 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  border-radius: 9999px;
  border: 1px solid transparent;
  cursor: default;
  transition: all 0.15s ease;
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-chip .material-symbols-rounded {
  font-size: 18px;
}

.so-chip-avatar {
  width: 24px;
  height: 24px;
  border-radius: 9999px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: -8px;
}

.so-chip-check {
  display: none;
  align-items: center;
  justify-content: center;
  margin-left: -4px;
}
.so-chip-check .material-symbols-rounded {
  font-size: 16px;
}

.so-chip-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 11px;
  height: 11px;
  margin-right: -4px;
  padding: 0;
  border: none;
  background: transparent;
  border-radius: 9999px;
  cursor: pointer;
  opacity: 0.6;
  transition: 0.15s ease;
  color: inherit;
}
.so-chip-close:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.1);
}
.so-chip-close .material-symbols-rounded {
  font-size: 11px;
}

.so-chip-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
}
.so-chip-primary .so-chip-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.so-chip-secondary {
  background: var(--so-accent-secondary);
  color: #ffffff;
}
.so-chip-secondary .so-chip-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.so-chip-success {
  background: var(--so-accent-success);
  color: #ffffff;
}
.so-chip-success .so-chip-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.so-chip-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
}
.so-chip-danger .so-chip-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.so-chip-warning {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
}
.so-chip-warning .so-chip-close:hover {
  background: rgba(0, 0, 0, 0.1);
}

.so-chip-info {
  background: var(--so-accent-info);
  color: #ffffff;
}
.so-chip-info .so-chip-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.so-chip-light {
  background: #f1f3f4;
  color: #3c4043;
}
.so-chip-light .so-chip-close:hover {
  background: rgba(0, 0, 0, 0.1);
}

.so-chip-dark {
  background: #202124;
  color: #ffffff;
}
.so-chip-dark .so-chip-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.so-chip-soft-primary {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-accent-primary);
}

.so-chip-soft-secondary {
  background: var(--so-secondary-bg-emphasis);
  color: var(--so-accent-secondary);
}

.so-chip-soft-success {
  background: var(--so-success-bg-emphasis);
  color: var(--so-accent-success);
}

.so-chip-soft-danger {
  background: var(--so-danger-bg-emphasis);
  color: var(--so-accent-danger);
}

.so-chip-soft-warning {
  background: var(--so-soft-warning-bg);
  color: var(--so-soft-warning-text);
}

.so-chip-soft-info {
  background: var(--so-info-bg-emphasis);
  color: var(--so-accent-info);
}

.so-chip-soft-light {
  background: rgba(232, 234, 237, 0.15);
  color: #80868b;
}

.so-chip-soft-dark {
  background: rgba(32, 33, 36, 0.15);
  color: #202124;
}

.so-chip-outline-primary {
  background: transparent;
  border-color: var(--so-accent-primary);
  color: var(--so-accent-primary);
}
.so-chip-outline-primary.so-chip-selected {
  background: rgba(var(--so-accent-primary), 0.1);
}

.so-chip-outline-secondary {
  background: transparent;
  border-color: var(--so-accent-secondary);
  color: var(--so-accent-secondary);
}
.so-chip-outline-secondary.so-chip-selected {
  background: rgba(var(--so-accent-secondary), 0.1);
}

.so-chip-outline-success {
  background: transparent;
  border-color: var(--so-accent-success);
  color: var(--so-accent-success);
}
.so-chip-outline-success.so-chip-selected {
  background: rgba(var(--so-accent-success), 0.1);
}

.so-chip-outline-danger {
  background: transparent;
  border-color: var(--so-accent-danger);
  color: var(--so-accent-danger);
}
.so-chip-outline-danger.so-chip-selected {
  background: rgba(var(--so-accent-danger), 0.1);
}

.so-chip-outline-warning {
  background: transparent;
  border-color: var(--so-accent-warning);
  color: var(--so-accent-warning);
}
.so-chip-outline-warning.so-chip-selected {
  background: rgba(var(--so-accent-warning), 0.1);
}

.so-chip-outline-info {
  background: transparent;
  border-color: var(--so-accent-info);
  color: var(--so-accent-info);
}
.so-chip-outline-info.so-chip-selected {
  background: rgba(var(--so-accent-info), 0.1);
}

.so-chip-outline-light {
  background: transparent;
  border-color: #bdc1c6;
  color: #bdc1c6;
}
.so-chip-outline-light.so-chip-selected {
  background: rgba(189, 193, 198, 0.1);
}

.so-chip-outline-dark {
  background: transparent;
  border-color: #202124;
  color: #202124;
}
.so-chip-outline-dark.so-chip-selected {
  background: rgba(32, 33, 36, 0.1);
}

.so-chip-outline-warning {
  color: var(--so-warning-text-emphasis);
}

.so-chip-sm {
  height: 26px;
  padding: 0 8px;
  font-size: 0.6875rem;
}
.so-chip-sm .material-symbols-rounded {
  font-size: 14px;
}
.so-chip-sm .so-chip-avatar {
  width: 20px;
  height: 20px;
}
.so-chip-sm .so-chip-close {
  width: 16px;
  height: 16px;
}
.so-chip-sm .so-chip-close .material-symbols-rounded {
  font-size: 12px;
}
.so-chip-sm .so-chip-check .material-symbols-rounded {
  font-size: 14px;
}

.so-chip-lg {
  height: 40px;
  padding: 0 16px;
  font-size: 0.875rem;
}
.so-chip-lg .material-symbols-rounded {
  font-size: 22px;
}
.so-chip-lg .so-chip-avatar {
  width: 32px;
  height: 32px;
}
.so-chip-lg .so-chip-close {
  width: 22px;
  height: 22px;
}
.so-chip-lg .so-chip-close .material-symbols-rounded {
  font-size: 18px;
}
.so-chip-lg .so-chip-check .material-symbols-rounded {
  font-size: 20px;
}

.so-chip-selectable {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-chip-selectable:hover {
  background: var(--so-card-hover-bg);
}
.so-chip-selectable input[type=checkbox] {
  display: none;
}
.so-chip-selectable.so-chip-selected .so-chip-check, .so-chip-selectable:has(input:checked) .so-chip-check {
  display: inline-flex;
}

.so-chip-disabled,
.so-chip[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.so-avatar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  background: var(--so-card-hover-bg);
  color: var(--so-text-secondary);
  font-weight: 600;
  font-size: 0.8125rem;
  overflow: hidden;
  flex-shrink: 0;
  vertical-align: middle;
}
.so-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.so-avatar .material-symbols-rounded {
  font-size: 20px;
}

.so-avatar-xs {
  width: 24px;
  height: 24px;
  font-size: 10px;
}
.so-avatar-xs .material-symbols-rounded {
  font-size: 14px;
}

.so-avatar-sm {
  width: 32px;
  height: 32px;
  font-size: 12px;
}
.so-avatar-sm .material-symbols-rounded {
  font-size: 16px;
}

.so-avatar-lg {
  width: 48px;
  height: 48px;
  font-size: 16px;
}
.so-avatar-lg .material-symbols-rounded {
  font-size: 24px;
}

.so-avatar-xl {
  width: 64px;
  height: 64px;
  font-size: 20px;
}
.so-avatar-xl .material-symbols-rounded {
  font-size: 32px;
}

.so-avatar-2xl {
  width: 80px;
  height: 80px;
  font-size: 24px;
}
.so-avatar-2xl .material-symbols-rounded {
  font-size: 40px;
}

.so-avatar-square {
  border-radius: 8px;
}

.so-avatar-ring {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px var(--so-border-color);
}

.so-avatar-ring-primary {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px var(--so-accent-primary);
}

.so-avatar-ring-secondary {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px var(--so-accent-secondary);
}

.so-avatar-ring-success {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px var(--so-accent-success);
}

.so-avatar-ring-danger {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px var(--so-accent-danger);
}

.so-avatar-ring-warning {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px var(--so-accent-warning);
}

.so-avatar-ring-info {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px var(--so-accent-info);
}

.so-avatar-ring-light {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px #dadce0;
}

.so-avatar-ring-dark {
  box-shadow: 0 0 0 3px var(--so-card-bg), 0 0 0 5px #202124;
}

.so-avatar-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-avatar-secondary {
  background: var(--so-accent-secondary);
  color: #ffffff;
}

.so-avatar-success {
  background: var(--so-accent-success);
  color: #ffffff;
}

.so-avatar-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
}

.so-avatar-info {
  background: var(--so-accent-info);
  color: #ffffff;
}

.so-avatar-warning {
  background: var(--so-accent-warning);
  color: #202124;
}

.so-avatar-light {
  background: #e8eaed;
  color: #5f6368;
}

.so-avatar-dark {
  background: #202124;
  color: #ffffff;
}

.so-avatar-status {
  overflow: visible;
}
.so-avatar-status img {
  border-radius: inherit;
}
.so-avatar-status::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  border: 2px solid var(--so-card-bg);
  background: var(--so-text-muted);
  z-index: 1;
}
.so-avatar-status.so-avatar-xs::after {
  width: 6px;
  height: 6px;
  bottom: -1px;
  right: -1px;
  border-width: 1px;
}
.so-avatar-status.so-avatar-sm::after {
  width: 8px;
  height: 8px;
  bottom: -1px;
  right: -1px;
}
.so-avatar-status.so-avatar-lg::after {
  width: 12px;
  height: 12px;
  bottom: 0;
  right: 0;
}
.so-avatar-status.so-avatar-xl::after {
  width: 14px;
  height: 14px;
  bottom: 2px;
  right: 2px;
  border-width: 3px;
}
.so-avatar-status.so-avatar-2xl::after {
  width: 16px;
  height: 16px;
  bottom: 4px;
  right: 4px;
  border-width: 3px;
}

.so-avatar-status-online::after {
  background: var(--so-accent-success);
}

.so-avatar-status-away::after {
  background: var(--so-accent-warning);
}

.so-avatar-status-busy::after {
  background: var(--so-accent-danger);
}

.so-avatar-status-offline::after {
  background: var(--so-text-muted);
}

.so-avatar-status-primary::after {
  background: var(--so-accent-primary);
}

.so-avatar-status-secondary::after {
  background: var(--so-accent-secondary);
}

.so-avatar-status-success::after {
  background: var(--so-accent-success);
}

.so-avatar-status-danger::after {
  background: var(--so-accent-danger);
}

.so-avatar-status-warning::after {
  background: var(--so-accent-warning);
}

.so-avatar-status-info::after {
  background: var(--so-accent-info);
}

.so-avatar-status-light::after {
  background: #dadce0;
}

.so-avatar-status-dark::after {
  background: #202124;
}

.so-avatar-status-top-left::after {
  top: 0;
  left: 0;
  bottom: auto;
  right: auto;
}

.so-avatar-status-top-right::after {
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
}

.so-avatar-status-bottom-left::after {
  bottom: 0;
  left: 0;
  top: auto;
  right: auto;
}

.so-avatar-status-bottom-right::after {
  bottom: 0;
  right: 0;
  top: auto;
  left: auto;
}

.so-avatar-xs.so-avatar-status-top-left::after {
  top: -1px;
  left: -1px;
}

.so-avatar-xs.so-avatar-status-top-right::after {
  top: -1px;
  right: -1px;
}

.so-avatar-xs.so-avatar-status-bottom-left::after {
  bottom: -1px;
  left: -1px;
}

.so-avatar-sm.so-avatar-status-top-left::after {
  top: -1px;
  left: -1px;
}

.so-avatar-sm.so-avatar-status-top-right::after {
  top: -1px;
  right: -1px;
}

.so-avatar-sm.so-avatar-status-bottom-left::after {
  bottom: -1px;
  left: -1px;
}

.so-avatar-xl.so-avatar-status-top-left::after {
  top: 2px;
  left: 2px;
}

.so-avatar-xl.so-avatar-status-top-right::after {
  top: 2px;
  right: 2px;
}

.so-avatar-xl.so-avatar-status-bottom-left::after {
  bottom: 2px;
  left: 2px;
}

.so-avatar-2xl.so-avatar-status-top-left::after {
  top: 4px;
  left: 4px;
}

.so-avatar-2xl.so-avatar-status-top-right::after {
  top: 4px;
  right: 4px;
}

.so-avatar-2xl.so-avatar-status-bottom-left::after {
  bottom: 4px;
  left: 4px;
}

.so-avatar-group {
  display: inline-flex;
}

.so-avatar-group-stacked .so-avatar {
  margin-left: -12px;
  box-shadow: 0 0 0 2px var(--so-card-bg);
}
.so-avatar-group-stacked .so-avatar:first-child {
  margin-left: 0;
}
.so-avatar-group-stacked .so-avatar:hover {
  z-index: 1;
}
.so-avatar-group-stacked.so-avatar-group-xs .so-avatar {
  margin-left: -8px;
}
.so-avatar-group-stacked.so-avatar-group-xs .so-avatar:first-child {
  margin-left: 0;
}
.so-avatar-group-stacked.so-avatar-group-sm .so-avatar {
  margin-left: -10px;
}
.so-avatar-group-stacked.so-avatar-group-sm .so-avatar:first-child {
  margin-left: 0;
}
.so-avatar-group-stacked.so-avatar-group-lg .so-avatar {
  margin-left: -16px;
}
.so-avatar-group-stacked.so-avatar-group-lg .so-avatar:first-child {
  margin-left: 0;
}

.so-avatar-group-vertical {
  flex-direction: column;
  gap: 8px;
}

.so-avatar-group-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(40px, max-content));
  gap: 8px;
}
.so-avatar-group-grid.so-avatar-group-xs {
  grid-template-columns: repeat(auto-fill, minmax(24px, max-content));
}
.so-avatar-group-grid.so-avatar-group-sm {
  grid-template-columns: repeat(auto-fill, minmax(32px, max-content));
}
.so-avatar-group-grid.so-avatar-group-lg {
  grid-template-columns: repeat(auto-fill, minmax(48px, max-content));
}

.so-avatar-more {
  background: var(--so-card-hover-bg);
  color: var(--so-text-secondary);
  font-weight: 500;
  font-size: 0.6875rem;
}

.so-filter-chip-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--so-border-color);
  background: var(--so-card-bg);
}
.so-filter-chip-strip:empty {
  display: none;
}

.so-filter-chip-strip-card {
  border-bottom: 1px solid var(--so-border-color);
  padding: 8px 12px;
}

.so-card-below-header {
  background: var(--so-card-bg);
}

.so-filter-chip {
  height: 24px;
  padding: 0 8px;
  font-size: 0.6875rem;
  line-height: 1;
  gap: 4px;
}
.so-filter-chip .material-symbols-rounded {
  font-size: 14px;
}
.so-filter-chip .so-chip-close,
.so-filter-chip .so-filter-chip-close,
.so-filter-chip .so-filter-chip-value-close {
  width: 16px;
  height: 16px;
  margin-right: -4px;
  padding: 0;
  line-height: 1;
}
.so-filter-chip .so-chip-close .material-symbols-rounded,
.so-filter-chip .so-filter-chip-close .material-symbols-rounded,
.so-filter-chip .so-filter-chip-value-close .material-symbols-rounded {
  font-size: 12px;
}
.so-filter-chip > span {
  line-height: 1;
}

.so-filter-chip-close,
.so-filter-chip-value-close {
  font-size: 14px;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.15s;
}
.so-filter-chip-close:hover,
.so-filter-chip-value-close:hover {
  opacity: 1;
}

.so-filter-chip-value {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.so-filter-chip-clear-all {
  height: 24px;
  padding: 0 8px;
  font-size: 0.6875rem;
  line-height: 1;
  color: var(--so-accent-secondary) !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.05s ease;
}
.so-filter-chip-clear-all:hover {
  text-decoration: none;
  color: var(--so-accent-secondary) !important;
  background: var(--so-secondary-bg-subtle);
}
.so-filter-chip-clear-all:focus, .so-filter-chip-clear-all:focus-visible {
  outline: 2px solid var(--so-secondary-bg-emphasis, var(--so-accent-secondary));
  outline-offset: 1px;
}
.so-filter-chip-clear-all:active {
  background: var(--so-secondary-bg-emphasis, var(--so-secondary-bg-subtle));
  transform: scale(0.96);
}

.so-card {
  display: flex;
  flex-direction: column;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: var(--so-shadow);
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.so-card > * {
  min-width: 0;
}

.so-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--so-border-color);
}
.so-card-header:last-child {
  border-bottom: none;
}

@media (max-width: 767px) {
  .so-card-header:has(.so-list-view-header-right) {
    flex-wrap: wrap;
    row-gap: 8px;
  }
  .so-card-header:has(.so-list-view-header-right) > .so-card-header-actions {
    margin-left: auto;
  }
}
.so-card-header .so-h1, .so-card-header .so-h2, .so-card-header .so-h3,
.so-card-header .so-h4, .so-card-header .so-h5, .so-card-header .so-h6,
.so-card-footer .so-h1,
.so-card-footer .so-h2,
.so-card-footer .so-h3,
.so-card-footer .so-h4,
.so-card-footer .so-h5,
.so-card-footer .so-h6 {
  margin: 0;
}

.so-card-title {
  display: flex;
  align-items: center;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0;
}

.so-card-subtitle {
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
  margin-top: 4px;
}

.so-card-body {
  flex: 1 1 auto;
  padding: 16px;
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 767px) {
  .so-card-body {
    padding: 12px;
  }
}

.so-card-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--so-border-color);
  background: transparent;
  border-radius: 0 0 8px 8px;
  margin-top: auto;
}
.so-card-footer:first-child {
  border-top: none;
  border-radius: 8px 8px 0 0;
}

.so-card-bordered {
  border: 1px solid var(--so-border-color);
  box-shadow: none;
}

.so-card-thickborder {
  border: 3px solid var(--so-border-color);
  box-shadow: none;
}

.so-card-padded {
  padding: 16px;
}
@media (max-width: 767px) {
  .so-card-padded {
    padding: 12px;
  }
}

.so-card-flat {
  box-shadow: none;
  border: none;
}

.so-card-elevated {
  box-shadow: var(--so-shadow-lg);
}

.so-card-clickable {
  cursor: pointer;
  transition: all 0.2s ease;
}
.so-card-clickable:hover {
  transform: translateY(-2px);
  box-shadow: var(--so-shadow-lg);
}

.so-card-hover {
  transition: background-color 0.1s ease;
}
.so-card-hover:hover {
  background-color: var(--so-card-hover-bg);
}

.so-card-overflow-visible {
  overflow: visible;
}
.so-card-overflow-visible .so-card-body {
  overflow: visible;
}
.so-card-overflow-visible > .so-card-header:first-child,
.so-card-overflow-visible > .so-card-below-header:first-child,
.so-card-overflow-visible > .so-card-body:first-child {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.so-card-overflow-visible > .so-card-footer:last-child,
.so-card-overflow-visible > .so-card-body:last-child {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

.so-card-primary {
  background: var(--so-accent-primary);
  color: #ffffff;
}
.so-card-primary .so-card-title,
.so-card-primary .so-card-subtitle {
  color: #ffffff;
}
.so-card-primary .so-card-subtitle {
  opacity: 0.85;
}

.so-card-success {
  background: var(--so-accent-success);
  color: #ffffff;
}
.so-card-success .so-card-title,
.so-card-success .so-card-subtitle {
  color: #ffffff;
}

.so-card-danger {
  background: var(--so-accent-danger);
  color: #ffffff;
}
.so-card-danger .so-card-title,
.so-card-danger .so-card-subtitle {
  color: #ffffff;
}

.so-card-warning {
  background: var(--so-accent-warning);
  color: #202124;
}
.so-card-warning .so-card-title,
.so-card-warning .so-card-subtitle {
  color: #202124;
}

.so-card-info {
  background: var(--so-accent-info);
  color: #ffffff;
}
.so-card-info .so-card-title,
.so-card-info .so-card-subtitle {
  color: #ffffff;
}

.so-card-secondary {
  background: var(--so-accent-secondary);
  color: #ffffff;
}
.so-card-secondary .so-card-title,
.so-card-secondary .so-card-subtitle {
  color: #ffffff;
}

.so-card-light {
  background: #f1f3f4;
  color: #3c4043;
}
.so-card-light .so-card-title {
  color: #202124;
}
.so-card-light .so-card-subtitle {
  color: #80868b;
}

.so-card-dark {
  background: #202124;
  color: #ffffff;
}
.so-card-dark .so-card-title,
.so-card-dark .so-card-subtitle {
  color: #ffffff;
}

.so-card-primary .so-card-header,
.so-card-success .so-card-header,
.so-card-danger .so-card-header,
.so-card-warning .so-card-header,
.so-card-info .so-card-header,
.so-card-secondary .so-card-header,
.so-card-light .so-card-header,
.so-card-dark .so-card-header {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.so-card-primary .so-card-footer,
.so-card-success .so-card-footer,
.so-card-danger .so-card-footer,
.so-card-warning .so-card-footer,
.so-card-info .so-card-footer,
.so-card-secondary .so-card-footer,
.so-card-light .so-card-footer,
.so-card-dark .so-card-footer {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.so-card-light .so-card-header {
  border-bottom-color: rgba(0, 0, 0, 0.1);
}
.so-card-light .so-card-footer {
  border-top-color: rgba(0, 0, 0, 0.1);
}

.so-card-header-top > .so-card-header {
  align-items: flex-start;
}

.so-card-header-center > .so-card-header {
  align-items: center;
}

.so-card-header-bottom > .so-card-header {
  align-items: flex-end;
}

.so-card-footer-top > .so-card-footer {
  align-items: flex-start;
}

.so-card-footer-center > .so-card-footer {
  align-items: center;
}

.so-card-footer-bottom > .so-card-footer {
  align-items: flex-end;
}

.so-card-header-borderless > .so-card-header {
  border-bottom: none;
}

.so-card-footer-borderless > .so-card-footer {
  border-top: none;
}

.so-card-borderless-sections > .so-card-header {
  border-bottom: none;
}
.so-card-borderless-sections > .so-card-footer {
  border-top: none;
}

.so-card-img-top {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px 8px 0 0;
}

.so-card-img-bottom {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0 8px 8px;
}

.so-card-has-overlay {
  position: relative;
  overflow: hidden;
}
.so-card-has-overlay > .so-card-img {
  display: block;
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
.so-card-has-overlay > .so-card-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 8px;
}
.so-card-has-overlay > .so-card-overlay .so-card-title,
.so-card-has-overlay > .so-card-overlay .so-card-subtitle,
.so-card-has-overlay > .so-card-overlay h4,
.so-card-has-overlay > .so-card-overlay h5,
.so-card-has-overlay > .so-card-overlay h6,
.so-card-has-overlay > .so-card-overlay p {
  color: #ffffff;
}
.so-card-has-overlay > .so-card-overlay .so-card-body {
  padding: 0;
}

.so-card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 8px;
}

.so-card-group {
  display: flex;
  gap: 16px;
}
.so-card-group .so-card {
  flex: 1;
}

.so-stats-card {
  display: flex;
  flex-direction: column;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: var(--so-shadow);
  padding: 16px;
}
.so-stats-card .so-stats-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: var(--so-primary-bg-subtle);
  color: var(--so-accent-primary);
  margin-bottom: 12px;
}
.so-stats-card .so-stats-icon .material-symbols-rounded {
  font-size: 24px;
}
.so-stats-card .so-stats-value {
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--so-text-heading);
  line-height: 1.2;
}
.so-stats-card .so-stats-label {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  margin-top: 4px;
}
.so-stats-card .so-stats-change {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.6875rem;
  margin-top: 8px;
}
.so-stats-card .so-stats-change.positive {
  color: var(--so-accent-success);
}
.so-stats-card .so-stats-change.negative {
  color: var(--so-accent-danger);
}
.so-stats-card .so-stats-change .material-symbols-rounded {
  font-size: 16px;
}

.so-stats-card.success .so-stats-icon {
  background: var(--so-success-bg-subtle);
  color: var(--so-accent-success);
}

.so-stats-card.danger .so-stats-icon {
  background: var(--so-danger-bg-subtle);
  color: var(--so-accent-danger);
}

.so-stats-card.warning .so-stats-icon {
  background: var(--so-warning-bg-subtle);
  color: var(--so-warning-text-emphasis);
}

.so-profile-card {
  display: flex;
  flex-direction: column;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: var(--so-shadow);
  text-align: center;
  padding: 24px 16px;
}
.so-profile-card .so-profile-avatar {
  width: 80px;
  height: 80px;
  border-radius: 9999px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 12px;
}
.so-profile-card .so-profile-name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 4px;
}
.so-profile-card .so-profile-role {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  margin-bottom: 16px;
}
.so-profile-card .so-profile-stats {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--so-border-color);
}
.so-profile-card .so-profile-stat {
  text-align: center;
}
.so-profile-card .so-profile-stat .value {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--so-text-heading);
}
.so-profile-card .so-profile-stat .label {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.so-card-compact .so-card-header {
  padding: 8px 12px;
  gap: 8px;
}
.so-card-compact .so-card-body {
  padding: 12px;
}
.so-card-compact .so-card-footer {
  padding: 8px 12px;
}
.so-card-compact .so-card-header-avatar > .so-avatar:not([class*=so-avatar-xs]):not([class*=so-avatar-lg]):not([class*=so-avatar-xl]):not([class*=so-avatar-2xl]) {
  width: 32px;
  height: 32px;
  font-size: 12px;
}
.so-card-compact .so-card-header-avatar > .so-avatar:not([class*=so-avatar-xs]):not([class*=so-avatar-lg]):not([class*=so-avatar-xl]):not([class*=so-avatar-2xl]) .material-symbols-rounded {
  font-size: 16px;
}

.so-card-spacious .so-card-header {
  padding: 20px 24px;
  gap: 16px;
}
.so-card-spacious .so-card-body {
  padding: 24px;
}
.so-card-spacious .so-card-footer {
  padding: 16px 24px;
}
.so-card-spacious .so-card-header-avatar > .so-avatar:not([class*=so-avatar-xs]):not([class*=so-avatar-sm]):not([class*=so-avatar-xl]):not([class*=so-avatar-2xl]) {
  width: 48px;
  height: 48px;
  font-size: 16px;
}
.so-card-spacious .so-card-header-avatar > .so-avatar:not([class*=so-avatar-xs]):not([class*=so-avatar-sm]):not([class*=so-avatar-xl]):not([class*=so-avatar-2xl]) .material-symbols-rounded {
  font-size: 24px;
}

.so-card-header-primary > .so-card-header {
  background: var(--so-accent-primary);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-card-header-primary > .so-card-header .so-card-title,
.so-card-header-primary > .so-card-header .so-card-subtitle {
  color: #ffffff;
}
.so-card-header-primary > .so-card-header .so-card-subtitle {
  opacity: 0.85;
}

.so-card-header-success > .so-card-header {
  background: var(--so-accent-success);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-card-header-success > .so-card-header .so-card-title,
.so-card-header-success > .so-card-header .so-card-subtitle {
  color: #ffffff;
}

.so-card-header-danger > .so-card-header {
  background: var(--so-accent-danger);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-card-header-danger > .so-card-header .so-card-title,
.so-card-header-danger > .so-card-header .so-card-subtitle {
  color: #ffffff;
}

.so-card-header-warning > .so-card-header {
  background: var(--so-accent-warning);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-card-header-warning > .so-card-header .so-card-title,
.so-card-header-warning > .so-card-header .so-card-subtitle {
  color: #202124;
}

.so-card-header-info > .so-card-header {
  background: var(--so-accent-info);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-card-header-info > .so-card-header .so-card-title,
.so-card-header-info > .so-card-header .so-card-subtitle {
  color: #ffffff;
}

.so-card-header-secondary > .so-card-header {
  background: var(--so-accent-secondary);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-card-header-secondary > .so-card-header .so-card-title,
.so-card-header-secondary > .so-card-header .so-card-subtitle {
  color: #ffffff;
}

.so-card-header-light > .so-card-header {
  background: #f1f3f4;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-card-header-light > .so-card-header .so-card-title,
.so-card-header-light > .so-card-header .so-card-subtitle {
  color: #3c4043;
}

.so-card-header-dark > .so-card-header {
  background: #202124;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-card-header-dark > .so-card-header .so-card-title,
.so-card-header-dark > .so-card-header .so-card-subtitle {
  color: #ffffff;
}

.so-card-header-soft-primary > .so-card-header {
  background: var(--so-primary-bg-subtle);
  border-bottom-color: var(--so-primary-border-subtle);
  border-radius: 8px 8px 0 0;
}
.so-card-header-soft-primary > .so-card-header .so-card-title {
  color: var(--so-accent-primary);
}

.so-card-header-soft-success > .so-card-header {
  background: var(--so-success-bg-subtle);
  border-bottom-color: var(--so-success-border-subtle);
  border-radius: 8px 8px 0 0;
}
.so-card-header-soft-success > .so-card-header .so-card-title {
  color: var(--so-accent-success);
}

.so-card-header-soft-danger > .so-card-header {
  background: var(--so-danger-bg-subtle);
  border-bottom-color: var(--so-danger-border-subtle);
  border-radius: 8px 8px 0 0;
}
.so-card-header-soft-danger > .so-card-header .so-card-title {
  color: var(--so-accent-danger);
}

.so-card-header-soft-warning > .so-card-header {
  background: var(--so-warning-bg-subtle);
  border-bottom-color: var(--so-warning-border-subtle);
  border-radius: 8px 8px 0 0;
}
.so-card-header-soft-warning > .so-card-header .so-card-title {
  color: var(--so-warning-text-emphasis);
}

.so-card-header-soft-info > .so-card-header {
  background: var(--so-info-bg-subtle);
  border-bottom-color: var(--so-info-border-subtle);
  border-radius: 8px 8px 0 0;
}
.so-card-header-soft-info > .so-card-header .so-card-title {
  color: var(--so-accent-info);
}

.so-card-header-soft-secondary > .so-card-header {
  background: var(--so-secondary-bg-subtle);
  border-bottom-color: var(--so-secondary-border-subtle);
  border-radius: 8px 8px 0 0;
}
.so-card-header-soft-secondary > .so-card-header .so-card-title {
  color: var(--so-accent-secondary);
}

.so-card-header-soft-light > .so-card-header {
  background: #f8f9fa;
  border-bottom-color: #e8eaed;
  border-radius: 8px 8px 0 0;
}
.so-card-header-soft-light > .so-card-header .so-card-title {
  color: #80868b;
}

.so-card-header-soft-dark > .so-card-header {
  background: rgba(32, 33, 36, 0.1);
  border-bottom-color: rgba(32, 33, 36, 0.2);
  border-radius: 8px 8px 0 0;
}
.so-card-header-soft-dark > .so-card-header .so-card-title {
  color: #202124;
}

.so-card-border-primary {
  border: 1px solid var(--so-accent-primary);
  box-shadow: none;
}

.so-card-border-success {
  border: 1px solid var(--so-accent-success);
  box-shadow: none;
}

.so-card-border-danger {
  border: 1px solid var(--so-accent-danger);
  box-shadow: none;
}

.so-card-border-warning {
  border: 1px solid var(--so-accent-warning);
  box-shadow: none;
}

.so-card-border-info {
  border: 1px solid var(--so-accent-info);
  box-shadow: none;
}

.so-card-border-secondary {
  border: 1px solid var(--so-accent-secondary);
  box-shadow: none;
}

.so-card-border-light {
  border: 1px solid #dadce0;
  box-shadow: none;
}

.so-card-border-dark {
  border: 1px solid #202124;
  box-shadow: none;
}

.so-card-thickborder-primary {
  border: 3px solid var(--so-accent-primary);
  box-shadow: none;
}

.so-card-thickborder-success {
  border: 3px solid var(--so-accent-success);
  box-shadow: none;
}

.so-card-thickborder-danger {
  border: 3px solid var(--so-accent-danger);
  box-shadow: none;
}

.so-card-thickborder-warning {
  border: 3px solid var(--so-accent-warning);
  box-shadow: none;
}

.so-card-thickborder-info {
  border: 3px solid var(--so-accent-info);
  box-shadow: none;
}

.so-card-thickborder-secondary {
  border: 3px solid var(--so-accent-secondary);
  box-shadow: none;
}

.so-card-thickborder-light {
  border: 3px solid #dadce0;
  box-shadow: none;
}

.so-card-thickborder-dark {
  border: 3px solid #202124;
  box-shadow: none;
}

.so-card-horizontal {
  display: flex;
  flex-direction: row;
}
.so-card-horizontal > .so-card-img {
  width: 200px;
  min-width: 200px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px 0 0 8px;
}
.so-card-horizontal > .so-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
@media (max-width: 576px) {
  .so-card-horizontal {
    flex-direction: column;
  }
  .so-card-horizontal > .so-card-img {
    width: 100%;
    min-width: auto;
    max-height: 200px;
    border-radius: 8px 8px 0 0;
  }
}

.so-card-header-avatar {
  display: flex;
  align-items: center;
  gap: 12px;
}
.so-card-header-avatar .so-card-avatar {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  -o-object-fit: cover;
     object-fit: cover;
  flex-shrink: 0;
}
.so-card-header-avatar .so-avatar {
  flex-shrink: 0;
}
.so-card-header-avatar .so-card-header-content {
  flex: 1;
  min-width: 0;
}
.so-card-header-avatar .so-card-header-content .so-card-title {
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.so-card-header-avatar .so-card-header-content .so-card-subtitle {
  margin-top: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-card-action-area {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: background 0.1s ease;
  border-radius: 8px;
}
.so-card-action-area:hover {
  background: var(--so-card-hover-bg);
}
.so-card-action-area:active {
  background: var(--so-primary-bg-subtle);
}
.so-card-action-area:focus-visible, .so-card-action-area.so-focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: 2px;
}

.so-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
}
.so-card-actions-start {
  justify-content: flex-start;
}
.so-card-actions-end {
  justify-content: flex-end;
}
.so-card-actions-between {
  justify-content: space-between;
}
.so-card-actions-center {
  justify-content: center;
}

.so-card-loading,
.so-card[data-loading=true],
.so-card[data-loading] {
  position: relative;
  pointer-events: none;
}
.so-card-loading::after,
.so-card[data-loading=true]::after,
.so-card[data-loading]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--so-card-bg);
  opacity: 0.7;
  z-index: 10;
  border-radius: 8px;
}
.so-card-loading::before,
.so-card[data-loading=true]::before,
.so-card[data-loading]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
  border: 3px solid var(--so-border-color);
  border-top-color: var(--so-accent-primary);
  border-radius: 50%;
  animation: so-card-spin 0.8s linear infinite;
  z-index: 11;
}

.so-card[data-loading=false] {
  pointer-events: auto;
}
.so-card[data-loading=false]::before, .so-card[data-loading=false]::after {
  content: none;
}

@keyframes so-card-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.so-card-header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}

.so-card-action-btn {
  width: 32px;
  height: 32px;
  min-width: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.1s ease, transform 0.1s ease;
}
.so-card-action-btn .material-symbols-rounded {
  font-size: 18px;
}
.so-card-action-btn:hover {
  background: rgba(32, 33, 36, 0.05);
}
.so-card-action-btn:active {
  transform: scale(0.95);
}
[data-theme=dark] .so-card-action-btn:hover, [data-theme=system] .so-card-action-btn:hover {
  background: rgba(255, 255, 255, 0.1);
}

.so-card-collapsed {
  align-self: start;
}
.so-card-collapsed .so-card-body,
.so-card-collapsed .so-card-footer {
  display: none;
}
.so-card-collapsed .so-card-header {
  border-bottom: none;
}

.so-card-fullscreen {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  z-index: 9999;
  border-radius: 0;
  display: flex;
  flex-direction: column;
}
.so-card-fullscreen .so-card-body {
  flex: 1;
  overflow: auto;
}

.so-drag-handle {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.so-card[draggable=true] .so-card-header {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.so-card.so-dragging,
.so-card.so-so-dragging {
  opacity: 0.4;
  box-shadow: none !important;
  transition: opacity 0.2s ease;
  cursor: grabbing !important;
}

.so-ghost,
.so-so-ghost {
  opacity: 0.3;
  background: var(--so-grey-100);
  border: 2px dashed var(--so-border-color);
}
.so-ghost *,
.so-so-ghost * {
  visibility: hidden;
}
[data-theme=dark] .so-ghost, [data-theme=system] .so-ghost,
[data-theme=dark] .so-so-ghost,
[data-theme=system] .so-so-ghost {
  background: rgba(255, 255, 255, 0.05);
}

.so-chosen,
.so-so-chosen {
  cursor: grabbing;
}

.so-drag-over,
.so-so-drag-over {
  position: relative;
  border: 2px dashed var(--so-accent-primary) !important;
  box-shadow: 0 0 12px rgba(var(--so-accent-primary), 0.3) !important;
  background: rgba(var(--so-accent-primary), 0.05);
  transition: all 0.2s ease;
}

.so-drag-not-allowed {
  cursor: not-allowed !important;
  opacity: 0.5;
}
.so-drag-not-allowed::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(234, 67, 53, 0.1) 10px, rgba(234, 67, 53, 0.1) 20px);
  pointer-events: none;
  z-index: 10;
}

.so-card-action-btn:focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: 2px;
  border-radius: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .so-card-fullscreen {
    transition: none;
  }
  .so-dragging {
    transition: none;
  }
}
.so-alert {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.so-alert > .material-symbols-rounded,
.so-alert > .so-alert-icon {
  flex: 0 0 40px; /* shorthand: flex-grow flex-shrink flex-basis */
  width: 40px;
  height: 40px;
  min-width: 40px;
  max-width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 20px;
  box-sizing: border-box;
  overflow: hidden;
  padding: 0; /* Remove any padding */
  margin: 0; /* Remove any margin */
}
.so-alert > div,
.so-alert > .so-alert-content {
  flex: 1;
  min-width: 0;
}
.so-alert strong {
  font-weight: 600;
  display: block;
  margin-bottom: 4px;
  font-size: 0.875rem;
}
.so-alert ul,
.so-alert ol {
  margin: 0;
  padding-left: 16px;
}
.so-alert ul li,
.so-alert ol li {
  margin-bottom: 4px;
}
.so-alert ul li:last-child,
.so-alert ol li:last-child {
  margin-bottom: 0;
}
.so-alert code {
  background: rgba(0, 0, 0, 0.08);
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  font-size: 0.8125em;
}
.so-alert .so-alert-heading {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
  color: inherit;
}
.so-alert .so-alert-link {
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.15s ease;
}
.so-alert .so-alert-link:hover {
  text-decoration: none;
}
.so-alert hr {
  margin: 12px 0;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.so-alert p {
  margin-bottom: 8px;
}
.so-alert p:last-child {
  margin-bottom: 0;
}

.so-alert-info {
  background: var(--so-info-bg-subtle);
  border-color: var(--so-info-border-subtle);
  color: var(--so-text-primary);
}
.so-alert-info > .material-symbols-rounded,
.so-alert-info > .so-alert-icon {
  background: var(--so-info-bg-emphasis);
  color: var(--so-accent-info);
}
.so-alert-info code {
  background: var(--so-info-bg-emphasis);
  color: var(--so-info-text-emphasis);
}
.so-alert-info .so-alert-link {
  color: var(--so-info-text-emphasis);
}

.so-alert-success {
  background: var(--so-success-bg-subtle);
  border-color: var(--so-success-border-subtle);
  color: var(--so-text-primary);
}
.so-alert-success > .material-symbols-rounded,
.so-alert-success > .so-alert-icon {
  background: var(--so-success-bg-emphasis);
  color: var(--so-accent-success);
}
.so-alert-success code {
  background: var(--so-success-bg-emphasis);
  color: var(--so-success-text-emphasis);
}
.so-alert-success .so-alert-link {
  color: var(--so-success-text-emphasis);
}

.so-alert-warning {
  background: var(--so-warning-bg-subtle);
  border-color: var(--so-warning-border-subtle);
  color: var(--so-text-primary);
}
.so-alert-warning > .material-symbols-rounded,
.so-alert-warning > .so-alert-icon {
  background: var(--so-warning-bg-emphasis);
  color: var(--so-warning-text-emphasis);
}
.so-alert-warning code {
  background: var(--so-warning-bg-emphasis);
  color: var(--so-warning-text-emphasis);
}
.so-alert-warning .so-alert-link {
  color: var(--so-warning-text-emphasis);
}

.so-alert-danger,
.so-alert-error {
  background: var(--so-danger-bg-subtle);
  border-color: var(--so-danger-border-subtle);
  color: var(--so-text-primary);
}
.so-alert-danger > .material-symbols-rounded,
.so-alert-danger > .so-alert-icon,
.so-alert-error > .material-symbols-rounded,
.so-alert-error > .so-alert-icon {
  background: var(--so-danger-bg-emphasis);
  color: var(--so-accent-danger);
}
.so-alert-danger code,
.so-alert-error code {
  background: var(--so-danger-bg-emphasis);
  color: var(--so-danger-text-emphasis);
}
.so-alert-danger .so-alert-link,
.so-alert-error .so-alert-link {
  color: var(--so-danger-text-emphasis);
}

.so-alert-primary {
  background: var(--so-primary-bg-subtle);
  border-color: var(--so-primary-border-subtle);
  color: var(--so-text-primary);
}
.so-alert-primary > .material-symbols-rounded,
.so-alert-primary > .so-alert-icon {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-accent-primary);
}
.so-alert-primary code {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-primary-text-emphasis);
}
.so-alert-primary .so-alert-link {
  color: var(--so-primary-text-emphasis);
}

.so-alert-secondary {
  background: var(--so-secondary-bg-subtle);
  border-color: var(--so-secondary-border-subtle);
  color: var(--so-text-primary);
}
.so-alert-secondary > .material-symbols-rounded,
.so-alert-secondary > .so-alert-icon {
  background: var(--so-secondary-bg-emphasis);
  color: var(--so-accent-secondary);
}
.so-alert-secondary code {
  background: var(--so-secondary-bg-emphasis);
  color: var(--so-secondary-text-emphasis);
}
.so-alert-secondary .so-alert-link {
  color: var(--so-secondary-text-emphasis);
}

.so-alert-light {
  background: #f1f3f4;
  border-color: #dadce0;
  color: var(--so-text-primary);
}
.so-alert-light > .material-symbols-rounded,
.so-alert-light > .so-alert-icon {
  background: #e8eaed;
  color: #5f6368;
}
.so-alert-light code {
  background: rgba(0, 0, 0, 0.06);
  color: #3c4043;
}
.so-alert-light .so-alert-link {
  color: #202124;
}

.so-alert-dark {
  background: #3c4043;
  border-color: #5f6368;
  color: #ffffff;
}
.so-alert-dark > .material-symbols-rounded,
.so-alert-dark > .so-alert-icon {
  background: #5f6368;
  color: #ffffff;
}
.so-alert-dark code {
  background: rgba(255, 255, 255, 0.15);
  color: #f1f3f4;
}
.so-alert-dark .so-alert-link {
  color: #e8eaed;
}

.so-alert-sm {
  padding: 12px;
  gap: 8px;
  font-size: 0.6875rem;
}
.so-alert-sm > .material-symbols-rounded,
.so-alert-sm > .so-alert-icon {
  width: 32px;
  height: 32px;
  font-size: 18px;
}
.so-alert-sm strong {
  font-size: 0.8125rem;
}

.so-alert-outline {
  background: transparent;
}
.so-alert-outline.so-alert-info {
  border-color: var(--so-info-border-subtle);
}
.so-alert-outline.so-alert-success {
  border-color: var(--so-success-border-subtle);
}
.so-alert-outline.so-alert-warning {
  border-color: var(--so-warning-border-subtle);
}
.so-alert-outline.so-alert-danger, .so-alert-outline.so-alert-error {
  border-color: var(--so-danger-border-subtle);
}
.so-alert-outline.so-alert-primary {
  border-color: var(--so-primary-border-subtle);
}
.so-alert-outline.so-alert-secondary {
  border-color: var(--so-secondary-border-subtle);
}
.so-alert-outline.so-alert-light {
  border-color: #bdc1c6;
  background: transparent;
}
.so-alert-outline.so-alert-dark {
  border-color: #80868b;
  background: transparent;
  color: var(--so-text-primary);
}
.so-alert-outline.so-alert-dark > .material-symbols-rounded,
.so-alert-outline.so-alert-dark > .so-alert-icon {
  background: rgba(60, 64, 67, 0.15);
  color: #3c4043;
}

.so-alert-dismissible {
  position: relative;
  padding-right: 40px;
}
.so-alert-dismissible .so-alert-close {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px;
  background: transparent;
  border: none;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s ease;
  color: inherit;
  border-radius: 3px;
}
.so-alert-dismissible .so-alert-close:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.05);
}
.so-alert-dismissible .so-alert-close .material-symbols-rounded {
  font-size: 18px;
}

[data-theme=dark] .so-alert code {
  background: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .so-alert-light {
  background: rgba(241, 243, 244, 0.1);
  border-color: rgba(218, 220, 224, 0.3);
}
[data-theme=dark] .so-alert-light > .material-symbols-rounded,
[data-theme=dark] .so-alert-light > .so-alert-icon {
  background: rgba(241, 243, 244, 0.15);
  color: #dadce0;
}
[data-theme=dark] .so-alert-light .so-alert-link {
  color: #e8eaed;
}
[data-theme=dark] .so-alert-dark {
  background: #202124;
  border-color: #5f6368;
}
[data-theme=dark] .so-alert-dark > .material-symbols-rounded,
[data-theme=dark] .so-alert-dark > .so-alert-icon {
  background: #3c4043;
}
[data-theme=dark] .so-alert-dark .so-alert-link {
  color: #dadce0;
}
[data-theme=dark] .so-alert-dismissible .so-alert-close:hover {
  background: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .so-alert hr {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.so-toast-container {
  position: fixed;
  z-index: 2147483000;
  padding: 16px;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 100vh;
  overflow: hidden;
}
.so-toast-container.top-left {
  top: 0;
  left: 0;
  align-items: flex-start;
}
.so-toast-container.top-right {
  top: 0;
  right: 0;
  align-items: flex-end;
}
.so-toast-container.top-center {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.so-toast-container.bottom-left {
  bottom: 0;
  left: 0;
  align-items: flex-start;
  flex-direction: column-reverse;
}
.so-toast-container.bottom-right {
  bottom: 0;
  right: 0;
  align-items: flex-end;
  flex-direction: column-reverse;
}
.so-toast-container.bottom-center {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
  flex-direction: column-reverse;
}
.so-toast-container.center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  align-items: center;
  justify-content: center;
  max-height: -moz-fit-content;
  max-height: fit-content;
}
.so-toast-container.custom {
  align-items: center;
}

.so-toast {
  position: relative;
  pointer-events: auto;
  width: 100%;
  max-width: 350px;
  min-width: 280px;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--so-border-color);
  opacity: 0;
  transform: translateY(-20px) scale(0.95);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.so-toast.so-show {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.so-toast.so-hiding {
  opacity: 0;
  transform: translateY(-20px) scale(0.95);
}
.so-bottom-left .so-toast, .so-bottom-right .so-toast, .so-bottom-center .so-toast {
  transform: translateY(20px) scale(0.95);
}
.so-bottom-left .so-toast.so-show, .so-bottom-right .so-toast.so-show, .so-bottom-center .so-toast.so-show {
  transform: translateY(0) scale(1);
}
.so-bottom-left .so-toast.so-hiding, .so-bottom-right .so-toast.so-hiding, .so-bottom-center .so-toast.so-hiding {
  transform: translateY(20px) scale(0.95);
}
.so-center .so-toast, .so-custom .so-toast {
  transform: scale(0.9);
}
.so-center .so-toast.so-show, .so-custom .so-toast.so-show {
  transform: scale(1);
}
.so-center .so-toast.so-hiding, .so-custom .so-toast.so-hiding {
  transform: scale(0.9);
}

.so-toast-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid var(--so-border-color);
  background: var(--so-card-hover-bg);
}
.so-toast-header .so-toast-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  flex-shrink: 0;
}
.so-toast-header .so-toast-icon .material-symbols-rounded {
  font-size: 16px;
}
.so-toast-header .so-toast-title {
  flex: 1;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0;
}
.so-toast-header .so-toast-time {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-toast-body {
  padding: 12px;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
}
.so-toast-body .so-toast-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}
.so-toast-body .so-toast-actions .so-btn {
  padding: 4px 8px;
  font-size: 0.6875rem;
}

.so-toast-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  color: var(--so-text-muted);
  opacity: 0.7;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.so-toast-close:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.05);
  color: var(--so-text-primary);
}
.so-toast-close .material-symbols-rounded {
  font-size: 16px;
}

.so-toast-progress-wrapper {
  padding: 0 12px 12px;
  margin-top: -4px;
}

.so-toast-progress {
  height: 4px;
  background: rgba(0, 0, 0, 0.1);
  overflow: hidden;
  position: relative;
}

.so-toast-progress-bar {
  height: 100%;
  width: 100%;
  background: var(--so-accent-primary);
  transition: width linear;
}

.so-toast-simple {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
}
.so-toast-simple .so-toast-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  flex-shrink: 0;
}
.so-toast-simple .so-toast-icon .material-symbols-rounded {
  font-size: 18px;
}
.so-toast-simple .so-toast-content {
  flex: 1;
  min-width: 0;
}
.so-toast-simple .so-toast-content .so-toast-title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 4px;
}
.so-toast-simple .so-toast-content .so-toast-message {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  line-height: 1.4;
}
.so-toast-simple .so-toast-close {
  margin-left: auto;
}

.so-toast-primary {
  border-color: var(--so-primary-border-subtle);
}
.so-toast-primary .so-toast-header {
  background: var(--so-primary-bg-subtle);
  border-bottom-color: var(--so-primary-bg-emphasis);
}
.so-toast-primary .so-toast-icon {
  background: var(--so-primary-bg-emphasis);
  color: var(--so-accent-primary);
}
.so-toast-primary .so-toast-progress-bar {
  background: var(--so-accent-primary);
}
.so-toast-primary.so-toast-simple {
  background: var(--so-primary-bg-subtle);
}

.so-toast-secondary {
  border-color: var(--so-secondary-border-subtle);
}
.so-toast-secondary .so-toast-header {
  background: var(--so-secondary-bg-subtle);
  border-bottom-color: var(--so-secondary-bg-emphasis);
}
.so-toast-secondary .so-toast-icon {
  background: var(--so-secondary-bg-emphasis);
  color: var(--so-accent-secondary);
}
.so-toast-secondary .so-toast-progress-bar {
  background: var(--so-accent-secondary);
}
.so-toast-secondary.so-toast-simple {
  background: var(--so-secondary-bg-subtle);
}

.so-toast-success {
  border-color: var(--so-success-border-subtle);
}
.so-toast-success .so-toast-header {
  background: var(--so-success-bg-subtle);
  border-bottom-color: var(--so-success-bg-emphasis);
}
.so-toast-success .so-toast-icon {
  background: var(--so-success-bg-emphasis);
  color: var(--so-accent-success);
}
.so-toast-success .so-toast-progress-bar {
  background: var(--so-accent-success);
}
.so-toast-success.so-toast-simple {
  background: var(--so-success-bg-subtle);
}

.so-toast-danger,
.so-toast-error {
  border-color: var(--so-danger-border-subtle);
}
.so-toast-danger .so-toast-header,
.so-toast-error .so-toast-header {
  background: var(--so-danger-bg-subtle);
  border-bottom-color: var(--so-danger-bg-emphasis);
}
.so-toast-danger .so-toast-icon,
.so-toast-error .so-toast-icon {
  background: var(--so-danger-bg-emphasis);
  color: var(--so-accent-danger);
}
.so-toast-danger .so-toast-progress-bar,
.so-toast-error .so-toast-progress-bar {
  background: var(--so-accent-danger);
}
.so-toast-danger.so-toast-simple,
.so-toast-error.so-toast-simple {
  background: var(--so-danger-bg-subtle);
}

.so-toast-warning {
  border-color: var(--so-warning-border-subtle);
}
.so-toast-warning .so-toast-header {
  background: var(--so-warning-bg-subtle);
  border-bottom-color: var(--so-warning-bg-emphasis);
}
.so-toast-warning .so-toast-icon {
  background: var(--so-warning-bg-emphasis);
  color: var(--so-warning-text-emphasis);
}
.so-toast-warning .so-toast-progress-bar {
  background: var(--so-accent-warning);
}
.so-toast-warning.so-toast-simple {
  background: var(--so-warning-bg-subtle);
}

.so-toast-info {
  border-color: var(--so-info-border-subtle);
}
.so-toast-info .so-toast-header {
  background: var(--so-info-bg-subtle);
  border-bottom-color: var(--so-info-bg-emphasis);
}
.so-toast-info .so-toast-icon {
  background: var(--so-info-bg-emphasis);
  color: var(--so-accent-info);
}
.so-toast-info .so-toast-progress-bar {
  background: var(--so-accent-info);
}
.so-toast-info.so-toast-simple {
  background: var(--so-info-bg-subtle);
}

.so-toast-light {
  background: #f8f9fa;
  border-color: #dadce0;
}
.so-toast-light .so-toast-header {
  background: #f1f3f4;
  border-bottom-color: #e8eaed;
}
.so-toast-light .so-toast-icon {
  background: #e8eaed;
  color: #5f6368;
}
.so-toast-light .so-toast-progress-bar {
  background: #9aa0a6;
}
.so-toast-light.so-toast-simple {
  background: #f1f3f4;
}

.so-toast-dark {
  background: #3c4043;
  border-color: #5f6368;
  color: #ffffff;
}
.so-toast-dark .so-toast-header {
  background: #202124;
  border-bottom-color: #5f6368;
}
.so-toast-dark .so-toast-title {
  color: #ffffff;
}
.so-toast-dark .so-toast-time {
  color: #bdc1c6;
}
.so-toast-dark .so-toast-body {
  color: #dadce0;
}
.so-toast-dark .so-toast-icon {
  background: #5f6368;
  color: #ffffff;
}
.so-toast-dark .so-toast-close {
  color: #bdc1c6;
}
.so-toast-dark .so-toast-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
.so-toast-dark .so-toast-progress-bar {
  background: #bdc1c6;
}
.so-toast-dark.so-toast-simple .so-toast-title {
  color: #ffffff;
}
.so-toast-dark.so-toast-simple .so-toast-message {
  color: #dadce0;
}

[data-theme=dark] .so-toast {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 1px rgba(0, 0, 0, 0.3);
}
[data-theme=dark] .so-toast-close:hover {
  background: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .so-toast-light {
  background: rgba(241, 243, 244, 0.1);
  border-color: rgba(218, 220, 224, 0.3);
}
[data-theme=dark] .so-toast-light .so-toast-header {
  background: rgba(241, 243, 244, 0.08);
  border-bottom-color: rgba(232, 234, 237, 0.2);
}
[data-theme=dark] .so-toast-light .so-toast-icon {
  background: rgba(241, 243, 244, 0.15);
  color: #dadce0;
}
[data-theme=dark] .so-toast-light.so-toast-simple {
  background: rgba(241, 243, 244, 0.1);
}
[data-theme=dark] .so-toast-dark {
  background: #202124;
  border-color: #5f6368;
}
[data-theme=dark] .so-toast-dark .so-toast-header {
  background: #000000;
}
[data-theme=dark] .so-toast-dark .so-toast-icon {
  background: #3c4043;
}

@media (max-width: 767px) {
  .so-toast-container {
    padding: 8px;
    width: 80%;
  }
  .so-toast-container.top-left, .so-toast-container.top-right, .so-toast-container.top-center {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    align-items: center;
  }
  .so-toast-container.bottom-left, .so-toast-container.bottom-right, .so-toast-container.bottom-center {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    align-items: center;
  }
  .so-toast {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}
.so-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1045;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.so-modal-backdrop.so-show {
  opacity: 1;
  visibility: visible;
}

[data-theme=dark] .so-modal-backdrop {
  background: rgba(0, 0, 0, 0.7);
}

.so-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.so-modal.so-show {
  opacity: 1;
  visibility: visible;
}
.so-modal.so-show .so-modal-dialog {
  transform: scale(1) translateY(0);
}

.so-modal-dialog {
  position: relative;
  width: 100%;
  max-width: 500px;
  max-height: calc(100vh - 32px);
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  transform: scale(0.95) translateY(-20px);
  transition: transform 0.2s ease;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.so-modal-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.so-modal-sm .so-modal-dialog {
  max-width: 380px;
}

.so-modal-lg .so-modal-dialog {
  max-width: 720px;
}

.so-modal-xl .so-modal-dialog {
  max-width: 960px;
}

.so-modal-fullscreen {
  padding: 0;
}
.so-modal-fullscreen .so-modal-dialog {
  max-width: none;
  width: 100%;
  height: 100%;
  max-height: none;
  border-radius: 0;
}

.so-modal-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--so-border-color);
  flex-shrink: 0;
}

.so-modal-title {
  flex: 1;
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0;
}
.so-modal-title.so-h1, .so-modal-title.so-h2, .so-modal-title.so-h3, .so-modal-title.so-h4, .so-modal-title.so-h5, .so-modal-title.so-h6 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  margin-bottom: 0;
}

.so-modal-close, .so-drawer-close, .so-drawer-fullscreen-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 9999px;
  color: var(--so-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
  margin-left: auto;
  flex-shrink: 0;
  position: relative;
}
.so-modal-close:hover, .so-drawer-close:hover, .so-drawer-fullscreen-toggle:hover {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-modal-close:focus, .so-drawer-close:focus, .so-drawer-fullscreen-toggle:focus {
  outline: none;
}
.so-modal-close:focus-visible, .so-drawer-close:focus-visible, .so-drawer-fullscreen-toggle:focus-visible, .so-modal-close.so-focus-visible, .so-focus-visible.so-drawer-close, .so-focus-visible.so-drawer-fullscreen-toggle {
  outline: none;
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-modal-close .material-symbols-rounded, .so-drawer-close .material-symbols-rounded, .so-drawer-fullscreen-toggle .material-symbols-rounded {
  font-size: 20px;
}

.so-modal-body {
  padding: 16px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-modal-body::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-modal-body::-webkit-scrollbar-track {
  background: transparent;
}
.so-modal-body::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-modal-body::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--so-border-color);
  flex-shrink: 0;
}

.so-modal-footer.justify-start {
  justify-content: flex-start;
}

.so-modal-footer.justify-center {
  justify-content: center;
}

.so-modal-footer.justify-end {
  justify-content: flex-end;
}

.so-modal-footer.justify-between {
  justify-content: space-between;
}

.so-modal-footer.justify-around {
  justify-content: space-around;
}

.so-modal-footer.so-flex-column {
  flex-direction: column;
  gap: 12px;
}

.so-modal-footer.so-footer-sections {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}

.so-footer-left,
.so-footer-center,
.so-footer-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.so-footer-left {
  justify-content: flex-start;
}

.so-footer-center {
  justify-content: center;
}

.so-footer-right {
  justify-content: flex-end;
}

.so-modal-overflow-visible .so-modal-dialog {
  overflow: visible;
}
.so-modal-overflow-visible .so-modal-content {
  overflow: visible;
}
.so-modal-overflow-visible .so-modal-body {
  overflow: visible;
}
.so-modal-overflow-visible .so-modal-header {
  border-radius: 10px 10px 0 0;
}
.so-modal-overflow-visible .so-modal-footer {
  border-radius: 0 0 10px 10px;
}

.so-modal-scrollable .so-modal-dialog {
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
}
.so-modal-scrollable .so-modal-body {
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.so-modal-centered {
  align-items: center;
}

.so-confirm-dialog {
  text-align: center;
}
.so-confirm-dialog .so-modal-dialog {
  max-width: 400px;
}
.so-confirm-dialog .so-modal-header {
  border-bottom: none;
  padding-bottom: 0;
  justify-content: flex-end;
}
.so-confirm-dialog .so-modal-body {
  padding: 32px 24px 24px;
}
.so-confirm-dialog .so-modal-footer {
  padding: 16px 24px 24px;
  border-top: none;
}
.so-confirm-dialog .so-confirm-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 9999px;
  margin-bottom: 20px;
}
.so-confirm-dialog .so-confirm-icon .material-symbols-rounded {
  font-size: 28px;
}
.so-confirm-dialog .so-confirm-icon.so-warning {
  background: rgba(255, 179, 0, 0.1);
  color: var(--so-warning-text-emphasis);
}
.so-confirm-dialog .so-confirm-icon.so-danger {
  background: rgba(234, 67, 53, 0.1);
  color: var(--so-accent-danger);
}
.so-confirm-dialog .so-confirm-icon.so-success {
  background: rgba(52, 168, 83, 0.1);
  color: var(--so-accent-success);
}
.so-confirm-dialog .so-confirm-icon.so-info {
  background: rgba(23, 162, 184, 0.1);
  color: var(--so-accent-info);
}
.so-confirm-dialog .so-confirm-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 12px;
  text-align: center;
}
.so-confirm-dialog p.so-confirm-message {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
  max-width: 280px;
  margin: 0 auto;
  text-align: center;
}
.so-confirm-dialog p.so-confirm-message:last-child {
  margin: 0 auto;
}
.so-confirm-dialog .so-modal-footer {
  justify-content: center;
  background: transparent;
  border-top: none;
}

.so-modal-primary .so-modal-header {
  background: var(--so-accent-primary);
  border-bottom-color: transparent;
}
.so-modal-primary .so-modal-header .so-modal-title {
  color: #ffffff;
}
.so-modal-primary .so-modal-header .so-modal-close, .so-modal-primary .so-modal-header .so-drawer-close, .so-modal-primary .so-modal-header .so-drawer-fullscreen-toggle {
  color: rgba(255, 255, 255, 0.8);
}
.so-modal-primary .so-modal-header .so-modal-close:hover, .so-modal-primary .so-modal-header .so-drawer-close:hover, .so-modal-primary .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.so-modal-primary-light .so-modal-header {
  background: rgba(26, 115, 232, 0.1);
  border-bottom-color: rgba(26, 115, 232, 0.15);
}
.so-modal-primary-light .so-modal-header .so-modal-title {
  color: var(--so-accent-primary);
}
.so-modal-primary-light .so-modal-header .so-modal-close, .so-modal-primary-light .so-modal-header .so-drawer-close, .so-modal-primary-light .so-modal-header .so-drawer-fullscreen-toggle {
  color: var(--so-accent-primary);
}
.so-modal-primary-light .so-modal-header .so-modal-close:hover, .so-modal-primary-light .so-modal-header .so-drawer-close:hover, .so-modal-primary-light .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(26, 115, 232, 0.15);
}

.so-modal-secondary .so-modal-header {
  background: #6c757d;
  border-bottom-color: transparent;
}
.so-modal-secondary .so-modal-header .so-modal-title {
  color: #ffffff;
}
.so-modal-secondary .so-modal-header .so-modal-close, .so-modal-secondary .so-modal-header .so-drawer-close, .so-modal-secondary .so-modal-header .so-drawer-fullscreen-toggle {
  color: rgba(255, 255, 255, 0.8);
}
.so-modal-secondary .so-modal-header .so-modal-close:hover, .so-modal-secondary .so-modal-header .so-drawer-close:hover, .so-modal-secondary .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.so-modal-secondary-light .so-modal-header {
  background: rgba(108, 117, 125, 0.1);
  border-bottom-color: rgba(108, 117, 125, 0.15);
}
.so-modal-secondary-light .so-modal-header .so-modal-title {
  color: #6c757d;
}
.so-modal-secondary-light .so-modal-header .so-modal-close, .so-modal-secondary-light .so-modal-header .so-drawer-close, .so-modal-secondary-light .so-modal-header .so-drawer-fullscreen-toggle {
  color: #6c757d;
}
.so-modal-secondary-light .so-modal-header .so-modal-close:hover, .so-modal-secondary-light .so-modal-header .so-drawer-close:hover, .so-modal-secondary-light .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(108, 117, 125, 0.15);
}

.so-modal-success .so-modal-header {
  background: var(--so-accent-success);
  border-bottom-color: transparent;
}
.so-modal-success .so-modal-header .so-modal-title {
  color: #ffffff;
}
.so-modal-success .so-modal-header .so-modal-close, .so-modal-success .so-modal-header .so-drawer-close, .so-modal-success .so-modal-header .so-drawer-fullscreen-toggle {
  color: rgba(255, 255, 255, 0.8);
}
.so-modal-success .so-modal-header .so-modal-close:hover, .so-modal-success .so-modal-header .so-drawer-close:hover, .so-modal-success .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.so-modal-success-light .so-modal-header {
  background: rgba(52, 168, 83, 0.1);
  border-bottom-color: rgba(52, 168, 83, 0.15);
}
.so-modal-success-light .so-modal-header .so-modal-title {
  color: var(--so-accent-success);
}
.so-modal-success-light .so-modal-header .so-modal-close, .so-modal-success-light .so-modal-header .so-drawer-close, .so-modal-success-light .so-modal-header .so-drawer-fullscreen-toggle {
  color: var(--so-accent-success);
}
.so-modal-success-light .so-modal-header .so-modal-close:hover, .so-modal-success-light .so-modal-header .so-drawer-close:hover, .so-modal-success-light .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(52, 168, 83, 0.15);
}

.so-modal-danger .so-modal-header {
  background: var(--so-accent-danger);
  border-bottom-color: transparent;
}
.so-modal-danger .so-modal-header .so-modal-title {
  color: #ffffff;
}
.so-modal-danger .so-modal-header .so-modal-close, .so-modal-danger .so-modal-header .so-drawer-close, .so-modal-danger .so-modal-header .so-drawer-fullscreen-toggle {
  color: rgba(255, 255, 255, 0.8);
}
.so-modal-danger .so-modal-header .so-modal-close:hover, .so-modal-danger .so-modal-header .so-drawer-close:hover, .so-modal-danger .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.so-modal-danger-light .so-modal-header {
  background: rgba(234, 67, 53, 0.1);
  border-bottom-color: rgba(234, 67, 53, 0.15);
}
.so-modal-danger-light .so-modal-header .so-modal-title {
  color: var(--so-accent-danger);
}
.so-modal-danger-light .so-modal-header .so-modal-close, .so-modal-danger-light .so-modal-header .so-drawer-close, .so-modal-danger-light .so-modal-header .so-drawer-fullscreen-toggle {
  color: var(--so-accent-danger);
}
.so-modal-danger-light .so-modal-header .so-modal-close:hover, .so-modal-danger-light .so-modal-header .so-drawer-close:hover, .so-modal-danger-light .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(234, 67, 53, 0.15);
}

.so-modal-warning .so-modal-header {
  background: var(--so-accent-warning);
  border-bottom-color: transparent;
}
.so-modal-warning .so-modal-header .so-modal-title {
  color: #202124;
}
.so-modal-warning .so-modal-header .so-modal-close, .so-modal-warning .so-modal-header .so-drawer-close, .so-modal-warning .so-modal-header .so-drawer-fullscreen-toggle {
  color: rgba(32, 33, 36, 0.7);
}
.so-modal-warning .so-modal-header .so-modal-close:hover, .so-modal-warning .so-modal-header .so-drawer-close:hover, .so-modal-warning .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(32, 33, 36, 0.1);
  color: #202124;
}

.so-modal-warning-light .so-modal-header {
  background: rgba(255, 179, 0, 0.15);
  border-bottom-color: rgba(255, 179, 0, 0.2);
}
.so-modal-warning-light .so-modal-header .so-modal-title {
  color: rgb(178.5, 125.3, 0);
}
.so-modal-warning-light .so-modal-header .so-modal-close, .so-modal-warning-light .so-modal-header .so-drawer-close, .so-modal-warning-light .so-modal-header .so-drawer-fullscreen-toggle {
  color: rgb(178.5, 125.3, 0);
}
.so-modal-warning-light .so-modal-header .so-modal-close:hover, .so-modal-warning-light .so-modal-header .so-drawer-close:hover, .so-modal-warning-light .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(255, 179, 0, 0.2);
}

.so-modal-info .so-modal-header {
  background: var(--so-accent-info);
  border-bottom-color: transparent;
}
.so-modal-info .so-modal-header .so-modal-title {
  color: #ffffff;
}
.so-modal-info .so-modal-header .so-modal-close, .so-modal-info .so-modal-header .so-drawer-close, .so-modal-info .so-modal-header .so-drawer-fullscreen-toggle {
  color: rgba(255, 255, 255, 0.8);
}
.so-modal-info .so-modal-header .so-modal-close:hover, .so-modal-info .so-modal-header .so-drawer-close:hover, .so-modal-info .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.so-modal-info-light .so-modal-header {
  background: rgba(23, 162, 184, 0.1);
  border-bottom-color: rgba(23, 162, 184, 0.15);
}
.so-modal-info-light .so-modal-header .so-modal-title {
  color: var(--so-accent-info);
}
.so-modal-info-light .so-modal-header .so-modal-close, .so-modal-info-light .so-modal-header .so-drawer-close, .so-modal-info-light .so-modal-header .so-drawer-fullscreen-toggle {
  color: var(--so-accent-info);
}
.so-modal-info-light .so-modal-header .so-modal-close:hover, .so-modal-info-light .so-modal-header .so-drawer-close:hover, .so-modal-info-light .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(23, 162, 184, 0.15);
}

.so-modal-light .so-modal-header {
  background: #f1f3f4;
  border-bottom-color: #e8eaed;
}
.so-modal-light .so-modal-header .so-modal-title {
  color: #3c4043;
}
.so-modal-light .so-modal-header .so-modal-close, .so-modal-light .so-modal-header .so-drawer-close, .so-modal-light .so-modal-header .so-drawer-fullscreen-toggle {
  color: #80868b;
}
.so-modal-light .so-modal-header .so-modal-close:hover, .so-modal-light .so-modal-header .so-drawer-close:hover, .so-modal-light .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: #e8eaed;
  color: #3c4043;
}

.so-modal-dark .so-modal-header {
  background: #202124;
  border-bottom-color: transparent;
}
.so-modal-dark .so-modal-header .so-modal-title {
  color: #ffffff;
}
.so-modal-dark .so-modal-header .so-modal-close, .so-modal-dark .so-modal-header .so-drawer-close, .so-modal-dark .so-modal-header .so-drawer-fullscreen-toggle {
  color: #bdc1c6;
}
.so-modal-dark .so-modal-header .so-modal-close:hover, .so-modal-dark .so-modal-header .so-drawer-close:hover, .so-modal-dark .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.so-modal-dark-light .so-modal-header {
  background: #e8eaed;
  border-bottom-color: #dadce0;
}
.so-modal-dark-light .so-modal-header .so-modal-title {
  color: #202124;
}
.so-modal-dark-light .so-modal-header .so-modal-close, .so-modal-dark-light .so-modal-header .so-drawer-close, .so-modal-dark-light .so-modal-header .so-drawer-fullscreen-toggle {
  color: #5f6368;
}
.so-modal-dark-light .so-modal-header .so-modal-close:hover, .so-modal-dark-light .so-modal-header .so-drawer-close:hover, .so-modal-dark-light .so-modal-header .so-drawer-fullscreen-toggle:hover {
  background: #dadce0;
  color: #202124;
}

.so-modal-primary .so-modal-dialog,
.so-modal-primary-light .so-modal-dialog,
.so-modal-secondary .so-modal-dialog,
.so-modal-secondary-light .so-modal-dialog,
.so-modal-success .so-modal-dialog,
.so-modal-success-light .so-modal-dialog,
.so-modal-danger .so-modal-dialog,
.so-modal-danger-light .so-modal-dialog,
.so-modal-warning .so-modal-dialog,
.so-modal-warning-light .so-modal-dialog,
.so-modal-info .so-modal-dialog,
.so-modal-info-light .so-modal-dialog,
.so-modal-light .so-modal-dialog,
.so-modal-dark .so-modal-dialog,
.so-modal-dark-light .so-modal-dialog {
  background: transparent;
}
.so-modal-primary .so-modal-header,
.so-modal-primary-light .so-modal-header,
.so-modal-secondary .so-modal-header,
.so-modal-secondary-light .so-modal-header,
.so-modal-success .so-modal-header,
.so-modal-success-light .so-modal-header,
.so-modal-danger .so-modal-header,
.so-modal-danger-light .so-modal-header,
.so-modal-warning .so-modal-header,
.so-modal-warning-light .so-modal-header,
.so-modal-info .so-modal-header,
.so-modal-info-light .so-modal-header,
.so-modal-light .so-modal-header,
.so-modal-dark .so-modal-header,
.so-modal-dark-light .so-modal-header {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.so-modal-primary .so-modal-body,
.so-modal-primary .so-modal-footer,
.so-modal-primary-light .so-modal-body,
.so-modal-primary-light .so-modal-footer,
.so-modal-secondary .so-modal-body,
.so-modal-secondary .so-modal-footer,
.so-modal-secondary-light .so-modal-body,
.so-modal-secondary-light .so-modal-footer,
.so-modal-success .so-modal-body,
.so-modal-success .so-modal-footer,
.so-modal-success-light .so-modal-body,
.so-modal-success-light .so-modal-footer,
.so-modal-danger .so-modal-body,
.so-modal-danger .so-modal-footer,
.so-modal-danger-light .so-modal-body,
.so-modal-danger-light .so-modal-footer,
.so-modal-warning .so-modal-body,
.so-modal-warning .so-modal-footer,
.so-modal-warning-light .so-modal-body,
.so-modal-warning-light .so-modal-footer,
.so-modal-info .so-modal-body,
.so-modal-info .so-modal-footer,
.so-modal-info-light .so-modal-body,
.so-modal-info-light .so-modal-footer,
.so-modal-light .so-modal-body,
.so-modal-light .so-modal-footer,
.so-modal-dark .so-modal-body,
.so-modal-dark .so-modal-footer,
.so-modal-dark-light .so-modal-body,
.so-modal-dark-light .so-modal-footer {
  background: var(--so-card-bg);
}

.so-modal-top-left {
  align-items: flex-start;
  justify-content: flex-start;
}
.so-modal-top-left .so-modal-dialog {
  margin: 16px;
}

.so-modal-top-center,
.so-modal-top {
  align-items: flex-start;
  justify-content: center;
}
.so-modal-top-center .so-modal-dialog,
.so-modal-top .so-modal-dialog {
  margin-top: 16px;
}

.so-modal-top-right {
  align-items: flex-start;
  justify-content: flex-end;
}
.so-modal-top-right .so-modal-dialog {
  margin: 16px;
}

.so-modal-middle-left,
.so-modal-left {
  align-items: center;
  justify-content: flex-start;
}
.so-modal-middle-left .so-modal-dialog,
.so-modal-left .so-modal-dialog {
  margin-left: 16px;
}

.so-modal-middle-center,
.so-modal-center {
  align-items: center;
  justify-content: center;
}

.so-modal-middle-right,
.so-modal-right {
  align-items: center;
  justify-content: flex-end;
}
.so-modal-middle-right .so-modal-dialog,
.so-modal-right .so-modal-dialog {
  margin-right: 16px;
}

.so-modal-bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}
.so-modal-bottom-left .so-modal-dialog {
  margin: 16px;
}

.so-modal-bottom-center,
.so-modal-bottom {
  align-items: flex-end;
  justify-content: center;
}
.so-modal-bottom-center .so-modal-dialog,
.so-modal-bottom .so-modal-dialog {
  margin-bottom: 16px;
}

.so-modal-bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}
.so-modal-bottom-right .so-modal-dialog {
  margin: 16px;
}

.so-modal-relaxed .so-modal-header {
  padding: 16px 16px 16px 20px;
  gap: 12px;
}
.so-modal-relaxed .so-modal-body {
  padding: 20px;
}
.so-modal-relaxed .so-modal-footer {
  padding: 16px 20px;
}

.so-modal-compact .so-modal-header {
  padding: 8px 12px;
  gap: 8px;
}
.so-modal-compact .so-modal-body {
  padding: 12px;
}
.so-modal-compact .so-modal-footer {
  padding: 8px 12px;
  gap: 8px;
}
.so-modal-compact .so-radio-card,
.so-modal-compact .so-checkbox-card {
  padding: 4px 12px;
}

.so-modal-compact.so-confirm-dialog .so-modal-body {
  padding: 32px 24px 24px;
}
.so-modal-compact.so-confirm-dialog .so-modal-footer {
  padding: 16px 24px 24px;
}

.so-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 400px;
  max-width: 100%;
  background: var(--so-card-bg);
  box-shadow: none;
  z-index: 1050;
  transform: translateX(100%);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
}
.so-drawer.so-show {
  transform: translateX(0);
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
}

.so-drawer-left {
  right: auto;
  left: 0;
  transform: translateX(-100%);
}
.so-drawer-left.so-show {
  transform: translateX(0);
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
}

.so-drawer-sm {
  width: 320px;
}

.so-drawer-lg {
  width: 560px;
}

.so-drawer-xl {
  width: 720px;
}

.so-drawer.so-drawer-half {
  width: 100vw;
  max-width: 100vw;
}

@media (min-width: 768px) {
  .so-drawer.so-drawer-half {
    width: 70vw;
    max-width: 70vw;
  }
}
@media (min-width: 1000px) {
  .so-drawer.so-drawer-half {
    width: 50vw;
    max-width: 50vw;
  }
}
@media (min-width: 1280px) {
  .so-drawer.so-drawer-half {
    width: min(50vw, 460px);
    max-width: min(50vw, 460px);
  }
}
@media (min-width: 1600px) {
  .so-drawer.so-drawer-half {
    width: min(50vw, 500px);
    max-width: min(50vw, 500px);
  }
}
@media (min-width: 768px) {
  .so-drawer.so-drawer-grouped {
    width: 80vw;
    max-width: 80vw;
  }
}
@media (min-width: 1000px) {
  .so-drawer.so-drawer-grouped {
    width: 56vw;
    max-width: 56vw;
  }
}
@media (min-width: 1280px) {
  .so-drawer.so-drawer-grouped {
    width: min(56vw, 640px);
    max-width: min(56vw, 640px);
  }
}
@media (min-width: 1600px) {
  .so-drawer.so-drawer-grouped {
    width: min(56vw, 700px);
    max-width: min(56vw, 700px);
  }
}
.so-drawer.so-drawer-expanded {
  width: 100vw !important;
  max-width: 100vw !important;
}

.so-drawer.so-drawer-floating {
  top: 10px !important;
  bottom: 10px !important;
  height: calc(100vh - 20px) !important;
  border-radius: 12px;
}
.so-drawer.so-drawer-floating:not(.so-drawer-left) {
  right: 10px !important;
}
.so-drawer.so-drawer-floating.so-drawer-left {
  left: 10px !important;
}
.so-drawer.so-drawer-floating:not(.so-drawer-left):not(.so-show) {
  transform: translateX(calc(100% + 10px)) !important;
}
.so-drawer.so-drawer-floating.so-drawer-left:not(.so-show) {
  transform: translateX(calc(-100% - 10px)) !important;
}
.so-drawer.so-drawer-floating.so-show {
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25);
}

.so-drawer.so-drawer-floating.so-drawer-expanded {
  top: 10px !important;
  bottom: 10px !important;
  height: calc(100vh - 20px) !important;
  width: calc(100vw - 20px) !important;
  max-width: calc(100vw - 20px) !important;
}
.so-drawer.so-drawer-floating.so-drawer-expanded:not(.so-drawer-left) {
  right: 10px !important;
  left: auto !important;
}
.so-drawer.so-drawer-floating.so-drawer-expanded.so-drawer-left {
  left: 10px !important;
  right: auto !important;
}

.so-drawer.so-drawer-floating {
  max-width: calc(100vw - 20px) !important;
}

@media (max-width: 575.98px) {
  .so-drawer.so-drawer-floating {
    width: calc(100vw - 20px) !important;
  }
  .so-drawer.so-drawer-floating:not(.so-drawer-left) {
    right: 10px !important;
    left: auto !important;
  }
  .so-drawer.so-drawer-floating.so-drawer-left {
    left: 10px !important;
    right: auto !important;
  }
}
.so-drawer-fullscreen-toggle {
  margin-left: 0;
}
.so-drawer-fullscreen-toggle .so-drawer-fullscreen-icon-collapse {
  display: none !important;
}

.so-drawer.so-drawer-expanded .so-drawer-fullscreen-toggle .so-drawer-fullscreen-icon-expand {
  display: none !important;
}
.so-drawer.so-drawer-expanded .so-drawer-fullscreen-toggle .so-drawer-fullscreen-icon-collapse {
  display: inline-flex !important;
}

.so-drawer-body .so-filter-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

@media (min-width: 576px) {
  .so-drawer-body .so-filter-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.so-drawer.so-drawer-expanded .so-drawer-body .so-filter-grid {
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 992px) {
  .so-drawer.so-drawer-expanded .so-drawer-body .so-filter-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1600px) {
  .so-drawer.so-drawer-expanded .so-drawer-body .so-filter-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
.so-drawer-body .so-filter-cell {
  min-width: 0;
}
.so-drawer-body .so-filter-cell > .so-form-group {
  margin-bottom: 0 !important;
  max-width: 100%;
}
.so-drawer-body .so-filter-cell > .so-form-group > .so-form-label {
  margin-bottom: 2px !important;
}

.so-filter-drawer-split {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  min-height: 0;
  max-width: 100%;
}
.so-filter-drawer-split .so-tabs.so-tabs-vertical.so-tabs-sticky,
.so-filter-drawer-split .so-tabs-vertical {
  gap: 0;
}
.so-filter-drawer-split .so-tabs-vertical {
  flex: 0 0 132px;
  align-self: flex-start;
  position: sticky;
  top: 0;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  border-right: none;
}
.so-filter-drawer-split .so-tabs-vertical .so-tabs-scroll-inner {
  width: 100%;
  max-width: 100%;
}
.so-filter-drawer-split .so-tabs-vertical .so-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  font-size: 0.6875rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.so-filter-drawer-split .so-tabs-vertical .so-tab .material-symbols-rounded {
  font-size: 18px;
  flex-shrink: 0;
}
.so-filter-drawer-split .so-filter-sections {
  flex: 1 1 auto;
  min-width: 0;
}

.so-filter-section {
  margin-bottom: 6px;
  padding: 12px;
  background: var(--so-accent-light-light);
  border-radius: 8px;
  min-width: 0;
  transition: background-color 0.15s ease;
  scroll-margin-top: 8px;
}
.so-filter-section:hover {
  background: var(--so-bg-subtle);
}
.so-filter-section:last-child {
  margin-bottom: 0;
}
.so-filter-section .so-filter-section-title {
  margin: 0 0 10px;
  padding-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-text-secondary);
  border-bottom: 1px solid var(--so-border-color);
}

.so-filter-grid .so-form-group:focus-within > .so-form-label,
.so-filter-sections .so-form-group:focus-within > .so-form-label {
  color: var(--so-accent-primary);
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .so-filter-drawer-split .so-tabs-vertical {
    flex: 0 0 56px;
    gap: 8px;
    padding: 8px 0;
  }
  .so-filter-drawer-split .so-tabs-vertical .so-tab {
    flex-direction: column;
    gap: 4px;
    padding: 10px 4px;
    text-align: center;
    font-size: 11px;
    line-height: 1.1;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  .so-filter-drawer-split .so-tabs-vertical .so-tab .material-symbols-rounded {
    font-size: 20px;
  }
}
.so-list-view-header-right {
  flex-wrap: wrap;
}

.so-card[id$=-page-card] > .so-card-header {
  background: var(--so-secondary-bg-subtle);
}
.so-card[id$=-page-card] > .so-card-header .so-card-title {
  color: var(--so-text-primary);
  font-weight: 500;
}
.so-card[id$=-page-card] > .so-card-header > .so-list-view-header-right .so-btn,
.so-card[id$=-page-card] > .so-card-header > .so-list-view-header-right .so-dp-input-wrapper input.so-form-control {
  background: var(--so-card-bg);
  border-color: var(--so-border-color);
}
.so-card[id$=-page-card] > .so-card-header > .so-list-view-header-right .so-btn:hover:not(:disabled),
.so-card[id$=-page-card] > .so-card-header > .so-list-view-header-right .so-dp-input-wrapper input.so-form-control:hover:not(:disabled) {
  background: var(--so-card-bg);
  border-color: var(--so-border-dark);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

@media (max-width: 767.98px) {
  .so-list-view-header-right {
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
  .so-list-view-header-right [data-so-filters-trigger] .so-filters-trigger-label {
    display: none;
  }
  .so-panel-datepicker .so-dp-dropdown {
    width: -moz-fit-content !important;
    width: fit-content !important;
    max-width: calc(100vw - 16px) !important;
    min-width: 0 !important;
  }
}
.so-listview-total-stat {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  color: var(--so-text-secondary);
  font-weight: 400;
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.2px;
}
.so-listview-total-stat::before {
  content: "•";
  margin: 0 8px;
  color: var(--so-text-secondary);
  font-weight: 400;
}

.so-filter-sync {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  margin-left: 8px;
  width: 28px;
  height: 28px;
  border-radius: 4px;
  cursor: default;
  transition: background-color 0.2s, color 0.2s, opacity 0.2s;
}
.so-filter-sync .material-symbols-rounded {
  font-size: 18px;
  transition: color 0.2s;
}
.so-filter-sync.so-filter-sync-synced {
  color: var(--so-accent-success);
}
.so-filter-sync.so-filter-sync-synced:hover {
  background: var(--so-success-bg-subtle);
}
.so-filter-sync.so-filter-sync-pending {
  color: var(--so-accent-danger);
  opacity: 0.8;
}
.so-filter-sync.so-filter-sync-pending:hover {
  opacity: 1;
  background: var(--so-danger-bg-subtle);
}
.so-filter-sync.so-filter-sync-syncing {
  color: var(--so-accent-primary);
}
.so-filter-sync.so-filter-sync-syncing .material-symbols-rounded {
  animation: so-filter-sync-spin 1s linear infinite;
}
.so-filter-sync.so-filter-sync-error {
  color: var(--so-accent-danger);
  cursor: pointer;
}
.so-filter-sync.so-filter-sync-error:hover {
  background: var(--so-danger-bg-subtle);
}

.so-filter-sync .so-spin {
  animation: so-filter-sync-spin 1s linear infinite;
}

@keyframes so-filter-sync-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.so-filter-save-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  margin-left: 4px;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 4px;
  color: var(--so-text-muted);
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s, transform 0.05s;
}
.so-filter-save-btn .material-symbols-rounded {
  font-size: 18px;
  transition: color 0.15s, font-variation-settings 0.15s;
}
.so-filter-save-btn:hover {
  background: var(--so-secondary-bg-subtle);
  color: var(--so-text-primary);
}
.so-filter-save-btn:focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: 1px;
}
.so-filter-save-btn:active {
  transform: scale(0.94);
  background: var(--so-secondary-bg-emphasis);
}
.so-filter-save-btn.so-filter-save-on {
  color: var(--so-accent-primary);
}
.so-filter-save-btn.so-filter-save-on .material-symbols-rounded {
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;
}
.so-filter-save-btn.so-filter-save-on:hover {
  background: var(--so-primary-bg-subtle);
}

.so-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--so-border-color);
  flex-shrink: 0;
}

.so-drawer-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0;
}

.so-drawer-body {
  flex: 1;
  padding: 12px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-drawer-body::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-drawer-body::-webkit-scrollbar-track {
  background: transparent;
}
.so-drawer-body::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-drawer-body::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-drawer-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 16px 20px;
  border-top: 1px solid var(--so-border-color);
  flex-shrink: 0;
}

.so-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1060;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.so-lightbox.so-show {
  opacity: 1;
  visibility: visible;
}
.so-lightbox img {
  max-width: 90%;
  max-height: 90%;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 6px;
}

.so-lightbox-close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 9999px;
  color: #ffffff;
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-lightbox-close:hover {
  background: rgba(255, 255, 255, 0.2);
}
.so-lightbox-close .material-symbols-rounded {
  font-size: 24px;
}

.so-modal-static .so-modal-close, .so-modal-static .so-drawer-fullscreen-toggle, .so-modal-static .so-drawer-close {
  display: none !important;
}
.so-modal-static.so-modal-static-shake .so-modal-dialog {
  animation: modalStaticShake 0.3s ease-in-out;
}
.so-modal-static.so-modal-show-lock .so-modal-header::before {
  content: "\e897";
  font-family: "Material Symbols Rounded";
  font-size: 16px;
  color: var(--so-text-secondary);
  margin-right: 8px;
}

@keyframes modalStaticShake {
  0%, 100% {
    transform: scale(1) translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: scale(1) translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    transform: scale(1) translateX(5px);
  }
}
.so-drawer-static .so-drawer-close {
  display: none !important;
}

.so-drawer-static.so-show.drawer-static-shake {
  animation: drawerStaticShake 0.3s ease-in-out;
}

.so-drawer-static.so-drawer-left.so-show.drawer-static-shake {
  animation: drawerStaticShakeLeft 0.3s ease-in-out;
}

@keyframes drawerStaticShake {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(8px);
  }
  50% {
    transform: translateX(-4px);
  }
  75% {
    transform: translateX(4px);
  }
}
@keyframes drawerStaticShakeLeft {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-8px);
  }
  50% {
    transform: translateX(4px);
  }
  75% {
    transform: translateX(-4px);
  }
}
.so-drawer-panel {
  z-index: 1045;
}
.so-drawer-panel.so-show {
  box-shadow: -2px 0 12px rgba(0, 0, 0, 0.08), -1px 0 0 var(--so-border-color);
}
.so-drawer-panel.so-drawer-left.so-show {
  box-shadow: 2px 0 12px rgba(0, 0, 0, 0.08), 1px 0 0 var(--so-border-color);
}

body.so-drawer-panel-open-right .so-main-content {
  transition: margin-right 0.2s ease;
}

body.so-drawer-panel-open-left .so-main-content {
  transition: margin-left 0.2s ease;
}

.so-modal-feedback-shake .so-modal-dialog {
  animation: modalFeedbackShake 0.5s ease-in-out;
}

@keyframes modalFeedbackShake {
  0%, 100% {
    transform: scale(1) translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: scale(1) translateX(-6px);
  }
  20%, 40%, 60%, 80% {
    transform: scale(1) translateX(6px);
  }
}
.so-modal-feedback-pulse .so-modal-dialog {
  animation: modalFeedbackPulse 0.5s ease-in-out;
}

@keyframes modalFeedbackPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
  }
}
.so-modal-feedback-bounce .so-modal-dialog {
  animation: modalFeedbackBounce 0.5s ease-in-out;
}

@keyframes modalFeedbackBounce {
  0%, 100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-15px);
  }
  50% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(-8px);
  }
}
.so-modal-feedback-headshake .so-modal-dialog {
  animation: modalFeedbackHeadshake 0.5s ease-in-out;
}

@keyframes modalFeedbackHeadshake {
  0%, 100% {
    transform: translateX(0) rotateY(0);
  }
  15% {
    transform: translateX(-6px) rotateY(-5deg);
  }
  30% {
    transform: translateX(5px) rotateY(4deg);
  }
  45% {
    transform: translateX(-4px) rotateY(-3deg);
  }
  60% {
    transform: translateX(3px) rotateY(2deg);
  }
  75% {
    transform: translateX(-2px) rotateY(-1deg);
  }
}
.so-modal-static-shake .so-modal-dialog {
  animation: modalFeedbackShake 0.3s ease-in-out;
}

.so-modal-draggable .so-modal-header {
  cursor: move;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-modal-draggable .so-modal-header button {
  cursor: pointer;
}
.so-modal-draggable.so-modal-dragging .so-modal-dialog {
  transition: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.so-modal-maximize {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 9999px;
  color: var(--so-text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.so-modal-maximize:hover {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-modal-maximize:focus {
  outline: none;
}
.so-modal-maximize:focus-visible, .so-modal-maximize.so-focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(154, 160, 166, 0.2);
}
.so-modal-maximize .material-symbols-rounded {
  font-size: 18px;
}

.so-modal-maximized .so-modal-dialog {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.so-modal-maximized .so-modal-header {
  cursor: default !important;
}
.so-modal-maximized .so-modal-body {
  flex: 1;
  min-height: 0;
}

.so-modal-mobile-fullscreen {
  padding: 0;
}
.so-modal-mobile-fullscreen .so-modal-dialog {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  border-radius: 0;
  margin: 0;
}
.so-modal-mobile-fullscreen .so-modal-maximize {
  display: none;
}
.so-modal-mobile-fullscreen .so-modal-header {
  cursor: default !important;
}

.so-modal-with-sidebar .so-modal-dialog {
  --so-modal-sidebar-width: 280px;
  max-width: 900px;
}
.so-modal-with-sidebar .so-modal-body-with-sidebar {
  display: flex;
  padding: 0;
  min-height: 300px;
}
.so-modal-with-sidebar .so-modal-sidebar {
  width: var(--so-modal-sidebar-width);
  flex-shrink: 0;
  background: var(--so-card-hover-bg);
  border-right: 1px solid var(--so-border-color);
  padding: 16px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-modal-with-sidebar .so-modal-sidebar::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-modal-with-sidebar .so-modal-sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.so-modal-with-sidebar .so-modal-sidebar::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-modal-with-sidebar .so-modal-sidebar::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}
.so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav li {
  display: block;
}
.so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav a, .so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 8px 12px;
  border-radius: 6px;
  color: var(--so-text-secondary);
  text-decoration: none;
  font-size: 0.8125rem;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
}
.so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav a .material-symbols-rounded, .so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav button .material-symbols-rounded {
  font-size: 20px;
  flex-shrink: 0;
}
.so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav a:hover, .so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav button:hover {
  background: var(--so-card-bg);
  color: var(--so-text-primary);
}
.so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav a.so-active, .so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-nav button.so-active {
  background: var(--so-accent-primary);
  color: #ffffff;
}
.so-modal-with-sidebar .so-modal-sidebar .so-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-title {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--so-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 8px 12px;
  margin-bottom: 4px;
}
.so-modal-with-sidebar .so-modal-sidebar .so-modal-sidebar-divider {
  height: 1px;
  background: var(--so-border-color);
  margin: 12px 0;
}
.so-modal-with-sidebar .so-modal-main {
  flex: 1;
  min-width: 0;
  padding: 20px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-modal-with-sidebar .so-modal-main::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-modal-with-sidebar .so-modal-main::-webkit-scrollbar-track {
  background: transparent;
}
.so-modal-with-sidebar .so-modal-main::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-modal-with-sidebar .so-modal-main::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}
.so-modal-with-sidebar.so-modal-sidebar-right .so-modal-body-with-sidebar {
  flex-direction: row-reverse;
}
.so-modal-with-sidebar.so-modal-sidebar-right .so-modal-sidebar {
  border-right: none;
  border-left: 1px solid var(--so-border-color);
}

.so-modal-backdrop + .so-modal-backdrop {
  background: rgba(0, 0, 0, 0.3);
}

@media (max-width: 767px) {
  .so-modal {
    padding: 12px;
  }
  .so-modal-dialog {
    max-width: none;
    max-height: calc(100vh - 24px);
    border-radius: 8px;
  }
  .so-modal-fullscreen .so-modal-dialog {
    width: 100%;
    height: 100%;
    border-radius: 0;
  }
  .so-modal-with-sidebar .so-modal-body-with-sidebar {
    flex-direction: column;
  }
  .so-modal-with-sidebar .so-modal-sidebar {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--so-border-color);
    max-height: 200px;
  }
  .so-modal-with-sidebar.so-modal-sidebar-right .so-modal-body-with-sidebar {
    flex-direction: column;
  }
  .so-modal-with-sidebar.so-modal-sidebar-right .so-modal-sidebar {
    border-left: none;
    border-bottom: 1px solid var(--so-border-color);
  }
  .so-modal-draggable .so-modal-header {
    cursor: default;
  }
  .so-drawer {
    width: 100%;
  }
  .so-drawer-sm,
  .so-drawer-lg,
  .so-drawer-xl {
    width: 100%;
  }
}
.so-tooltip {
  position: relative;
  display: inline-block;
}

.so-tooltip-content {
  position: absolute;
  z-index: 1070;
  padding: 8px 10px;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  color: #ffffff;
  background: #3c4043;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.95);
  transition: all 0.1s ease;
  pointer-events: none;
}
.so-tooltip-content::after {
  content: "";
  position: absolute;
  border: 5px solid transparent;
}

.so-tooltip:hover .so-tooltip-content,
.so-tooltip.show .so-tooltip-content {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.so-tooltip-top .so-tooltip-content,
.so-tooltip-content {
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) scale(0.95);
}
.so-tooltip-top .so-tooltip-content::after,
.so-tooltip-content::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #3c4043;
}

.so-tooltip-top:hover .so-tooltip-content,
.so-tooltip:hover .so-tooltip-content {
  transform: translateX(-50%) scale(1);
}

.so-tooltip-bottom .so-tooltip-content {
  top: calc(100% + 8px);
  bottom: auto;
  left: 50%;
  transform: translateX(-50%) scale(0.95);
}
.so-tooltip-bottom .so-tooltip-content::after {
  top: auto;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: transparent;
  border-bottom-color: #3c4043;
}

.so-tooltip-bottom:hover .so-tooltip-content {
  transform: translateX(-50%) scale(1);
}

.so-tooltip-left .so-tooltip-content {
  top: 50%;
  right: calc(100% + 8px);
  bottom: auto;
  left: auto;
  transform: translateY(-50%) scale(0.95);
}
.so-tooltip-left .so-tooltip-content::after {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 100%;
  transform: translateY(-50%);
  border-top-color: transparent;
  border-left-color: #3c4043;
}

.so-tooltip-left:hover .so-tooltip-content {
  transform: translateY(-50%) scale(1);
}

.so-tooltip-right .so-tooltip-content {
  top: 50%;
  left: calc(100% + 8px);
  bottom: auto;
  right: auto;
  transform: translateY(-50%) scale(0.95);
}
.so-tooltip-right .so-tooltip-content::after {
  top: 50%;
  right: 100%;
  bottom: auto;
  left: auto;
  transform: translateY(-50%);
  border-top-color: transparent;
  border-right-color: #3c4043;
}

.so-tooltip-right:hover .so-tooltip-content {
  transform: translateY(-50%) scale(1);
}

.so-tooltip-primary .so-tooltip-content {
  background: #1a73e8;
}
.so-tooltip-primary .so-tooltip-content::after {
  border-top-color: #1a73e8;
}

.so-tooltip-primary.so-tooltip-bottom .so-tooltip-content::after {
  border-top-color: transparent;
  border-bottom-color: #1a73e8;
}

.so-tooltip-success .so-tooltip-content {
  background: #34a853;
}
.so-tooltip-success .so-tooltip-content::after {
  border-top-color: #34a853;
}

.so-tooltip-danger .so-tooltip-content {
  background: #ea4335;
}
.so-tooltip-danger .so-tooltip-content::after {
  border-top-color: #ea4335;
}

.so-tooltip-warning .so-tooltip-content {
  background: #ffb300;
  color: #202124;
}
.so-tooltip-warning .so-tooltip-content::after {
  border-top-color: #ffb300;
}

.so-tooltip-light .so-tooltip-content {
  color: var(--so-text-primary);
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  box-shadow: var(--so-shadow);
}
.so-tooltip-light .so-tooltip-content::after {
  border-top-color: var(--so-card-bg);
}

.so-tooltip-multiline .so-tooltip-content {
  white-space: normal;
  max-width: 240px;
  text-align: center;
}

.so-popover {
  position: relative;
  display: inline-block;
}

.so-popover-content {
  position: absolute;
  z-index: 1070;
  min-width: 200px;
  max-width: 320px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 8px;
  box-shadow: var(--so-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.95);
  transition: all 0.2s ease;
}
.so-popover-content::before, .so-popover-content::after {
  content: "";
  position: absolute;
  border: 8px solid transparent;
}
.so-popover-content::before {
  border-width: 9px;
}

.so-popover.show .so-popover-content {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.so-popover-top .so-popover-content,
.so-popover-content {
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) scale(0.95);
}
.so-popover-top .so-popover-content::after, .so-popover-top .so-popover-content::before,
.so-popover-content::after,
.so-popover-content::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.so-popover-top .so-popover-content::after,
.so-popover-content::after {
  border-top-color: var(--so-card-bg);
}
.so-popover-top .so-popover-content::before,
.so-popover-content::before {
  border-top-color: var(--so-border-color);
  margin-top: 1px;
}

.so-popover-top.show .so-popover-content,
.so-popover.show .so-popover-content {
  transform: translateX(-50%) scale(1);
}

.so-popover-bottom .so-popover-content {
  top: calc(100% + 12px);
  bottom: auto;
  left: 50%;
  transform: translateX(-50%) scale(0.95);
}
.so-popover-bottom .so-popover-content::after, .so-popover-bottom .so-popover-content::before {
  top: auto;
  bottom: 100%;
  left: 50%;
}
.so-popover-bottom .so-popover-content::after {
  border-top-color: transparent;
  border-bottom-color: var(--so-card-bg);
}
.so-popover-bottom .so-popover-content::before {
  border-top-color: transparent;
  border-bottom-color: var(--so-border-color);
  margin-bottom: 1px;
}

.so-popover-bottom.show .so-popover-content {
  transform: translateX(-50%) scale(1);
}

.so-popover-header {
  padding: 12px 16px;
  border-bottom: 1px solid var(--so-border-color);
}

.so-popover-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0;
}

.so-popover-body {
  padding: 12px 16px;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
}

.so-popover-footer {
  padding: 8px 16px 12px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

[data-tooltip] {
  position: relative;
  cursor: help;
}
[data-tooltip]::before {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) scale(0.95);
  padding: 8px 10px;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  color: #ffffff;
  background: #3c4043;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transition: all 0.1s ease;
  pointer-events: none;
  z-index: 1070;
}
[data-tooltip]::after {
  content: "";
  position: absolute;
  bottom: calc(100% + 3px);
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #3c4043;
  opacity: 0;
  visibility: hidden;
  transition: all 0.1s ease;
  pointer-events: none;
  z-index: 1070;
}
[data-tooltip]:hover::before, [data-tooltip]:hover::after {
  opacity: 1;
  visibility: visible;
}
[data-tooltip]:hover::before {
  transform: translateX(-50%) scale(1);
}

[data-tooltip-position=bottom]::before {
  top: calc(100% + 8px);
  bottom: auto;
  transform: translateX(-50%) scale(0.95);
}
[data-tooltip-position=bottom]::after {
  top: calc(100% + 3px);
  bottom: auto;
  border-top-color: transparent;
  border-bottom-color: #3c4043;
}
[data-tooltip-position=bottom]:hover::before {
  transform: translateX(-50%) scale(1);
}

[data-tooltip-position=left]::before {
  top: 50%;
  bottom: auto;
  left: auto;
  right: calc(100% + 8px);
  transform: translateY(-50%) scale(0.95);
}
[data-tooltip-position=left]::after {
  top: 50%;
  bottom: auto;
  left: auto;
  right: calc(100% + 3px);
  transform: translateY(-50%);
  border-top-color: transparent;
  border-left-color: #3c4043;
}
[data-tooltip-position=left]:hover::before {
  transform: translateY(-50%) scale(1);
}

[data-tooltip-position=right]::before {
  top: 50%;
  bottom: auto;
  left: calc(100% + 8px);
  right: auto;
  transform: translateY(-50%) scale(0.95);
}
[data-tooltip-position=right]::after {
  top: 50%;
  bottom: auto;
  left: calc(100% + 3px);
  right: auto;
  transform: translateY(-50%);
  border-top-color: transparent;
  border-right-color: #3c4043;
}
[data-tooltip-position=right]:hover::before {
  transform: translateY(-50%) scale(1);
}

.so-tooltip-popup {
  position: fixed;
  z-index: 1070;
  max-width: 320px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
.so-tooltip-popup.so-show {
  opacity: 1;
  visibility: visible;
}

.so-tooltip-inner {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  color: #ffffff;
  background: #3c4043;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.so-tooltip-text {
  display: inline;
}

.so-tooltip-divider {
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
}

.so-tooltip-shortcut {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.so-tooltip-inner kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 4px;
  font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}

.so-tooltip-popup.so-tooltip-arrow .so-tooltip-inner::after {
  content: "";
  position: absolute;
  border: 5px solid transparent;
}

.so-tooltip-popup.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner {
  position: relative;
}
.so-tooltip-popup.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #3c4043;
}

.so-tooltip-popup.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner {
  position: relative;
}
.so-tooltip-popup.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #3c4043;
}

.so-tooltip-popup.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner {
  position: relative;
}
.so-tooltip-popup.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #3c4043;
}

.so-tooltip-popup.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner {
  position: relative;
}
.so-tooltip-popup.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #3c4043;
}

.so-tooltip-popup.so-tooltip-sm .so-tooltip-inner {
  padding: 4px 8px;
  font-size: 11px;
  gap: 6px;
}
.so-tooltip-popup.so-tooltip-sm .so-tooltip-divider {
  height: 12px;
}
.so-tooltip-popup.so-tooltip-sm .so-tooltip-inner kbd {
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  font-size: 9px;
}

.so-tooltip-popup.so-tooltip-lg .so-tooltip-inner {
  padding: 10px 12px;
  font-size: 0.8125rem;
  gap: 12px;
}
.so-tooltip-popup.so-tooltip-lg .so-tooltip-divider {
  height: 16px;
}
.so-tooltip-popup.so-tooltip-lg .so-tooltip-inner kbd {
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  font-size: 11px;
}

.so-tooltip-popup.so-tooltip-primary .so-tooltip-inner {
  background: #1a73e8;
}
.so-tooltip-popup.so-tooltip-primary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  border-top-color: #1a73e8;
}
.so-tooltip-popup.so-tooltip-primary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  border-bottom-color: #1a73e8;
}
.so-tooltip-popup.so-tooltip-primary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  border-left-color: #1a73e8;
}
.so-tooltip-popup.so-tooltip-primary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  border-right-color: #1a73e8;
}

.so-tooltip-popup.so-tooltip-success .so-tooltip-inner {
  background: #34a853;
}
.so-tooltip-popup.so-tooltip-success.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  border-top-color: #34a853;
}
.so-tooltip-popup.so-tooltip-success.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  border-bottom-color: #34a853;
}
.so-tooltip-popup.so-tooltip-success.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  border-left-color: #34a853;
}
.so-tooltip-popup.so-tooltip-success.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  border-right-color: #34a853;
}

.so-tooltip-popup.so-tooltip-danger .so-tooltip-inner {
  background: #ea4335;
}
.so-tooltip-popup.so-tooltip-danger.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  border-top-color: #ea4335;
}
.so-tooltip-popup.so-tooltip-danger.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  border-bottom-color: #ea4335;
}
.so-tooltip-popup.so-tooltip-danger.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  border-left-color: #ea4335;
}
.so-tooltip-popup.so-tooltip-danger.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  border-right-color: #ea4335;
}

.so-tooltip-popup.so-tooltip-warning .so-tooltip-inner {
  background: #ffb300;
  color: #202124;
}
.so-tooltip-popup.so-tooltip-warning .so-tooltip-inner kbd {
  color: rgba(0, 0, 0, 0.8);
  background: rgba(0, 0, 0, 0.1);
  border-color: rgba(0, 0, 0, 0.15);
}
.so-tooltip-popup.so-tooltip-warning .so-tooltip-divider {
  background: rgba(0, 0, 0, 0.2);
}
.so-tooltip-popup.so-tooltip-warning.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  border-top-color: #ffb300;
}
.so-tooltip-popup.so-tooltip-warning.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  border-bottom-color: #ffb300;
}
.so-tooltip-popup.so-tooltip-warning.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  border-left-color: #ffb300;
}
.so-tooltip-popup.so-tooltip-warning.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  border-right-color: #ffb300;
}

.so-tooltip-popup.so-tooltip-info .so-tooltip-inner {
  background: #17a2b8;
}
.so-tooltip-popup.so-tooltip-info.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  border-top-color: #17a2b8;
}
.so-tooltip-popup.so-tooltip-info.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  border-bottom-color: #17a2b8;
}
.so-tooltip-popup.so-tooltip-info.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  border-left-color: #17a2b8;
}
.so-tooltip-popup.so-tooltip-info.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  border-right-color: #17a2b8;
}

.so-tooltip-popup.so-tooltip-secondary .so-tooltip-inner {
  background: #6c757d;
}
.so-tooltip-popup.so-tooltip-secondary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  border-top-color: #6c757d;
}
.so-tooltip-popup.so-tooltip-secondary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  border-bottom-color: #6c757d;
}
.so-tooltip-popup.so-tooltip-secondary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  border-left-color: #6c757d;
}
.so-tooltip-popup.so-tooltip-secondary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  border-right-color: #6c757d;
}

.so-tooltip-popup.so-tooltip-dark .so-tooltip-inner {
  background: #202124;
}
.so-tooltip-popup.so-tooltip-dark.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  border-top-color: #202124;
}
.so-tooltip-popup.so-tooltip-dark.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  border-bottom-color: #202124;
}
.so-tooltip-popup.so-tooltip-dark.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  border-left-color: #202124;
}
.so-tooltip-popup.so-tooltip-dark.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  border-right-color: #202124;
}

.so-tooltip-popup.so-tooltip-outline-primary .so-tooltip-inner {
  background: var(--so-card-bg);
  color: #1a73e8;
  border: 1px solid #1a73e8;
}
.so-tooltip-popup.so-tooltip-outline-primary .so-tooltip-inner kbd {
  color: #1a73e8;
  background: rgba(26, 115, 232, 0.1);
  border-color: rgba(26, 115, 232, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-primary .so-tooltip-divider {
  background: rgba(26, 115, 232, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-primary .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-outline-primary .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-outline-primary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #1a73e8;
}
.so-tooltip-popup.so-tooltip-outline-primary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--so-card-bg);
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-outline-primary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #1a73e8;
}
.so-tooltip-popup.so-tooltip-outline-primary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--so-card-bg);
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-outline-primary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #1a73e8;
}
.so-tooltip-popup.so-tooltip-outline-primary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: var(--so-card-bg);
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-outline-primary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #1a73e8;
}
.so-tooltip-popup.so-tooltip-outline-primary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: var(--so-card-bg);
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-outline-success .so-tooltip-inner {
  background: var(--so-card-bg);
  color: #34a853;
  border: 1px solid #34a853;
}
.so-tooltip-popup.so-tooltip-outline-success .so-tooltip-inner kbd {
  color: #34a853;
  background: rgba(52, 168, 83, 0.1);
  border-color: rgba(52, 168, 83, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-success .so-tooltip-divider {
  background: rgba(52, 168, 83, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-success .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-outline-success .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-outline-success.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #34a853;
}
.so-tooltip-popup.so-tooltip-outline-success.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--so-card-bg);
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-outline-success.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #34a853;
}
.so-tooltip-popup.so-tooltip-outline-success.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--so-card-bg);
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-outline-success.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #34a853;
}
.so-tooltip-popup.so-tooltip-outline-success.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: var(--so-card-bg);
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-outline-success.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #34a853;
}
.so-tooltip-popup.so-tooltip-outline-success.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: var(--so-card-bg);
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-outline-danger .so-tooltip-inner {
  background: var(--so-card-bg);
  color: #ea4335;
  border: 1px solid #ea4335;
}
.so-tooltip-popup.so-tooltip-outline-danger .so-tooltip-inner kbd {
  color: #ea4335;
  background: rgba(234, 67, 53, 0.1);
  border-color: rgba(234, 67, 53, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-danger .so-tooltip-divider {
  background: rgba(234, 67, 53, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-danger .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-outline-danger .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-outline-danger.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #ea4335;
}
.so-tooltip-popup.so-tooltip-outline-danger.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--so-card-bg);
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-outline-danger.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #ea4335;
}
.so-tooltip-popup.so-tooltip-outline-danger.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--so-card-bg);
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-outline-danger.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #ea4335;
}
.so-tooltip-popup.so-tooltip-outline-danger.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: var(--so-card-bg);
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-outline-danger.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #ea4335;
}
.so-tooltip-popup.so-tooltip-outline-danger.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: var(--so-card-bg);
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-outline-warning .so-tooltip-inner {
  background: var(--so-card-bg);
  color: #ff8f00;
  border: 1px solid #ffb300;
}
.so-tooltip-popup.so-tooltip-outline-warning .so-tooltip-inner kbd {
  color: #ff8f00;
  background: rgba(255, 179, 0, 0.15);
  border-color: rgba(255, 179, 0, 0.4);
}
.so-tooltip-popup.so-tooltip-outline-warning .so-tooltip-divider {
  background: rgba(255, 179, 0, 0.4);
}
.so-tooltip-popup.so-tooltip-outline-warning .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-outline-warning .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-outline-warning.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #ffb300;
}
.so-tooltip-popup.so-tooltip-outline-warning.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--so-card-bg);
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-outline-warning.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #ffb300;
}
.so-tooltip-popup.so-tooltip-outline-warning.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--so-card-bg);
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-outline-warning.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #ffb300;
}
.so-tooltip-popup.so-tooltip-outline-warning.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: var(--so-card-bg);
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-outline-warning.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #ffb300;
}
.so-tooltip-popup.so-tooltip-outline-warning.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: var(--so-card-bg);
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-outline-info .so-tooltip-inner {
  background: var(--so-card-bg);
  color: #17a2b8;
  border: 1px solid #17a2b8;
}
.so-tooltip-popup.so-tooltip-outline-info .so-tooltip-inner kbd {
  color: #17a2b8;
  background: rgba(23, 162, 184, 0.1);
  border-color: rgba(23, 162, 184, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-info .so-tooltip-divider {
  background: rgba(23, 162, 184, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-info .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-outline-info .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-outline-info.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #17a2b8;
}
.so-tooltip-popup.so-tooltip-outline-info.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--so-card-bg);
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-outline-info.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #17a2b8;
}
.so-tooltip-popup.so-tooltip-outline-info.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--so-card-bg);
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-outline-info.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #17a2b8;
}
.so-tooltip-popup.so-tooltip-outline-info.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: var(--so-card-bg);
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-outline-info.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #17a2b8;
}
.so-tooltip-popup.so-tooltip-outline-info.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: var(--so-card-bg);
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-outline-secondary .so-tooltip-inner {
  background: var(--so-card-bg);
  color: #6c757d;
  border: 1px solid #6c757d;
}
.so-tooltip-popup.so-tooltip-outline-secondary .so-tooltip-inner kbd {
  color: #6c757d;
  background: rgba(108, 117, 125, 0.1);
  border-color: rgba(108, 117, 125, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-secondary .so-tooltip-divider {
  background: rgba(108, 117, 125, 0.3);
}
.so-tooltip-popup.so-tooltip-outline-secondary .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-outline-secondary .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-outline-secondary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #6c757d;
}
.so-tooltip-popup.so-tooltip-outline-secondary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: var(--so-card-bg);
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-outline-secondary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #6c757d;
}
.so-tooltip-popup.so-tooltip-outline-secondary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: var(--so-card-bg);
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-outline-secondary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #6c757d;
}
.so-tooltip-popup.so-tooltip-outline-secondary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: var(--so-card-bg);
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-outline-secondary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #6c757d;
}
.so-tooltip-popup.so-tooltip-outline-secondary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: var(--so-card-bg);
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-soft-primary .so-tooltip-inner {
  background: #e8f0fe;
  color: #1a73e8;
  border: 1px solid rgb(163.4, 199, 245.8);
}
.so-tooltip-popup.so-tooltip-soft-primary .so-tooltip-inner kbd {
  color: #1a73e8;
  background: rgb(186.3, 213, 248.1);
  border-color: rgb(140.5, 185, 243.5);
}
.so-tooltip-popup.so-tooltip-soft-primary .so-tooltip-divider {
  background: rgb(140.5, 185, 243.5);
}
.so-tooltip-popup.so-tooltip-soft-primary .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-soft-primary .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-soft-primary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: rgb(163.4, 199, 245.8);
}
.so-tooltip-popup.so-tooltip-soft-primary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #e8f0fe;
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-soft-primary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: rgb(163.4, 199, 245.8);
}
.so-tooltip-popup.so-tooltip-soft-primary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #e8f0fe;
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-soft-primary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: rgb(163.4, 199, 245.8);
}
.so-tooltip-popup.so-tooltip-soft-primary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #e8f0fe;
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-soft-primary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: rgb(163.4, 199, 245.8);
}
.so-tooltip-popup.so-tooltip-soft-primary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #e8f0fe;
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-soft-success .so-tooltip-inner {
  background: #e6f4ea;
  color: rgb(44.2, 142.8, 70.55);
  border: 1px solid rgb(166.4181818182, 227.5818181818, 182.7636363636);
}
.so-tooltip-popup.so-tooltip-soft-success .so-tooltip-inner kbd {
  color: rgb(44.2, 142.8, 70.55);
  background: rgb(188.5636363636, 234.4363636364, 200.8227272727);
  border-color: rgb(144.2727272727, 220.7272727273, 164.7045454545);
}
.so-tooltip-popup.so-tooltip-soft-success .so-tooltip-divider {
  background: rgb(144.2727272727, 220.7272727273, 164.7045454545);
}
.so-tooltip-popup.so-tooltip-soft-success .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-soft-success .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-soft-success.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: rgb(166.4181818182, 227.5818181818, 182.7636363636);
}
.so-tooltip-popup.so-tooltip-soft-success.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #e6f4ea;
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-soft-success.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: rgb(166.4181818182, 227.5818181818, 182.7636363636);
}
.so-tooltip-popup.so-tooltip-soft-success.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #e6f4ea;
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-soft-success.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: rgb(166.4181818182, 227.5818181818, 182.7636363636);
}
.so-tooltip-popup.so-tooltip-soft-success.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #e6f4ea;
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-soft-success.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: rgb(166.4181818182, 227.5818181818, 182.7636363636);
}
.so-tooltip-popup.so-tooltip-soft-success.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #e6f4ea;
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-soft-danger .so-tooltip-inner {
  background: #fce8e6;
  color: rgb(220.9771300448, 38.2881165919, 22.9728699552);
  border: 1px solid rgb(246.6, 179.8, 174.2);
}
.so-tooltip-popup.so-tooltip-soft-danger .so-tooltip-inner kbd {
  color: rgb(220.9771300448, 38.2881165919, 22.9728699552);
  background: rgb(248.7, 198.6, 194.4);
  border-color: rgb(244.5, 161, 154);
}
.so-tooltip-popup.so-tooltip-soft-danger .so-tooltip-divider {
  background: rgb(244.5, 161, 154);
}
.so-tooltip-popup.so-tooltip-soft-danger .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-soft-danger .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-soft-danger.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: rgb(246.6, 179.8, 174.2);
}
.so-tooltip-popup.so-tooltip-soft-danger.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #fce8e6;
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-soft-danger.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: rgb(246.6, 179.8, 174.2);
}
.so-tooltip-popup.so-tooltip-soft-danger.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #fce8e6;
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-soft-danger.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: rgb(246.6, 179.8, 174.2);
}
.so-tooltip-popup.so-tooltip-soft-danger.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #fce8e6;
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-soft-danger.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: rgb(246.6, 179.8, 174.2);
}
.so-tooltip-popup.so-tooltip-soft-danger.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #fce8e6;
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-soft-warning .so-tooltip-inner {
  background: #fff8e1;
  color: #ff8f00;
  border: 1px solid rgb(255, 209.4, 102);
}
.so-tooltip-popup.so-tooltip-soft-warning .so-tooltip-inner kbd {
  color: #ff8f00;
  background: rgb(255, 217, 127.5);
  border-color: rgb(255, 201.8, 76.5);
}
.so-tooltip-popup.so-tooltip-soft-warning .so-tooltip-divider {
  background: rgb(255, 201.8, 76.5);
}
.so-tooltip-popup.so-tooltip-soft-warning .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-soft-warning .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-soft-warning.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: rgb(255, 209.4, 102);
}
.so-tooltip-popup.so-tooltip-soft-warning.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #fff8e1;
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-soft-warning.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: rgb(255, 209.4, 102);
}
.so-tooltip-popup.so-tooltip-soft-warning.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #fff8e1;
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-soft-warning.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: rgb(255, 209.4, 102);
}
.so-tooltip-popup.so-tooltip-soft-warning.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #fff8e1;
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-soft-warning.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: rgb(255, 209.4, 102);
}
.so-tooltip-popup.so-tooltip-soft-warning.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #fff8e1;
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-soft-info .so-tooltip-inner {
  background: #e0f7fa;
  color: rgb(19.55, 137.7, 156.4);
  border: 1px solid rgb(147.2666666667, 228.652173913, 241.5333333333);
}
.so-tooltip-popup.so-tooltip-soft-info .so-tooltip-inner kbd {
  color: rgb(19.55, 137.7, 156.4);
  background: rgb(174.2, 235.2391304348, 244.9);
  border-color: rgb(120.3333333333, 222.0652173913, 238.1666666667);
}
.so-tooltip-popup.so-tooltip-soft-info .so-tooltip-divider {
  background: rgb(120.3333333333, 222.0652173913, 238.1666666667);
}
.so-tooltip-popup.so-tooltip-soft-info .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-soft-info .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-soft-info.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: rgb(147.2666666667, 228.652173913, 241.5333333333);
}
.so-tooltip-popup.so-tooltip-soft-info.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #e0f7fa;
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-soft-info.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: rgb(147.2666666667, 228.652173913, 241.5333333333);
}
.so-tooltip-popup.so-tooltip-soft-info.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #e0f7fa;
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-soft-info.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: rgb(147.2666666667, 228.652173913, 241.5333333333);
}
.so-tooltip-popup.so-tooltip-soft-info.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #e0f7fa;
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-soft-info.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: rgb(147.2666666667, 228.652173913, 241.5333333333);
}
.so-tooltip-popup.so-tooltip-soft-info.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #e0f7fa;
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-soft-secondary .so-tooltip-inner {
  background: #f8f9fa;
  color: #6c757d;
  border: 1px solid rgb(195.5579399142, 199.8377682403, 203.6420600858);
}
.so-tooltip-popup.so-tooltip-soft-secondary .so-tooltip-inner kbd {
  color: #6c757d;
  background: rgb(210.4184549356, 213.6283261803, 216.4815450644);
  border-color: rgb(180.6974248927, 186.0472103004, 190.8025751073);
}
.so-tooltip-popup.so-tooltip-soft-secondary .so-tooltip-divider {
  background: rgb(180.6974248927, 186.0472103004, 190.8025751073);
}
.so-tooltip-popup.so-tooltip-soft-secondary .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-soft-secondary .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-soft-secondary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: rgb(195.5579399142, 199.8377682403, 203.6420600858);
}
.so-tooltip-popup.so-tooltip-soft-secondary.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #f8f9fa;
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-soft-secondary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: rgb(195.5579399142, 199.8377682403, 203.6420600858);
}
.so-tooltip-popup.so-tooltip-soft-secondary.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #f8f9fa;
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-soft-secondary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: rgb(195.5579399142, 199.8377682403, 203.6420600858);
}
.so-tooltip-popup.so-tooltip-soft-secondary.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #f8f9fa;
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-soft-secondary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: rgb(195.5579399142, 199.8377682403, 203.6420600858);
}
.so-tooltip-popup.so-tooltip-soft-secondary.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #f8f9fa;
  margin-right: -1px;
}

.so-tooltip-popup.so-tooltip-light {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15));
}
.so-tooltip-popup.so-tooltip-light .so-tooltip-inner {
  color: #3c4043;
  background: #ffffff;
  border: 1px solid #e8eaed;
  box-shadow: none;
}
.so-tooltip-popup.so-tooltip-light .so-tooltip-inner kbd {
  color: #3c4043;
  background: #f1f3f4;
  border-color: #e8eaed;
}
.so-tooltip-popup.so-tooltip-light .so-tooltip-inner::before {
  content: "";
  position: absolute;
  border: 6px solid transparent;
}
.so-tooltip-popup.so-tooltip-light .so-tooltip-inner::after {
  border-width: 5px;
}
.so-tooltip-popup.so-tooltip-light .so-tooltip-divider {
  background: #e8eaed;
}
.so-tooltip-popup.so-tooltip-light.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::before {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #e8eaed;
}
.so-tooltip-popup.so-tooltip-light.so-tooltip-arrow.so-tooltip-top .so-tooltip-inner::after {
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top-color: #ffffff;
  margin-top: -1px;
}
.so-tooltip-popup.so-tooltip-light.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::before {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #e8eaed;
}
.so-tooltip-popup.so-tooltip-light.so-tooltip-arrow.so-tooltip-bottom .so-tooltip-inner::after {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-color: #ffffff;
  margin-bottom: -1px;
}
.so-tooltip-popup.so-tooltip-light.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::before {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #e8eaed;
}
.so-tooltip-popup.so-tooltip-light.so-tooltip-arrow.so-tooltip-left .so-tooltip-inner::after {
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  border-left-color: #ffffff;
  margin-left: -1px;
}
.so-tooltip-popup.so-tooltip-light.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::before {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #e8eaed;
}
.so-tooltip-popup.so-tooltip-light.so-tooltip-arrow.so-tooltip-right .so-tooltip-inner::after {
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-right-color: #ffffff;
  margin-right: -1px;
}
[data-so-theme=dark] .so-tooltip-popup.so-tooltip-light {
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.5));
}

.so-tooltip-popup.so-tooltip-animate-fade {
  transition: opacity 0.1s ease, visibility 0.1s ease;
}

.so-tooltip-popup.so-tooltip-animate-scale {
  transform: scale(0.95);
  transition: all 0.1s ease;
}
.so-tooltip-popup.so-tooltip-animate-scale.so-show {
  transform: scale(1);
}

.so-tooltip-popup.so-tooltip-animate-slide {
  transition: all 0.1s ease;
}
.so-tooltip-popup.so-tooltip-animate-slide.so-tooltip-top {
  transform: translateY(8px);
}
.so-tooltip-popup.so-tooltip-animate-slide.so-tooltip-bottom {
  transform: translateY(-8px);
}
.so-tooltip-popup.so-tooltip-animate-slide.so-tooltip-left {
  transform: translateX(8px);
}
.so-tooltip-popup.so-tooltip-animate-slide.so-tooltip-right {
  transform: translateX(-8px);
}
.so-tooltip-popup.so-tooltip-animate-slide.so-show {
  transform: translate(0);
}

.so-tooltip-popup.so-tooltip-multiline .so-tooltip-inner {
  white-space: normal;
  max-width: 360px;
  word-break: break-word;
  text-align: center;
}

@media (max-width: 767px) {
  [data-tooltip]::before, [data-tooltip]::after {
    display: none !important;
  }
  .so-tooltip-content {
    display: none !important;
  }
  .so-tooltip-popup {
    display: none !important;
  }
}
.so-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--so-border-color);
  padding-bottom: 0;
}
.so-tabs.so-tabs-pills, .so-tabs.so-tabs-boxed, .so-tabs.so-tabs-ghost {
  border-bottom: none;
}

.so-tabs-classic {
  gap: 0;
}
.so-tabs-classic .so-tab {
  color: var(--so-accent-primary);
  border: 1px solid transparent;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  margin-bottom: -1px;
}
.so-tabs-classic .so-tab::after {
  display: none;
}
.so-tabs-classic .so-tab:hover:not(.so-active):not(.so-disabled):not(:disabled):not([aria-disabled=true]) {
  border-color: var(--so-border-color);
  background: var(--so-card-hover-bg);
  color: var(--so-accent-primary);
}
.so-tabs-classic .so-tab.so-active, .so-tabs-classic .so-tab[aria-selected=true] {
  color: var(--so-text-primary);
  background: var(--so-card-bg);
  border-color: var(--so-border-color) var(--so-border-color) var(--so-card-bg);
}
.so-tabs-classic .so-tab.so-active:hover, .so-tabs-classic .so-tab[aria-selected=true]:hover {
  background: var(--so-card-bg);
}
.so-tabs-classic .so-tab.so-disabled, .so-tabs-classic .so-tab:disabled, .so-tabs-classic .so-tab[aria-disabled=true] {
  color: var(--so-text-disabled);
  background: transparent;
  border-color: transparent;
}

.so-tabs-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-secondary);
  padding: 8px 0;
  white-space: nowrap;
}

.so-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 16px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  background: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
  position: relative;
  margin-bottom: -1px;
  overflow: visible;
}
.so-tab::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: transparent;
  transition: background 0.15s ease;
}
.so-tab:hover {
  color: var(--so-text-primary);
  background: var(--so-card-hover-bg);
}
.so-tab:focus {
  outline: none;
}
.so-tab:focus-visible, .so-tab.so-focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: -2px;
}
.so-tab.so-active, .so-tab[aria-selected=true] {
  color: var(--so-accent-primary);
}
.so-tab.so-active::after, .so-tab[aria-selected=true]::after {
  background: var(--so-accent-primary);
}
.so-tab.so-disabled, .so-tab:disabled, .so-tab[aria-disabled=true] {
  color: var(--so-text-disabled);
  pointer-events: none;
  cursor: not-allowed;
}
.so-tab .material-symbols-rounded {
  font-size: 21px;
  line-height: 1;
  width: 21px;
  height: 21px;
  flex-shrink: 0;
}

.so-tabs-pills {
  gap: 8px;
}
.so-tabs-pills .so-tab {
  border-radius: 6px;
  margin-bottom: 0;
}
.so-tabs-pills .so-tab::after {
  display: none;
}
.so-tabs-pills .so-tab:hover {
  background: var(--so-card-hover-bg);
}
.so-tabs-pills .so-tab.so-active, .so-tabs-pills .so-tab[aria-selected=true] {
  color: #ffffff;
  background: var(--so-accent-primary);
}
.so-tabs-pills .so-tab.so-active:hover, .so-tabs-pills .so-tab[aria-selected=true]:hover {
  background: #1557b0;
}

.so-tabs-boxed {
  display: inline-flex;
  gap: 0;
  padding: 4px;
  background: var(--so-card-hover-bg);
  border-radius: 8px;
}
.so-tabs-boxed .so-tab {
  border-radius: 6px;
  margin-bottom: 0;
}
.so-tabs-boxed .so-tab::after {
  display: none;
}
.so-tabs-boxed .so-tab:hover {
  background: rgba(0, 0, 0, 0.05);
}
.so-tabs-boxed .so-tab.so-active, .so-tabs-boxed .so-tab[aria-selected=true] {
  color: var(--so-text-primary);
  background: var(--so-card-bg);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}
.so-tabs-boxed .so-tab.so-active:hover, .so-tabs-boxed .so-tab[aria-selected=true]:hover {
  background: var(--so-card-bg);
}

.so-tabs-ghost {
  gap: 4px;
}
.so-tabs-ghost .so-tab {
  border-radius: 6px;
  margin-bottom: 0;
}
.so-tabs-ghost .so-tab::after {
  display: none;
}
.so-tabs-ghost .so-tab:hover {
  background: var(--so-card-hover-bg);
}
.so-tabs-ghost .so-tab.so-active, .so-tabs-ghost .so-tab[aria-selected=true] {
  color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.1);
}
.so-tabs-ghost .so-tab.so-active:hover, .so-tabs-ghost .so-tab[aria-selected=true]:hover {
  background: rgba(26, 115, 232, 0.15);
}

.so-tabs-bordered {
  gap: 8px;
  border-bottom: none;
}
.so-tabs-bordered .so-tab {
  border: 1px solid var(--so-border-color);
  border-radius: 6px;
  margin-bottom: 0;
}
.so-tabs-bordered .so-tab::after {
  display: none;
}
.so-tabs-bordered .so-tab:hover {
  border-color: var(--so-border-dark);
  background: var(--so-card-hover-bg);
}
.so-tabs-bordered .so-tab.so-active, .so-tabs-bordered .so-tab[aria-selected=true] {
  color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.05);
}
.so-tabs-bordered .so-tab.so-active:hover, .so-tabs-bordered .so-tab[aria-selected=true]:hover {
  background: rgba(26, 115, 232, 0.1);
}

.so-tabs-sm .so-tab {
  min-height: 28px;
  padding: 6px 12px;
  font-size: 12px;
}
.so-tabs-sm .so-tab .material-symbols-rounded {
  font-size: 18px;
  width: 18px;
  height: 18px;
}
.so-tabs-sm .so-tabs-label {
  font-size: 12px;
}
.so-tabs-sm.so-tabs-boxed {
  padding: 3px;
}

.so-tabs-lg .so-tab {
  min-height: 44px;
  padding: 12px 20px;
  font-size: 0.875rem;
}
.so-tabs-lg .so-tab .material-symbols-rounded {
  font-size: 22px;
  width: 22px;
  height: 22px;
}
.so-tabs-lg .so-tabs-label {
  font-size: 0.875rem;
}
.so-tabs-lg.so-tabs-boxed {
  padding: 6px;
}

.so-tabs-primary .so-tab.active,
.so-tabs-primary .so-tab[aria-selected=true] {
  color: var(--so-accent-primary);
}
.so-tabs-primary .so-tab.active::after,
.so-tabs-primary .so-tab[aria-selected=true]::after {
  background: var(--so-accent-primary);
}
.so-tabs-primary.so-tabs-pills .so-tab.active, .so-tabs-primary.so-tabs-pills .so-tab[aria-selected=true] {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-tabs-success .so-tab.active,
.so-tabs-success .so-tab[aria-selected=true] {
  color: var(--so-accent-success);
}
.so-tabs-success .so-tab.active::after,
.so-tabs-success .so-tab[aria-selected=true]::after {
  background: var(--so-accent-success);
}
.so-tabs-success.so-tabs-pills .so-tab.active, .so-tabs-success.so-tabs-pills .so-tab[aria-selected=true] {
  background: var(--so-accent-success);
  color: #ffffff;
}
.so-tabs-success.so-tabs-ghost .so-tab.active, .so-tabs-success.so-tabs-ghost .so-tab[aria-selected=true] {
  background: rgba(52, 168, 83, 0.1);
  color: var(--so-accent-success);
}
.so-tabs-success.so-tabs-bordered .so-tab.active, .so-tabs-success.so-tabs-bordered .so-tab[aria-selected=true] {
  border-color: var(--so-accent-success);
  background: rgba(52, 168, 83, 0.05);
  color: var(--so-accent-success);
}

.so-tabs-danger .so-tab.active,
.so-tabs-danger .so-tab[aria-selected=true] {
  color: var(--so-accent-danger);
}
.so-tabs-danger .so-tab.active::after,
.so-tabs-danger .so-tab[aria-selected=true]::after {
  background: var(--so-accent-danger);
}
.so-tabs-danger.so-tabs-pills .so-tab.active, .so-tabs-danger.so-tabs-pills .so-tab[aria-selected=true] {
  background: var(--so-accent-danger);
  color: #ffffff;
}
.so-tabs-danger.so-tabs-ghost .so-tab.active, .so-tabs-danger.so-tabs-ghost .so-tab[aria-selected=true] {
  background: rgba(234, 67, 53, 0.1);
  color: var(--so-accent-danger);
}
.so-tabs-danger.so-tabs-bordered .so-tab.active, .so-tabs-danger.so-tabs-bordered .so-tab[aria-selected=true] {
  border-color: var(--so-accent-danger);
  background: rgba(234, 67, 53, 0.05);
  color: var(--so-accent-danger);
}

.so-tabs-warning .so-tab.active,
.so-tabs-warning .so-tab[aria-selected=true] {
  color: var(--so-warning-text-emphasis);
}
.so-tabs-warning .so-tab.active::after,
.so-tabs-warning .so-tab[aria-selected=true]::after {
  background: var(--so-accent-warning);
}
.so-tabs-warning.so-tabs-pills .so-tab.active, .so-tabs-warning.so-tabs-pills .so-tab[aria-selected=true] {
  background: var(--so-accent-warning);
  color: var(--so-warning-fg);
}
.so-tabs-warning.so-tabs-ghost .so-tab.active, .so-tabs-warning.so-tabs-ghost .so-tab[aria-selected=true] {
  background: rgba(255, 179, 0, 0.15);
  color: var(--so-warning-text-emphasis);
}
.so-tabs-warning.so-tabs-bordered .so-tab.active, .so-tabs-warning.so-tabs-bordered .so-tab[aria-selected=true] {
  border-color: var(--so-accent-warning);
  background: rgba(255, 179, 0, 0.05);
  color: var(--so-warning-text-emphasis);
}

.so-tabs-info .so-tab.active,
.so-tabs-info .so-tab[aria-selected=true] {
  color: var(--so-accent-info);
}
.so-tabs-info .so-tab.active::after,
.so-tabs-info .so-tab[aria-selected=true]::after {
  background: var(--so-accent-info);
}
.so-tabs-info.so-tabs-pills .so-tab.active, .so-tabs-info.so-tabs-pills .so-tab[aria-selected=true] {
  background: var(--so-accent-info);
  color: #ffffff;
}
.so-tabs-info.so-tabs-ghost .so-tab.active, .so-tabs-info.so-tabs-ghost .so-tab[aria-selected=true] {
  background: rgba(23, 162, 184, 0.1);
  color: var(--so-accent-info);
}
.so-tabs-info.so-tabs-bordered .so-tab.active, .so-tabs-info.so-tabs-bordered .so-tab[aria-selected=true] {
  border-color: var(--so-accent-info);
  background: rgba(23, 162, 184, 0.05);
  color: var(--so-accent-info);
}

.so-tabs-secondary .so-tab.active,
.so-tabs-secondary .so-tab[aria-selected=true] {
  color: var(--so-text-primary);
}
.so-tabs-secondary .so-tab.active::after,
.so-tabs-secondary .so-tab[aria-selected=true]::after {
  background: var(--so-text-secondary);
}
.so-tabs-secondary.so-tabs-pills .so-tab.active, .so-tabs-secondary.so-tabs-pills .so-tab[aria-selected=true] {
  background: #6c757d;
  color: #ffffff;
}
.so-tabs-secondary.so-tabs-ghost .so-tab.active, .so-tabs-secondary.so-tabs-ghost .so-tab[aria-selected=true] {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-tabs-secondary.so-tabs-bordered .so-tab.active, .so-tabs-secondary.so-tabs-bordered .so-tab[aria-selected=true] {
  border-color: var(--so-text-secondary);
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}

.so-tabs-light .so-tab.active,
.so-tabs-light .so-tab[aria-selected=true] {
  color: #80868b;
}
.so-tabs-light .so-tab.active::after,
.so-tabs-light .so-tab[aria-selected=true]::after {
  background: #bdc1c6;
}
.so-tabs-light.so-tabs-pills .so-tab.active, .so-tabs-light.so-tabs-pills .so-tab[aria-selected=true] {
  background: #e8eaed;
  color: #3c4043;
}
.so-tabs-light.so-tabs-ghost .so-tab.active, .so-tabs-light.so-tabs-ghost .so-tab[aria-selected=true] {
  background: #f1f3f4;
  color: #5f6368;
}
.so-tabs-light.so-tabs-bordered .so-tab.active, .so-tabs-light.so-tabs-bordered .so-tab[aria-selected=true] {
  border-color: #dadce0;
  background: #f8f9fa;
  color: #5f6368;
}

.so-tabs-classic.so-tabs-primary .so-tab:not(.so-active):not(.so-disabled):not([aria-disabled=true]) {
  color: var(--so-accent-primary);
}
.so-tabs-classic.so-tabs-primary .so-tab.so-active,
.so-tabs-classic.so-tabs-primary .so-tab[aria-selected=true] {
  border-top-color: var(--so-accent-primary);
}
.so-tabs-classic.so-tabs-success .so-tab:not(.so-active):not(.so-disabled):not([aria-disabled=true]) {
  color: var(--so-accent-success);
}
.so-tabs-classic.so-tabs-success .so-tab.so-active,
.so-tabs-classic.so-tabs-success .so-tab[aria-selected=true] {
  border-top-color: var(--so-accent-success);
}
.so-tabs-classic.so-tabs-danger .so-tab:not(.so-active):not(.so-disabled):not([aria-disabled=true]) {
  color: var(--so-accent-danger);
}
.so-tabs-classic.so-tabs-danger .so-tab.so-active,
.so-tabs-classic.so-tabs-danger .so-tab[aria-selected=true] {
  border-top-color: var(--so-accent-danger);
}
.so-tabs-classic.so-tabs-warning .so-tab:not(.so-active):not(.so-disabled):not([aria-disabled=true]) {
  color: var(--so-warning-text-emphasis);
}
.so-tabs-classic.so-tabs-warning .so-tab.so-active,
.so-tabs-classic.so-tabs-warning .so-tab[aria-selected=true] {
  border-top-color: var(--so-accent-warning);
}
.so-tabs-classic.so-tabs-info .so-tab:not(.so-active):not(.so-disabled):not([aria-disabled=true]) {
  color: var(--so-accent-info);
}
.so-tabs-classic.so-tabs-info .so-tab.so-active,
.so-tabs-classic.so-tabs-info .so-tab[aria-selected=true] {
  border-top-color: var(--so-accent-info);
}
.so-tabs-classic.so-tabs-secondary .so-tab:not(.so-active):not(.so-disabled):not([aria-disabled=true]) {
  color: var(--so-text-secondary);
}
.so-tabs-classic.so-tabs-secondary .so-tab.so-active,
.so-tabs-classic.so-tabs-secondary .so-tab[aria-selected=true] {
  border-top-color: var(--so-text-secondary);
}
.so-tabs-classic.so-tabs-light .so-tab:not(.so-active):not(.so-disabled):not([aria-disabled=true]) {
  color: #80868b;
}
.so-tabs-classic.so-tabs-light .so-tab.so-active,
.so-tabs-classic.so-tabs-light .so-tab[aria-selected=true] {
  border-top-color: #bdc1c6;
}
.so-tabs-classic.so-tabs-dark .so-tab:not(.so-active):not(.so-disabled):not([aria-disabled=true]) {
  color: #202124;
}
.so-tabs-classic.so-tabs-dark .so-tab.so-active,
.so-tabs-classic.so-tabs-dark .so-tab[aria-selected=true] {
  border-top-color: #202124;
}

.so-tabs-dark .so-tab.active,
.so-tabs-dark .so-tab[aria-selected=true] {
  color: #202124;
}
.so-tabs-dark .so-tab.active::after,
.so-tabs-dark .so-tab[aria-selected=true]::after {
  background: #202124;
}
.so-tabs-dark.so-tabs-pills .so-tab.active, .so-tabs-dark.so-tabs-pills .so-tab[aria-selected=true] {
  background: #202124;
  color: #ffffff;
}
.so-tabs-dark.so-tabs-ghost .so-tab.active, .so-tabs-dark.so-tabs-ghost .so-tab[aria-selected=true] {
  background: rgba(32, 33, 36, 0.1);
  color: #202124;
}
.so-tabs-dark.so-tabs-bordered .so-tab.active, .so-tabs-dark.so-tabs-bordered .so-tab[aria-selected=true] {
  border-color: #202124;
  background: rgba(32, 33, 36, 0.05);
  color: #202124;
}

.so-tabs-center {
  justify-content: center;
}

.so-tabs-end {
  justify-content: flex-end;
}

.so-tabs-justified .so-tab {
  flex: 1;
  text-align: center;
}

.so-tabs-fill .so-tab {
  flex: 1 1 auto;
  text-align: center;
}

.so-tabs-vertical {
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  border-bottom: none;
  border-right: 1px solid var(--so-border-color);
  padding-right: 0;
  padding-bottom: 8px;
}
.so-tabs-vertical .so-tab {
  justify-content: flex-start;
  margin-bottom: 0;
  margin-right: -1px;
}
.so-tabs-vertical .so-tab::after {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  width: 3px;
  height: auto;
}
.so-tabs-vertical .so-tabs-label {
  padding: 8px 16px;
}
.so-tabs-vertical.so-tabs-pills {
  border-right: none;
  padding-right: 8px;
}
.so-tabs-vertical.so-tabs-pills .so-tab {
  margin-right: 0;
}
.so-tabs-vertical.so-tabs-boxed {
  border-right: none;
  padding: 4px;
}
.so-tabs-vertical.so-tabs-ghost {
  border-right: none;
  padding-right: 4px;
}
.so-tabs-vertical.so-tabs-ghost .so-tab {
  margin-right: 0;
}
.so-tabs-vertical.so-tabs-bordered {
  border-right: none;
}
.so-tabs-vertical.so-tabs-bordered .so-tab {
  margin-right: 0;
}

.so-tabs-scrollable {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.so-tabs-scrollable::-webkit-scrollbar {
  display: none;
}
.so-tabs-scrollable .so-tab {
  flex-shrink: 0;
}

.so-tab-content {
  width: 100%;
}

.so-tab-pane {
  display: none;
  padding: 8px 0;
}
.so-tab-pane.so-active, .so-tab-pane.so-show {
  display: block;
}
.so-tab-pane.so-fade {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.so-tab-pane.so-fade.so-show {
  opacity: 1;
}

.so-tabs-container {
  display: flex;
  gap: 24px;
}
.so-tabs-container.so-tabs-container-vertical .so-tabs-vertical {
  flex-shrink: 0;
  min-width: 180px;
  align-self: flex-start;
  max-height: calc(100vh - 100px);
  flex-wrap: nowrap;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-tabs-container.so-tabs-container-vertical .so-tabs-vertical::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-tabs-container.so-tabs-container-vertical .so-tabs-vertical::-webkit-scrollbar-track {
  background: transparent;
}
.so-tabs-container.so-tabs-container-vertical .so-tabs-vertical::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-tabs-container.so-tabs-container-vertical .so-tabs-vertical::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}
.so-tabs-container.so-tabs-container-vertical .so-tab-content {
  flex: 1;
  min-width: 0;
  padding-top: 0;
}

.so-tabs-sticky {
  position: sticky;
  top: 16px;
}

.so-tab-closable {
  padding-right: 8px;
}
.so-tab-closable .so-tab-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--so-text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
}
.so-tab-closable .so-tab-close .material-symbols-rounded {
  font-size: 14px;
  width: 14px;
  height: 14px;
}
.so-tab-closable .so-tab-close:hover {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-tab-closable .so-tab-close:active {
  background: var(--so-border-color);
}
.so-tab-closable.so-active .so-tab-close, .so-tab-closable[aria-selected=true] .so-tab-close {
  color: var(--so-accent-primary);
}
.so-tab-closable.so-active .so-tab-close:hover, .so-tab-closable[aria-selected=true] .so-tab-close:hover {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-danger);
}

.so-tabs-pills .so-tab-closable.so-active .so-tab-close, .so-tabs-pills .so-tab-closable[aria-selected=true] .so-tab-close {
  color: rgba(255, 255, 255, 0.8);
}
.so-tabs-pills .so-tab-closable.so-active .so-tab-close:hover, .so-tabs-pills .so-tab-closable[aria-selected=true] .so-tab-close:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

.so-tab .so-badge {
  margin-left: 8px;
  font-size: 10px;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  padding: 0 6px;
}
.so-tab .so-tab-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--so-accent-danger);
  margin-left: 8px;
  flex-shrink: 0;
}
.so-tab .so-tab-dot.so-tab-dot-success {
  background: var(--so-accent-success);
}
.so-tab .so-tab-dot.so-tab-dot-warning {
  background: var(--so-accent-warning);
}
.so-tab .so-tab-dot.so-tab-dot-info {
  background: var(--so-accent-info);
}
.so-tab .so-tab-dot.so-tab-dot-primary {
  background: var(--so-accent-primary);
}
.so-tab .so-tab-dot.so-tab-dot-pulse {
  animation: so-tab-dot-pulse 1.5s ease-in-out infinite;
}
.so-tab .so-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  margin-left: 8px;
  font-size: 11px;
  font-weight: 600;
  background: var(--so-card-hover-bg);
  color: var(--so-text-secondary);
  border-radius: 9999px;
  flex-shrink: 0;
}
.so-tab.so-active .so-tab-count, .so-tab[aria-selected=true] .so-tab-count {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
}

@keyframes so-tab-dot-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(0.9);
  }
}
.so-tabs-pills .so-tab.so-active .so-tab-count, .so-tabs-pills .so-tab[aria-selected=true] .so-tab-count {
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.so-tabs-overflow {
  position: relative;
  flex-wrap: nowrap;
  overflow: hidden;
}

.so-tabs-overflow-container {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.so-tabs-scroll-wrapper {
  flex: 1;
  overflow: hidden;
  position: relative;
}

.so-tabs-scroll-inner {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}
.so-tabs-scroll-inner::-webkit-scrollbar {
  display: none;
}
.so-tabs-scroll-inner .so-tab {
  flex-shrink: 0;
}

.so-tabs-scroll-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: var(--so-card-bg);
  color: var(--so-text-secondary);
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.15s ease;
  border-radius: 6px;
  z-index: 2;
}
.so-tabs-scroll-btn .material-symbols-rounded {
  font-size: 20px;
}
.so-tabs-scroll-btn:hover:not(:disabled) {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-tabs-scroll-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.so-tabs-scroll-btn.so-tabs-scroll-prev {
  margin-right: 4px;
}
.so-tabs-scroll-btn.so-tabs-scroll-next {
  margin-left: 4px;
}

.so-tabs-overflow-container.so-has-overflow .so-tabs-scroll-btn {
  display: flex;
}

.so-tabs-scroll-wrapper::before,
.so-tabs-scroll-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 24px;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.so-tabs-scroll-wrapper::before {
  left: 0;
  background: linear-gradient(to right, var(--so-card-bg), transparent);
}

.so-tabs-scroll-wrapper::after {
  right: 0;
  background: linear-gradient(to left, var(--so-card-bg), transparent);
}

.so-tabs-overflow-container.so-can-scroll-left .so-tabs-scroll-wrapper::before {
  opacity: 1;
}

.so-tabs-overflow-container.so-can-scroll-right .so-tabs-scroll-wrapper::after {
  opacity: 1;
}

.so-tabs-overflow-menu {
  position: relative;
  margin-left: 8px;
}

.so-tabs-overflow-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 36px;
  padding: 8px 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  background: transparent;
  border: 1px solid var(--so-border-color);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.so-tabs-overflow-btn .material-symbols-rounded {
  font-size: 18px;
}
.so-tabs-overflow-btn:hover {
  background: var(--so-card-hover-bg);
  border-color: var(--so-border-dark);
}
.so-tabs-overflow-btn .so-tabs-overflow-count {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--so-card-hover-bg);
  border-radius: 9999px;
}

.so-tabs-overflow-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 180px;
  max-height: 300px;
  margin-top: 4px;
  padding: 4px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 8px;
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.22);
  overflow-y: auto;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.15s ease;
}
.so-tabs-overflow-dropdown.so-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.so-tabs-overflow-dropdown .so-tab {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  border-radius: 6px;
  margin-bottom: 0;
}
.so-tabs-overflow-dropdown .so-tab::after {
  display: none;
}
.so-tabs-overflow-dropdown .so-tab.so-active, .so-tabs-overflow-dropdown .so-tab[aria-selected=true] {
  background: rgba(26, 115, 232, 0.1);
}

.so-tabs-draggable .so-tab {
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-tabs-draggable .so-tab:active {
  cursor: grabbing;
}
.so-tabs-draggable .so-tab.so-dragging {
  opacity: 0.5;
  cursor: grabbing;
}
.so-tabs-draggable .so-tab.so-drag-over {
  border-left: 2px solid var(--so-accent-primary);
}
.so-tabs-draggable .so-tab-drag-ghost {
  position: fixed;
  pointer-events: none;
  z-index: 1050;
  opacity: 0.9;
  transform: rotate(2deg);
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.22);
}

.so-tabs-vertical .so-tab-closable {
  padding-right: 12px;
}
.so-tabs-vertical .so-tab-closable .so-tab-close {
  margin-left: auto;
}
.so-tabs-vertical .so-tab .so-badge,
.so-tabs-vertical .so-tab .so-tab-count,
.so-tabs-vertical .so-tab .so-tab-dot {
  margin-left: auto;
}
.so-tabs-vertical.so-tabs-overflow {
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-tabs-vertical.so-tabs-overflow::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-tabs-vertical.so-tabs-overflow::-webkit-scrollbar-track {
  background: transparent;
}
.so-tabs-vertical.so-tabs-overflow::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-tabs-vertical.so-tabs-overflow::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}
.so-tabs-vertical.so-tabs-draggable .so-tab.so-drag-over {
  border-left: none;
  border-top: 2px solid var(--so-accent-primary);
}

.so-tab-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px dashed var(--so-border-color);
  border-radius: 6px;
  background: transparent;
  color: var(--so-text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
  margin-left: 8px;
  flex-shrink: 0;
}
.so-tab-add .material-symbols-rounded {
  font-size: 18px;
}
.so-tab-add:hover {
  border-color: var(--so-accent-primary);
  color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.05);
}

@media (max-width: 576px) {
  .so-tabs:not(.so-tabs-vertical) {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .so-tabs:not(.so-tabs-vertical)::-webkit-scrollbar {
    display: none;
  }
  .so-tabs:not(.so-tabs-vertical) .so-tab {
    flex-shrink: 0;
  }
  .so-tabs-scroll-btn {
    width: 28px;
    height: 28px;
  }
  .so-tabs-scroll-btn .material-symbols-rounded {
    font-size: 18px;
  }
}
.so-context-menu {
  position: fixed;
  z-index: 1060;
  min-width: 180px;
  max-width: 280px;
  padding: 4px 0;
  background: var(--so-dropdown-bg);
  border: 1px solid var(--so-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-dropdown-shadow);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-context-menu.so-open {
  opacity: 1;
  visibility: visible;
}
.so-context-menu.so-flip-x {
  transform-origin: top right;
}
.so-context-menu.so-flip-y {
  transform-origin: bottom left;
}
.so-context-menu.so-flip-x.so-flip-y {
  transform-origin: bottom right;
}

.so-context-menu-header {
  padding: 8px 12px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-text-secondary);
  background: var(--so-card-hover-bg);
  border-top: 1px solid var(--so-dropdown-border);
  border-bottom: 1px solid var(--so-dropdown-border);
  cursor: default;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-context-menu-header:first-child {
  border-top: 0;
}

.so-context-menu-divider {
  height: 1px;
  margin: 4px 0;
  background: var(--so-dropdown-border);
}
.so-context-menu-divider + .so-context-menu-header {
  border-top: 0;
}
.so-context-menu-divider:has(+ .so-context-menu-header) {
  display: none;
}

.so-context-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  font-size: 0.8125rem;
  color: var(--so-text-primary);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  position: relative;
}
.so-context-menu-item:hover:not(.so-disabled) {
  background: var(--so-dropdown-item-hover);
}
.so-context-menu-item.so-focused:not(.so-disabled) {
  background: var(--so-dropdown-item-hover);
  outline: none;
}
.so-context-menu-item.so-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.so-context-menu-item.so-danger {
  color: var(--so-accent-danger);
}
.so-context-menu-item.so-danger .so-context-menu-item-icon {
  color: var(--so-accent-danger);
}
.so-context-menu-item.so-danger:hover:not(.so-disabled) {
  background: rgba(234, 67, 53, 0.1);
}
.so-context-menu-item.so-has-submenu {
  padding-right: 8px;
}

.so-context-menu-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--so-text-secondary);
}
.so-context-menu-item-icon .material-symbols-rounded {
  font-size: 18px;
  line-height: 1;
}

.so-context-menu-item-text {
  flex: 1;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.so-context-menu-item-shortcut {
  margin-left: auto;
  padding-left: 16px;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  font-family: inherit;
  letter-spacing: 0.3px;
}

.so-context-menu-item-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  color: var(--so-text-secondary);
}
.so-context-menu-item-arrow .material-symbols-rounded {
  font-size: 16px;
}

.so-context-menu-submenu {
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: -4px;
  min-width: 160px;
  max-width: 260px;
  padding: 4px 0;
  background: var(--so-dropdown-bg);
  border: 1px solid var(--so-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-dropdown-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  z-index: 1;
}
.so-context-menu-submenu.so-open {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}
.so-context-menu-submenu.so-flip-x {
  left: auto;
  right: 100%;
  margin-left: 0;
  margin-right: -4px;
  transform: translateX(8px);
}
.so-context-menu-submenu.so-flip-x.so-open {
  transform: translateX(0);
}
.so-context-menu-item.submenu-open {
  background: var(--so-dropdown-item-hover);
}

.so-context-menu-group.so-disabled .so-context-menu-item {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.so-context-menu-item-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--so-accent-primary);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.so-context-menu-item-check .material-symbols-rounded {
  font-size: 18px;
}

.so-context-menu-item.so-checked {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
  font-weight: 500;
}
.so-context-menu-item.so-checked .so-context-menu-item-check {
  opacity: 1;
  color: var(--so-dropdown-item-active-text);
}
.so-context-menu-item.so-checked .so-context-menu-item-icon {
  color: var(--so-dropdown-item-active-text);
}

.so-context-menu-item-icon + .so-context-menu-item-text + .so-context-menu-item-check {
  margin-left: auto;
}

.so-context-menu-sm {
  min-width: 140px;
  max-width: 220px;
  padding: 2px 0;
}
.so-context-menu-sm .so-context-menu-header {
  padding: 6px 10px;
  font-size: 10px;
}
.so-context-menu-sm .so-context-menu-item {
  padding: 4px 8px;
  font-size: 0.6875rem;
  gap: 6px;
}
.so-context-menu-sm .so-context-menu-item-icon {
  width: 16px;
  height: 16px;
}
.so-context-menu-sm .so-context-menu-item-icon .material-symbols-rounded {
  font-size: 16px;
}
.so-context-menu-sm .so-context-menu-divider {
  margin: 2px 0;
}

.so-context-menu-lg {
  min-width: 220px;
  max-width: 320px;
  padding: 8px 0;
}
.so-context-menu-lg .so-context-menu-header {
  padding: 10px 16px;
  font-size: 0.6875rem;
}
.so-context-menu-lg .so-context-menu-item {
  padding: 8px 14px;
  font-size: 0.875rem;
  gap: 12px;
}
.so-context-menu-lg .so-context-menu-item-icon {
  width: 24px;
  height: 24px;
}
.so-context-menu-lg .so-context-menu-item-icon .material-symbols-rounded {
  font-size: 20px;
}
.so-context-menu-lg .so-context-menu-divider {
  margin: 8px 0;
}

.so-context-menu-item-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.so-context-menu-item-description {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-context-menu-inline {
  position: relative;
  opacity: 1;
  visibility: visible;
  transform: none;
  display: inline-block;
}

[data-so-context-menu]:focus-visible, [data-so-context-menu].so-focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: 2px;
}

@keyframes so-context-menu-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes so-context-menu-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.so-context-menu-animated.so-open {
  animation: so-context-menu-fade-in 150ms ease-out forwards;
}
.so-context-menu-animated.so-closing {
  animation: so-context-menu-fade-out 150ms ease-in forwards;
}

.so-context-menu-tabbed {
  min-width: 220px;
  max-width: 320px;
  padding: 0;
  overflow: hidden;
}

.so-context-menu-tabs {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 4px 4px 0;
  background: var(--so-dropdown-bg);
  border-bottom: 1px solid var(--so-dropdown-border);
  position: relative;
}

.so-context-menu-tabs-scroll {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.so-context-menu-tabs-inner {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  padding-bottom: 4px;
}
.so-context-menu-tabs-inner::-webkit-scrollbar {
  display: none;
}

.so-context-menu-tabs-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: var(--so-dropdown-bg);
  color: var(--so-text-secondary);
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.15s ease;
  border-radius: 3px;
}
.so-context-menu-tabs-btn .material-symbols-rounded {
  font-size: 18px;
}
.so-context-menu-tabs-btn:hover:not(:disabled) {
  background: var(--so-dropdown-item-hover);
  color: var(--so-text-primary);
}
.so-context-menu-tabs-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.so-context-menu-tabs-btn.so-context-menu-tabs-prev {
  margin-right: 4px;
}
.so-context-menu-tabs-btn.so-context-menu-tabs-next {
  margin-left: 4px;
}

.so-context-menu-tabs.so-has-overflow .so-context-menu-tabs-btn {
  display: flex;
}

.so-context-menu-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 28px;
  padding: 4px 8px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  background: transparent;
  border: none;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all 0.15s ease;
  position: relative;
}
.so-context-menu-tab::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: transparent;
  transition: background 0.15s ease;
}
.so-context-menu-tab .material-symbols-rounded {
  font-size: 16px;
}
.so-context-menu-tab:hover {
  color: var(--so-text-primary);
  background: var(--so-dropdown-item-hover);
}
.so-context-menu-tab.so-active {
  color: var(--so-accent-primary);
}
.so-context-menu-tab.so-active::after {
  background: var(--so-accent-primary);
}

.so-context-menu-tab-content {
  padding: 4px 0;
  max-height: 280px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-context-menu-tab-content::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-context-menu-tab-content::-webkit-scrollbar-track {
  background: transparent;
}
.so-context-menu-tab-content::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-context-menu-tab-content::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-context-menu-tab-pane {
  display: none;
}
.so-context-menu-tab-pane.so-active {
  display: block;
}

.so-context-menu-tabs-pills {
  padding: 4px;
  border-bottom: none;
  background: var(--so-card-hover-bg);
}
.so-context-menu-tabs-pills .so-context-menu-tabs-inner {
  padding-bottom: 0;
}
.so-context-menu-tabs-pills .so-context-menu-tab {
  border-radius: 6px;
}
.so-context-menu-tabs-pills .so-context-menu-tab::after {
  display: none;
}
.so-context-menu-tabs-pills .so-context-menu-tab.so-active {
  color: #ffffff;
  background: var(--so-accent-primary);
}
.so-context-menu-tabs-pills .so-context-menu-tab.so-active:hover {
  background: #1557b0;
}

.so-context-menu-tabs-boxed {
  padding: 4px;
  border-bottom: none;
}
.so-context-menu-tabs-boxed .so-context-menu-tabs-scroll {
  background: var(--so-card-hover-bg);
  border-radius: 6px;
  padding: 2px;
}
.so-context-menu-tabs-boxed .so-context-menu-tabs-inner {
  padding-bottom: 0;
  gap: 2px;
}
.so-context-menu-tabs-boxed .so-context-menu-tab {
  border-radius: 3px;
}
.so-context-menu-tabs-boxed .so-context-menu-tab::after {
  display: none;
}
.so-context-menu-tabs-boxed .so-context-menu-tab.so-active {
  color: var(--so-text-primary);
  background: var(--so-dropdown-bg);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}
.so-context-menu-tabs-boxed .so-context-menu-tab.so-active:hover {
  background: var(--so-dropdown-bg);
}

.so-context-menu-tabs-ghost {
  padding: 4px;
  border-bottom: 1px solid var(--so-dropdown-border);
}
.so-context-menu-tabs-ghost .so-context-menu-tabs-inner {
  padding-bottom: 0;
}
.so-context-menu-tabs-ghost .so-context-menu-tab {
  border-radius: 6px;
}
.so-context-menu-tabs-ghost .so-context-menu-tab::after {
  display: none;
}
.so-context-menu-tabs-ghost .so-context-menu-tab:hover {
  background: var(--so-dropdown-item-hover);
}
.so-context-menu-tabs-ghost .so-context-menu-tab.so-active {
  color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.1);
}
.so-context-menu-tabs-ghost .so-context-menu-tab.so-active:hover {
  background: rgba(26, 115, 232, 0.15);
}

.so-context-menu-tabs-bordered {
  padding: 4px;
  border-bottom: none;
}
.so-context-menu-tabs-bordered .so-context-menu-tabs-inner {
  padding-bottom: 0;
  gap: 4px;
}
.so-context-menu-tabs-bordered .so-context-menu-tab {
  border: 1px solid var(--so-dropdown-border);
  border-radius: 6px;
}
.so-context-menu-tabs-bordered .so-context-menu-tab::after {
  display: none;
}
.so-context-menu-tabs-bordered .so-context-menu-tab:hover {
  border-color: var(--so-border-dark);
  background: var(--so-dropdown-item-hover);
}
.so-context-menu-tabs-bordered .so-context-menu-tab.so-active {
  color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.05);
}
.so-context-menu-tabs-bordered .so-context-menu-tab.so-active:hover {
  background: rgba(26, 115, 232, 0.1);
}

.so-component-navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 8px 16px;
  font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  background: var(--so-card-bg);
  border-bottom: 1px solid var(--so-border-color);
}

.so-component-navbar-container {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.so-component-navbar-contained .so-component-navbar-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.so-component-navbar-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px 4px 0;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  color: var(--so-text-heading);
  transition: color 0.2s ease;
}
.so-component-navbar-brand:hover {
  color: var(--so-accent-primary);
  text-decoration: none;
}
.so-component-navbar-brand img {
  height: 32px;
  width: auto;
}
.so-component-navbar-brand .material-symbols-rounded {
  font-size: 28px;
}

.so-component-navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
}

.so-component-navbar-item {
  position: relative;
  margin-bottom: 0;
}

.so-component-navbar-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  text-decoration: none;
  white-space: nowrap;
  border-radius: 4px;
  transition: color 0.2s ease, background 0.2s ease;
}
.so-component-navbar-link:hover {
  color: var(--so-text-primary);
  background: var(--so-card-hover-bg);
  text-decoration: none;
}
.so-component-navbar-link.so-active {
  color: var(--so-accent-primary);
}
.so-component-navbar-link.so-disabled {
  color: var(--so-text-disabled);
  pointer-events: none;
  cursor: not-allowed;
}
.so-component-navbar-link .material-symbols-rounded {
  font-size: 20px;
}
.so-component-navbar-link .so-badge {
  margin-left: 4px;
}

.so-component-navbar-text {
  padding: 8px 12px;
  color: var(--so-text-secondary);
  font-size: 0.875rem;
}

.so-component-navbar-divider {
  width: 1px;
  height: 24px;
  margin: 0 8px;
  background: var(--so-border-color);
}

.so-component-navbar-toggler {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--so-border-color);
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.so-component-navbar-toggler:hover {
  background: var(--so-card-hover-bg);
}
.so-component-navbar-toggler:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.1);
}

.so-component-navbar-toggler-icon {
  display: block;
  position: relative;
  width: 22px;
  height: 2px;
  background: var(--so-text-primary);
  border-radius: 1px;
  transition: background 0.2s ease;
}
.so-component-navbar-toggler-icon::before, .so-component-navbar-toggler-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--so-text-primary);
  border-radius: 1px;
  transition: transform 0.2s ease;
}
.so-component-navbar-toggler-icon::before {
  top: -7px;
}
.so-component-navbar-toggler-icon::after {
  top: 7px;
}
.so-component-navbar-toggler[aria-expanded=true] .so-component-navbar-toggler-icon {
  background: transparent;
}
.so-component-navbar-toggler[aria-expanded=true] .so-component-navbar-toggler-icon::before {
  transform: translateY(7px) rotate(45deg);
}
.so-component-navbar-toggler[aria-expanded=true] .so-component-navbar-toggler-icon::after {
  transform: translateY(-7px) rotate(-45deg);
}

.so-component-navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}
.so-component-navbar-collapse:not(.so-show) {
  display: none;
}
.so-component-navbar-collapse.so-show {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-top: 12px;
}
.so-component-navbar-collapse.so-collapsing {
  display: flex;
  flex-direction: column;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

.so-component-navbar-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.so-component-navbar-form .so-form-control {
  width: auto;
  flex: 1 1 auto;
}

.so-component-navbar-search {
  position: relative;
  display: flex;
  align-items: center;
}
.so-component-navbar-search .so-form-control {
  padding-left: 40px;
  min-width: 200px;
}
.so-component-navbar-search .search-icon {
  position: absolute;
  left: 12px;
  color: var(--so-text-muted);
  font-size: 20px;
  pointer-events: none;
}

.so-component-navbar-light {
  background: var(--so-card-bg);
}
.so-component-navbar-light .so-component-navbar-brand {
  color: var(--so-text-heading);
}
.so-component-navbar-light .so-component-navbar-link {
  color: var(--so-text-secondary);
}
.so-component-navbar-light .so-component-navbar-link:hover {
  color: var(--so-text-primary);
}
.so-component-navbar-light .so-component-navbar-link.so-active {
  color: var(--so-accent-primary);
}
.so-component-navbar-light .so-component-navbar-toggler-icon,
.so-component-navbar-light .so-component-navbar-toggler-icon::before,
.so-component-navbar-light .so-component-navbar-toggler-icon::after {
  background: var(--so-text-primary);
}

.so-component-navbar-dark {
  background: #202124;
  border-color: #3c4043;
}
.so-component-navbar-dark .so-component-navbar-brand {
  color: #ffffff;
}
.so-component-navbar-dark .so-component-navbar-brand:hover {
  color: #dadce0;
}
.so-component-navbar-dark .so-component-navbar-link {
  color: #bdc1c6;
}
.so-component-navbar-dark .so-component-navbar-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}
.so-component-navbar-dark .so-component-navbar-link.so-active {
  color: #ffffff;
}
.so-component-navbar-dark .so-component-navbar-link.so-disabled {
  color: #80868b;
}
.so-component-navbar-dark .so-component-navbar-text {
  color: #bdc1c6;
}
.so-component-navbar-dark .so-component-navbar-divider {
  background: #5f6368;
}
.so-component-navbar-dark .so-component-navbar-toggler {
  border-color: #5f6368;
}
.so-component-navbar-dark .so-component-navbar-toggler:hover {
  background: rgba(255, 255, 255, 0.1);
}
.so-component-navbar-dark .so-component-navbar-toggler-icon,
.so-component-navbar-dark .so-component-navbar-toggler-icon::before,
.so-component-navbar-dark .so-component-navbar-toggler-icon::after {
  background: #ffffff;
}

.so-component-navbar-primary {
  background: #1a73e8;
  border-color: #1557b0;
}
.so-component-navbar-primary .so-component-navbar-brand {
  color: #ffffff;
}
.so-component-navbar-primary .so-component-navbar-brand:hover {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-primary .so-component-navbar-link {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-primary .so-component-navbar-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-primary .so-component-navbar-link.so-active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.2);
}
.so-component-navbar-primary .so-component-navbar-link.so-disabled {
  color: rgba(255, 255, 255, 0.5);
}
.so-component-navbar-primary .so-component-navbar-text {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-primary .so-component-navbar-divider {
  background: rgba(255, 255, 255, 0.25);
}
.so-component-navbar-primary .so-component-navbar-toggler {
  border-color: rgba(255, 255, 255, 0.3);
}
.so-component-navbar-primary .so-component-navbar-toggler:hover {
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-primary .so-component-navbar-toggler:focus {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25);
}
.so-component-navbar-primary .so-component-navbar-toggler-icon,
.so-component-navbar-primary .so-component-navbar-toggler-icon::before,
.so-component-navbar-primary .so-component-navbar-toggler-icon::after {
  background: #ffffff;
}

.so-component-navbar-secondary {
  background: #6c757d;
  border-color: #495057;
}
.so-component-navbar-secondary .so-component-navbar-brand,
.so-component-navbar-secondary .so-component-navbar-link.active {
  color: #ffffff;
}
.so-component-navbar-secondary .so-component-navbar-link {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-secondary .so-component-navbar-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-secondary .so-component-navbar-text {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-secondary .so-component-navbar-divider {
  background: rgba(255, 255, 255, 0.25);
}
.so-component-navbar-secondary .so-component-navbar-toggler {
  border-color: rgba(255, 255, 255, 0.3);
}
.so-component-navbar-secondary .so-component-navbar-toggler:hover {
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-secondary .so-component-navbar-toggler-icon,
.so-component-navbar-secondary .so-component-navbar-toggler-icon::before,
.so-component-navbar-secondary .so-component-navbar-toggler-icon::after {
  background: #ffffff;
}

.so-component-navbar-success {
  background: #34a853;
  border-color: #2d8f47;
}
.so-component-navbar-success .so-component-navbar-brand,
.so-component-navbar-success .so-component-navbar-link.active {
  color: #ffffff;
}
.so-component-navbar-success .so-component-navbar-link {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-success .so-component-navbar-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-success .so-component-navbar-text {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-success .so-component-navbar-divider {
  background: rgba(255, 255, 255, 0.25);
}
.so-component-navbar-success .so-component-navbar-toggler {
  border-color: rgba(255, 255, 255, 0.3);
}
.so-component-navbar-success .so-component-navbar-toggler:hover {
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-success .so-component-navbar-toggler-icon,
.so-component-navbar-success .so-component-navbar-toggler-icon::before,
.so-component-navbar-success .so-component-navbar-toggler-icon::after {
  background: #ffffff;
}

.so-component-navbar-danger {
  background: #ea4335;
  border-color: #d33426;
}
.so-component-navbar-danger .so-component-navbar-brand,
.so-component-navbar-danger .so-component-navbar-link.active {
  color: #ffffff;
}
.so-component-navbar-danger .so-component-navbar-link {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-danger .so-component-navbar-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-danger .so-component-navbar-text {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-danger .so-component-navbar-divider {
  background: rgba(255, 255, 255, 0.25);
}
.so-component-navbar-danger .so-component-navbar-toggler {
  border-color: rgba(255, 255, 255, 0.3);
}
.so-component-navbar-danger .so-component-navbar-toggler:hover {
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-danger .so-component-navbar-toggler-icon,
.so-component-navbar-danger .so-component-navbar-toggler-icon::before,
.so-component-navbar-danger .so-component-navbar-toggler-icon::after {
  background: #ffffff;
}

.so-component-navbar-warning {
  background: #ffb300;
  border-color: #ff8f00;
}
.so-component-navbar-warning .so-component-navbar-brand,
.so-component-navbar-warning .so-component-navbar-link.active {
  color: #202124;
}
.so-component-navbar-warning .so-component-navbar-link {
  color: rgba(32, 33, 36, 0.85);
}
.so-component-navbar-warning .so-component-navbar-link:hover {
  color: #202124;
  background: rgba(0, 0, 0, 0.1);
}
.so-component-navbar-warning .so-component-navbar-text {
  color: rgba(32, 33, 36, 0.85);
}
.so-component-navbar-warning .so-component-navbar-divider {
  background: rgba(0, 0, 0, 0.2);
}
.so-component-navbar-warning .so-component-navbar-toggler {
  border-color: rgba(0, 0, 0, 0.2);
}
.so-component-navbar-warning .so-component-navbar-toggler:hover {
  background: rgba(0, 0, 0, 0.1);
}
.so-component-navbar-warning .so-component-navbar-toggler-icon,
.so-component-navbar-warning .so-component-navbar-toggler-icon::before,
.so-component-navbar-warning .so-component-navbar-toggler-icon::after {
  background: #202124;
}

.so-component-navbar-info {
  background: #17a2b8;
  border-color: #138496;
}
.so-component-navbar-info .so-component-navbar-brand,
.so-component-navbar-info .so-component-navbar-link.active {
  color: #ffffff;
}
.so-component-navbar-info .so-component-navbar-link {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-info .so-component-navbar-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-info .so-component-navbar-text {
  color: rgba(255, 255, 255, 0.85);
}
.so-component-navbar-info .so-component-navbar-divider {
  background: rgba(255, 255, 255, 0.25);
}
.so-component-navbar-info .so-component-navbar-toggler {
  border-color: rgba(255, 255, 255, 0.3);
}
.so-component-navbar-info .so-component-navbar-toggler:hover {
  background: rgba(255, 255, 255, 0.15);
}
.so-component-navbar-info .so-component-navbar-toggler-icon,
.so-component-navbar-info .so-component-navbar-toggler-icon::before,
.so-component-navbar-info .so-component-navbar-toggler-icon::after {
  background: #ffffff;
}

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

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

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

.so-component-navbar-shadow {
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18);
  border-bottom: none;
}

.so-component-navbar-bordered {
  border-bottom: 1px solid var(--so-border-color);
}

.so-component-navbar-transparent {
  background: transparent;
  border-bottom: none;
}

@media (min-width: 576px) {
  .so-component-navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .so-component-navbar-expand-sm .so-component-navbar-nav {
    flex-direction: row;
    align-items: center;
  }
  .so-component-navbar-expand-sm .so-component-navbar-collapse {
    display: flex;
    flex-basis: auto;
  }
  .so-component-navbar-expand-sm .so-component-navbar-collapse.so-collapsing {
    height: auto;
    overflow: visible;
  }
  .so-component-navbar-expand-sm .so-component-navbar-toggler,
  .so-component-navbar-expand-sm .so-hamburger {
    display: none;
  }
}

@media (min-width: 768px) {
  .so-component-navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .so-component-navbar-expand-md .so-component-navbar-nav {
    flex-direction: row;
    align-items: center;
  }
  .so-component-navbar-expand-md .so-component-navbar-collapse {
    display: flex;
    flex-basis: auto;
  }
  .so-component-navbar-expand-md .so-component-navbar-collapse.so-collapsing {
    height: auto;
    overflow: visible;
  }
  .so-component-navbar-expand-md .so-component-navbar-toggler,
  .so-component-navbar-expand-md .so-hamburger {
    display: none;
  }
}

@media (min-width: 1024px) {
  .so-component-navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .so-component-navbar-expand-lg .so-component-navbar-nav {
    flex-direction: row;
    align-items: center;
  }
  .so-component-navbar-expand-lg .so-component-navbar-collapse {
    display: flex;
    flex-basis: auto;
  }
  .so-component-navbar-expand-lg .so-component-navbar-collapse.so-collapsing {
    height: auto;
    overflow: visible;
  }
  .so-component-navbar-expand-lg .so-component-navbar-toggler,
  .so-component-navbar-expand-lg .so-hamburger {
    display: none;
  }
}

@media (min-width: 1200px) {
  .so-component-navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .so-component-navbar-expand-xl .so-component-navbar-nav {
    flex-direction: row;
    align-items: center;
  }
  .so-component-navbar-expand-xl .so-component-navbar-collapse {
    display: flex;
    flex-basis: auto;
  }
  .so-component-navbar-expand-xl .so-component-navbar-collapse.so-collapsing {
    height: auto;
    overflow: visible;
  }
  .so-component-navbar-expand-xl .so-component-navbar-toggler,
  .so-component-navbar-expand-xl .so-hamburger {
    display: none;
  }
}

.so-component-navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.so-component-navbar-expand .so-component-navbar-nav {
  flex-direction: row;
  align-items: center;
}
.so-component-navbar-expand .so-component-navbar-collapse {
  display: flex;
  flex-basis: auto;
}
.so-component-navbar-expand .so-component-navbar-toggler,
.so-component-navbar-expand .so-hamburger {
  display: none;
}

.so-component-navbar-nav .so-dropdown {
  position: relative;
}
.so-component-navbar-nav .so-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 4px;
}
.so-component-navbar-nav .so-dropdown-menu.dropdown-menu-end, .so-component-navbar-nav .so-dropdown-menu.so-dropdown-menu-end {
  left: auto;
  right: 0;
}
.so-component-navbar-nav .so-component-navbar-link.so-dropdown-toggle,
.so-component-navbar-nav .so-dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 4px;
}
.so-component-navbar-nav .so-component-navbar-link.so-dropdown-toggle .so-dropdown-arrow,
.so-component-navbar-nav .so-dropdown-toggle .so-dropdown-arrow {
  transition: transform 0.2s ease;
}
.so-component-navbar-nav .so-component-navbar-link.so-dropdown-toggle:not(:has(.so-dropdown-arrow))::after,
.so-component-navbar-nav .so-dropdown-toggle:not(:has(.so-dropdown-arrow))::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 4px;
  vertical-align: middle;
  border-top: 5px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  transition: transform 0.2s ease;
}
.so-component-navbar-nav .so-dropdown.so-open .so-dropdown-arrow,
.so-component-navbar-nav .so-dropdown.show .so-dropdown-arrow {
  transform: rotate(180deg);
}
.so-component-navbar-nav .so-dropdown.so-open .so-dropdown-toggle::after,
.so-component-navbar-nav .so-dropdown.show .so-dropdown-toggle::after {
  transform: rotate(180deg);
}

.so-component-navbar-mega {
  position: static;
}
.so-component-navbar-mega .so-dropdown-menu {
  left: 0;
  right: 0;
  width: 100%;
  padding: 16px;
  border-radius: 0;
  border-left: none;
  border-right: none;
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.22);
}

.so-component-navbar-offcanvas {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 280px;
  max-width: 100%;
  background: var(--so-card-bg);
  box-shadow: 0 12px 32px 0 rgba(0, 0, 0, 0.25);
  z-index: 1050;
  overflow-y: auto;
  transition: transform 0.3s ease;
  left: 0;
  right: auto;
  transform: translateX(-100%);
}
.so-component-navbar-offcanvas.so-show {
  transform: translateX(0);
}

.so-component-navbar-offcanvas-start {
  left: 0;
  right: auto;
  transform: translateX(-100%);
}
.so-component-navbar-offcanvas-start.so-show {
  transform: translateX(0);
}

.so-component-navbar-offcanvas-end,
.so-component-navbar-offcanvas.offcanvas-end {
  left: auto;
  right: 0;
  transform: translateX(100%);
}
.so-component-navbar-offcanvas-end.so-show,
.so-component-navbar-offcanvas.offcanvas-end.so-show {
  transform: translateX(0);
}

.so-component-navbar-offcanvas-full {
  width: 100%;
  max-width: 100%;
}

.so-component-navbar-offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid var(--so-border-color);
}

.so-component-navbar-offcanvas-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
}

.so-component-navbar-offcanvas-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  color: var(--so-text-secondary);
  transition: background 0.1s ease, color 0.1s ease;
}
.so-component-navbar-offcanvas-close:hover {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-component-navbar-offcanvas-close:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.15);
}

.so-component-navbar-offcanvas-body {
  padding: 16px;
}
.so-component-navbar-offcanvas-body .so-component-navbar-nav {
  flex-direction: column;
}
.so-component-navbar-offcanvas-body .so-component-navbar-nav .so-component-navbar-link {
  padding: 12px 16px;
  border-radius: 8px;
}
.so-component-navbar-offcanvas-body .so-list-group {
  margin: 0;
  border-radius: 0;
}
.so-component-navbar-offcanvas-body .so-list-group .so-list-group-item {
  border-left: 0;
  border-right: 0;
  border-radius: 0;
}
.so-component-navbar-offcanvas-body .so-list-group .so-list-group-item:first-child {
  border-top: 0;
}

.so-component-navbar-offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1045;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.so-component-navbar-offcanvas-backdrop.so-show {
  opacity: 1;
  visibility: visible;
}

.so-component-navbar-nav-start {
  margin-right: auto;
}

.so-component-navbar-nav-end {
  margin-left: auto;
}

.so-component-navbar-nav-center {
  margin-left: auto;
  margin-right: auto;
}

.so-hamburger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  padding: 8px;
}
.so-hamburger:hover {
  opacity: 0.7;
}
.so-hamburger:focus {
  outline: none;
}

.so-hamburger-box {
  width: 30px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.so-hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}
.so-hamburger-inner, .so-hamburger-inner::before, .so-hamburger-inner::after {
  width: 30px;
  height: 3px;
  background-color: currentColor;
  border-radius: 2px;
  position: absolute;
  transition-property: transform, opacity;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.so-hamburger-inner::before, .so-hamburger-inner::after {
  content: "";
  display: block;
}
.so-hamburger-inner::before {
  top: -8px;
}
.so-hamburger-inner::after {
  bottom: -8px;
}

.so-hamburger--squeeze .so-hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.so-hamburger--squeeze .so-hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.so-hamburger--squeeze .so-hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.so-hamburger--squeeze.is-active .so-hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.so-hamburger--squeeze.is-active .so-hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.so-hamburger--squeeze.is-active .so-hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.so-hamburger--spin .so-hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.so-hamburger--spin .so-hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}
.so-hamburger--spin .so-hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.so-hamburger--spin.is-active .so-hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.so-hamburger--spin.is-active .so-hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}
.so-hamburger--spin.is-active .so-hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.so-hamburger--elastic .so-hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.so-hamburger--elastic .so-hamburger-inner::before {
  top: 8px;
  transition: opacity 0.125s 0.275s ease;
}
.so-hamburger--elastic .so-hamburger-inner::after {
  top: 16px;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.so-hamburger--elastic.is-active .so-hamburger-inner {
  transform: translate3d(0, 8px, 0) rotate(135deg);
  transition-delay: 0.075s;
}
.so-hamburger--elastic.is-active .so-hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}
.so-hamburger--elastic.is-active .so-hamburger-inner::after {
  transform: translate3d(0, -16px, 0) rotate(-270deg);
  transition-delay: 0.075s;
}

.so-hamburger--arrow .so-hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.so-hamburger--arrow .so-hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.so-hamburger--arrow.is-active .so-hamburger-inner::before {
  top: 0;
  transform: translate3d(-5px, -7px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.so-hamburger--arrow.is-active .so-hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-5px, 7px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.so-hamburger--collapse .so-hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.so-hamburger--collapse .so-hamburger-inner::after {
  top: -16px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.so-hamburger--collapse .so-hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.so-hamburger--collapse.is-active .so-hamburger-inner {
  transform: translate3d(0, -8px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.so-hamburger--collapse.is-active .so-hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.so-hamburger--collapse.is-active .so-hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.so-hamburger--sm .so-hamburger-box {
  width: 24px;
  height: 18px;
}
.so-hamburger--sm .so-hamburger-inner,
.so-hamburger--sm .so-hamburger-inner::before,
.so-hamburger--sm .so-hamburger-inner::after {
  width: 24px;
  height: 2px;
}
.so-hamburger--sm .so-hamburger-inner::before {
  top: -6px;
}
.so-hamburger--sm .so-hamburger-inner::after {
  bottom: -6px;
}

.so-hamburger--lg .so-hamburger-box {
  width: 36px;
  height: 30px;
}
.so-hamburger--lg .so-hamburger-inner,
.so-hamburger--lg .so-hamburger-inner::before,
.so-hamburger--lg .so-hamburger-inner::after {
  width: 36px;
  height: 4px;
}
.so-hamburger--lg .so-hamburger-inner::before {
  top: -10px;
}
.so-hamburger--lg .so-hamburger-inner::after {
  bottom: -10px;
}

[data-theme=dark] .so-component-navbar-light {
  background: var(--so-card-bg);
  border-color: var(--so-border-color);
}
[data-theme=dark] .so-component-navbar-light .so-component-navbar-brand {
  color: var(--so-text-heading);
}
[data-theme=dark] .so-component-navbar-light .so-component-navbar-link {
  color: var(--so-text-secondary);
}
[data-theme=dark] .so-component-navbar-light .so-component-navbar-link:hover {
  color: var(--so-text-primary);
  background: var(--so-card-hover-bg);
}
[data-theme=dark] .so-component-navbar-light .so-component-navbar-link.so-active {
  color: var(--so-accent-primary);
}
[data-theme=dark] .so-component-navbar-light .so-component-navbar-toggler-icon,
[data-theme=dark] .so-component-navbar-light .so-component-navbar-toggler-icon::before,
[data-theme=dark] .so-component-navbar-light .so-component-navbar-toggler-icon::after {
  background: var(--so-text-primary);
}
[data-theme=dark] .so-component-navbar-offcanvas {
  background: var(--so-card-bg);
}
[data-theme=dark] .so-component-navbar-offcanvas .so-component-navbar-offcanvas-header {
  border-color: var(--so-border-color);
}

.so-quick-links {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 8px 16px;
  background: var(--so-card-bg);
  border-bottom: 1px solid var(--so-border-color);
  border-radius: 8px 8px 0 0;
  font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  z-index: 1;
  transition: box-shadow 0.15s ease, min-height 0.15s ease, padding 0.15s ease;
}
.so-quick-links::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--so-border-color);
}

.so-quick-links-inner {
  display: flex;
  align-items: center;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}
.so-quick-links-inner::-webkit-scrollbar {
  display: none;
}

.so-quick-links-list {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.so-quick-links-item {
  display: flex;
  align-items: center;
  margin: 0;
}

.so-quick-links-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  text-decoration: none;
  white-space: nowrap;
  border-radius: 4px;
  transition: color 0.15s ease, background 0.15s ease, transform 0.15s ease;
  cursor: pointer;
}
.so-quick-links-link:hover {
  color: var(--so-text-primary);
  background: var(--so-card-hover-bg);
  text-decoration: none;
}
.so-quick-links-link:focus {
  outline: none;
}
.so-quick-links-link:focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: -2px;
}
.so-quick-links-link.so-quick-links-link-active, .so-quick-links-link.so-active {
  color: var(--so-accent-primary);
  background: rgba(var(--so-accent-primary-rgb), 0.08);
  font-weight: 600;
}
.so-quick-links-link.so-quick-links-link-active .so-quick-links-icon, .so-quick-links-link.so-active .so-quick-links-icon {
  color: var(--so-accent-primary);
}

.so-quick-links-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: inherit;
}
.so-quick-links-icon .material-symbols-rounded {
  font-size: 20px;
}

.so-quick-links-label {
  transition: opacity 0.15s ease, width 0.15s ease, padding 0.15s ease;
}

.so-quick-links-divider {
  display: flex;
  align-items: center;
  width: 1px;
  height: 24px;
  margin: 0 8px;
  background: var(--so-border-color);
  flex-shrink: 0;
}

.so-quick-links-position-content.so-quick-links-sticky {
  position: sticky;
  top: 0;
  z-index: 1020;
}
.so-quick-links-position-content.so-quick-links-sticky.so-quick-links-stuck {
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18);
  border-radius: 0;
}

.so-quick-links-position-fixed {
  position: fixed;
  top: var(--so-navbar-height, 56px);
  left: var(--so-sidebar-width, 0);
  right: 0;
  z-index: 1020;
  border-radius: 0;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  margin: 0;
}
.so-sidebar-collapsed ~ .so-main-content .so-quick-links-position-fixed {
  left: var(--so-sidebar-collapsed-width, 64px);
}

.so-quick-links-compact {
  min-height: 40px;
  padding: 4px 16px;
}
.so-quick-links-compact .so-quick-links-link {
  padding: 8px;
}
.so-quick-links-compact .so-quick-links-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.so-quick-links-compact .so-quick-links-divider {
  height: 20px;
  margin: 0 4px;
}

.so-quick-links-transition .so-quick-links-label {
  transition: opacity 0.1s ease, width 0.1s ease, padding 0.1s ease;
}
.so-quick-links-transition .so-quick-links-link {
  transition: padding 0.1s ease, color 0.15s ease, background 0.15s ease;
}

@media (max-width: 767px) {
  .so-quick-links {
    padding: 4px 8px;
    min-height: 40px;
    border-radius: 4px 4px 0 0;
  }
  .so-quick-links-link {
    padding: 4px 8px;
    font-size: 0.6875rem;
  }
  .so-quick-links-icon .material-symbols-rounded {
    font-size: 18px;
  }
  .so-quick-links-divider {
    height: 20px;
    margin: 0 4px;
  }
  .so-quick-links-sticky .so-quick-links-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
[data-theme=dark] .so-quick-links {
  background: var(--so-card-bg);
  border-color: var(--so-border-color);
}
[data-theme=dark] .so-quick-links-link:hover {
  background: var(--so-card-hover-bg);
}
[data-theme=dark] .so-quick-links-link.so-quick-links-link-active {
  background: rgba(var(--so-accent-primary-rgb), 0.12);
}
[data-theme=dark] .so-quick-links-stuck {
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18);
}

.so-skin-glass .so-quick-links {
  background: rgba(var(--so-card-bg-rgb), 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.so-skin-neumorph .so-quick-links {
  box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.05), inset -2px -2px 5px rgba(255, 255, 255, 0.8);
  border: none;
}
.so-skin-neumorph .so-quick-links.so-quick-links-stuck {
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1), -4px -4px 10px rgba(255, 255, 255, 0.8);
}

.so-slider {
  --slider-track-height: 8px;
  --slider-thumb-size: 18px;
  --slider-fill-bg: var(--so-accent-primary);
  --slider-thumb-bg: var(--so-accent-primary);
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: var(--slider-thumb-size);
  padding: 8px 0;
  padding-left: calc(var(--slider-thumb-size) / 2);
  padding-right: calc(var(--slider-thumb-size) / 2);
}

.so-slider-input {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.so-slider-input:disabled {
  cursor: not-allowed;
}

.so-slider-track {
  position: relative;
  width: 100%;
  height: var(--slider-track-height);
  background: var(--so-form-disabled-bg, #dadce0);
  border-radius: 9999px;
  overflow: visible;
}

.so-slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: var(--slider-fill-bg);
  border-radius: 9999px;
  pointer-events: none;
  z-index: 1;
}

.so-slider-thumb {
  position: absolute;
  top: 50%;
  width: var(--slider-thumb-size);
  height: var(--slider-thumb-size);
  background: var(--slider-thumb-bg);
  border: 2px solid #ffffff;
  border-radius: 9999px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transform: translate(-50%, -50%);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
  pointer-events: none;
  z-index: 3;
}

.so-slider:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px var(--so-primary-focus-ring);
}
.so-slider:not(.so-slider-range) .so-slider-input:hover + .so-slider-track .so-slider-thumb {
  transform: translate(-50%, -50%) scale(1.1);
}
.so-slider:not(.so-slider-range) .so-slider-input:active + .so-slider-track .so-slider-thumb {
  transform: translate(-50%, -50%) scale(1.15);
}

.so-slider-xs {
  --slider-track-height: 4px;
  --slider-thumb-size: 12px;
}

.so-slider-sm {
  --slider-track-height: 6px;
  --slider-thumb-size: 14px;
}

.so-slider-lg {
  --slider-track-height: 10px;
  --slider-thumb-size: 22px;
}

.so-slider-primary {
  --slider-fill-bg: var(--so-accent-primary);
  --slider-thumb-bg: var(--so-accent-primary);
}
.so-slider-primary:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px var(--so-primary-focus-ring);
}

.so-slider-secondary {
  --slider-fill-bg: var(--so-accent-secondary);
  --slider-thumb-bg: var(--so-accent-secondary);
}
.so-slider-secondary:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px var(--so-secondary-focus-ring);
}

.so-slider-success {
  --slider-fill-bg: var(--so-accent-success);
  --slider-thumb-bg: var(--so-accent-success);
}
.so-slider-success:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px var(--so-success-focus-ring);
}

.so-slider-danger {
  --slider-fill-bg: var(--so-accent-danger);
  --slider-thumb-bg: var(--so-accent-danger);
}
.so-slider-danger:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px var(--so-danger-focus-ring);
}

.so-slider-warning {
  --slider-fill-bg: var(--so-accent-warning);
  --slider-thumb-bg: var(--so-accent-warning);
}
.so-slider-warning:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px var(--so-warning-focus-ring);
}

.so-slider-info {
  --slider-fill-bg: var(--so-accent-info);
  --slider-thumb-bg: var(--so-accent-info);
}
.so-slider-info:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px var(--so-info-focus-ring);
}

.so-slider-light {
  --slider-fill-bg: #bdc1c6;
  --slider-thumb-bg: #bdc1c6;
}
.so-slider-light:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px rgba(189, 193, 198, 0.3);
}

.so-slider-dark {
  --slider-fill-bg: #3c4043;
  --slider-thumb-bg: #3c4043;
}
.so-slider-dark:not(.so-slider-range) .so-slider-input:focus + .so-slider-track .so-slider-thumb {
  box-shadow: 0 0 0 4px rgba(60, 64, 67, 0.2);
}

.so-slider-discrete .so-slider-ticks {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}
.so-slider-discrete .so-slider-tick {
  width: 2px;
  height: calc(var(--slider-track-height) + 4px);
  background: var(--so-border-color, #bdc1c6);
  border-radius: 1px;
}
.so-slider-discrete .so-slider-tick.active {
  background: var(--slider-fill-bg);
}

.so-slider-labeled .so-slider-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  padding: 4px 8px;
  background: #3c4043;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 500;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(-50%) translateY(4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
  pointer-events: none;
  z-index: 10;
}
.so-slider-labeled .so-slider-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #3c4043;
}
.so-slider-labeled .so-slider-input:hover + .so-slider-track .so-slider-tooltip,
.so-slider-labeled .so-slider-input:focus + .so-slider-track .so-slider-tooltip,
.so-slider-labeled .so-slider-input:active + .so-slider-track .so-slider-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.so-slider-vertical {
  width: var(--slider-thumb-size);
  height: 200px;
  flex-direction: column;
  padding: 0 8px;
}
.so-slider-vertical .so-slider-input {
  writing-mode: vertical-lr;
  direction: rtl;
  width: 100%;
  height: 100%;
}
.so-slider-vertical .so-slider-track {
  width: var(--slider-track-height);
  height: 100%;
}
.so-slider-vertical .so-slider-fill {
  width: 100%;
  height: auto;
  top: auto;
  bottom: 0;
}
.so-slider-vertical .so-slider-thumb {
  top: auto;
  left: 50%;
  transform: translate(-50%, 50%);
}
.so-slider-vertical .so-slider-input:hover + .so-slider-track .so-slider-thumb {
  transform: translate(-50%, 50%) scale(1.1);
}
.so-slider-vertical .so-slider-input:active + .so-slider-track .so-slider-thumb {
  transform: translate(-50%, 50%) scale(1.15);
}
.so-slider-vertical.so-slider-labeled .so-slider-tooltip {
  bottom: auto;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%) translateX(-4px);
}
.so-slider-vertical.so-slider-labeled .so-slider-tooltip::after {
  top: 50%;
  left: auto;
  right: 100%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-right-color: #3c4043;
  border-top-color: transparent;
}
.so-slider-vertical.so-slider-labeled .so-slider-input:hover + .so-slider-track .so-slider-tooltip,
.so-slider-vertical.so-slider-labeled .so-slider-input:focus + .so-slider-track .so-slider-tooltip,
.so-slider-vertical.so-slider-labeled .so-slider-input:active + .so-slider-track .so-slider-tooltip {
  transform: translateY(-50%) translateX(0);
}

.so-slider-range .so-slider-input {
  pointer-events: none;
}
.so-slider-range .so-slider-input::-webkit-slider-thumb {
  pointer-events: all;
  cursor: pointer;
}
.so-slider-range .so-slider-input::-moz-range-thumb {
  pointer-events: all;
  cursor: pointer;
}
.so-slider-range .so-slider-input-min {
  z-index: 3;
}
.so-slider-range .so-slider-input-max {
  z-index: 4;
}
.so-slider-range.min-above .so-slider-input-min {
  z-index: 5;
}
.so-slider-range .so-slider-thumb-min,
.so-slider-range .so-slider-thumb-max {
  position: absolute;
  top: 50%;
  width: var(--slider-thumb-size);
  height: var(--slider-thumb-size);
  background: var(--slider-thumb-bg);
  border: 2px solid #ffffff;
  border-radius: 9999px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transform: translate(-50%, -50%);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
  pointer-events: none;
  z-index: 3;
}
.so-slider-range .so-slider-thumb-min:hover,
.so-slider-range .so-slider-thumb-max:hover {
  transform: translate(-50%, -50%) scale(1.1);
}
.so-slider-range:not(.dragging) .so-slider-input-min:focus ~ .so-slider-track .so-slider-thumb-min {
  box-shadow: 0 0 0 4px var(--so-primary-focus-ring);
  transform: translate(-50%, -50%) scale(1.1);
}
.so-slider-range:not(.dragging) .so-slider-input-max:focus ~ .so-slider-track .so-slider-thumb-max {
  box-shadow: 0 0 0 4px var(--so-primary-focus-ring);
  transform: translate(-50%, -50%) scale(1.1);
}
.so-slider-range.dragging-min .so-slider-thumb-min {
  box-shadow: 0 0 0 4px var(--so-primary-focus-ring);
  transform: translate(-50%, -50%) scale(1.1);
}
.so-slider-range.dragging-min .so-slider-thumb-max {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transform: translate(-50%, -50%);
}
.so-slider-range.dragging-max .so-slider-thumb-max {
  box-shadow: 0 0 0 4px var(--so-primary-focus-ring);
  transform: translate(-50%, -50%) scale(1.1);
}
.so-slider-range.dragging-max .so-slider-thumb-min {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transform: translate(-50%, -50%);
}
.so-slider-range.so-slider-labeled .so-slider-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  padding: 4px 8px;
  background: #3c4043;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 500;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(-50%) translateY(4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
  pointer-events: none;
  z-index: 10;
}
.so-slider-range.so-slider-labeled .so-slider-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #3c4043;
}
.so-slider-range.so-slider-labeled:hover .so-slider-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.so-slider-range.so-slider-labeled.dragging .so-slider-tooltip {
  opacity: 0;
  transform: translateX(-50%) translateY(4px);
}
.so-slider-range.so-slider-labeled.dragging-min .so-slider-thumb-min .so-slider-tooltip, .so-slider-range.so-slider-labeled.dragging-max .so-slider-thumb-max .so-slider-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.so-slider-range.dragging-min .so-slider-thumb-min {
  transform: translate(-50%, -50%) scale(1.15);
  z-index: 4;
}
.so-slider-range.dragging-min .so-slider-thumb-max {
  transform: translate(-50%, -50%);
  z-index: 3;
}
.so-slider-range.dragging-max .so-slider-thumb-max {
  transform: translate(-50%, -50%) scale(1.15);
  z-index: 4;
}
.so-slider-range.dragging-max .so-slider-thumb-min {
  transform: translate(-50%, -50%);
  z-index: 3;
}

.so-slider-disabled-zone {
  position: absolute;
  top: 0;
  height: 100%;
  background-color: #dadce0;
  background-image: repeating-linear-gradient(-45deg, rgba(128, 134, 139, 0.4), rgba(128, 134, 139, 0.4) 2px, transparent 2px, transparent 6px);
  border-radius: 9999px;
  pointer-events: all;
  cursor: not-allowed;
  z-index: 2;
}

.so-slider-disabled-zone-start {
  left: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.so-slider-disabled-zone-end {
  right: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.so-slider-vertical .so-slider-disabled-zone {
  width: 100%;
  height: auto;
  left: 0;
  right: 0;
  top: auto;
}
.so-slider-vertical .so-slider-disabled-zone-start {
  bottom: 0;
  border-radius: 9999px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.so-slider-vertical .so-slider-disabled-zone-end {
  top: 0;
  border-radius: 9999px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.so-slider.disabled,
.so-slider:has(.so-slider-input:disabled) {
  opacity: 0.5;
  pointer-events: none;
}
.so-slider.disabled .so-slider-thumb,
.so-slider:has(.so-slider-input:disabled) .so-slider-thumb {
  box-shadow: none;
}

.so-slider-value {
  min-width: 40px;
  margin-left: 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-primary);
  text-align: center;
}

.so-slider-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.so-slider-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-slider-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-primary);
  margin-bottom: 8px;
}

.so-slider-inline {
  display: flex;
  align-items: center;
  gap: 12px;
}
.so-slider-inline .so-slider {
  flex: 1;
}

[data-theme=dark] .so-slider-track {
  background: #5f6368;
}
[data-theme=dark] .so-slider-discrete .so-slider-tick {
  background: #80868b;
}
[data-theme=dark] .so-slider-labeled .so-slider-tooltip {
  background: #80868b;
}
[data-theme=dark] .so-slider-labeled .so-slider-tooltip::after {
  border-top-color: #80868b;
}
[data-theme=dark] .so-slider-vertical.so-slider-labeled .so-slider-tooltip::after {
  border-right-color: #80868b;
  border-top-color: transparent;
}
[data-theme=dark] .so-slider-range.so-slider-labeled .so-slider-tooltip {
  background: #80868b;
}
[data-theme=dark] .so-slider-range.so-slider-labeled .so-slider-tooltip::after {
  border-top-color: #80868b;
}
[data-theme=dark] .so-slider-disabled-zone {
  background-color: #5f6368;
  background-image: repeating-linear-gradient(-45deg, rgba(32, 33, 36, 0.5), rgba(32, 33, 36, 0.5) 2px, transparent 2px, transparent 6px);
}

.so-progress {
  --progress-height: 12px;
  --progress-bg: #e8eaed;
  --progress-bar-bg: var(--so-accent-primary);
  --progress-border-radius: 9999px;
  display: flex;
  height: var(--progress-height);
  overflow: hidden;
  background-color: var(--progress-bg);
  border-radius: var(--progress-border-radius);
  position: relative;
}

.so-progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  background-color: var(--progress-bar-bg);
  transition: width 0.15s ease ease;
  border-radius: var(--progress-border-radius);
}

.so-progress-label {
  padding: 0 8px;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: var(--progress-height);
}

.so-progress-xs {
  --progress-height: 4px;
}
.so-progress-xs .so-progress-label {
  font-size: 0;
  padding: 0;
}

.so-progress-sm {
  --progress-height: 8px;
}
.so-progress-sm .so-progress-label {
  line-height: 8px;
}

.so-progress-lg {
  --progress-height: 16px;
}
.so-progress-lg .so-progress-label {
  font-size: 0.8125rem;
  line-height: 16px;
}

.so-progress-xl {
  --progress-height: 20px;
}
.so-progress-xl .so-progress-label {
  font-size: 0.875rem;
  line-height: 20px;
}

.so-progress-primary {
  --progress-bar-bg: var(--so-accent-primary);
}

.so-progress-secondary {
  --progress-bar-bg: var(--so-accent-secondary);
}

.so-progress-success {
  --progress-bar-bg: var(--so-accent-success);
}

.so-progress-danger {
  --progress-bar-bg: var(--so-accent-danger);
}

.so-progress-warning {
  --progress-bar-bg: var(--so-accent-warning);
}
.so-progress-warning .so-progress-label {
  color: #202124;
}

.so-progress-info {
  --progress-bar-bg: var(--so-accent-info);
}

.so-progress-light {
  --progress-bar-bg: #dadce0;
}
.so-progress-light .so-progress-label {
  color: #3c4043;
}

.so-progress-dark {
  --progress-bar-bg: #3c4043;
}

.so-progress-striped .so-progress-bar {
  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: 1rem 1rem;
}

@keyframes so-progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}
.so-progress-animated .so-progress-bar {
  animation: so-progress-bar-stripes 1s linear infinite;
}

@keyframes so-progress-indeterminate {
  0% {
    left: -35%;
    right: 100%;
  }
  60% {
    left: 100%;
    right: -90%;
  }
  100% {
    left: 100%;
    right: -90%;
  }
}
@keyframes so-progress-indeterminate-short {
  0% {
    left: -200%;
    right: 100%;
  }
  60% {
    left: 107%;
    right: -8%;
  }
  100% {
    left: 107%;
    right: -8%;
  }
}
.so-progress-indeterminate {
  overflow: hidden;
}
.so-progress-indeterminate .so-progress-bar {
  width: auto !important;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  animation: so-progress-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}
.so-progress-indeterminate .so-progress-bar-secondary {
  animation: so-progress-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
  animation-delay: 1.15s;
}

.so-progress-buffer {
  position: relative;
  overflow: hidden;
}
.so-progress-buffer .so-progress-bar {
  position: relative;
  z-index: 2;
}
.so-progress-buffer .so-progress-buffer-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: rgba(26, 115, 232, 0.3);
  border-radius: var(--progress-border-radius);
  z-index: 1;
  transition: width 0.15s ease ease;
}
.so-progress-buffer.so-progress-primary .so-progress-buffer-bar {
  background-color: rgba(26, 115, 232, 0.3);
}
.so-progress-buffer.so-progress-secondary .so-progress-buffer-bar {
  background-color: rgba(108, 117, 125, 0.3);
}
.so-progress-buffer.so-progress-success .so-progress-buffer-bar {
  background-color: rgba(52, 168, 83, 0.3);
}
.so-progress-buffer.so-progress-danger .so-progress-buffer-bar {
  background-color: rgba(234, 67, 53, 0.3);
}
.so-progress-buffer.so-progress-warning .so-progress-buffer-bar {
  background-color: rgba(255, 179, 0, 0.3);
}
.so-progress-buffer.so-progress-info .so-progress-buffer-bar {
  background-color: rgba(23, 162, 184, 0.3);
}

@keyframes so-buffer-dots {
  0% {
    opacity: 1;
    background-position: 0 -23px;
  }
  50% {
    opacity: 0;
    background-position: 0 -23px;
  }
  100% {
    opacity: 1;
    background-position: -200px -23px;
  }
}
.so-progress-buffer-dots {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 2px 2px, currentColor 1px, transparent 1px);
  background-size: 10px 10px;
  opacity: 0.3;
  animation: so-buffer-dots 3s infinite linear;
  z-index: 0;
}

.so-progress-stacked {
  display: flex;
  overflow: hidden;
}
.so-progress-stacked .so-progress {
  overflow: visible;
  flex: none;
  height: 100%;
  background: transparent;
  border-radius: 0;
}
.so-progress-stacked .so-progress:first-child {
  border-radius: var(--progress-border-radius) 0 0 var(--progress-border-radius);
}
.so-progress-stacked .so-progress:first-child .so-progress-bar {
  border-radius: var(--progress-border-radius) 0 0 var(--progress-border-radius);
}
.so-progress-stacked .so-progress:last-child {
  border-radius: 0 var(--progress-border-radius) var(--progress-border-radius) 0;
}
.so-progress-stacked .so-progress:last-child .so-progress-bar {
  border-radius: 0 var(--progress-border-radius) var(--progress-border-radius) 0;
}
.so-progress-stacked .so-progress .so-progress-bar {
  width: 100%;
  border-radius: 0;
}

.so-progress-circular {
  --progress-circular-size: 48px;
  --progress-stroke-width: 4px;
  --progress-circular-color: var(--so-accent-primary);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--progress-circular-size);
  height: var(--progress-circular-size);
}

.so-progress-ring {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.so-progress-ring-bg {
  fill: none;
  stroke: #e8eaed;
  stroke-width: var(--progress-stroke-width);
}

.so-progress-ring-fill {
  fill: none;
  stroke: var(--progress-circular-color);
  stroke-width: var(--progress-stroke-width);
  stroke-linecap: round;
  transition: stroke-dashoffset 0.15s ease ease;
}

.so-progress-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-primary);
}

.so-progress-circular-xs {
  --progress-circular-size: 32px;
  --progress-stroke-width: 3px;
}
.so-progress-circular-sm {
  --progress-circular-size: 40px;
  --progress-stroke-width: 3px;
}
.so-progress-circular-sm .so-progress-text {
  font-size: 0.6875rem;
}

.so-progress-circular-lg {
  --progress-circular-size: 64px;
  --progress-stroke-width: 5px;
}
.so-progress-circular-lg .so-progress-text {
  font-size: 0.875rem;
}

.so-progress-circular-xl {
  --progress-circular-size: 80px;
  --progress-stroke-width: 6px;
}
.so-progress-circular-xl .so-progress-text {
  font-size: 1rem;
}

.so-progress-circular-primary {
  --progress-circular-color: var(--so-accent-primary);
}

.so-progress-circular-secondary {
  --progress-circular-color: var(--so-accent-secondary);
}

.so-progress-circular-success {
  --progress-circular-color: var(--so-accent-success);
}

.so-progress-circular-danger {
  --progress-circular-color: var(--so-accent-danger);
}

.so-progress-circular-warning {
  --progress-circular-color: var(--so-accent-warning);
}

.so-progress-circular-info {
  --progress-circular-color: var(--so-accent-info);
}

.so-progress-circular-light {
  --progress-circular-color: #bdc1c6;
}

.so-progress-circular-dark {
  --progress-circular-color: #3c4043;
}

@keyframes so-progress-circular-rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes so-progress-circular-dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}
.so-progress-circular-indeterminate .so-progress-ring {
  animation: so-progress-circular-rotate 2s linear infinite;
  transform: rotate(0deg);
}
.so-progress-circular-indeterminate .so-progress-ring-fill {
  stroke-dasharray: 1, 150;
  stroke-dashoffset: 0;
  animation: so-progress-circular-dash 1.5s ease-in-out infinite;
}
.so-progress-circular-indeterminate .so-progress-ring-bg {
  display: none;
}

.so-progress-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.so-progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.so-progress-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-primary);
}

.so-progress-value {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-muted);
}

.so-progress-gradient .so-progress-bar {
  background: linear-gradient(90deg, #1a73e8, #6c757d);
}

.so-progress-gradient-success .so-progress-bar {
  background: linear-gradient(90deg, #34a853, rgb(91.9636363636, 204.5363636364, 122.0477272727));
}

.so-progress-gradient-danger .so-progress-bar {
  background: linear-gradient(90deg, #ea4335, rgb(241.2040358744, 131.4932735426, 122.2959641256));
}

.so-progress-gradient-rainbow .so-progress-bar {
  background: linear-gradient(90deg, #ea4335, #ffb300, #34a853, #17a2b8, #1a73e8);
}

.so-progress-stepped {
  display: flex;
  gap: 2px;
  background: transparent;
  overflow: visible;
}
.so-progress-stepped .so-progress-step {
  flex: 1;
  height: var(--progress-height);
  background: var(--progress-bg);
  border-radius: var(--progress-border-radius);
  position: relative;
  overflow: hidden;
}
.so-progress-stepped .so-progress-step.so-active .so-progress-step-fill {
  width: 100%;
}
.so-progress-stepped .so-progress-step.so-partial .so-progress-step-fill {
  width: var(--step-progress, 50%);
}
.so-progress-stepped .so-progress-step-fill {
  height: 100%;
  width: 0;
  background: var(--progress-bar-bg);
  border-radius: var(--progress-border-radius);
  transition: width 0.15s ease ease;
}

[data-theme=dark] .so-progress {
  --progress-bg: #5f6368;
}
[data-theme=dark] .so-progress-ring-bg {
  stroke: #5f6368;
}
[data-theme=dark] .so-progress-light {
  --progress-bar-bg: #9aa0a6;
}
[data-theme=dark] .so-progress-circular-light {
  --progress-circular-color: #9aa0a6;
}
[data-theme=dark] .so-progress-stepped .so-progress-step {
  background: #5f6368;
}

.so-list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 8px;
}

.so-list-group-item {
  position: relative;
  display: flex;
  align-items: center;
  padding: 12px 16px;
  color: var(--so-text-primary);
  text-decoration: none;
  background-color: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  margin-top: -1px;
  margin-bottom: 0;
}
.so-list-group-item:first-child {
  margin-top: 0;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.so-list-group-item:last-child {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.so-list-group-item.so-disabled, .so-list-group-item:disabled {
  color: var(--so-text-muted);
  pointer-events: none;
  background-color: var(--so-card-bg);
  opacity: 0.65;
}
.so-list-group-item.so-active {
  z-index: 2;
  color: #ffffff;
  background-color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}

.so-list-group-item-action {
  width: 100%;
  text-align: inherit;
  cursor: pointer;
  transition: color 0.1s ease, background-color 0.1s ease, border-color 0.1s ease;
}
.so-list-group-item-action:hover, .so-list-group-item-action:focus {
  z-index: 1;
  color: var(--so-text-primary);
  text-decoration: none;
  background-color: var(--so-hover-bg);
}
.so-list-group-item-action:active {
  color: var(--so-text-primary);
  background-color: var(--so-active-bg);
}
.so-list-group-item-action.so-active:hover, .so-list-group-item-action.so-active:focus {
  color: #ffffff;
  background-color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  filter: brightness(0.9);
}
.so-list-group-item-action.so-active:active {
  color: #ffffff;
  background-color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  filter: brightness(0.85);
}

.so-list-group-flush {
  border-radius: 0;
}
.so-list-group-flush > .so-list-group-item {
  border-width: 0 0 1px;
  border-radius: 0;
}
.so-list-group-flush > .so-list-group-item:last-child {
  border-bottom-width: 0;
}

.so-list-group-numbered {
  list-style-type: none;
  counter-reset: list-group-counter;
}
.so-list-group-numbered > .so-list-group-item {
  counter-increment: list-group-counter;
}
.so-list-group-numbered > .so-list-group-item::before {
  content: counter(list-group-counter) ".";
  margin-right: 12px;
  font-weight: 600;
  color: var(--so-text-muted);
  min-width: 1.5rem;
}

.so-list-group-horizontal {
  flex-direction: row;
}
.so-list-group-horizontal > .so-list-group-item {
  margin-top: 0;
  margin-left: -1px;
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.so-list-group-horizontal > .so-list-group-item:first-child {
  margin-left: 0;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  border-top-right-radius: 0;
}
.so-list-group-horizontal > .so-list-group-item:last-child {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 0;
}

@media (min-width: 576px) {
  .so-list-group-horizontal-sm {
    flex-direction: row;
  }
  .so-list-group-horizontal-sm > .so-list-group-item {
    margin-top: 0;
    margin-left: -1px;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  .so-list-group-horizontal-sm > .so-list-group-item:first-child {
    margin-left: 0;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top-right-radius: 0;
  }
  .so-list-group-horizontal-sm > .so-list-group-item:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 0;
  }
}
@media (min-width: 768px) {
  .so-list-group-horizontal-md {
    flex-direction: row;
  }
  .so-list-group-horizontal-md > .so-list-group-item {
    margin-top: 0;
    margin-left: -1px;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  .so-list-group-horizontal-md > .so-list-group-item:first-child {
    margin-left: 0;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top-right-radius: 0;
  }
  .so-list-group-horizontal-md > .so-list-group-item:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 0;
  }
}
@media (min-width: 1024px) {
  .so-list-group-horizontal-lg {
    flex-direction: row;
  }
  .so-list-group-horizontal-lg > .so-list-group-item {
    margin-top: 0;
    margin-left: -1px;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  .so-list-group-horizontal-lg > .so-list-group-item:first-child {
    margin-left: 0;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top-right-radius: 0;
  }
  .so-list-group-horizontal-lg > .so-list-group-item:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 0;
  }
}
@media (min-width: 1200px) {
  .so-list-group-horizontal-xl {
    flex-direction: row;
  }
  .so-list-group-horizontal-xl > .so-list-group-item {
    margin-top: 0;
    margin-left: -1px;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  .so-list-group-horizontal-xl > .so-list-group-item:first-child {
    margin-left: 0;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top-right-radius: 0;
  }
  .so-list-group-horizontal-xl > .so-list-group-item:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 0;
  }
}
.so-list-group-item-primary {
  color: var(--so-primary-text-emphasis);
  background-color: var(--so-primary-bg-subtle);
  border-color: var(--so-primary-border-subtle);
}
.so-list-group-item-primary.so-list-group-item-action:hover, .so-list-group-item-primary.so-list-group-item-action:focus {
  color: var(--so-primary-text-emphasis);
  background-color: var(--so-primary-bg-emphasis);
}
.so-list-group-item-primary.so-list-group-item-action.so-active {
  color: #ffffff;
  background-color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}

.so-list-group-item-secondary {
  color: var(--so-secondary-text-emphasis);
  background-color: var(--so-secondary-bg-subtle);
  border-color: var(--so-secondary-border-subtle);
}
.so-list-group-item-secondary.so-list-group-item-action:hover, .so-list-group-item-secondary.so-list-group-item-action:focus {
  color: var(--so-secondary-text-emphasis);
  background-color: var(--so-secondary-bg-emphasis);
}
.so-list-group-item-secondary.so-list-group-item-action.so-active {
  color: #ffffff;
  background-color: var(--so-accent-secondary);
  border-color: var(--so-accent-secondary);
}

.so-list-group-item-success {
  color: var(--so-success-text-emphasis);
  background-color: var(--so-success-bg-subtle);
  border-color: var(--so-success-border-subtle);
}
.so-list-group-item-success.so-list-group-item-action:hover, .so-list-group-item-success.so-list-group-item-action:focus {
  color: var(--so-success-text-emphasis);
  background-color: var(--so-success-bg-emphasis);
}
.so-list-group-item-success.so-list-group-item-action.so-active {
  color: #ffffff;
  background-color: var(--so-accent-success);
  border-color: var(--so-accent-success);
}

.so-list-group-item-danger {
  color: var(--so-danger-text-emphasis);
  background-color: var(--so-danger-bg-subtle);
  border-color: var(--so-danger-border-subtle);
}
.so-list-group-item-danger.so-list-group-item-action:hover, .so-list-group-item-danger.so-list-group-item-action:focus {
  color: var(--so-danger-text-emphasis);
  background-color: var(--so-danger-bg-emphasis);
}
.so-list-group-item-danger.so-list-group-item-action.so-active {
  color: #ffffff;
  background-color: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}

.so-list-group-item-warning {
  color: var(--so-warning-text-emphasis);
  background-color: var(--so-warning-bg-subtle);
  border-color: var(--so-warning-border-subtle);
}
.so-list-group-item-warning.so-list-group-item-action:hover, .so-list-group-item-warning.so-list-group-item-action:focus {
  color: var(--so-warning-text-emphasis);
  background-color: var(--so-warning-bg-emphasis);
}
.so-list-group-item-warning.so-list-group-item-action.so-active {
  color: #ffffff;
  background-color: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
}

.so-list-group-item-info {
  color: var(--so-info-text-emphasis);
  background-color: var(--so-info-bg-subtle);
  border-color: var(--so-info-border-subtle);
}
.so-list-group-item-info.so-list-group-item-action:hover, .so-list-group-item-info.so-list-group-item-action:focus {
  color: var(--so-info-text-emphasis);
  background-color: var(--so-info-bg-emphasis);
}
.so-list-group-item-info.so-list-group-item-action.so-active {
  color: #ffffff;
  background-color: var(--so-accent-info);
  border-color: var(--so-accent-info);
}

.so-list-group-item-light {
  color: #5f6368;
  background-color: rgba(241, 243, 244, 0.1);
  border-color: rgba(241, 243, 244, 0.2);
}
.so-list-group-item-light.so-list-group-item-action:hover, .so-list-group-item-light.so-list-group-item-action:focus {
  color: #3c4043;
  background-color: rgba(241, 243, 244, 0.2);
}
.so-list-group-item-light.so-list-group-item-action.so-active {
  color: #202124;
  background-color: #f1f3f4;
  border-color: #f1f3f4;
}

.so-list-group-item-dark {
  color: #202124;
  background-color: rgba(60, 64, 67, 0.1);
  border-color: rgba(60, 64, 67, 0.2);
}
.so-list-group-item-dark.so-list-group-item-action:hover, .so-list-group-item-dark.so-list-group-item-action:focus {
  color: #202124;
  background-color: rgba(60, 64, 67, 0.2);
}
.so-list-group-item-dark.so-list-group-item-action.so-active {
  color: #ffffff;
  background-color: #3c4043;
  border-color: #3c4043;
}

.so-list-group-item .so-badge {
  margin-left: auto;
}

.so-list-group-item > .material-symbols-rounded,
.so-list-group-item > .so-list-group-icon {
  margin-right: 12px;
  font-size: 1.25rem;
  color: var(--so-text-muted);
}
.so-list-group-item.so-active > .material-symbols-rounded,
.so-list-group-item.so-active > .so-list-group-icon {
  color: inherit;
}

.so-list-group-item > .so-avatar {
  margin-right: 12px;
  flex-shrink: 0;
}

.so-list-group-item-content {
  flex: 1;
  min-width: 0;
}

.so-list-group-item-heading {
  margin-bottom: 4px;
  font-weight: 500;
  color: var(--so-text-primary);
}
.so-active > .so-list-group-item-heading, .so-active > .so-list-group-item-content > .so-list-group-item-heading {
  color: inherit;
}
.so-list-group-item-primary > .so-list-group-item-heading, .so-list-group-item-primary > .so-list-group-item-content > .so-list-group-item-heading {
  color: rgb(11.9107142857, 58, 118.5892857143);
  font-weight: 600;
}
.so-list-group-item-secondary > .so-list-group-item-heading, .so-list-group-item-secondary > .so-list-group-item-content > .so-list-group-item-heading {
  color: rgb(48.9012875536, 52.9763948498, 56.5987124464);
  font-weight: 600;
}
.so-list-group-item-success > .so-list-group-item-heading, .so-list-group-item-success > .so-list-group-item-content > .so-list-group-item-heading {
  color: rgb(21.8636363636, 70.6363636364, 34.8977272727);
  font-weight: 600;
}
.so-list-group-item-danger > .so-list-group-item-heading, .so-list-group-item-danger > .so-list-group-item-content > .so-list-group-item-heading {
  color: rgb(144.4798206278, 25.033632287, 15.0201793722);
  font-weight: 600;
}
.so-list-group-item-warning > .so-list-group-item-heading, .so-list-group-item-warning > .so-list-group-item-content > .so-list-group-item-heading {
  color: rgb(127.5, 89.5, 0);
  font-weight: 600;
}
.so-list-group-item-info > .so-list-group-item-heading, .so-list-group-item-info > .so-list-group-item-content > .so-list-group-item-heading {
  color: rgb(8.8333333333, 62.2173913043, 70.6666666667);
  font-weight: 600;
}
.so-list-group-item-light > .so-list-group-item-heading, .so-list-group-item-light > .so-list-group-item-content > .so-list-group-item-heading {
  color: rgb(169.6, 181.8, 187.9);
  font-weight: 600;
}
.so-list-group-item-dark > .so-list-group-item-heading, .so-list-group-item-dark > .so-list-group-item-content > .so-list-group-item-heading {
  color: hsl(205.7142857143, 5.5118110236%, -0.0980392157%);
  font-weight: 600;
}

.so-list-group-item-text {
  margin-bottom: 0;
  font-size: 0.8125rem;
  color: var(--so-text-muted);
  line-height: 1.4;
}
.so-active > .so-list-group-item-text, .so-active > .so-list-group-item-content > .so-list-group-item-text {
  color: rgba(255, 255, 255, 0.8);
}
.so-list-group-item-primary > .so-list-group-item-text, .so-list-group-item-primary > .so-list-group-item-content > .so-list-group-item-text {
  color: rgb(18.8928571429, 92, 188.1071428571);
  opacity: 0.85;
}
.so-list-group-item-secondary > .so-list-group-item-text, .so-list-group-item-secondary > .so-list-group-item-content > .so-list-group-item-text {
  color: rgb(84.3605150215, 91.3905579399, 97.6394849785);
  opacity: 0.85;
}
.so-list-group-item-success > .so-list-group-item-text, .so-list-group-item-success > .so-list-group-item-content > .so-list-group-item-text {
  color: rgb(39.9454545455, 129.0545454545, 63.7590909091);
  opacity: 0.85;
}
.so-list-group-item-danger > .so-list-group-item-text, .so-list-group-item-danger > .so-list-group-item-content > .so-list-group-item-text {
  color: rgb(213.7757847534, 37.0403587444, 22.2242152466);
  opacity: 0.85;
}
.so-list-group-item-warning > .so-list-group-item-text, .so-list-group-item-warning > .so-list-group-item-content > .so-list-group-item-text {
  color: rgb(204, 143.2, 0);
  opacity: 0.85;
}
.so-list-group-item-info > .so-list-group-item-text, .so-list-group-item-info > .so-list-group-item-content > .so-list-group-item-text {
  color: rgb(17.3333333333, 122.0869565217, 138.6666666667);
  opacity: 0.85;
}
.so-list-group-item-light > .so-list-group-item-text, .so-list-group-item-light > .so-list-group-item-content > .so-list-group-item-text {
  color: rgb(212.44, 218.52, 221.56);
  opacity: 0.85;
}
.so-list-group-item-dark > .so-list-group-item-text, .so-list-group-item-dark > .so-list-group-item-content > .so-list-group-item-text {
  color: rgb(35.905511811, 38.2992125984, 40.094488189);
  opacity: 0.85;
}

.so-list-group-checkable .so-list-group-item {
  cursor: pointer;
}
.so-list-group-checkable .so-list-group-item input[type=checkbox],
.so-list-group-checkable .so-list-group-item input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.so-list-group-checkable .so-list-group-item input[type=checkbox]:checked + .so-list-group-item-label,
.so-list-group-checkable .so-list-group-item input[type=radio]:checked + .so-list-group-item-label {
  color: var(--so-accent-primary);
}
.so-list-group-checkable .so-list-group-item input[type=checkbox]:checked + .so-list-group-item-label::before,
.so-list-group-checkable .so-list-group-item input[type=radio]:checked + .so-list-group-item-label::before {
  background-color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-list-group-checkable .so-list-group-item input[type=checkbox]:checked + .so-list-group-item-label::after,
.so-list-group-checkable .so-list-group-item input[type=radio]:checked + .so-list-group-item-label::after {
  opacity: 1;
}
.so-list-group-checkable .so-list-group-item input[type=checkbox]:focus + .so-list-group-item-label,
.so-list-group-checkable .so-list-group-item input[type=radio]:focus + .so-list-group-item-label {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-list-group-checkable .so-list-group-item input[type=checkbox]:disabled + .so-list-group-item-label,
.so-list-group-checkable .so-list-group-item input[type=radio]:disabled + .so-list-group-item-label {
  opacity: 0.5;
  cursor: not-allowed;
}
.so-list-group-checkable .so-list-group-item-label {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 12px 16px;
  cursor: pointer;
  transition: all 0.1s ease;
}
.so-list-group-checkable .so-list-group-item-label::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 12px;
  border: 2px solid var(--so-border-color);
  border-radius: 3px;
  background-color: var(--so-card-bg);
  transition: all 0.1s ease;
  flex-shrink: 0;
}
.so-list-group-checkable .so-list-group-item-label::after {
  content: "";
  position: absolute;
  left: calc(16px + 4px);
  width: 10px;
  height: 5px;
  border-left: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(-45deg);
  opacity: 0;
  transition: opacity 0.1s ease;
}
.so-list-group-checkable.so-list-group-radio .so-list-group-item-label::before {
  border-radius: 50%;
}
.so-list-group-checkable.so-list-group-radio .so-list-group-item-label::after {
  left: calc(16px + 5px);
  width: 8px;
  height: 8px;
  border: none;
  border-radius: 50%;
  background-color: #ffffff;
  transform: none;
}

.so-list-group-sortable .so-list-group-item {
  cursor: grab;
}
.so-list-group-sortable .so-list-group-item::before {
  content: "⋮⋮";
  margin-right: 12px;
  color: var(--so-text-muted);
  font-size: 1rem;
  letter-spacing: -2px;
}
.so-list-group-sortable .so-list-group-item:active {
  cursor: grabbing;
}
.so-list-group-sortable .so-list-group-item.dragging {
  opacity: 0.5;
  background-color: var(--so-hover-bg);
}

.so-list-group-sm .so-list-group-item {
  padding: 8px 12px;
  font-size: 0.8125rem;
}

.so-list-group-lg .so-list-group-item {
  padding: 16px 20px;
  font-size: 1rem;
}

.so-list-group-bordered .so-list-group-item {
  border-left-width: 3px;
}
.so-list-group-bordered .so-list-group-item.so-list-group-item-primary {
  border-left-color: #1a73e8;
}
.so-list-group-bordered .so-list-group-item.so-list-group-item-secondary {
  border-left-color: #6c757d;
}
.so-list-group-bordered .so-list-group-item.so-list-group-item-success {
  border-left-color: #34a853;
}
.so-list-group-bordered .so-list-group-item.so-list-group-item-danger {
  border-left-color: #ea4335;
}
.so-list-group-bordered .so-list-group-item.so-list-group-item-warning {
  border-left-color: #ffb300;
}
.so-list-group-bordered .so-list-group-item.so-list-group-item-info {
  border-left-color: #17a2b8;
}
.so-list-group-bordered .so-list-group-item.so-list-group-item-light {
  border-left-color: #f1f3f4;
}
.so-list-group-bordered .so-list-group-item.so-list-group-item-dark {
  border-left-color: #3c4043;
}

[data-theme=dark] .so-list-group-item {
  background-color: var(--so-card-bg);
  border-color: var(--so-border-color);
  color: var(--so-text-primary);
}
[data-theme=dark] .so-list-group-item.so-active {
  background-color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
[data-theme=dark] .so-list-group-item-action:hover, [data-theme=dark] .so-list-group-item-action:focus {
  background-color: var(--so-hover-bg);
}

.so-kbd-row {
  gap: 8px;
}

.so-kbd-label {
  flex: 0 0 auto;
  white-space: nowrap;
}

.so-kbd-keys {
  flex: 0 0 auto;
}
.so-kbd-keys .so-text-muted {
  font-size: 11px;
}

.so-kbd-leader {
  flex: 1 1 auto;
  min-width: 1.5rem;
  align-self: center;
  margin-bottom: 2px;
  border-bottom: 1px dotted var(--so-border-dark);
}

.so-kbd-key {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  color: var(--so-text-secondary);
  background: linear-gradient(180deg, #ffffff 0%, #f1f3f4 100%);
  border: 1px solid #d2d5da;
  border-bottom-width: 3px;
  border-radius: 6px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
[data-theme=dark] .so-kbd-key {
  color: var(--so-text-primary);
  background: linear-gradient(180deg, #2d3142 0%, #1f2230 100%);
  border-color: var(--so-border-color);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.so-accordion {
  --accordion-color: var(--so-text-primary);
  --accordion-bg: var(--so-card-bg);
  --accordion-border-color: var(--so-border-color);
  --accordion-border-width: 1px;
  --accordion-border-radius: 8px;
  --accordion-btn-padding-y: 16px;
  --accordion-btn-padding-x: 20px;
  --accordion-body-padding-y: 16px;
  --accordion-body-padding-x: 20px;
  --accordion-active-color: var(--so-accent-primary);
  --accordion-active-bg: var(--so-primary-bg-subtle);
  --accordion-icon-width: 1.25rem;
  --accordion-icon-transform: rotate(-180deg);
  --accordion-icon-transition: transform 0.2s ease-in-out;
}

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

.so-accordion-header {
  margin-bottom: 0 !important;
}

.so-accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--accordion-color);
  text-align: left;
  background-color: var(--accordion-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  cursor: pointer;
  transition: color 0.1s ease, background-color 0.1s ease, box-shadow 0.1s ease;
}
.so-accordion-button:not(.so-collapsed) {
  color: var(--accordion-active-color);
  background-color: var(--accordion-active-bg);
  box-shadow: inset 0 calc(var(--accordion-border-width) * -1) 0 var(--accordion-border-color);
}
.so-accordion-button:not(.so-collapsed)::after {
  transform: var(--accordion-icon-transform);
}
.so-accordion-button::after {
  flex-shrink: 0;
  width: var(--accordion-icon-width);
  height: var(--accordion-icon-width);
  margin-left: auto;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%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-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: var(--accordion-icon-width);
  transition: var(--accordion-icon-transition);
}
.so-accordion-button:hover {
  z-index: 2;
}
.so-accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-accordion-collapse {
  overflow: hidden;
  transition: height 0.35s ease;
}
.so-accordion-collapse:not(.so-show):not(.so-collapsing) {
  display: none;
}
.so-accordion-collapse.so-collapsing {
  height: 0;
}

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

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

.so-accordion-bordered > .so-accordion-item {
  border-left-width: 3px;
}
.so-accordion-bordered > .so-accordion-item:not(.so-collapsed) {
  border-left-color: var(--so-accent-primary);
}
.so-accordion-bordered.so-accordion-primary > .so-accordion-item:not(.so-collapsed),
.so-accordion-bordered.so-accordion-primary > .so-accordion-item:has(> .so-accordion-header .so-accordion-button:not(.so-collapsed)) {
  border-left-color: var(--so-accent-primary);
}
.so-accordion-bordered.so-accordion-primary > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed) {
  color: var(--so-accent-primary);
  background-color: var(--so-primary-bg-subtle);
}
.so-accordion-bordered.so-accordion-secondary > .so-accordion-item:not(.so-collapsed),
.so-accordion-bordered.so-accordion-secondary > .so-accordion-item:has(> .so-accordion-header .so-accordion-button:not(.so-collapsed)) {
  border-left-color: var(--so-accent-secondary);
}
.so-accordion-bordered.so-accordion-secondary > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed) {
  color: var(--so-accent-secondary);
  background-color: var(--so-secondary-bg-subtle);
}
.so-accordion-bordered.so-accordion-success > .so-accordion-item:not(.so-collapsed),
.so-accordion-bordered.so-accordion-success > .so-accordion-item:has(> .so-accordion-header .so-accordion-button:not(.so-collapsed)) {
  border-left-color: var(--so-accent-success);
}
.so-accordion-bordered.so-accordion-success > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed) {
  color: var(--so-accent-success);
  background-color: var(--so-success-bg-subtle);
}
.so-accordion-bordered.so-accordion-danger > .so-accordion-item:not(.so-collapsed),
.so-accordion-bordered.so-accordion-danger > .so-accordion-item:has(> .so-accordion-header .so-accordion-button:not(.so-collapsed)) {
  border-left-color: var(--so-accent-danger);
}
.so-accordion-bordered.so-accordion-danger > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed) {
  color: var(--so-accent-danger);
  background-color: var(--so-danger-bg-subtle);
}
.so-accordion-bordered.so-accordion-warning > .so-accordion-item:not(.so-collapsed),
.so-accordion-bordered.so-accordion-warning > .so-accordion-item:has(> .so-accordion-header .so-accordion-button:not(.so-collapsed)) {
  border-left-color: var(--so-accent-warning);
}
.so-accordion-bordered.so-accordion-warning > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed) {
  color: var(--so-accent-warning);
  background-color: var(--so-warning-bg-subtle);
}
.so-accordion-bordered.so-accordion-info > .so-accordion-item:not(.so-collapsed),
.so-accordion-bordered.so-accordion-info > .so-accordion-item:has(> .so-accordion-header .so-accordion-button:not(.so-collapsed)) {
  border-left-color: var(--so-accent-info);
}
.so-accordion-bordered.so-accordion-info > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed) {
  color: var(--so-accent-info);
  background-color: var(--so-info-bg-subtle);
}

.so-accordion-primary {
  --accordion-active-color: var(--so-accent-primary);
  --accordion-active-bg: var(--so-primary-bg-subtle);
}
.so-accordion-primary > .so-accordion-item > .so-accordion-header .so-accordion-button:focus {
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}

.so-accordion-secondary {
  --accordion-active-color: var(--so-accent-secondary);
  --accordion-active-bg: var(--so-secondary-bg-subtle);
}
.so-accordion-secondary > .so-accordion-item > .so-accordion-header .so-accordion-button:focus {
  box-shadow: 0 0 0 3px var(--so-secondary-focus-ring);
}

.so-accordion-success {
  --accordion-active-color: var(--so-accent-success);
  --accordion-active-bg: var(--so-success-bg-subtle);
}
.so-accordion-success > .so-accordion-item > .so-accordion-header .so-accordion-button:focus {
  box-shadow: 0 0 0 3px var(--so-success-focus-ring);
}

.so-accordion-danger {
  --accordion-active-color: var(--so-accent-danger);
  --accordion-active-bg: var(--so-danger-bg-subtle);
}
.so-accordion-danger > .so-accordion-item > .so-accordion-header .so-accordion-button:focus {
  box-shadow: 0 0 0 3px var(--so-danger-focus-ring);
}

.so-accordion-warning {
  --accordion-active-color: var(--so-accent-warning);
  --accordion-active-bg: var(--so-warning-bg-subtle);
}
.so-accordion-warning > .so-accordion-item > .so-accordion-header .so-accordion-button:focus {
  box-shadow: 0 0 0 3px var(--so-warning-focus-ring);
}

.so-accordion-info {
  --accordion-active-color: var(--so-accent-info);
  --accordion-active-bg: var(--so-info-bg-subtle);
}
.so-accordion-info > .so-accordion-item > .so-accordion-header .so-accordion-button:focus {
  box-shadow: 0 0 0 3px var(--so-info-focus-ring);
}

.so-accordion-plus-minus > .so-accordion-item > .so-accordion-header .so-accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3e%3c/svg%3e");
  transform: none;
}
.so-accordion-plus-minus > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath d='M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e");
  transform: none;
}

.so-accordion-arrow > .so-accordion-item > .so-accordion-header .so-accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' 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-.708z'/%3e%3c/svg%3e");
  transform: rotate(0deg);
}
.so-accordion-arrow > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed)::after {
  transform: rotate(90deg);
}

.so-accordion-no-icon > .so-accordion-item > .so-accordion-header .so-accordion-button::after {
  display: none;
}

.so-accordion-icon-left > .so-accordion-item > .so-accordion-header .so-accordion-button::before {
  flex-shrink: 0;
  width: var(--accordion-icon-width);
  height: var(--accordion-icon-width);
  margin-right: 12px;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%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-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: var(--accordion-icon-width);
  transition: var(--accordion-icon-transition);
}
.so-accordion-icon-left > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed)::before {
  transform: var(--accordion-icon-transform);
}
.so-accordion-icon-left > .so-accordion-item > .so-accordion-header .so-accordion-button::after {
  display: none;
}

.so-accordion-sm {
  --accordion-btn-padding-y: 8px;
  --accordion-btn-padding-x: 12px;
  --accordion-body-padding-y: 8px;
  --accordion-body-padding-x: 12px;
  --accordion-icon-width: 1rem;
}
.so-accordion-sm > .so-accordion-item > .so-accordion-header .so-accordion-button {
  font-size: 0.8125rem;
}
.so-accordion-sm > .so-accordion-item > .so-accordion-header .so-accordion-actions {
  padding-right: 4px;
}
.so-accordion-sm > .so-accordion-item > .so-accordion-header .so-accordion-actions .so-btn-icon {
  width: 24px;
  height: 24px;
}
.so-accordion-sm > .so-accordion-item > .so-accordion-header .so-accordion-actions .so-btn-icon .material-symbols-rounded {
  font-size: 16px;
}
.so-accordion-sm > .so-accordion-item > .so-accordion-header .so-accordion-toggle {
  margin-right: var(--accordion-btn-padding-x);
}

.so-accordion-lg {
  --accordion-btn-padding-y: 20px;
  --accordion-btn-padding-x: 24px;
  --accordion-body-padding-y: 20px;
  --accordion-body-padding-x: 24px;
  --accordion-icon-width: 1.5rem;
}
.so-accordion-lg > .so-accordion-item > .so-accordion-header .so-accordion-button {
  font-size: 1rem;
}
.so-accordion-lg > .so-accordion-item > .so-accordion-header .so-accordion-actions {
  gap: 8px;
  padding-right: 12px;
}
.so-accordion-lg > .so-accordion-item > .so-accordion-header .so-accordion-actions .so-btn-icon {
  width: 32px;
  height: 32px;
}
.so-accordion-lg > .so-accordion-item > .so-accordion-header .so-accordion-actions .so-btn-icon .material-symbols-rounded {
  font-size: 20px;
}

.so-accordion-nested > .so-accordion-item > .so-accordion-collapse > .so-accordion-body > .so-accordion {
  margin: 12px 0;
  margin-left: 16px;
}

.so-accordion-header:has(.so-accordion-actions),
.so-accordion-header:has(> .so-accordion-toggle.so-btn) {
  display: flex;
  align-items: center;
  background-color: var(--accordion-bg);
  transition: color 0.1s ease, background-color 0.1s ease;
}
.so-accordion-header:has(.so-accordion-actions):has(.so-accordion-button:not(.so-collapsed)),
.so-accordion-header:has(> .so-accordion-toggle.so-btn):has(.so-accordion-button:not(.so-collapsed)) {
  background-color: var(--accordion-active-bg);
  box-shadow: inset 0 calc(var(--accordion-border-width) * -1) 0 var(--accordion-border-color);
}
.so-accordion-header:has(.so-accordion-actions) .so-accordion-button,
.so-accordion-header:has(> .so-accordion-toggle.so-btn) .so-accordion-button {
  flex: 1;
  background-color: transparent;
  box-shadow: none;
}
.so-accordion-header:has(.so-accordion-actions) .so-accordion-button::after,
.so-accordion-header:has(> .so-accordion-toggle.so-btn) .so-accordion-button::after {
  display: none;
}

.so-accordion-item:first-of-type > .so-accordion-header:has(.so-accordion-actions),
.so-accordion-item:first-of-type > .so-accordion-header:has(> .so-accordion-toggle.so-btn) {
  border-top-left-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
  border-top-right-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
}

.so-accordion-item:last-of-type > .so-accordion-header:has(.so-accordion-actions):has(.so-accordion-button.so-collapsed),
.so-accordion-item:last-of-type > .so-accordion-header:has(> .so-accordion-toggle.so-btn):has(.so-accordion-button.so-collapsed) {
  border-bottom-left-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
  border-bottom-right-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
}

.so-accordion-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-right: 8px;
  flex-shrink: 0;
}
.so-accordion-actions .so-btn-icon {
  width: 28px;
  height: 28px;
  padding: 0;
}
.so-accordion-actions .so-btn-icon .material-symbols-rounded {
  font-size: 18px;
}
.so-accordion-actions .so-btn-sm {
  padding: 4px 8px;
  font-size: 0.6875rem;
}

.so-accordion-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: var(--accordion-btn-padding-x);
  flex-shrink: 0;
  cursor: pointer;
  transition: var(--accordion-icon-transition);
}
.so-accordion-toggle:not(.so-btn) {
  width: var(--accordion-icon-width);
  height: var(--accordion-icon-width);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%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-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: var(--accordion-icon-width);
  background-position: center;
}

.so-accordion-button:not(.so-collapsed) ~ .so-accordion-actions ~ .so-accordion-toggle,
.so-accordion-button:not(.so-collapsed) ~ .so-accordion-toggle {
  transform: var(--accordion-icon-transform);
}

.so-accordion-top > .so-accordion-item > .so-accordion-header:has(.so-accordion-actions) {
  align-items: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
}
.so-accordion-top > .so-accordion-item > .so-accordion-header .so-accordion-button {
  align-items: flex-start;
  padding-top: 0;
  padding-bottom: 0;
  flex-wrap: wrap;
}
.so-accordion-top > .so-accordion-item > .so-accordion-header .so-accordion-actions {
  align-items: flex-start;
  padding-top: 4px;
}
.so-accordion-top > .so-accordion-item > .so-accordion-header .so-accordion-toggle {
  margin-top: 4px;
}
.so-accordion-top .so-accordion-title-row {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 12px;
  margin-bottom: 12px;
  font-weight: 600;
  font-size: 0.875rem;
}
.so-accordion-top .so-accordion-header-content {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
}
.so-accordion-top .so-accordion-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 120px;
}
.so-accordion-top .so-accordion-field label {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--so-text-secondary);
}

.so-accordion-top.so-accordion-flush > .so-accordion-item > .so-accordion-header:has(.so-accordion-actions) {
  padding-left: 0;
}
.so-accordion-top.so-accordion-flush > .so-accordion-item > .so-accordion-header .so-accordion-button {
  padding-left: 0;
}

.so-accordion-legend {
  --accordion-active-bg: color-mix(in srgb, var(--so-accent-primary) 10%, var(--so-card-bg));
}
.so-accordion-legend > .so-accordion-item > .so-accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: relative;
  cursor: pointer;
  background-color: var(--accordion-bg);
  transition: background-color 0.1s ease;
}
.so-accordion-legend > .so-accordion-item > .so-accordion-header::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--accordion-border-color);
  z-index: 0;
}
.so-accordion-legend .so-accordion-legend-start {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: var(--accordion-btn-padding-y) 12px var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-secondary);
  background-color: inherit;
  transition: color 0.1s ease;
}
.so-accordion-legend .so-accordion-legend-center {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: var(--accordion-btn-padding-y) 12px;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  background-color: inherit;
}
.so-accordion-legend .so-accordion-legend-end {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 var(--accordion-btn-padding-x) 0 12px;
  background-color: inherit;
}
.so-accordion-legend .so-accordion-legend-end .so-btn:not(:last-child) {
  margin-right: 4px;
}
.so-accordion-legend .so-accordion-toggle {
  margin-right: 0;
}
.so-accordion-legend .so-accordion-toggle:not(.so-collapsed) {
  transform: var(--accordion-icon-transform);
}
.so-accordion-legend > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header {
  background-color: var(--accordion-active-bg);
}
.so-accordion-legend > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header::before {
  background-color: color-mix(in srgb, var(--so-accent-primary) 25%, var(--so-card-bg));
}
.so-accordion-legend > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header .so-accordion-legend-start {
  color: var(--accordion-active-color);
}
.so-accordion-legend > .so-accordion-item:first-of-type {
  border-top-left-radius: var(--accordion-border-radius);
  border-top-right-radius: var(--accordion-border-radius);
}
.so-accordion-legend > .so-accordion-item:first-of-type > .so-accordion-header {
  border-top-left-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
  border-top-right-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
}
.so-accordion-legend > .so-accordion-item:first-of-type > .so-accordion-header .so-accordion-legend-start {
  border-top-left-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
}
.so-accordion-legend > .so-accordion-item:first-of-type > .so-accordion-header .so-accordion-legend-end {
  border-top-right-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
}
.so-accordion-legend > .so-accordion-item:last-of-type:has(.so-accordion-toggle.so-collapsed) {
  border-bottom-left-radius: var(--accordion-border-radius);
  border-bottom-right-radius: var(--accordion-border-radius);
}
.so-accordion-legend > .so-accordion-item:last-of-type:has(.so-accordion-toggle.so-collapsed) > .so-accordion-header {
  border-bottom-left-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
  border-bottom-right-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
}
.so-accordion-legend > .so-accordion-item:last-of-type:has(.so-accordion-toggle.so-collapsed) > .so-accordion-header .so-accordion-legend-start {
  border-bottom-left-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
}
.so-accordion-legend > .so-accordion-item:last-of-type:has(.so-accordion-toggle.so-collapsed) > .so-accordion-header .so-accordion-legend-end {
  border-bottom-right-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));
}
.so-accordion-legend.so-accordion-primary {
  --accordion-active-bg: color-mix(in srgb, var(--so-accent-primary) 10%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-primary > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header .so-accordion-legend-start {
  color: var(--so-accent-primary);
}
.so-accordion-legend.so-accordion-primary > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header::before {
  background-color: color-mix(in srgb, var(--so-accent-primary) 25%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-secondary {
  --accordion-active-bg: color-mix(in srgb, var(--so-accent-secondary) 10%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-secondary > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header .so-accordion-legend-start {
  color: var(--so-accent-secondary);
}
.so-accordion-legend.so-accordion-secondary > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header::before {
  background-color: color-mix(in srgb, var(--so-accent-secondary) 25%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-success {
  --accordion-active-bg: color-mix(in srgb, var(--so-accent-success) 10%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-success > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header .so-accordion-legend-start {
  color: var(--so-accent-success);
}
.so-accordion-legend.so-accordion-success > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header::before {
  background-color: color-mix(in srgb, var(--so-accent-success) 25%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-danger {
  --accordion-active-bg: color-mix(in srgb, var(--so-accent-danger) 10%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-danger > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header .so-accordion-legend-start {
  color: var(--so-accent-danger);
}
.so-accordion-legend.so-accordion-danger > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header::before {
  background-color: color-mix(in srgb, var(--so-accent-danger) 25%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-warning {
  --accordion-active-bg: color-mix(in srgb, var(--so-accent-warning) 10%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-warning > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header .so-accordion-legend-start {
  color: var(--so-accent-warning);
}
.so-accordion-legend.so-accordion-warning > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header::before {
  background-color: color-mix(in srgb, var(--so-accent-warning) 25%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-info {
  --accordion-active-bg: color-mix(in srgb, var(--so-accent-info) 10%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-info > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header .so-accordion-legend-start {
  color: var(--so-accent-info);
}
.so-accordion-legend.so-accordion-info > .so-accordion-item:has(.so-accordion-toggle:not(.so-collapsed)) > .so-accordion-header::before {
  background-color: color-mix(in srgb, var(--so-accent-info) 25%, var(--so-card-bg));
}
.so-accordion-legend.so-accordion-sm > .so-accordion-item > .so-accordion-header .so-accordion-legend-start,
.so-accordion-legend.so-accordion-sm > .so-accordion-item > .so-accordion-header .so-accordion-legend-center {
  font-size: 0.6875rem;
}
.so-accordion-legend.so-accordion-lg > .so-accordion-item > .so-accordion-header .so-accordion-legend-start,
.so-accordion-legend.so-accordion-lg > .so-accordion-item > .so-accordion-header .so-accordion-legend-center {
  font-size: 0.875rem;
}
.so-accordion-legend.so-accordion-flush > .so-accordion-item {
  border-left: 0;
  border-right: 0;
}
.so-accordion-legend.so-accordion-flush > .so-accordion-item:first-of-type {
  border-top: 0;
}
.so-accordion-legend.so-accordion-flush > .so-accordion-item:first-of-type > .so-accordion-header {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.so-accordion-legend.so-accordion-flush > .so-accordion-item:last-of-type {
  border-bottom: 0;
}
.so-accordion-legend.so-accordion-flush > .so-accordion-item:last-of-type > .so-accordion-header {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

[data-theme=dark] .so-accordion-toggle:not(.so-btn) {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e1e1e1'%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-.708z'/%3e%3c/svg%3e");
}

[data-theme=dark] .so-accordion {
  --accordion-color: var(--so-text-primary);
  --accordion-bg: var(--so-card-bg);
  --accordion-border-color: var(--so-border-color);
}
[data-theme=dark] .so-accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e1e1e1'%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-.708z'/%3e%3c/svg%3e");
}
[data-theme=dark] .so-accordion-plus-minus > .so-accordion-item > .so-accordion-header .so-accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e1e1e1'%3e%3cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3e%3c/svg%3e");
}
[data-theme=dark] .so-accordion-plus-minus > .so-accordion-item > .so-accordion-header .so-accordion-button:not(.so-collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e1e1e1'%3e%3cpath d='M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z'/%3e%3c/svg%3e");
}
[data-theme=dark] .so-accordion-arrow > .so-accordion-item > .so-accordion-header .so-accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e1e1e1'%3e%3cpath fill-rule='evenodd' 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-.708z'/%3e%3c/svg%3e");
}
[data-theme=dark] .so-accordion-icon-left > .so-accordion-item > .so-accordion-header .so-accordion-button::before {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e1e1e1'%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-.708z'/%3e%3c/svg%3e");
}

.so-breadcrumb {
  --breadcrumb-padding-y: 8px;
  --breadcrumb-padding-x: 0;
  --breadcrumb-margin-bottom: 16px;
  --breadcrumb-bg: transparent;
  --breadcrumb-border-radius: var(--so-border-radius);
  --breadcrumb-divider-color: var(--so-text-muted);
  --breadcrumb-item-padding-x: 8px;
  --breadcrumb-item-active-color: var(--so-text-muted);
  display: flex;
  flex-wrap: wrap;
  padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);
  margin-bottom: var(--breadcrumb-margin-bottom);
  font-size: 0.8125rem;
  list-style: none;
  background-color: var(--breadcrumb-bg);
  border-radius: var(--breadcrumb-border-radius);
}

.so-breadcrumb-item {
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
.so-breadcrumb-item + .so-breadcrumb-item {
  padding-left: var(--breadcrumb-item-padding-x);
}
.so-breadcrumb-item + .so-breadcrumb-item::before {
  float: left;
  padding-right: var(--breadcrumb-item-padding-x);
  color: var(--breadcrumb-divider-color);
  content: var(--breadcrumb-divider, "/");
}
.so-breadcrumb-item.so-active {
  color: var(--breadcrumb-item-active-color);
}
.so-breadcrumb-item a {
  color: var(--so-accent-primary);
  text-decoration: none;
  transition: color 0.1s ease;
}
.so-breadcrumb-item a:hover {
  color: var(--so-accent-primary-hover);
  text-decoration: underline;
}

.so-breadcrumb-chevron {
  --breadcrumb-divider: "›";
}

.so-breadcrumb-arrow {
  --breadcrumb-divider: "→";
}

.so-breadcrumb-slash {
  --breadcrumb-divider: "/";
}

.so-breadcrumb-pipe {
  --breadcrumb-divider: "|";
}

.so-breadcrumb-dot {
  --breadcrumb-divider: "•";
}

.so-breadcrumb-icon .so-breadcrumb-item + .so-breadcrumb-item::before {
  font-family: "Material Symbols Rounded";
  content: "chevron_right";
  font-size: 1rem;
  vertical-align: middle;
  line-height: 1;
}

.so-breadcrumb-filled {
  --breadcrumb-padding-y: 12px;
  --breadcrumb-padding-x: 16px;
  --breadcrumb-bg: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
}

.so-breadcrumb-primary {
  --breadcrumb-bg: var(--so-primary-bg-subtle);
  --breadcrumb-divider-color: var(--so-accent-primary);
}
.so-breadcrumb-primary .so-breadcrumb-item a {
  color: var(--so-accent-primary);
}
.so-breadcrumb-primary .so-breadcrumb-item a:hover {
  color: var(--so-primary-text-emphasis);
}
.so-breadcrumb-primary .so-breadcrumb-item.so-active {
  color: var(--so-primary-text-emphasis);
}

.so-breadcrumb-secondary {
  --breadcrumb-bg: var(--so-secondary-bg-subtle);
  --breadcrumb-divider-color: var(--so-accent-secondary);
}
.so-breadcrumb-secondary .so-breadcrumb-item a {
  color: var(--so-accent-secondary);
}
.so-breadcrumb-secondary .so-breadcrumb-item a:hover {
  color: var(--so-secondary-text-emphasis);
}
.so-breadcrumb-secondary .so-breadcrumb-item.so-active {
  color: var(--so-secondary-text-emphasis);
}

.so-breadcrumb-success {
  --breadcrumb-bg: var(--so-success-bg-subtle);
  --breadcrumb-divider-color: var(--so-accent-success);
}
.so-breadcrumb-success .so-breadcrumb-item a {
  color: var(--so-accent-success);
}
.so-breadcrumb-success .so-breadcrumb-item a:hover {
  color: var(--so-success-text-emphasis);
}
.so-breadcrumb-success .so-breadcrumb-item.so-active {
  color: var(--so-success-text-emphasis);
}

.so-breadcrumb-danger {
  --breadcrumb-bg: var(--so-danger-bg-subtle);
  --breadcrumb-divider-color: var(--so-accent-danger);
}
.so-breadcrumb-danger .so-breadcrumb-item a {
  color: var(--so-accent-danger);
}
.so-breadcrumb-danger .so-breadcrumb-item a:hover {
  color: var(--so-danger-text-emphasis);
}
.so-breadcrumb-danger .so-breadcrumb-item.so-active {
  color: var(--so-danger-text-emphasis);
}

.so-breadcrumb-warning {
  --breadcrumb-bg: var(--so-warning-bg-subtle);
  --breadcrumb-divider-color: var(--so-accent-warning);
}
.so-breadcrumb-warning .so-breadcrumb-item a {
  color: var(--so-accent-warning);
}
.so-breadcrumb-warning .so-breadcrumb-item a:hover {
  color: var(--so-warning-text-emphasis);
}
.so-breadcrumb-warning .so-breadcrumb-item.so-active {
  color: var(--so-warning-text-emphasis);
}

.so-breadcrumb-info {
  --breadcrumb-bg: var(--so-info-bg-subtle);
  --breadcrumb-divider-color: var(--so-accent-info);
}
.so-breadcrumb-info .so-breadcrumb-item a {
  color: var(--so-accent-info);
}
.so-breadcrumb-info .so-breadcrumb-item a:hover {
  color: var(--so-info-text-emphasis);
}
.so-breadcrumb-info .so-breadcrumb-item.so-active {
  color: var(--so-info-text-emphasis);
}

.so-breadcrumb-light {
  --breadcrumb-bg: rgba(241, 243, 244, 0.1);
  --breadcrumb-divider-color: #9aa0a6;
}
.so-breadcrumb-light .so-breadcrumb-item a {
  color: #80868b;
}
.so-breadcrumb-light .so-breadcrumb-item a:hover {
  color: #3c4043;
}
.so-breadcrumb-light .so-breadcrumb-item.so-active {
  color: #5f6368;
}

.so-breadcrumb-dark {
  --breadcrumb-bg: rgba(60, 64, 67, 0.1);
  --breadcrumb-divider-color: #3c4043;
}
.so-breadcrumb-dark .so-breadcrumb-item a {
  color: #3c4043;
}
.so-breadcrumb-dark .so-breadcrumb-item a:hover {
  color: #202124;
}
.so-breadcrumb-dark .so-breadcrumb-item.so-active {
  color: #202124;
}

.so-breadcrumb-item .material-symbols-rounded,
.so-breadcrumb-item .so-breadcrumb-icon {
  font-size: 1rem;
  margin-right: 4px;
  vertical-align: middle;
}
.so-breadcrumb-item:first-child .material-symbols-rounded {
  margin-right: 4px;
}

.so-breadcrumb-sm {
  font-size: 0.6875rem;
}
.so-breadcrumb-sm .so-breadcrumb-item .material-symbols-rounded {
  font-size: 0.875rem;
}

.so-breadcrumb-lg {
  font-size: 0.875rem;
}
.so-breadcrumb-lg .so-breadcrumb-item .material-symbols-rounded {
  font-size: 1.25rem;
}

.so-breadcrumb-pills .so-breadcrumb-item + .so-breadcrumb-item::before {
  display: none;
}
.so-breadcrumb-pills .so-breadcrumb-item a, .so-breadcrumb-pills .so-breadcrumb-item.so-active {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 9999px;
  background-color: var(--so-hover-bg);
}
.so-breadcrumb-pills .so-breadcrumb-item a:hover {
  background-color: var(--so-active-bg);
  text-decoration: none;
}
.so-breadcrumb-pills .so-breadcrumb-item.so-active {
  background-color: var(--so-accent-primary);
  color: #ffffff;
}
.so-breadcrumb-pills .so-breadcrumb-item + .so-breadcrumb-item {
  margin-left: 4px;
}

.so-breadcrumb-stepped {
  counter-reset: breadcrumb-counter;
}
.so-breadcrumb-stepped .so-breadcrumb-item {
  counter-increment: breadcrumb-counter;
}
.so-breadcrumb-stepped .so-breadcrumb-item + .so-breadcrumb-item::before {
  display: none;
}
.so-breadcrumb-stepped .so-breadcrumb-item::after {
  content: counter(breadcrumb-counter);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 8px;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--so-text-muted);
  background-color: var(--so-hover-bg);
  border-radius: 50%;
  order: -1;
  margin-right: 8px;
  margin-left: 0;
}
.so-breadcrumb-stepped .so-breadcrumb-item.so-active::after {
  color: #ffffff;
  background-color: var(--so-accent-primary);
}
.so-breadcrumb-stepped .so-breadcrumb-item + .so-breadcrumb-item {
  margin-left: 16px;
}
.so-breadcrumb-stepped .so-breadcrumb-item + .so-breadcrumb-item::before {
  content: "";
  position: absolute;
  left: calc(-16px / 2 - 0.5rem);
  top: 50%;
  width: calc(16px - 0.5rem);
  height: 2px;
  background-color: var(--so-border-color);
}

.so-breadcrumb-truncate {
  flex-wrap: nowrap;
  overflow: hidden;
}
.so-breadcrumb-truncate .so-breadcrumb-item {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  flex-shrink: 1;
}
.so-breadcrumb-truncate .so-breadcrumb-item:last-child {
  flex-shrink: 0;
}

@media (max-width: 767px) {
  .so-breadcrumb-collapse .so-breadcrumb-item {
    display: none;
  }
  .so-breadcrumb-collapse .so-breadcrumb-item:first-child, .so-breadcrumb-collapse .so-breadcrumb-item:last-child, .so-breadcrumb-collapse .so-breadcrumb-item.so-breadcrumb-ellipsis {
    display: flex;
  }
}

.so-breadcrumb-ellipsis::before {
  content: "..." !important;
  padding: 0 8px;
  color: var(--so-text-muted);
}
.so-breadcrumb-ellipsis + .so-breadcrumb-item::before {
  content: var(--breadcrumb-divider, "/") !important;
}

[data-theme=dark] .so-breadcrumb {
  --breadcrumb-divider-color: var(--so-text-muted);
  --breadcrumb-item-active-color: var(--so-text-muted);
}
[data-theme=dark] .so-breadcrumb-filled {
  --breadcrumb-bg: var(--so-card-bg);
  border-color: var(--so-border-color);
}
[data-theme=dark] .so-breadcrumb-pills .so-breadcrumb-item a, [data-theme=dark] .so-breadcrumb-pills .so-breadcrumb-item.so-active {
  background-color: var(--so-hover-bg);
}
[data-theme=dark] .so-breadcrumb-pills .so-breadcrumb-item a:hover {
  background-color: var(--so-active-bg);
}
[data-theme=dark] .so-breadcrumb-pills .so-breadcrumb-item.so-active {
  background-color: var(--so-accent-primary);
}

.so-scrollspy-nav {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.so-scrollspy-link {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  color: var(--so-text-muted);
  text-decoration: none;
  border-radius: var(--so-border-radius);
  transition: color 0.1s ease, background-color 0.1s ease, border-color 0.1s ease;
}
.so-scrollspy-link:hover {
  color: var(--so-text-primary);
  background-color: var(--so-hover-bg);
}
.so-scrollspy-link.so-active {
  color: var(--so-accent-primary);
  background-color: var(--so-primary-bg-subtle);
  font-weight: 500;
}

.so-scrollspy-bordered {
  border-left: 2px solid var(--so-border-color);
  padding-left: 12px;
  gap: 0;
}
.so-scrollspy-bordered .so-scrollspy-link {
  position: relative;
  padding: 8px 12px;
  margin-left: calc(-12px - 2px);
  border-left: 2px solid transparent;
  border-radius: 0;
  background: transparent;
}
.so-scrollspy-bordered .so-scrollspy-link:hover {
  background: transparent;
  color: var(--so-text-primary);
}
.so-scrollspy-bordered .so-scrollspy-link.so-active {
  color: var(--so-accent-primary);
  border-left-color: var(--so-accent-primary);
  background: transparent;
}

.so-scrollspy-pills .so-scrollspy-link {
  border-radius: var(--so-border-radius-full);
}
.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: var(--so-accent-primary);
  color: #ffffff;
}

.so-scrollspy-underline {
  flex-direction: row;
  gap: 16px;
  border-bottom: 1px solid var(--so-border-color);
  padding-bottom: 0;
}
.so-scrollspy-underline .so-scrollspy-link {
  padding: 12px 0;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: transparent;
}
.so-scrollspy-underline .so-scrollspy-link:hover {
  background: transparent;
  border-bottom-color: var(--so-border-color);
}
.so-scrollspy-underline .so-scrollspy-link.so-active {
  background: transparent;
  border-bottom-color: var(--so-accent-primary);
}

.so-scrollspy-sticky {
  position: sticky;
  top: 16px;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.so-scrollspy-nested .so-scrollspy-nav {
  margin-left: 16px;
  margin-top: 4px;
  gap: 0;
}
.so-scrollspy-nested .so-scrollspy-nav .so-scrollspy-link {
  padding: 4px 12px;
  font-size: 0.8125rem;
}

.so-scrollspy-horizontal {
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 8px;
  padding-bottom: 8px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.so-scrollspy-horizontal::-webkit-scrollbar {
  display: none;
}
.so-scrollspy-horizontal .so-scrollspy-link {
  white-space: nowrap;
}

.so-scrollspy-link .material-symbols-rounded,
.so-scrollspy-link .so-scrollspy-icon {
  font-size: 1.125rem;
  margin-right: 8px;
  opacity: 0.7;
}
.so-scrollspy-link.so-active .material-symbols-rounded,
.so-scrollspy-link.so-active .so-scrollspy-icon {
  opacity: 1;
}

.so-scrollspy-numbered {
  counter-reset: scrollspy-counter;
}
.so-scrollspy-numbered .so-scrollspy-link {
  counter-increment: scrollspy-counter;
}
.so-scrollspy-numbered .so-scrollspy-link::before {
  content: counter(scrollspy-counter) ".";
  margin-right: 8px;
  font-weight: 500;
  color: var(--so-text-muted);
  min-width: 1.5rem;
}
.so-scrollspy-numbered .so-scrollspy-link.so-active::before {
  color: inherit;
}

.so-scrollspy-primary .so-scrollspy-link.so-active {
  color: var(--so-accent-primary);
  background-color: var(--so-primary-bg-subtle);
}
.so-scrollspy-primary.so-scrollspy-bordered .so-scrollspy-link.so-active {
  border-left-color: var(--so-accent-primary);
  background: transparent;
}
.so-scrollspy-primary.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: var(--so-accent-primary);
  color: #ffffff;
}
.so-scrollspy-primary.so-scrollspy-underline .so-scrollspy-link.so-active {
  border-bottom-color: var(--so-accent-primary);
  background: transparent;
}

.so-scrollspy-secondary .so-scrollspy-link.so-active {
  color: var(--so-accent-secondary);
  background-color: var(--so-secondary-bg-subtle);
}
.so-scrollspy-secondary.so-scrollspy-bordered .so-scrollspy-link.so-active {
  border-left-color: var(--so-accent-secondary);
  background: transparent;
}
.so-scrollspy-secondary.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: var(--so-accent-secondary);
  color: #ffffff;
}
.so-scrollspy-secondary.so-scrollspy-underline .so-scrollspy-link.so-active {
  border-bottom-color: var(--so-accent-secondary);
  background: transparent;
}

.so-scrollspy-success .so-scrollspy-link.so-active {
  color: var(--so-accent-success);
  background-color: var(--so-success-bg-subtle);
}
.so-scrollspy-success.so-scrollspy-bordered .so-scrollspy-link.so-active {
  border-left-color: var(--so-accent-success);
  background: transparent;
}
.so-scrollspy-success.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: var(--so-accent-success);
  color: #ffffff;
}
.so-scrollspy-success.so-scrollspy-underline .so-scrollspy-link.so-active {
  border-bottom-color: var(--so-accent-success);
  background: transparent;
}

.so-scrollspy-danger .so-scrollspy-link.so-active {
  color: var(--so-accent-danger);
  background-color: var(--so-danger-bg-subtle);
}
.so-scrollspy-danger.so-scrollspy-bordered .so-scrollspy-link.so-active {
  border-left-color: var(--so-accent-danger);
  background: transparent;
}
.so-scrollspy-danger.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: var(--so-accent-danger);
  color: #ffffff;
}
.so-scrollspy-danger.so-scrollspy-underline .so-scrollspy-link.so-active {
  border-bottom-color: var(--so-accent-danger);
  background: transparent;
}

.so-scrollspy-warning .so-scrollspy-link.so-active {
  color: var(--so-accent-warning);
  background-color: var(--so-warning-bg-subtle);
}
.so-scrollspy-warning.so-scrollspy-bordered .so-scrollspy-link.so-active {
  border-left-color: var(--so-accent-warning);
  background: transparent;
}
.so-scrollspy-warning.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: var(--so-accent-warning);
  color: #ffffff;
}
.so-scrollspy-warning.so-scrollspy-underline .so-scrollspy-link.so-active {
  border-bottom-color: var(--so-accent-warning);
  background: transparent;
}

.so-scrollspy-info .so-scrollspy-link.so-active {
  color: var(--so-accent-info);
  background-color: var(--so-info-bg-subtle);
}
.so-scrollspy-info.so-scrollspy-bordered .so-scrollspy-link.so-active {
  border-left-color: var(--so-accent-info);
  background: transparent;
}
.so-scrollspy-info.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: var(--so-accent-info);
  color: #ffffff;
}
.so-scrollspy-info.so-scrollspy-underline .so-scrollspy-link.so-active {
  border-bottom-color: var(--so-accent-info);
  background: transparent;
}

.so-scrollspy-light .so-scrollspy-link.so-active {
  color: #5f6368;
  background-color: rgba(241, 243, 244, 0.1);
}
.so-scrollspy-light.so-scrollspy-bordered .so-scrollspy-link.so-active {
  border-left-color: #bdc1c6;
  background: transparent;
}
.so-scrollspy-light.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: #e8eaed;
  color: #3c4043;
}
.so-scrollspy-light.so-scrollspy-underline .so-scrollspy-link.so-active {
  border-bottom-color: #bdc1c6;
  background: transparent;
}

.so-scrollspy-dark .so-scrollspy-link.so-active {
  color: #202124;
  background-color: rgba(60, 64, 67, 0.1);
}
.so-scrollspy-dark.so-scrollspy-bordered .so-scrollspy-link.so-active {
  border-left-color: #3c4043;
  background: transparent;
}
.so-scrollspy-dark.so-scrollspy-pills .so-scrollspy-link.so-active {
  background-color: #3c4043;
  color: #ffffff;
}
.so-scrollspy-dark.so-scrollspy-underline .so-scrollspy-link.so-active {
  border-bottom-color: #3c4043;
  background: transparent;
}

.so-scrollspy-sm .so-scrollspy-link {
  padding: 4px 8px;
  font-size: 0.8125rem;
}

.so-scrollspy-lg .so-scrollspy-link {
  padding: 12px 16px;
  font-size: 1rem;
}

.so-scrollspy-progress {
  position: relative;
}
.so-scrollspy-progress::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background-color: var(--so-border-color);
  border-radius: 3px;
}
.so-scrollspy-progress .so-scrollspy-progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 0;
  background-color: var(--so-accent-primary);
  border-radius: 3px;
  transition: height 0.1s ease;
}
.so-scrollspy-progress .so-scrollspy-link {
  padding-left: 16px;
}

[data-so-scrollspy-section] {
  scroll-margin-top: 16px;
}

[data-theme=dark] .so-scrollspy-link {
  color: var(--so-text-muted);
}
[data-theme=dark] .so-scrollspy-link:hover {
  color: var(--so-text-primary);
  background-color: var(--so-hover-bg);
}
[data-theme=dark] .so-scrollspy-link.so-active {
  color: var(--so-accent-primary);
  background-color: var(--so-primary-bg-emphasis);
}
[data-theme=dark] .so-scrollspy-bordered {
  border-left-color: var(--so-border-color);
}
[data-theme=dark] .so-scrollspy-bordered .so-scrollspy-link.so-active {
  background: transparent;
}
[data-theme=dark] .so-scrollspy-underline {
  border-bottom-color: var(--so-border-color);
}

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

.so-collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
.so-collapsing.so-collapse-horizontal {
  width: 0;
  height: auto !important;
  transition: width 0.35s ease;
}

.so-collapse.so-show {
  display: block;
}

.so-collapse-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color 0.1s ease;
}
.so-collapse-toggle:hover {
  color: var(--so-accent-primary);
}
.so-collapse-toggle .so-collapse-icon {
  transition: transform 0.15s ease;
}
.so-collapse-toggle[aria-expanded=true] .so-collapse-icon {
  transform: rotate(180deg);
}
.so-collapse-toggle[aria-expanded=true] .so-collapse-icon-rotate-90 {
  transform: rotate(90deg);
}

.so-card-collapsible .so-card-header {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color 0.1s ease;
}
.so-card-collapsible .so-card-header:hover {
  background-color: var(--so-hover-bg);
}
.so-card-collapsible .so-card-header .so-collapse-icon {
  transition: transform 0.15s ease;
}
.so-card-collapsible .so-card-header[aria-expanded=true] .so-collapse-icon {
  transform: rotate(180deg);
}
.so-card-collapsible .so-card-header.so-collapsed {
  border-bottom: none;
  border-radius: var(--so-radius-base);
}
.so-card-collapsible .so-card-body {
  border-top: 1px solid var(--so-border-color);
}

.so-collapse-inline {
  position: relative;
}
.so-collapse-inline .so-collapse-content {
  max-height: 100px;
  overflow: hidden;
  position: relative;
}
.so-collapse-inline .so-collapse-content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40px;
  background: linear-gradient(to bottom, transparent, var(--so-card-bg));
  pointer-events: none;
}
.so-collapse-inline .so-collapse-content.so-show {
  max-height: none;
}
.so-collapse-inline .so-collapse-content.so-show::after {
  display: none;
}
.so-collapse-inline .so-collapse-toggle {
  margin-top: 8px;
}

.so-collapse-sidebar {
  transition: width 0.15s ease, min-width 0.15s ease;
  overflow: hidden;
}
.so-collapse-sidebar.so-collapsed {
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.so-collapse-fade {
  opacity: 0;
  transition: opacity 0.15s ease, height 0.35s ease;
}
.so-collapse-fade.so-show {
  opacity: 1;
}
.so-collapse-fade.so-collapsing {
  opacity: 0;
}

.so-collapse-slide {
  transform: translateX(-100%);
  transition: transform 0.15s ease;
}
.so-collapse-slide.so-show {
  transform: translateX(0);
}

.so-collapse-scale {
  transform: scale(0.95);
  opacity: 0;
  transition: transform 0.15s ease, opacity 0.15s ease, height 0.35s ease;
}
.so-collapse-scale.so-show {
  transform: scale(1);
  opacity: 1;
}

.so-collapse-container {
  border: 1px solid var(--so-border-color);
  border-radius: var(--so-radius-base);
  overflow: hidden;
}
.so-collapse-container .so-collapse-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background-color: var(--so-card-bg);
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.so-collapse-container .so-collapse-header:hover {
  background-color: var(--so-hover-bg);
}
.so-collapse-container .so-collapse-header .so-collapse-title {
  font-weight: 500;
  margin: 0;
}
.so-collapse-container .so-collapse-header .so-collapse-icon {
  transition: transform 0.15s ease;
}
.so-collapse-container .so-collapse-header[aria-expanded=true] .so-collapse-icon {
  transform: rotate(180deg);
}
.so-collapse-container .so-collapse-body {
  padding: 16px;
  border-top: 1px solid var(--so-border-color);
}

.so-collapse-nested {
  margin-left: 16px;
  padding-left: 16px;
  border-left: 2px solid var(--so-border-color);
  margin-top: 8px;
}

.so-collapse-group > .so-collapse-container {
  border-radius: 0;
  margin-top: -1px;
}
.so-collapse-group > .so-collapse-container:first-child {
  border-top-left-radius: var(--so-radius-base);
  border-top-right-radius: var(--so-radius-base);
  margin-top: 0;
}
.so-collapse-group > .so-collapse-container:last-child {
  border-bottom-left-radius: var(--so-radius-base);
  border-bottom-right-radius: var(--so-radius-base);
}

.so-collapse-sm .so-collapse-header {
  padding: 8px 12px;
  font-size: 0.8125rem;
}
.so-collapse-sm .so-collapse-body {
  padding: 12px;
  font-size: 0.8125rem;
}

.so-collapse-lg .so-collapse-header {
  padding: 16px 20px;
  font-size: 1rem;
}
.so-collapse-lg .so-collapse-body {
  padding: 20px;
}

.so-collapse-primary .so-collapse-header[aria-expanded=true] {
  background-color: var(--so-primary-bg-subtle);
  color: var(--so-accent-primary);
}

.so-collapse-secondary .so-collapse-header[aria-expanded=true] {
  background-color: var(--so-secondary-bg-subtle);
  color: var(--so-accent-secondary);
}

.so-collapse-success .so-collapse-header[aria-expanded=true] {
  background-color: var(--so-success-bg-subtle);
  color: var(--so-accent-success);
}

.so-collapse-danger .so-collapse-header[aria-expanded=true] {
  background-color: var(--so-danger-bg-subtle);
  color: var(--so-accent-danger);
}

.so-collapse-warning .so-collapse-header[aria-expanded=true] {
  background-color: var(--so-warning-bg-subtle);
  color: var(--so-accent-warning);
}

.so-collapse-info .so-collapse-header[aria-expanded=true] {
  background-color: var(--so-info-bg-subtle);
  color: var(--so-accent-info);
}

.so-collapse-light .so-collapse-header[aria-expanded=true] {
  background-color: rgba(241, 243, 244, 0.1);
  color: #5f6368;
}

.so-collapse-dark .so-collapse-header[aria-expanded=true] {
  background-color: rgba(60, 64, 67, 0.1);
  color: #3c4043;
}

@media (max-width: 767px) {
  .so-collapse-mobile:not(.so-show) {
    display: none;
  }
}
@media (min-width: 768px) {
  .so-collapse-mobile {
    display: block !important;
    height: auto !important;
  }
  .so-collapse-mobile-toggle {
    display: none !important;
  }
}
[data-theme=dark] .so-collapse-container {
  border-color: var(--so-border-color);
}
[data-theme=dark] .so-collapse-container .so-collapse-header {
  background-color: var(--so-card-bg);
}
[data-theme=dark] .so-collapse-container .so-collapse-header:hover {
  background-color: var(--so-hover-bg);
}
[data-theme=dark] .so-collapse-container .so-collapse-body {
  border-top-color: var(--so-border-color);
}
[data-theme=dark] .so-collapse-inline .so-collapse-content::after {
  background: linear-gradient(to bottom, transparent, var(--so-card-bg));
}
[data-theme=dark] .so-collapse-nested {
  border-left-color: var(--so-border-color);
}

.so-carousel {
  --carousel-bg: transparent;
  --carousel-control-bg: rgba(255, 255, 255, 0.9);
  --carousel-control-color: #3c4043;
  --carousel-control-hover-bg: #ffffff;
  --carousel-control-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  --carousel-indicator-bg: rgba(255, 255, 255, 0.5);
  --carousel-indicator-active-bg: #ffffff;
  --carousel-caption-bg: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
  --carousel-caption-color: #ffffff;
  --carousel-transition-duration: 0.6s;
  --carousel-transition-timing: cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background: var(--carousel-bg);
  border-radius: 8px;
}
.so-carousel:focus {
  outline: none;
}
.so-carousel:focus-visible, .so-carousel.so-focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: 2px;
}

.so-carousel-inner {
  position: relative;
  width: 100%;
  display: flex;
  transition: transform var(--carousel-transition-duration) var(--carousel-transition-timing);
  will-change: transform;
}

.so-carousel-slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  backface-visibility: hidden;
  overflow: hidden;
}
.so-carousel-slide img {
  width: 100%;
  height: auto;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.so-carousel-fade .so-carousel-inner {
  display: block;
}
.so-carousel-fade .so-carousel-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity var(--carousel-transition-duration) var(--carousel-transition-timing);
}
.so-carousel-fade .so-carousel-slide.so-active {
  position: relative;
  opacity: 1;
  z-index: 1;
  display: flex;
}

.so-carousel-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: var(--carousel-control-bg);
  color: var(--carousel-control-color);
  border: none;
  border-radius: 9999px;
  box-shadow: var(--carousel-control-shadow);
  cursor: pointer;
  opacity: 0.9;
  transition: all 0.15s ease;
}
.so-carousel-control:hover {
  background: var(--carousel-control-hover-bg);
  opacity: 1;
  transform: translateY(-50%) scale(1.05);
}
.so-carousel-control:focus-visible, .so-carousel-control.so-focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: 2px;
}
.so-carousel-control:disabled, .so-carousel-control.so-disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}
.so-carousel-control .material-symbols-rounded {
  font-size: 24px;
}

.so-carousel-control-prev {
  left: 16px;
}

.so-carousel-control-next {
  right: 16px;
}

.so-carousel-noloop[data-at-start=true] .so-carousel-control-prev, .so-carousel-noloop[data-at-end=true] .so-carousel-control-next {
  opacity: 0.3;
  pointer-events: none;
}

.so-carousel-indicators {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 9999px;
  list-style: none;
  margin: 0;
}

.so-carousel-indicator {
  width: 8px;
  height: 8px;
  padding: 0;
  background: var(--carousel-indicator-bg);
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.so-carousel-indicator:hover {
  background: rgba(255, 255, 255, 0.75);
}
.so-carousel-indicator.so-active {
  width: 24px;
  background: var(--carousel-indicator-active-bg);
  border-radius: 9999px;
}
.so-carousel-indicator:focus-visible, .so-carousel-indicator.so-focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.so-carousel-indicators-line .so-carousel-indicator {
  width: 24px;
  height: 3px;
  border-radius: 3px;
}
.so-carousel-indicators-line .so-carousel-indicator.so-active {
  width: 36px;
}

.so-carousel-indicators-numbers {
  gap: 4px;
  padding: 4px 8px;
}
.so-carousel-indicators-numbers .so-carousel-indicator {
  width: 28px;
  height: 28px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}
.so-carousel-indicators-numbers .so-carousel-indicator.so-active {
  width: 28px;
  color: #3c4043;
}

.so-carousel-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.3);
  z-index: 10;
}

.so-carousel-progress-bar {
  height: 100%;
  width: 0;
  background: var(--carousel-indicator-active-bg);
  transition: width linear;
}

@keyframes so-carousel-progress {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
.so-carousel-autoplay .so-carousel-progress-bar {
  animation: so-carousel-progress var(--carousel-interval, 5s) linear;
}
.so-carousel-autoplay.so-paused .so-carousel-progress-bar {
  animation-play-state: paused;
}

.so-carousel-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 32px 24px 48px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7) 50%);
  color: #ffffff;
  text-align: center;
  z-index: 5;
}

.so-carousel-caption-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 8px;
  line-height: 1.2;
  color: #ffffff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.so-carousel-caption-text {
  font-size: 0.875rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.so-carousel-caption-top .so-carousel-caption {
  top: 0;
  bottom: auto;
  padding: 24px 24px 40px;
  background: linear-gradient(rgba(0, 0, 0, 0.6), transparent);
}

.so-carousel-caption-center .so-carousel-caption {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  padding: 24px;
  margin: 0 24px;
  left: 0;
  right: 0;
  border-radius: 8px;
}

.so-carousel-multi {
  --carousel-items-visible: 3;
  --carousel-gap: 16px;
}
.so-carousel-multi .so-carousel-inner {
  display: flex;
  gap: var(--carousel-gap);
}
.so-carousel-multi .so-carousel-slide {
  flex: 0 0 calc((100% - (var(--carousel-items-visible) - 1) * var(--carousel-gap)) / var(--carousel-items-visible));
  display: flex;
}
@media (max-width: 767px) {
  .so-carousel-multi {
    --carousel-items-visible: 1;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .so-carousel-multi {
    --carousel-items-visible: 2;
  }
}

.so-carousel-hero {
  --carousel-peek: 60px;
  --carousel-gap: 16px;
  overflow: hidden;
  padding: 0 var(--carousel-peek);
}
.so-carousel-hero .so-carousel-inner {
  display: flex;
  transition: transform var(--carousel-transition-duration) var(--carousel-transition-timing);
}
.so-carousel-hero .so-carousel-slide {
  flex: 0 0 calc(100% - 2 * var(--carousel-peek) + var(--carousel-gap));
  margin: 0 calc(var(--carousel-gap) / 2);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  display: flex;
  transition: transform var(--carousel-transition-duration) var(--carousel-transition-timing), box-shadow 0.15s ease, opacity 0.15s ease;
}
.so-carousel-hero .so-carousel-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.so-carousel-hero .so-carousel-slide.so-active {
  transform: scale(1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}
.so-carousel-hero .so-carousel-slide:not(.so-active) {
  transform: scale(0.9);
  opacity: 0.6;
}
.so-carousel-hero .so-carousel-control-prev {
  left: 8px;
}
.so-carousel-hero .so-carousel-control-next {
  right: 8px;
}
@media (max-width: 767px) {
  .so-carousel-hero {
    --carousel-peek: 24px;
  }
}

.so-carousel-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.so-carousel-thumbnails {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 8px 0;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-carousel-thumbnails::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-carousel-thumbnails::-webkit-scrollbar-track {
  background: transparent;
}
.so-carousel-thumbnails::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-carousel-thumbnails::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-carousel-thumbnail {
  flex: 0 0 auto;
  width: 72px;
  height: 54px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.15s ease;
  background: none;
}
.so-carousel-thumbnail:hover {
  opacity: 0.8;
}
.so-carousel-thumbnail.so-active {
  border-color: var(--so-accent-primary);
  opacity: 1;
}
.so-carousel-thumbnail:focus-visible, .so-carousel-thumbnail.so-focus-visible {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: 2px;
}
.so-carousel-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.so-carousel-vertical .so-carousel-inner {
  flex-direction: column;
}
.so-carousel-vertical .so-carousel-slide {
  flex: 0 0 100%;
}
.so-carousel-vertical .so-carousel-control {
  top: auto;
  left: 50%;
  transform: translateX(-50%);
}
.so-carousel-vertical .so-carousel-control:hover {
  transform: translateX(-50%) scale(1.05);
}
.so-carousel-vertical .so-carousel-control-prev {
  top: 16px;
  bottom: auto;
  left: 50%;
  right: auto;
}
.so-carousel-vertical .so-carousel-control-prev .material-symbols-rounded {
  transform: rotate(90deg);
}
.so-carousel-vertical .so-carousel-control-next {
  bottom: 16px;
  top: auto;
  left: 50%;
  right: auto;
}
.so-carousel-vertical .so-carousel-control-next .material-symbols-rounded {
  transform: rotate(90deg);
}
.so-carousel-vertical .so-carousel-indicators {
  flex-direction: column;
  left: auto;
  right: 16px;
  bottom: 50%;
  transform: translateY(50%);
  padding: 12px 8px;
}

.so-carousel-sm .so-carousel-control {
  width: 32px;
  height: 32px;
}
.so-carousel-sm .so-carousel-control .material-symbols-rounded {
  font-size: 20px;
}
.so-carousel-sm .so-carousel-control-prev {
  left: 8px;
}
.so-carousel-sm .so-carousel-control-next {
  right: 8px;
}
.so-carousel-sm .so-carousel-caption {
  padding: 24px 16px 16px;
}
.so-carousel-sm .so-carousel-caption-title {
  font-size: 1rem;
}
.so-carousel-sm .so-carousel-caption-text {
  font-size: 0.8125rem;
}

.so-carousel-lg .so-carousel-control {
  width: 48px;
  height: 48px;
}
.so-carousel-lg .so-carousel-control .material-symbols-rounded {
  font-size: 28px;
}
.so-carousel-lg .so-carousel-caption-title {
  font-size: 1.25rem;
}
.so-carousel-lg .so-carousel-caption-text {
  font-size: 0.9375rem;
}

.so-carousel-fullbleed {
  border-radius: 0;
}
.so-carousel-fullbleed .so-carousel-slide {
  border-radius: 0;
}

.so-carousel-contained {
  max-width: 1200px;
  margin: 0 auto;
}

.so-carousel-16x9 {
  aspect-ratio: 16/9;
}
.so-carousel-16x9 .so-carousel-slide {
  position: absolute;
  inset: 0;
}
.so-carousel-16x9 .so-carousel-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.so-carousel-16x9 .so-carousel-inner {
  height: 100%;
}

.so-carousel-4x3 {
  aspect-ratio: 4/3;
}
.so-carousel-4x3 .so-carousel-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.so-carousel-1x1 {
  aspect-ratio: 1/1;
}
.so-carousel-1x1 .so-carousel-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.so-carousel-21x9 {
  aspect-ratio: 21/9;
}
.so-carousel-21x9 .so-carousel-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.so-carousel-lazy .so-carousel-slide img[data-src] {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.so-carousel-lazy .so-carousel-slide img[data-src].so-loaded {
  opacity: 1;
}
.so-carousel-lazy .so-carousel-slide-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.so-carousel-lazy .so-carousel-slide-loading::after {
  content: "";
  width: 32px;
  height: 32px;
  border: 3px solid rgba(189, 193, 198, 0.3);
  border-top-color: var(--so-accent-primary);
  border-radius: 50%;
  animation: so-carousel-spinner 0.8s linear infinite;
}

@keyframes so-carousel-spinner {
  to {
    transform: rotate(360deg);
  }
}
.so-carousel-controls-hover .so-carousel-control {
  opacity: 0;
  transform: translateY(-50%) scale(0.9);
}
.so-carousel-controls-hover:hover .so-carousel-control, .so-carousel-controls-hover:focus-within .so-carousel-control {
  opacity: 0.9;
  transform: translateY(-50%) scale(1);
}

.so-carousel-controls-inside .so-carousel-control-prev {
  left: 8px;
}
.so-carousel-controls-inside .so-carousel-control-next {
  right: 8px;
}

.so-carousel-controls-outside {
  padding: 0 56px;
}
.so-carousel-controls-outside .so-carousel-control-prev {
  left: 0;
}
.so-carousel-controls-outside .so-carousel-control-next {
  right: 0;
}

[dir=rtl] .so-carousel-control-prev {
  left: auto;
  right: 16px;
}
[dir=rtl] .so-carousel-control-next {
  right: auto;
  left: 16px;
}
[dir=rtl] .so-carousel-hero .so-carousel-control-prev {
  left: auto;
  right: calc(var(--carousel-peek) - 20px - 8px);
}
[dir=rtl] .so-carousel-hero .so-carousel-control-next {
  right: auto;
  left: calc(var(--carousel-peek) - 20px - 8px);
}

.so-carousel-dark {
  --carousel-control-bg: rgba(60, 64, 67, 0.9);
  --carousel-control-color: #ffffff;
  --carousel-control-hover-bg: #3c4043;
  --carousel-indicator-bg: rgba(60, 64, 67, 0.5);
  --carousel-indicator-active-bg: #3c4043;
}
.so-carousel-dark .so-carousel-indicators {
  background: rgba(255, 255, 255, 0.3);
}

[data-theme=dark] .so-carousel {
  --carousel-control-bg: rgba(95, 99, 104, 0.9);
  --carousel-control-color: #ffffff;
  --carousel-control-hover-bg: #80868b;
  --carousel-control-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
[data-theme=dark] .so-carousel-indicators {
  background: rgba(32, 33, 36, 0.5);
}
[data-theme=dark] .so-carousel-thumbnail.so-active {
  border-color: var(--so-accent-primary);
}
[data-theme=dark] .so-carousel-thumbnails {
  scrollbar-color: #80868b transparent;
}
[data-theme=dark] .so-carousel-thumbnails::-webkit-scrollbar-thumb {
  background: #80868b;
}

@media (max-width: 767px) {
  .so-carousel-control {
    width: 32px;
    height: 32px;
  }
  .so-carousel-control .material-symbols-rounded {
    font-size: 20px;
  }
  .so-carousel-control-prev {
    left: 8px;
  }
  .so-carousel-control-next {
    right: 8px;
  }
  .so-carousel-caption {
    padding: 24px 16px 16px;
  }
  .so-carousel-caption-title {
    font-size: 1rem;
  }
  .so-carousel-caption-text {
    font-size: 0.8125rem;
  }
  .so-carousel-thumbnail {
    width: 56px;
    height: 42px;
  }
}
.so-carousel-sliding {
  pointer-events: none;
}
.so-carousel-sliding .so-carousel-control {
  pointer-events: none;
}

.so-carousel-dragging .so-carousel-inner {
  transition: none;
  cursor: grabbing;
}

.so-carousel-touchable .so-carousel-inner {
  cursor: grab;
}

.so-carousel-cards .so-carousel-slide {
  padding: 8px;
}
.so-carousel-cards .so-carousel-slide .so-card {
  height: 100%;
  margin: 0;
}

.so-table {
  width: 100%;
  margin-bottom: 16px;
  color: var(--so-text-primary);
  font-family: var(--so-font-family);
  vertical-align: middle;
  border-color: var(--so-border-color);
  border-collapse: collapse;
  border-spacing: 0;
}
.so-table > thead {
  vertical-align: bottom;
}
.so-table > thead > tr > th {
  padding: 0.5rem 0.5rem;
  font-weight: 600;
  text-align: left;
  color: var(--so-text-primary);
  border-bottom: 1px solid var(--so-border-color);
}
.so-table > tbody > tr > td {
  padding: 0.5rem 0.5rem;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: var(--so-border-color);
}
.so-table > tfoot > tr > td,
.so-table > tfoot > tr > th {
  padding: 0.5rem 0.5rem;
  font-weight: 600;
  border-top: 1px solid var(--so-border-color);
}
.so-table > caption {
  padding: 0.5rem 0.5rem;
  color: var(--so-text-secondary);
  text-align: left;
  caption-side: bottom;
}
.so-table.so-table-caption-top > caption {
  caption-side: top;
}

.so-table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(0, 0, 0, 0.02);
}
[data-theme=dark] .so-table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(255, 255, 255, 0.02);
}

.so-table-striped-columns > tbody > tr > :nth-child(odd),
.so-table-striped-columns > thead > tr > :nth-child(odd) {
  background-color: rgba(0, 0, 0, 0.02);
}
[data-theme=dark] .so-table-striped-columns > tbody > tr > :nth-child(odd),
[data-theme=dark] .so-table-striped-columns > thead > tr > :nth-child(odd) {
  background-color: rgba(255, 255, 255, 0.02);
}

.so-table-hover > tbody > tr {
  transition: background-color 0.1s ease;
}
.so-table-hover > tbody > tr:hover > * {
  background-color: rgba(0, 0, 0, 0.04);
}
[data-theme=dark] .so-table-hover > tbody > tr:hover > * {
  background-color: rgba(255, 255, 255, 0.04);
}

.so-table-active > *,
.so-table > tbody > tr.so-table-active > * {
  background-color: rgba(26, 115, 232, 0.08);
}

.so-table-bordered {
  border: 1px solid var(--so-border-color);
}
.so-table-bordered > :not(caption) > * > * {
  border: 1px solid var(--so-border-color);
  border-width: 1px;
}

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

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

.so-table-lg > :not(caption) > * > * {
  padding: 0.75rem 0.75rem;
}

.so-table-dense > tbody > tr {
  height: 28px;
}
.so-table-dense > tbody > tr > td {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.so-table-comfortable > tbody > tr {
  height: 52px;
}
.so-table-comfortable > tbody > tr > td {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.so-thead-light > tr > th {
  background-color: var(--so-bg-secondary);
  color: var(--so-text-primary);
}

.so-table > thead.so-thead-dark > tr > th,
.so-thead-dark > tr > th {
  background-color: #3c4043;
  color: #fff;
  border-bottom-color: #5f6368;
}
.so-table > thead.so-thead-dark > tr > th a,
.so-table > thead.so-thead-dark > tr > th .so-table-sort-icon,
.so-thead-dark > tr > th a,
.so-thead-dark > tr > th .so-table-sort-icon {
  color: inherit;
}

.so-table-head-bg > thead > tr > th {
  background-color: var(--so-bg-secondary);
}
.so-table-head-bg > tfoot > tr > td,
.so-table-head-bg > tfoot > tr > th {
  background-color: var(--so-bg-secondary);
}

.so-table-primary {
  --so-table-color: rgb(21.1928571429, 103.2, 211.0071428571);
  --so-table-bg: rgba(26, 115, 232, 0.1);
  --so-table-border-color: rgba(26, 115, 232, 0.2);
  color: var(--so-table-color);
  background-color: var(--so-table-bg);
  border-color: var(--so-table-border-color);
}

.so-table-secondary {
  --so-table-color: rgb(97.2, 105.3, 112.5);
  --so-table-bg: rgba(108, 117, 125, 0.1);
  --so-table-border-color: rgba(108, 117, 125, 0.2);
  color: var(--so-table-color);
  background-color: var(--so-table-bg);
  border-color: var(--so-table-border-color);
}

.so-table-success {
  --so-table-color: rgb(46.8, 151.2, 74.7);
  --so-table-bg: rgba(52, 168, 83, 0.1);
  --so-table-border-color: rgba(52, 168, 83, 0.2);
  color: var(--so-table-color);
  background-color: var(--so-table-bg);
  border-color: var(--so-table-border-color);
}

.so-table-danger {
  --so-table-color: rgb(231.297309417, 42.8044843049, 27.002690583);
  --so-table-bg: rgba(234, 67, 53, 0.1);
  --so-table-border-color: rgba(234, 67, 53, 0.2);
  color: var(--so-table-color);
  background-color: var(--so-table-bg);
  border-color: var(--so-table-border-color);
}

.so-table-warning {
  --so-table-color: rgb(229.5, 161.1, 0);
  --so-table-bg: rgba(255, 179, 0, 0.1);
  --so-table-border-color: rgba(255, 179, 0, 0.2);
  color: var(--so-table-color);
  background-color: var(--so-table-bg);
  border-color: var(--so-table-border-color);
}

.so-table-info {
  --so-table-color: rgb(20.7, 145.8, 165.6);
  --so-table-bg: rgba(23, 162, 184, 0.1);
  --so-table-border-color: rgba(23, 162, 184, 0.2);
  color: var(--so-table-color);
  background-color: var(--so-table-bg);
  border-color: var(--so-table-border-color);
}

.so-table-light {
  --so-table-color: #3c4043;
  --so-table-bg: rgba(241, 243, 244, 0.1);
  --so-table-border-color: rgba(241, 243, 244, 0.2);
  color: var(--so-table-color);
  background-color: var(--so-table-bg);
  border-color: var(--so-table-border-color);
}

.so-table-dark {
  --so-table-color: #ffffff;
  --so-table-bg: rgba(60, 64, 67, 0.1);
  --so-table-border-color: rgba(60, 64, 67, 0.2);
  color: var(--so-table-color);
  background-color: var(--so-table-bg);
  border-color: var(--so-table-border-color);
}

.so-table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.so-table-responsive > .so-table-bordered {
  border: 0;
}

@media (max-width: 575px) {
  .so-table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 767px) {
  .so-table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1023px) {
  .so-table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1199px) {
  .so-table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1399px) {
  .so-table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.so-table-sticky-header > thead {
  position: sticky;
  top: 0;
  z-index: 1020;
}
.so-table-sticky-header > thead > tr > th {
  background: var(--so-card-bg);
  box-shadow: 0 1px 0 var(--so-border-color);
}

.so-table-responsive .so-table-sticky-header > thead {
  position: sticky;
  top: 0;
}

.so-table-sortable > thead > tr > th[data-sort] {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: relative;
  transition: background-color 0.1s ease;
}
.so-table-sortable > thead > tr > th[data-sort]:hover {
  background: var(--so-bg-secondary);
}
.so-table-sortable .so-table-sort {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.so-table-sortable .so-table-sort-icon {
  opacity: 0.3;
  transition: opacity 0.1s ease, transform 0.1s ease;
}
.so-table-sortable .so-table-sort-icon .material-symbols-rounded {
  font-size: 18px;
  vertical-align: middle;
}
.so-table-sortable > thead > tr > th[data-sort]:hover .so-table-sort-icon {
  opacity: 0.6;
}
.so-table-sortable > thead > tr > th[aria-sort=ascending] .so-table-sort-icon,
.so-table-sortable > thead > tr > th[aria-sort=descending] .so-table-sort-icon {
  opacity: 1;
  color: var(--so-accent-primary);
}
.so-table-sortable > thead > tr > th[aria-sort=descending] .so-table-sort-icon {
  transform: rotate(180deg);
}

.so-table-selectable > tbody > tr {
  cursor: pointer;
  transition: background-color 0.1s ease;
}
.so-table-selectable > tbody > tr:hover > * {
  background-color: rgba(0, 0, 0, 0.04);
}
.so-table-selectable > tbody > tr.so-selected > * {
  background-color: rgba(26, 115, 232, 0.08);
}
.so-table-selectable .so-table-check {
  width: 48px;
  padding: 8px;
  text-align: center;
  vertical-align: middle;
}
.so-table-selectable .so-table-check .so-checkbox {
  margin: 0;
}
[data-theme=dark] .so-table-selectable > tbody > tr:hover > * {
  background-color: rgba(255, 255, 255, 0.04);
}
[data-theme=dark] .so-table-selectable > tbody > tr.so-selected > * {
  background-color: rgba(26, 115, 232, 0.15);
}

.so-table-expandable .so-table-expand-cell {
  width: 48px;
  padding: 8px;
  text-align: center;
  vertical-align: middle;
}
.so-table-expandable .so-table-expand-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  color: var(--so-text-secondary);
  transition: background-color 0.1s ease, color 0.1s ease;
}
.so-table-expandable .so-table-expand-btn:hover {
  background: var(--so-bg-secondary);
  color: var(--so-text-primary);
}
.so-table-expandable .so-table-expand-btn .material-symbols-rounded {
  font-size: 20px;
  transition: transform 0.15s ease;
}
.so-table-expandable .so-table-expand-btn.so-expanded {
  color: var(--so-accent-primary);
}
.so-table-expandable .so-table-expand-btn.so-expanded .material-symbols-rounded {
  transform: rotate(180deg);
}
.so-table-expandable .so-table-expand-row > td {
  padding: 0;
  border-bottom: 1px solid var(--so-border-color);
}
.so-table-expandable .so-table-expand-row[hidden] {
  display: none;
}
.so-table-expandable .so-table-expand-content {
  padding: 16px;
  background: var(--so-bg-secondary);
}

.so-table-loading {
  position: relative;
  pointer-events: none;
}
.so-table-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.7);
  z-index: 1;
}
[data-theme=dark] .so-table-loading::after {
  background: rgba(0, 0, 0, 0.5);
}

.so-table-wrapper {
  position: relative;
}
.so-table-wrapper.so-loading {
  pointer-events: none;
}
.so-table-wrapper.so-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.7);
  z-index: 1;
}
[data-theme=dark] .so-table-wrapper.so-loading::after {
  background: rgba(0, 0, 0, 0.5);
}

.so-table-empty {
  text-align: center;
  padding: 32px 16px;
  color: var(--so-text-secondary);
}
.so-table-empty .material-symbols-rounded {
  font-size: 48px;
  margin-bottom: 12px;
  opacity: 0.5;
}
.so-table-empty p {
  margin: 0;
  font-size: 0.875rem;
}

.so-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.so-table-toolbar .so-table-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-primary);
  margin: 0;
}
.so-table-toolbar .so-table-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.so-table-toolbar .so-table-selection-info {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
}
.so-table-toolbar .so-table-selection-info strong {
  color: var(--so-accent-primary);
  font-weight: 600;
}

.so-table-toolbar + .so-table-responsive,
.so-table-toolbar + .so-table {
  border: 1px solid var(--so-border-color);
  border-radius: 0;
}

.so-table-toolbar + .so-table-responsive:has(+ .so-table-footer),
.so-table-toolbar + .so-table:has(+ .so-table-footer) {
  border-bottom: none;
}

.so-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-top: none;
  border-radius: 0 0 8px 8px;
}

.so-table .so-table {
  margin-bottom: 0;
  background-color: transparent;
}

.so-table-align-top > :not(caption) > * > * {
  vertical-align: top;
}

.so-table-align-middle > :not(caption) > * > * {
  vertical-align: middle;
}

.so-table-align-bottom > :not(caption) > * > * {
  vertical-align: bottom;
}

.so-table-nowrap > :not(caption) > * > * {
  white-space: nowrap;
}

.so-table-fixed {
  table-layout: fixed;
}

.so-card > .so-table,
.so-card > .so-table-responsive > .so-table {
  margin-bottom: 0;
}
.so-card > .so-table > :not(caption) > *:last-child > *,
.so-card > .so-table-responsive > .so-table > :not(caption) > *:last-child > * {
  border-bottom: 0;
}

[data-theme=dark] .so-table {
  color: var(--so-text-primary);
}
[data-theme=dark] .so-table > thead > tr > th {
  border-bottom-color: var(--so-border-color);
}
[data-theme=dark] .so-table > tbody > tr > td {
  border-bottom-color: var(--so-border-color);
}
[data-theme=dark] .so-table > tfoot > tr > td,
[data-theme=dark] .so-table > tfoot > tr > th {
  border-top-color: var(--so-border-color);
}
[data-theme=dark] .so-thead-light > tr > th {
  background-color: var(--so-bg-secondary);
  color: var(--so-text-primary);
}
[data-theme=dark] .so-table-bordered {
  border-color: var(--so-border-color);
}
[data-theme=dark] .so-table-bordered > :not(caption) > * > * {
  border-color: var(--so-border-color);
}
[data-theme=dark] .so-table-toolbar,
[data-theme=dark] .so-table-footer {
  background: var(--so-card-bg);
  border-color: var(--so-border-color);
}

.so-pagination {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.so-pagination-nav {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 4px;
}

.so-page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  color: var(--so-text-primary);
  text-decoration: none;
  background: transparent;
  border: 1px solid var(--so-border-color);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.1s ease;
}
.so-page-link:hover:not(:disabled):not(.so-disabled) {
  color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.08);
  border-color: var(--so-accent-primary);
}
.so-page-link:focus-visible, .so-page-link.so-focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.2);
  z-index: 1;
}
.so-page-link .material-symbols-rounded {
  font-size: 20px;
}

.so-page-item.so-active .so-page-link {
  color: #ffffff;
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-page-item.so-active .so-page-link:hover {
  color: #ffffff;
  background: rgb(21.6638095238, 105.4933333333, 215.6961904762);
  border-color: rgb(21.6638095238, 105.4933333333, 215.6961904762);
}

.so-page-item.so-disabled .so-page-link {
  color: var(--so-text-disabled);
  background: transparent;
  border-color: var(--so-border-color);
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.6;
}
.so-page-item.so-disabled .so-page-link:focus, .so-page-item.so-disabled .so-page-link:focus-visible, .so-page-item.so-disabled .so-page-link.so-focus-visible {
  outline: none;
  box-shadow: none;
}

.so-page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 36px;
  height: 36px;
  line-height: 1;
  color: var(--so-text-secondary);
  font-weight: 700;
  letter-spacing: 2px;
}

.so-pagination-sm .so-page-link {
  min-width: 28px;
  height: 28px;
  padding: 4px 8px;
  font-size: 0.8125rem;
}
.so-pagination-sm .so-page-link .material-symbols-rounded {
  font-size: 18px;
}
.so-pagination-sm .so-page-ellipsis {
  min-width: 28px;
  height: 28px;
  font-size: 0.8125rem;
}

.so-pagination-lg .so-page-link {
  min-width: 44px;
  height: 44px;
  padding: 12px 16px;
  font-size: 1rem;
}
.so-pagination-lg .so-page-link .material-symbols-rounded {
  font-size: 24px;
}
.so-pagination-lg .so-page-ellipsis {
  min-width: 44px;
  height: 44px;
  font-size: 1rem;
}

.so-pagination-center {
  justify-content: center;
}

.so-pagination-end {
  justify-content: flex-end;
}

.so-pagination-between {
  justify-content: space-between;
}

.so-pagination-rounded .so-page-link {
  border-radius: 9999px;
}

.so-pagination-outlined .so-page-item.so-active .so-page-link {
  color: var(--so-accent-primary);
  background: transparent;
  border-color: var(--so-accent-primary);
  border-width: 2px;
}
.so-pagination-outlined .so-page-item.so-active .so-page-link:hover {
  background: rgba(26, 115, 232, 0.08);
}

.so-pagination-minimal .so-page-link {
  border: none;
  background: transparent;
}
.so-pagination-minimal .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(26, 115, 232, 0.08);
}
.so-pagination-minimal .so-page-item.so-active .so-page-link {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-pagination-flat .so-page-link {
  border: none;
  border-radius: 0;
  background: transparent;
}
.so-pagination-flat .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(26, 115, 232, 0.08);
}
.so-pagination-flat .so-page-item.so-active .so-page-link {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-pagination-soft .so-page-link {
  border: none;
  background: var(--so-bg-secondary);
}
.so-pagination-soft .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(26, 115, 232, 0.08);
  color: var(--so-accent-primary);
}
.so-pagination-soft .so-page-item.so-active .so-page-link {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-pagination-info {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  white-space: nowrap;
}
.so-pagination-info strong {
  color: var(--so-text-primary);
  font-weight: 600;
}

.so-pagination-per-page {
  display: flex;
  align-items: center;
  gap: 8px;
}

.so-pagination-label {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  white-space: nowrap;
}

.so-pagination-select {
  min-width: 70px;
  height: 32px;
  padding: 4px 24px 4px 8px;
  font-size: 0.8125rem;
  color: var(--so-text-primary);
  background: var(--so-form-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 6px;
  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 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6,9 12,15 18,9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 12px;
  transition: border-color 0.1s ease, box-shadow 0.1s ease;
}
.so-pagination-select:hover {
  border-color: var(--so-accent-primary);
}
.so-pagination-select:focus {
  outline: none;
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.2);
}

.so-pagination-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.so-pagination-jump + .so-pagination-nav {
  padding-left: 12px;
  border-left: 1px solid var(--so-border-color);
}

.so-pagination-jump {
  display: flex;
  align-items: center;
  gap: 4px;
}

.so-pagination-jump-label {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  white-space: nowrap;
}

.so-pagination-jump-input {
  width: 48px;
  height: 28px;
  padding: 4px;
  font-size: 0.8125rem;
  text-align: center;
  color: var(--so-text-primary);
  background: var(--so-form-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 6px;
  transition: border-color 0.1s ease, box-shadow 0.1s ease;
}
.so-pagination-jump-input:hover {
  border-color: var(--so-accent-primary);
}
.so-pagination-jump-input:focus {
  outline: none;
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.2);
}
.so-pagination-jump-input::-webkit-outer-spin-button, .so-pagination-jump-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.so-pagination-jump-input {
  -moz-appearance: textfield;
}

.so-pagination-jump-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 4px 8px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-primary);
  background: transparent;
  border: 1px solid var(--so-border-color);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.1s ease;
}
.so-pagination-jump-btn:hover {
  color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.08);
  border-color: var(--so-accent-primary);
}
.so-pagination-jump-btn:focus-visible, .so-pagination-jump-btn.so-focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.2);
}

.so-pagination-primary .so-page-link:hover:not(:disabled):not(.so-disabled) {
  color: #1a73e8;
  background: rgba(26, 115, 232, 0.08);
  border-color: #1a73e8;
}
.so-pagination-primary .so-page-item.so-active .so-page-link {
  background: #1a73e8;
  border-color: #1a73e8;
  color: #ffffff;
}
.so-pagination-primary .so-page-item.so-active .so-page-link:hover {
  background: rgb(21.6638095238, 105.4933333333, 215.6961904762);
  border-color: rgb(21.6638095238, 105.4933333333, 215.6961904762);
}
.so-pagination-primary.so-pagination-outlined .so-page-item.so-active .so-page-link {
  color: #1a73e8;
  background: transparent;
  border-color: #1a73e8;
}
.so-pagination-primary.so-pagination-outlined .so-page-item.so-active .so-page-link:hover {
  background: rgba(26, 115, 232, 0.08);
}

.so-pagination-light-primary .so-page-link {
  border-color: rgba(26, 115, 232, 0.3);
  background: rgba(26, 115, 232, 0.08);
  color: #1a73e8;
}
.so-pagination-light-primary .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(26, 115, 232, 0.15);
  border-color: rgba(26, 115, 232, 0.5);
}
.so-pagination-light-primary .so-page-item.so-active .so-page-link {
  background: rgba(26, 115, 232, 0.2);
  border-color: #1a73e8;
  color: rgb(21.1928571429, 103.2, 211.0071428571);
  font-weight: 600;
}
.so-pagination-light-primary .so-page-item.so-active .so-page-link:hover {
  background: rgba(26, 115, 232, 0.25);
}
.so-pagination-light-primary .so-page-item.so-disabled .so-page-link {
  background: rgba(26, 115, 232, 0.05);
  border-color: rgba(26, 115, 232, 0.15);
  color: rgba(26, 115, 232, 0.4);
}

.so-pagination-secondary .so-page-link:hover:not(:disabled):not(.so-disabled) {
  color: #6c757d;
  background: rgba(108, 117, 125, 0.08);
  border-color: #6c757d;
}
.so-pagination-secondary .so-page-item.so-active .so-page-link {
  background: #6c757d;
  border-color: #6c757d;
  color: #ffffff;
}
.so-pagination-secondary .so-page-item.so-active .so-page-link:hover {
  background: rgb(99.36, 107.64, 115);
  border-color: rgb(99.36, 107.64, 115);
}
.so-pagination-secondary.so-pagination-outlined .so-page-item.so-active .so-page-link {
  color: #6c757d;
  background: transparent;
  border-color: #6c757d;
}
.so-pagination-secondary.so-pagination-outlined .so-page-item.so-active .so-page-link:hover {
  background: rgba(108, 117, 125, 0.08);
}

.so-pagination-light-secondary .so-page-link {
  border-color: rgba(108, 117, 125, 0.3);
  background: rgba(108, 117, 125, 0.08);
  color: #6c757d;
}
.so-pagination-light-secondary .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(108, 117, 125, 0.15);
  border-color: rgba(108, 117, 125, 0.5);
}
.so-pagination-light-secondary .so-page-item.so-active .so-page-link {
  background: rgba(108, 117, 125, 0.2);
  border-color: #6c757d;
  color: rgb(97.2, 105.3, 112.5);
  font-weight: 600;
}
.so-pagination-light-secondary .so-page-item.so-active .so-page-link:hover {
  background: rgba(108, 117, 125, 0.25);
}
.so-pagination-light-secondary .so-page-item.so-disabled .so-page-link {
  background: rgba(108, 117, 125, 0.05);
  border-color: rgba(108, 117, 125, 0.15);
  color: rgba(108, 117, 125, 0.4);
}

.so-pagination-success .so-page-link:hover:not(:disabled):not(.so-disabled) {
  color: #34a853;
  background: rgba(52, 168, 83, 0.08);
  border-color: #34a853;
}
.so-pagination-success .so-page-item.so-active .so-page-link {
  background: #34a853;
  border-color: #34a853;
  color: #ffffff;
}
.so-pagination-success .so-page-item.so-active .so-page-link:hover {
  background: rgb(47.84, 154.56, 76.36);
  border-color: rgb(47.84, 154.56, 76.36);
}
.so-pagination-success.so-pagination-outlined .so-page-item.so-active .so-page-link {
  color: #34a853;
  background: transparent;
  border-color: #34a853;
}
.so-pagination-success.so-pagination-outlined .so-page-item.so-active .so-page-link:hover {
  background: rgba(52, 168, 83, 0.08);
}

.so-pagination-light-success .so-page-link {
  border-color: rgba(52, 168, 83, 0.3);
  background: rgba(52, 168, 83, 0.08);
  color: #34a853;
}
.so-pagination-light-success .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(52, 168, 83, 0.15);
  border-color: rgba(52, 168, 83, 0.5);
}
.so-pagination-light-success .so-page-item.so-active .so-page-link {
  background: rgba(52, 168, 83, 0.2);
  border-color: #34a853;
  color: rgb(46.8, 151.2, 74.7);
  font-weight: 600;
}
.so-pagination-light-success .so-page-item.so-active .so-page-link:hover {
  background: rgba(52, 168, 83, 0.25);
}
.so-pagination-light-success .so-page-item.so-disabled .so-page-link {
  background: rgba(52, 168, 83, 0.05);
  border-color: rgba(52, 168, 83, 0.15);
  color: rgba(52, 168, 83, 0.4);
}

.so-pagination-danger .so-page-link:hover:not(:disabled):not(.so-disabled) {
  color: #ea4335;
  background: rgba(234, 67, 53, 0.08);
  border-color: #ea4335;
}
.so-pagination-danger .so-page-item.so-active .so-page-link {
  background: #ea4335;
  border-color: #ea4335;
  color: #ffffff;
}
.so-pagination-danger .so-page-item.so-active .so-page-link:hover {
  background: rgb(231.8378475336, 47.6435874439, 32.2021524664);
  border-color: rgb(231.8378475336, 47.6435874439, 32.2021524664);
}
.so-pagination-danger.so-pagination-outlined .so-page-item.so-active .so-page-link {
  color: #ea4335;
  background: transparent;
  border-color: #ea4335;
}
.so-pagination-danger.so-pagination-outlined .so-page-item.so-active .so-page-link:hover {
  background: rgba(234, 67, 53, 0.08);
}

.so-pagination-light-danger .so-page-link {
  border-color: rgba(234, 67, 53, 0.3);
  background: rgba(234, 67, 53, 0.08);
  color: #ea4335;
}
.so-pagination-light-danger .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(234, 67, 53, 0.15);
  border-color: rgba(234, 67, 53, 0.5);
}
.so-pagination-light-danger .so-page-item.so-active .so-page-link {
  background: rgba(234, 67, 53, 0.2);
  border-color: #ea4335;
  color: rgb(231.297309417, 42.8044843049, 27.002690583);
  font-weight: 600;
}
.so-pagination-light-danger .so-page-item.so-active .so-page-link:hover {
  background: rgba(234, 67, 53, 0.25);
}
.so-pagination-light-danger .so-page-item.so-disabled .so-page-link {
  background: rgba(234, 67, 53, 0.05);
  border-color: rgba(234, 67, 53, 0.15);
  color: rgba(234, 67, 53, 0.4);
}

.so-pagination-warning .so-page-link:hover:not(:disabled):not(.so-disabled) {
  color: #ffb300;
  background: rgba(255, 179, 0, 0.08);
  border-color: #ffb300;
}
.so-pagination-warning .so-page-item.so-active .so-page-link {
  background: #ffb300;
  border-color: #ffb300;
  color: #ffffff;
}
.so-pagination-warning .so-page-item.so-active .so-page-link:hover {
  background: rgb(234.6, 164.68, 0);
  border-color: rgb(234.6, 164.68, 0);
}
.so-pagination-warning.so-pagination-outlined .so-page-item.so-active .so-page-link {
  color: #ffb300;
  background: transparent;
  border-color: #ffb300;
}
.so-pagination-warning.so-pagination-outlined .so-page-item.so-active .so-page-link:hover {
  background: rgba(255, 179, 0, 0.08);
}

.so-pagination-light-warning .so-page-link {
  border-color: rgba(255, 179, 0, 0.3);
  background: rgba(255, 179, 0, 0.08);
  color: #ffb300;
}
.so-pagination-light-warning .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(255, 179, 0, 0.15);
  border-color: rgba(255, 179, 0, 0.5);
}
.so-pagination-light-warning .so-page-item.so-active .so-page-link {
  background: rgba(255, 179, 0, 0.2);
  border-color: #ffb300;
  color: rgb(229.5, 161.1, 0);
  font-weight: 600;
}
.so-pagination-light-warning .so-page-item.so-active .so-page-link:hover {
  background: rgba(255, 179, 0, 0.25);
}
.so-pagination-light-warning .so-page-item.so-disabled .so-page-link {
  background: rgba(255, 179, 0, 0.05);
  border-color: rgba(255, 179, 0, 0.15);
  color: rgba(255, 179, 0, 0.4);
}

.so-pagination-info .so-page-link:hover:not(:disabled):not(.so-disabled) {
  color: #17a2b8;
  background: rgba(23, 162, 184, 0.08);
  border-color: #17a2b8;
}
.so-pagination-info .so-page-item.so-active .so-page-link {
  background: #17a2b8;
  border-color: #17a2b8;
  color: #ffffff;
}
.so-pagination-info .so-page-item.so-active .so-page-link:hover {
  background: rgb(21.16, 149.04, 169.28);
  border-color: rgb(21.16, 149.04, 169.28);
}
.so-pagination-info.so-pagination-outlined .so-page-item.so-active .so-page-link {
  color: #17a2b8;
  background: transparent;
  border-color: #17a2b8;
}
.so-pagination-info.so-pagination-outlined .so-page-item.so-active .so-page-link:hover {
  background: rgba(23, 162, 184, 0.08);
}

.so-pagination-light-info .so-page-link {
  border-color: rgba(23, 162, 184, 0.3);
  background: rgba(23, 162, 184, 0.08);
  color: #17a2b8;
}
.so-pagination-light-info .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(23, 162, 184, 0.15);
  border-color: rgba(23, 162, 184, 0.5);
}
.so-pagination-light-info .so-page-item.so-active .so-page-link {
  background: rgba(23, 162, 184, 0.2);
  border-color: #17a2b8;
  color: rgb(20.7, 145.8, 165.6);
  font-weight: 600;
}
.so-pagination-light-info .so-page-item.so-active .so-page-link:hover {
  background: rgba(23, 162, 184, 0.25);
}
.so-pagination-light-info .so-page-item.so-disabled .so-page-link {
  background: rgba(23, 162, 184, 0.05);
  border-color: rgba(23, 162, 184, 0.15);
  color: rgba(23, 162, 184, 0.4);
}

.so-page-link-icon {
  padding: 8px;
}
.so-page-link-icon .material-symbols-rounded {
  display: block;
}

@media (max-width: 767px) {
  .so-pagination {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .so-pagination-nav {
    justify-content: center;
  }
  .so-pagination-controls {
    justify-content: center;
    flex-wrap: wrap;
  }
  .so-pagination-per-page,
  .so-pagination-info,
  .so-pagination-jump {
    justify-content: center;
    text-align: center;
    width: 100%;
  }
  .so-pagination-mobile-simple .so-page-item:not(:first-child):not(:last-child):not(.so-active) {
    display: none;
  }
  .so-pagination-mobile-simple .so-page-ellipsis {
    display: none;
  }
}
@media (max-width: 767px) {
  .so-pagination-info-hide-mobile {
    display: none;
  }
}

@media (max-width: 767px) {
  .so-pagination-per-page-hide-mobile {
    display: none;
  }
}

@media (max-width: 767px) {
  .so-pagination-jump-hide-mobile {
    display: none;
  }
}

.so-pagination-compact {
  gap: 8px;
}
.so-pagination-compact .so-pagination-nav {
  gap: 0;
}
.so-pagination-compact .so-pagination-nav .so-page-link {
  border-radius: 0;
  margin-left: -1px;
}
.so-pagination-compact .so-pagination-nav .so-page-link:first-child, .so-page-item:first-child .so-pagination-compact .so-pagination-nav .so-page-link {
  border-radius: 6px 0 0 6px;
  margin-left: 0;
}
.so-pagination-compact .so-pagination-nav .so-page-link:last-child, .so-page-item:last-child .so-pagination-compact .so-pagination-nav .so-page-link {
  border-radius: 0 6px 6px 0;
}
.so-pagination-compact .so-pagination-nav .so-page-item:first-child .so-page-link {
  border-radius: 6px 0 0 6px;
  margin-left: 0;
}
.so-pagination-compact .so-pagination-nav .so-page-item:last-child .so-page-link {
  border-radius: 0 6px 6px 0;
}

.so-pagination-simple .so-pagination-nav {
  gap: 8px;
}
.so-pagination-simple .so-page-link {
  padding: 8px 16px;
}
.so-pagination-simple .so-page-link .material-symbols-rounded {
  margin-right: 4px;
}
.so-pagination-simple .so-page-link .material-symbols-rounded:last-child {
  margin-right: 0;
  margin-left: 4px;
}

[data-theme=dark] .so-page-link {
  border-color: var(--so-border-color);
}
[data-theme=dark] .so-page-link:hover:not(:disabled):not(.so-disabled) {
  background: rgba(26, 115, 232, 0.15);
}
[data-theme=dark] .so-pagination-select {
  background-color: var(--so-form-bg);
  border-color: var(--so-border-color);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6,9 12,15 18,9'%3E%3C/polyline%3E%3C/svg%3E");
}
[data-theme=dark] .so-pagination-jump-input {
  background-color: var(--so-form-bg);
  border-color: var(--so-border-color);
}
[data-theme=dark] .so-pagination-soft .so-page-link {
  background: var(--so-bg-secondary);
}

.so-spinner {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border: 3px solid var(--so-border-color);
  border-top-color: var(--so-accent-primary);
  border-radius: 50%;
  animation: so-spinner-rotate 0.75s linear infinite;
  vertical-align: middle;
}

@keyframes so-spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}
.so-spinner-xs {
  width: 1rem;
  height: 1rem;
  border-width: 2px;
}

.so-spinner-sm {
  width: 1.5rem;
  height: 1.5rem;
  border-width: 2px;
}

.so-spinner-md {
  width: 2rem;
  height: 2rem;
  border-width: 3px;
}

.so-spinner-lg {
  width: 3rem;
  height: 3rem;
  border-width: 4px;
}

.so-spinner-xl {
  width: 4rem;
  height: 4rem;
  border-width: 5px;
}

.so-spinner-primary {
  border-top-color: var(--so-accent-primary);
}

.so-spinner-secondary {
  border-top-color: var(--so-accent-secondary);
}

.so-spinner-success {
  border-top-color: var(--so-accent-success);
}

.so-spinner-danger {
  border-top-color: var(--so-accent-danger);
}

.so-spinner-warning {
  border-top-color: var(--so-accent-warning);
}

.so-spinner-info {
  border-top-color: var(--so-accent-info);
}

.so-spinner-light {
  border-color: rgba(255, 255, 255, 0.25);
  border-top-color: #ffffff;
}

.so-spinner-dark {
  border-color: rgba(32, 33, 36, 0.25);
  border-top-color: #202124;
}

.so-spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-color: var(--so-accent-primary);
  border-radius: 50%;
  opacity: 0;
  animation: so-spinner-grow 0.75s linear infinite;
  vertical-align: middle;
}

@keyframes so-spinner-grow {
  0% {
    transform: scale(0);
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.so-spinner-grow.so-spinner-xs {
  width: 1rem;
  height: 1rem;
}

.so-spinner-grow.so-spinner-sm {
  width: 1.5rem;
  height: 1.5rem;
}

.so-spinner-grow.so-spinner-lg {
  width: 3rem;
  height: 3rem;
}

.so-spinner-grow.so-spinner-xl {
  width: 4rem;
  height: 4rem;
}

.so-spinner-grow.so-spinner-primary {
  background-color: var(--so-accent-primary);
}

.so-spinner-grow.so-spinner-secondary {
  background-color: var(--so-accent-secondary);
}

.so-spinner-grow.so-spinner-success {
  background-color: var(--so-accent-success);
}

.so-spinner-grow.so-spinner-danger {
  background-color: var(--so-accent-danger);
}

.so-spinner-grow.so-spinner-warning {
  background-color: var(--so-accent-warning);
}

.so-spinner-grow.so-spinner-info {
  background-color: var(--so-accent-info);
}

.so-spinner-grow.so-spinner-light {
  background-color: #ffffff;
}

.so-spinner-grow.so-spinner-dark {
  background-color: #202124;
}

.so-spinner-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  vertical-align: middle;
}

.so-spinner-dots span {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: var(--so-accent-primary);
  border-radius: 50%;
  animation: so-spinner-dots-bounce 1.4s ease-in-out infinite both;
}

.so-spinner-dots span:nth-child(1) {
  animation-delay: -0.32s;
}

.so-spinner-dots span:nth-child(2) {
  animation-delay: -0.16s;
}

.so-spinner-dots span:nth-child(3) {
  animation-delay: 0s;
}

@keyframes so-spinner-dots-bounce {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.so-spinner-dots-sm span {
  width: 6px;
  height: 6px;
}

.so-spinner-dots-lg span {
  width: 12px;
  height: 12px;
}

.so-spinner-dots-primary span {
  background-color: var(--so-accent-primary);
}

.so-spinner-dots-secondary span {
  background-color: var(--so-accent-secondary);
}

.so-spinner-dots-success span {
  background-color: var(--so-accent-success);
}

.so-spinner-dots-danger span {
  background-color: var(--so-accent-danger);
}

.so-spinner-dots-warning span {
  background-color: var(--so-accent-warning);
}

.so-spinner-dots-info span {
  background-color: var(--so-accent-info);
}

.so-spinner-dots-light span {
  background-color: #ffffff;
}

.so-spinner-dots-dark span {
  background-color: #202124;
}

.so-spinner-bars {
  display: inline-flex;
  align-items: flex-end;
  gap: 3px;
  height: 24px;
  vertical-align: middle;
}

.so-spinner-bars span {
  display: inline-block;
  width: 4px;
  height: 100%;
  background-color: var(--so-accent-primary);
  border-radius: 2px;
  animation: so-spinner-bars-scale 1.2s ease-in-out infinite;
}

.so-spinner-bars span:nth-child(1) {
  animation-delay: -1.2s;
}

.so-spinner-bars span:nth-child(2) {
  animation-delay: -1.1s;
}

.so-spinner-bars span:nth-child(3) {
  animation-delay: -1s;
}

.so-spinner-bars span:nth-child(4) {
  animation-delay: -0.9s;
}

.so-spinner-bars span:nth-child(5) {
  animation-delay: -0.8s;
}

@keyframes so-spinner-bars-scale {
  0%, 40%, 100% {
    transform: scaleY(0.4);
  }
  20% {
    transform: scaleY(1);
  }
}
.so-spinner-bars-sm {
  height: 16px;
  gap: 2px;
}

.so-spinner-bars-sm span {
  width: 3px;
}

.so-spinner-bars-lg {
  height: 32px;
  gap: 4px;
}

.so-spinner-bars-lg span {
  width: 5px;
}

.so-spinner-bars-primary span {
  background-color: var(--so-accent-primary);
}

.so-spinner-bars-secondary span {
  background-color: var(--so-accent-secondary);
}

.so-spinner-bars-success span {
  background-color: var(--so-accent-success);
}

.so-spinner-bars-danger span {
  background-color: var(--so-accent-danger);
}

.so-spinner-bars-warning span {
  background-color: var(--so-accent-warning);
}

.so-spinner-bars-info span {
  background-color: var(--so-accent-info);
}

.so-spinner-bars-light span {
  background-color: #ffffff;
}

.so-spinner-bars-dark span {
  background-color: #202124;
}

.so-spinner-pulse {
  display: inline-block;
  position: relative;
  width: 2rem;
  height: 2rem;
  vertical-align: middle;
}

.so-spinner-pulse::before,
.so-spinner-pulse::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 3px solid var(--so-accent-primary);
  border-radius: 50%;
  animation: so-spinner-pulse 1.5s ease-out infinite;
}

.so-spinner-pulse::after {
  animation-delay: 0.5s;
}

@keyframes so-spinner-pulse {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.so-spinner-pulse.so-spinner-sm {
  width: 1.5rem;
  height: 1.5rem;
}

.so-spinner-pulse.so-spinner-lg {
  width: 3rem;
  height: 3rem;
}

.so-spinner-pulse.so-spinner-primary::before,
.so-spinner-pulse.so-spinner-primary::after {
  border-color: var(--so-accent-primary);
}

.so-spinner-pulse.so-spinner-success::before,
.so-spinner-pulse.so-spinner-success::after {
  border-color: var(--so-accent-success);
}

.so-spinner-pulse.so-spinner-danger::before,
.so-spinner-pulse.so-spinner-danger::after {
  border-color: var(--so-accent-danger);
}

.so-spinner-pulse.so-spinner-warning::before,
.so-spinner-pulse.so-spinner-warning::after {
  border-color: var(--so-accent-warning);
}

.so-spinner-pulse.so-spinner-info::before,
.so-spinner-pulse.so-spinner-info::after {
  border-color: var(--so-accent-info);
}

.so-spinner-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
}

.so-spinner-inline .so-spinner {
  flex-shrink: 0;
}

.so-spinner-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: rgba(var(--so-background), 0.9);
  backdrop-filter: blur(4px);
  z-index: 1050;
}

.so-spinner-overlay-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.so-spinner-overlay-text {
  font-size: 0.875rem;
  color: var(--so-text-secondary);
}

.so-spinner-overlay-contained {
  position: absolute;
  border-radius: inherit;
}

.so-btn-loading {
  position: relative;
  pointer-events: none;
}
.so-btn-loading .so-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1em;
  height: 1em;
  border-width: 2px;
}
.so-btn-loading .so-btn-text {
  visibility: hidden;
}

.so-btn .so-spinner-inline .so-spinner {
  width: 1em;
  height: 1em;
  border-width: 2px;
}

.so-stepper {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.so-stepper-horizontal {
  flex-direction: row;
  justify-content: space-between;
}
.so-stepper-horizontal .so-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.so-stepper-horizontal .so-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 18px;
  left: calc(50% + 24px);
  width: calc(100% - 48px);
  height: 2px;
  background: var(--so-border-color);
}
.so-stepper-horizontal .so-step.so-step-completed:not(:last-child)::after {
  background: var(--so-accent-success);
}
.so-stepper-horizontal .so-step.so-step-active:not(:last-child)::after {
  background: linear-gradient(90deg, var(--so-accent-primary) 50%, var(--so-border-color) 50%);
}

.so-stepper-vertical {
  flex-direction: column;
}
.so-stepper-vertical .so-step {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  position: relative;
  padding-bottom: 24px;
}
.so-stepper-vertical .so-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 40px;
  left: 17px;
  width: 2px;
  height: calc(100% - 40px);
  background: var(--so-border-color);
}
.so-stepper-vertical .so-step.so-step-completed:not(:last-child)::after {
  background: var(--so-accent-success);
}
.so-stepper-vertical .so-step:last-child {
  padding-bottom: 0;
}
.so-stepper-vertical .so-step-content {
  margin-left: 16px;
  text-align: left;
}

.so-step-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--so-card-bg);
  border: 2px solid var(--so-border-color);
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
  font-weight: 600;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  transition: all 0.15s ease;
}
.so-step-icon .material-symbols-rounded {
  font-size: 20px;
}

.so-step-content {
  text-align: center;
  margin-top: 8px;
}

.so-step-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-primary);
  margin: 0;
}

.so-step-subtitle {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin: 4px 0 0;
}

.so-step-active .so-step-icon {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  color: #ffffff;
}
.so-step-active .so-step-title {
  color: var(--so-accent-primary);
  font-weight: 600;
}

.so-step-completed .so-step-icon {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
  color: #ffffff;
}
.so-step-completed .so-step-title {
  color: var(--so-text-primary);
}

.so-step-error .so-step-icon {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
  color: #ffffff;
}
.so-step-error .so-step-title {
  color: var(--so-accent-danger);
}

.so-step-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.so-step-disabled .so-step-icon {
  background: var(--so-form-disabled-bg);
  border-color: var(--so-border-color);
  color: var(--so-text-muted);
}

.so-stepper-clickable .so-step:not(.so-step-disabled) {
  cursor: pointer;
}
.so-stepper-clickable .so-step:not(.so-step-disabled):hover .so-step-icon {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(var(--so-accent-primary), 0.2);
}

.so-stepper-sm .so-step-icon {
  width: 28px;
  height: 28px;
  font-size: 0.6875rem;
}
.so-stepper-sm .so-step-icon .material-symbols-rounded {
  font-size: 16px;
}
.so-stepper-sm.so-stepper-horizontal .so-step:not(:last-child)::after {
  top: 14px;
  left: calc(50% + 18px);
  width: calc(100% - 36px);
}
.so-stepper-sm.so-stepper-vertical .so-step:not(:last-child)::after {
  top: 32px;
  left: 13px;
  height: calc(100% - 32px);
}
.so-stepper-sm .so-step-title {
  font-size: 0.6875rem;
}
.so-stepper-sm .so-step-subtitle {
  font-size: 10px;
}

.so-stepper-lg .so-step-icon {
  width: 48px;
  height: 48px;
  font-size: 1rem;
}
.so-stepper-lg .so-step-icon .material-symbols-rounded {
  font-size: 28px;
}
.so-stepper-lg.so-stepper-horizontal .so-step:not(:last-child)::after {
  top: 24px;
  left: calc(50% + 32px);
  width: calc(100% - 64px);
}
.so-stepper-lg.so-stepper-vertical .so-step:not(:last-child)::after {
  top: 52px;
  left: 23px;
  height: calc(100% - 52px);
}
.so-stepper-lg .so-step-title {
  font-size: 0.875rem;
}
.so-stepper-lg .so-step-subtitle {
  font-size: 0.8125rem;
}

.so-stepper-labels-bottom .so-step-content {
  margin-top: 12px;
}

.so-stepper-alternate.so-stepper-horizontal .so-step:nth-child(even) .so-step-content {
  order: -1;
  margin-top: 0;
  margin-bottom: 8px;
}
.so-stepper-alternate.so-stepper-horizontal .so-step:nth-child(even) .so-step-icon {
  order: 1;
}

.so-stepper-progress.so-stepper-horizontal .so-step:not(:last-child)::after {
  height: 4px;
  border-radius: 2px;
  background: var(--so-border-color);
}
.so-stepper-progress.so-stepper-horizontal .so-step.so-step-completed:not(:last-child)::after {
  background: var(--so-accent-success);
}

.so-stepper-compact .so-step-content {
  display: none;
}
.so-stepper-compact.so-stepper-horizontal .so-step:not(:last-child)::after {
  left: calc(50% + 20px);
  width: calc(100% - 40px);
}

.so-stepper-outline .so-step-icon {
  background: transparent;
  border: 2px solid var(--so-border-color);
  color: var(--so-text-secondary);
}
.so-stepper-outline .so-step-active .so-step-icon {
  background: transparent;
  border-color: var(--so-accent-primary);
  color: var(--so-accent-primary);
}
.so-stepper-outline .so-step-completed .so-step-icon {
  background: transparent;
  border-color: var(--so-accent-success);
  color: var(--so-accent-success);
}
.so-stepper-outline .so-step-error .so-step-icon {
  background: transparent;
  border-color: var(--so-accent-danger);
  color: var(--so-accent-danger);
}

.so-stepper-light .so-step-icon {
  background: var(--so-card-hover-bg);
  border: none;
  color: var(--so-text-secondary);
}
.so-stepper-light .so-step-active .so-step-icon {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
}
.so-stepper-light .so-step-completed .so-step-icon {
  background: rgba(52, 168, 83, 0.15);
  color: var(--so-accent-success);
}
.so-stepper-light .so-step-error .so-step-icon {
  background: rgba(234, 67, 53, 0.15);
  color: var(--so-accent-danger);
}

.so-stepper-primary .so-step-active .so-step-icon {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  color: #ffffff;
}
.so-stepper-primary.so-stepper-horizontal .so-step.so-step-completed:not(:last-child)::after, .so-stepper-primary.so-stepper-vertical .so-step.so-step-completed:not(:last-child)::after {
  background: var(--so-accent-primary);
}
.so-stepper-primary .so-step-completed .so-step-icon {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  color: #ffffff;
}
.so-stepper-primary.so-stepper-outline .so-step-active .so-step-icon,
.so-stepper-primary.so-stepper-outline .so-step-completed .so-step-icon {
  background: transparent;
  border-color: var(--so-accent-primary);
  color: var(--so-accent-primary);
}
.so-stepper-primary.so-stepper-light .so-step-active .so-step-icon,
.so-stepper-primary.so-stepper-light .so-step-completed .so-step-icon {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
}

.so-stepper-success .so-step-active .so-step-icon {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
  color: #ffffff;
}
.so-stepper-success.so-stepper-horizontal .so-step.so-step-completed:not(:last-child)::after, .so-stepper-success.so-stepper-vertical .so-step.so-step-completed:not(:last-child)::after {
  background: var(--so-accent-success);
}
.so-stepper-success.so-stepper-outline .so-step-active .so-step-icon {
  background: transparent;
  border-color: var(--so-accent-success);
  color: var(--so-accent-success);
}
.so-stepper-success.so-stepper-light .so-step-active .so-step-icon {
  background: rgba(52, 168, 83, 0.15);
  color: var(--so-accent-success);
}

.so-stepper-danger .so-step-active .so-step-icon {
  background: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
  color: #ffffff;
}
.so-stepper-danger.so-stepper-horizontal .so-step.so-step-completed:not(:last-child)::after, .so-stepper-danger.so-stepper-vertical .so-step.so-step-completed:not(:last-child)::after {
  background: var(--so-accent-danger);
}
.so-stepper-danger.so-stepper-outline .so-step-active .so-step-icon {
  background: transparent;
  border-color: var(--so-accent-danger);
  color: var(--so-accent-danger);
}
.so-stepper-danger.so-stepper-light .so-step-active .so-step-icon {
  background: rgba(234, 67, 53, 0.15);
  color: var(--so-accent-danger);
}

.so-stepper-warning .so-step-active .so-step-icon {
  background: var(--so-accent-warning);
  border-color: var(--so-accent-warning);
  color: var(--so-warning-fg);
}
.so-stepper-warning.so-stepper-horizontal .so-step.so-step-completed:not(:last-child)::after, .so-stepper-warning.so-stepper-vertical .so-step.so-step-completed:not(:last-child)::after {
  background: var(--so-accent-warning);
}
.so-stepper-warning.so-stepper-outline .so-step-active .so-step-icon {
  background: transparent;
  border-color: var(--so-accent-warning);
  color: var(--so-warning-text-emphasis);
}
.so-stepper-warning.so-stepper-light .so-step-active .so-step-icon {
  background: rgba(255, 179, 0, 0.15);
  color: var(--so-warning-text-emphasis);
}

.so-stepper-info .so-step-active .so-step-icon {
  background: var(--so-accent-info);
  border-color: var(--so-accent-info);
  color: #ffffff;
}
.so-stepper-info.so-stepper-horizontal .so-step.so-step-completed:not(:last-child)::after, .so-stepper-info.so-stepper-vertical .so-step.so-step-completed:not(:last-child)::after {
  background: var(--so-accent-info);
}
.so-stepper-info.so-stepper-outline .so-step-active .so-step-icon {
  background: transparent;
  border-color: var(--so-accent-info);
  color: var(--so-accent-info);
}
.so-stepper-info.so-stepper-light .so-step-active .so-step-icon {
  background: rgba(23, 162, 184, 0.15);
  color: var(--so-accent-info);
}

@media (max-width: 768px) {
  .so-stepper-horizontal {
    flex-direction: column;
    align-items: stretch;
  }
  .so-stepper-horizontal .so-step {
    flex-direction: row;
    align-items: flex-start;
    padding-bottom: 16px;
  }
  .so-stepper-horizontal .so-step:not(:last-child)::after {
    top: 40px;
    left: 17px;
    width: 2px;
    height: calc(100% - 40px);
  }
  .so-stepper-horizontal .so-step:last-child {
    padding-bottom: 0;
  }
  .so-stepper-horizontal .so-step-content {
    margin-left: 16px;
    margin-top: 0;
    text-align: left;
  }
  .so-stepper-horizontal.so-stepper-sm .so-step:not(:last-child)::after {
    top: 32px;
    left: 13px;
    height: calc(100% - 32px);
  }
  .so-stepper-horizontal.so-stepper-lg .so-step:not(:last-child)::after {
    top: 52px;
    left: 23px;
    height: calc(100% - 52px);
  }
}
.so-timeline {
  position: relative;
  padding: 0;
  margin: 0;
  list-style: none;
}

.so-timeline-item {
  position: relative;
  padding-left: 40px;
  padding-bottom: 24px;
}
.so-timeline-item:last-child {
  padding-bottom: 0;
}
.so-timeline-item:last-child .so-timeline-connector {
  display: none;
}

.so-timeline-marker {
  position: absolute;
  left: 0;
  top: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--so-accent-primary);
  border: 3px solid var(--so-card-bg);
  box-shadow: 0 0 0 2px var(--so-accent-primary);
  z-index: 1;
}

.so-timeline-marker-primary {
  background: var(--so-accent-primary);
  box-shadow: 0 0 0 2px var(--so-accent-primary);
}

.so-timeline-marker-success {
  background: var(--so-accent-success);
  box-shadow: 0 0 0 2px var(--so-accent-success);
}

.so-timeline-marker-danger {
  background: var(--so-accent-danger);
  box-shadow: 0 0 0 2px var(--so-accent-danger);
}

.so-timeline-marker-warning {
  background: var(--so-accent-warning);
  box-shadow: 0 0 0 2px var(--so-accent-warning);
}

.so-timeline-marker-info {
  background: var(--so-accent-info);
  box-shadow: 0 0 0 2px var(--so-accent-info);
}

.so-timeline-marker-secondary {
  background: #6c757d;
  box-shadow: 0 0 0 2px #6c757d;
}

.so-timeline-marker:has(.material-symbols-rounded) {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--so-accent-primary);
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  color: #ffffff;
  left: -8px;
  top: 0;
}
.so-timeline-marker:has(.material-symbols-rounded) .material-symbols-rounded {
  font-size: 18px;
}

.so-timeline-marker-primary:has(.material-symbols-rounded) {
  background: var(--so-accent-primary);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.so-timeline-marker-success:has(.material-symbols-rounded) {
  background: var(--so-accent-success);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.so-timeline-marker-danger:has(.material-symbols-rounded) {
  background: var(--so-accent-danger);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.so-timeline-marker-warning:has(.material-symbols-rounded) {
  background: var(--so-accent-warning);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  color: #202124;
}

.so-timeline-marker-info:has(.material-symbols-rounded) {
  background: var(--so-accent-info);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.so-timeline-marker-secondary:has(.material-symbols-rounded) {
  background: #6c757d;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.so-timeline-marker.so-timeline-marker-primary:has(.material-symbols-rounded),
.so-timeline-marker.so-timeline-marker-icon.so-timeline-marker-primary {
  background: var(--so-accent-primary);
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.so-timeline-marker.so-timeline-marker-secondary:has(.material-symbols-rounded),
.so-timeline-marker.so-timeline-marker-icon.so-timeline-marker-secondary {
  background: #6c757d;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.so-timeline-connector {
  position: absolute;
  left: 7px;
  top: 24px;
  width: 2px;
  height: calc(100% - 24px);
  background: var(--so-border-color);
}

.so-timeline-connector-dashed {
  background: transparent;
  border-left: 2px dashed var(--so-border-color);
}

.so-timeline-content {
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 8px;
  padding: 16px;
  position: relative;
}
.so-timeline-content::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 10px;
  width: 12px;
  height: 12px;
  background: inherit;
  border-left: 1px solid var(--so-border-color);
  border-bottom: 1px solid var(--so-border-color);
  transform: rotate(45deg);
}
.so-timeline-content::after {
  display: none;
}

.so-timeline-content-plain {
  background: transparent;
  border: none;
  padding: 0;
}
.so-timeline-content-plain::before, .so-timeline-content-plain::after {
  display: none;
}

.so-timeline-cards .so-timeline-content {
  background: transparent;
  border: none;
  padding: 0;
}
.so-timeline-cards .so-timeline-content::before {
  display: none;
}

.so-timeline-time {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin-bottom: 4px;
  display: block;
}

.so-timeline-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--so-text-primary);
  margin: 0 0 4px;
}

.so-timeline-body {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  margin: 0;
}

.so-timeline-centered .so-timeline-item {
  padding-left: 50%;
  padding-right: 0;
}
.so-timeline-centered .so-timeline-item:nth-child(odd) {
  padding-left: 0;
  padding-right: 50%;
  text-align: right;
}
.so-timeline-centered .so-timeline-item:nth-child(odd) .so-timeline-marker {
  left: auto;
  right: -8px;
}
.so-timeline-centered .so-timeline-item:nth-child(odd) .so-timeline-connector {
  left: auto;
  right: 7px;
}
.so-timeline-centered .so-timeline-item:nth-child(odd) .so-timeline-content {
  margin-right: 24px;
  margin-left: 0;
}
.so-timeline-centered .so-timeline-item:nth-child(odd) .so-timeline-content::before {
  left: auto;
  right: -7px;
  border-left: none;
  border-bottom: none;
  border-right: 1px solid var(--so-border-color);
  border-top: 1px solid var(--so-border-color);
}
.so-timeline-centered .so-timeline-item:nth-child(even) .so-timeline-marker {
  left: -8px;
}
.so-timeline-centered .so-timeline-item:nth-child(even) .so-timeline-connector {
  left: -1px;
}
.so-timeline-centered .so-timeline-item:nth-child(even) .so-timeline-content {
  margin-left: 24px;
}
.so-timeline-centered::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--so-border-color);
  transform: translateX(-50%);
}
.so-timeline-centered .so-timeline-connector {
  display: none;
}

.so-timeline-alternate .so-timeline-item {
  width: 50%;
}
.so-timeline-alternate .so-timeline-item:nth-child(odd) {
  margin-left: 0;
  padding-left: 0;
  padding-right: 40px;
  text-align: right;
}
.so-timeline-alternate .so-timeline-item:nth-child(odd) .so-timeline-marker {
  left: auto;
  right: 0;
}
.so-timeline-alternate .so-timeline-item:nth-child(odd) .so-timeline-connector {
  left: auto;
  right: 7px;
}
.so-timeline-alternate .so-timeline-item:nth-child(even) {
  margin-left: 50%;
  padding-left: 40px;
  padding-right: 0;
}

.so-timeline-compact .so-timeline-item {
  padding-left: 32px;
  padding-bottom: 16px;
}
.so-timeline-compact .so-timeline-marker {
  width: 12px;
  height: 12px;
  border-width: 2px;
  top: 6px;
}
.so-timeline-compact .so-timeline-connector {
  left: 5px;
  top: 20px;
  height: calc(100% - 20px);
}
.so-timeline-compact .so-timeline-content {
  padding: 8px 12px;
}
.so-timeline-compact .so-timeline-title {
  font-size: 0.8125rem;
}
.so-timeline-compact .so-timeline-body {
  font-size: 0.6875rem;
}

.so-timeline-horizontal {
  display: flex;
  overflow-x: auto;
  padding: 24px 0;
}
.so-timeline-horizontal::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--so-border-color);
  transform: translateY(-50%);
}
.so-timeline-horizontal .so-timeline-item {
  flex: 0 0 auto;
  min-width: 200px;
  padding: 0 16px;
  padding-bottom: 0;
  text-align: center;
}
.so-timeline-horizontal .so-timeline-marker {
  position: relative;
  left: auto;
  top: auto;
  margin: 0 auto 12px;
  width: 32px;
  height: 32px;
  background: var(--so-card-bg);
  border: 2px solid var(--so-border-color);
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-secondary);
}
.so-timeline-horizontal .so-timeline-marker .material-symbols-rounded {
  font-size: 16px;
}
.so-timeline-horizontal .so-timeline-item-completed .so-timeline-marker {
  background: var(--so-accent-success);
  border-color: var(--so-accent-success);
  color: #ffffff;
}
.so-timeline-horizontal .so-timeline-item-active .so-timeline-marker {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  color: #ffffff;
}
.so-timeline-horizontal .so-timeline-connector {
  display: none;
}
.so-timeline-horizontal .so-timeline-content::before, .so-timeline-horizontal .so-timeline-content::after {
  display: none;
}

.so-timeline-feed .so-timeline-item {
  padding-left: 48px;
}
.so-timeline-feed .so-timeline-marker {
  width: 40px;
  height: 40px;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--so-card-hover-bg);
  border: none;
  box-shadow: none;
  color: var(--so-text-secondary);
}
.so-timeline-feed .so-timeline-marker .material-symbols-rounded {
  font-size: 20px;
}
.so-timeline-feed .so-timeline-marker img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.so-timeline-feed .so-timeline-connector {
  left: 19px;
  top: 44px;
  height: calc(100% - 44px);
}
.so-timeline-feed .so-timeline-content {
  background: transparent;
  border: none;
  padding: 0;
}
.so-timeline-feed .so-timeline-content::before, .so-timeline-feed .so-timeline-content::after {
  display: none;
}

@media (max-width: 768px) {
  .so-timeline-centered::before,
  .so-timeline-alternate::before {
    left: 8px;
  }
  .so-timeline-centered .so-timeline-item,
  .so-timeline-alternate .so-timeline-item {
    width: 100%;
    padding-left: 40px;
    padding-right: 0;
    margin-left: 0;
    text-align: left;
  }
  .so-timeline-centered .so-timeline-item:nth-child(odd), .so-timeline-centered .so-timeline-item:nth-child(even),
  .so-timeline-alternate .so-timeline-item:nth-child(odd),
  .so-timeline-alternate .so-timeline-item:nth-child(even) {
    padding-left: 40px;
    padding-right: 0;
    margin-left: 0;
    text-align: left;
  }
  .so-timeline-centered .so-timeline-item:nth-child(odd) .so-timeline-marker, .so-timeline-centered .so-timeline-item:nth-child(even) .so-timeline-marker,
  .so-timeline-alternate .so-timeline-item:nth-child(odd) .so-timeline-marker,
  .so-timeline-alternate .so-timeline-item:nth-child(even) .so-timeline-marker {
    left: 0;
    right: auto;
  }
  .so-timeline-centered .so-timeline-item:nth-child(odd) .so-timeline-connector, .so-timeline-centered .so-timeline-item:nth-child(even) .so-timeline-connector,
  .so-timeline-alternate .so-timeline-item:nth-child(odd) .so-timeline-connector,
  .so-timeline-alternate .so-timeline-item:nth-child(even) .so-timeline-connector {
    left: 7px;
    right: auto;
    display: block;
  }
  .so-timeline-centered .so-timeline-item:nth-child(odd) .so-timeline-content, .so-timeline-centered .so-timeline-item:nth-child(even) .so-timeline-content,
  .so-timeline-alternate .so-timeline-item:nth-child(odd) .so-timeline-content,
  .so-timeline-alternate .so-timeline-item:nth-child(even) .so-timeline-content {
    margin-left: 0;
    margin-right: 0;
  }
  .so-timeline-centered .so-timeline-item:nth-child(odd) .so-timeline-content::before, .so-timeline-centered .so-timeline-item:nth-child(even) .so-timeline-content::before,
  .so-timeline-alternate .so-timeline-item:nth-child(odd) .so-timeline-content::before,
  .so-timeline-alternate .so-timeline-item:nth-child(even) .so-timeline-content::before {
    left: -7px;
    right: auto;
    border-right: none;
    border-top: none;
    border-left: 1px solid var(--so-border-color);
    border-bottom: 1px solid var(--so-border-color);
  }
}
.so-tree {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.8125rem;
}

.so-tree-node {
  position: relative;
}

.so-tree-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--so-text-primary);
  transition: background 0.15s ease, color 0.15s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  min-height: 32px;
}
.so-tree-item:hover {
  background: var(--so-card-hover-bg);
}

.so-tree-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  color: var(--so-text-muted);
  transition: transform 0.15s linear;
  flex-shrink: 0;
}
.so-tree-toggle .material-symbols-rounded {
  font-size: 18px;
}

.so-tree-toggle-placeholder {
  width: 20px;
  min-width: 20px;
  flex-shrink: 0;
}

.so-tree-node.so-open > .so-tree-item .so-tree-toggle {
  transform: rotate(90deg);
}

.so-tree-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  flex-shrink: 0;
  color: var(--so-text-secondary);
}
.so-tree-icon .material-symbols-rounded {
  font-size: 18px;
}
.so-tree-icon img {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  -o-object-fit: cover;
     object-fit: cover;
}

.so-tree-label {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.so-tree-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  opacity: 0;
  transition: opacity 0.15s ease;
  flex-shrink: 0;
}
.so-tree-item:hover .so-tree-actions {
  opacity: 1;
}

.so-tree-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: var(--so-text-muted);
  border-radius: 4px;
  cursor: pointer;
  padding: 0;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-tree-action-btn:hover {
  background: var(--so-border-color);
  color: var(--so-text-primary);
}
.so-tree-action-btn .material-symbols-rounded {
  font-size: 16px;
}

.so-tree-children {
  list-style: none;
  padding: 0;
  margin: 0;
  padding-left: 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.15s linear;
}

.so-tree-node.so-open > .so-tree-children {
  max-height: 5000px;
  transition: max-height 0.15s linear;
}

.so-tree-lines .so-tree-children {
  position: relative;
}
.so-tree-lines .so-tree-children::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 12px;
  width: 1px;
  background: var(--so-border-color);
}
.so-tree-lines .so-tree-children > .so-tree-node > .so-tree-item::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  width: 10px;
  height: 1px;
  background: var(--so-border-color);
}
.so-tree-lines .so-tree-children > .so-tree-node {
  position: relative;
}
.so-tree-lines .so-tree-children > .so-tree-node:last-child::after {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  bottom: 0;
  width: 1px;
  background: var(--so-card-bg);
}

.so-tree-node.active > .so-tree-item,
.so-tree-item.active {
  background: var(--so-accent-primary);
  color: #ffffff;
}
.so-tree-node.active > .so-tree-item .so-tree-icon,
.so-tree-node.active > .so-tree-item .so-tree-toggle,
.so-tree-item.active .so-tree-icon,
.so-tree-item.active .so-tree-toggle {
  color: #ffffff;
}
.so-tree-node.active > .so-tree-item .so-tree-actions,
.so-tree-item.active .so-tree-actions {
  opacity: 1;
}
.so-tree-node.active > .so-tree-item .so-tree-action-btn,
.so-tree-item.active .so-tree-action-btn {
  color: rgba(255, 255, 255, 0.7);
}
.so-tree-node.active > .so-tree-item .so-tree-action-btn:hover,
.so-tree-item.active .so-tree-action-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.so-tree-node.selected > .so-tree-item {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
}
.so-tree-node.selected > .so-tree-item .so-tree-icon {
  color: var(--so-accent-primary);
}

.so-tree-node.disabled > .so-tree-item {
  opacity: 0.5;
  pointer-events: none;
  cursor: default;
}

.so-tree-checkable .so-checkbox {
  min-height: auto;
  gap: 0;
}
.so-tree-checkable .so-checkbox-box {
  margin-top: 0;
}

.so-tree-sm {
  font-size: 0.6875rem;
}
.so-tree-sm .so-tree-item {
  padding: 4px 8px;
  min-height: 28px;
  gap: 4px;
}
.so-tree-sm .so-tree-toggle,
.so-tree-sm .so-tree-toggle-placeholder {
  width: 16px;
  min-width: 16px;
}
.so-tree-sm .so-tree-toggle .material-symbols-rounded,
.so-tree-sm .so-tree-toggle-placeholder .material-symbols-rounded {
  font-size: 16px;
}
.so-tree-sm .so-tree-icon {
  width: 16px;
  min-width: 16px;
}
.so-tree-sm .so-tree-icon .material-symbols-rounded {
  font-size: 16px;
}
.so-tree-sm .so-tree-children {
  padding-left: 16px;
}

.so-tree-lg {
  font-size: 0.875rem;
}
.so-tree-lg .so-tree-item {
  padding: 8px 12px;
  min-height: 40px;
  gap: 10px;
}
.so-tree-lg .so-tree-toggle,
.so-tree-lg .so-tree-toggle-placeholder {
  width: 24px;
  min-width: 24px;
}
.so-tree-lg .so-tree-toggle .material-symbols-rounded,
.so-tree-lg .so-tree-toggle-placeholder .material-symbols-rounded {
  font-size: 22px;
}
.so-tree-lg .so-tree-icon {
  width: 24px;
  min-width: 24px;
}
.so-tree-lg .so-tree-icon .material-symbols-rounded {
  font-size: 22px;
}
.so-tree-lg .so-tree-children {
  padding-left: 24px;
}

.so-tree-primary .so-tree-node.active > .so-tree-item {
  background: var(--so-accent-primary);
}

.so-tree-success .so-tree-node.active > .so-tree-item {
  background: var(--so-accent-success);
}

.so-tree-danger .so-tree-node.active > .so-tree-item {
  background: var(--so-accent-danger);
}

.so-tree-warning .so-tree-node.active > .so-tree-item {
  background: var(--so-accent-warning);
  color: #202124;
}
.so-tree-warning .so-tree-node.active > .so-tree-item .so-tree-icon,
.so-tree-warning .so-tree-node.active > .so-tree-item .so-tree-toggle {
  color: #202124;
}

.so-tree-info .so-tree-node.active > .so-tree-item {
  background: var(--so-accent-info);
}

.so-tree-bordered {
  border: 1px solid var(--so-border-color);
  border-radius: 8px;
  padding: 8px;
}
.so-tree-bordered .so-tree-item {
  border-radius: 6px;
}

.so-tree-compact .so-tree-item {
  padding: 2px 8px;
  min-height: 26px;
}
.so-tree-compact .so-tree-children {
  padding-left: 16px;
}

.so-tree-file .so-tree-node.so-open > .so-tree-item .so-tree-icon {
  color: var(--so-accent-warning);
}
.so-tree-file .so-tree-node:not(.so-open):has(> .so-tree-children) > .so-tree-item .so-tree-icon {
  color: var(--so-accent-warning);
}

.so-tree-draggable .so-tree-item {
  cursor: grab;
}
.so-tree-draggable .so-tree-item:active {
  cursor: grabbing;
}
.so-tree-draggable .so-tree-node.dragging > .so-tree-item {
  opacity: 0.4;
}
.so-tree-draggable .so-tree-node.drag-over > .so-tree-item {
  border: 2px dashed var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.05);
}
.so-tree-draggable .so-tree-node.drag-above > .so-tree-item {
  box-shadow: 0 -2px 0 0 var(--so-accent-primary);
}
.so-tree-draggable .so-tree-node.drag-below > .so-tree-item {
  box-shadow: 0 2px 0 0 var(--so-accent-primary);
}

.so-tree-node.loading > .so-tree-item .so-tree-toggle {
  animation: so-spinner-rotate 0.75s linear infinite;
}

.so-tree-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  font-size: 0.6875rem;
  font-weight: 500;
  border-radius: 8px;
  background: var(--so-accent-primary);
  color: #ffffff;
  flex-shrink: 0;
}

.so-tree-highlight {
  background: rgba(255, 179, 0, 0.3);
  border-radius: 2px;
  padding: 0 1px;
}

[data-theme=dark] .so-tree-lines .so-tree-children > .so-tree-node:last-child::after {
  background: var(--so-card-bg);
}

.so-rating {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.so-rating-item,
.so-rating-star {
  position: relative;
  color: var(--so-border-color);
  font-size: 24px;
  cursor: pointer;
  transition: color 0.1s ease, transform 0.1s ease;
}
.so-rating-item .material-symbols-rounded,
.so-rating-star .material-symbols-rounded {
  display: block;
  font-variation-settings: "FILL" 1;
}
.so-rating-item:hover,
.so-rating-star:hover {
  transform: scale(1.1);
}

.so-rating-item-filled,
.so-rating-filled {
  color: var(--so-accent-warning);
}

.so-rating-item-half,
.so-rating-half {
  color: var(--so-accent-warning);
}

.so-rating-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.so-rating-label {
  position: relative;
  color: var(--so-border-color);
  font-size: 24px;
  cursor: pointer;
  transition: color 0.1s ease;
}
.so-rating-label .material-symbols-rounded {
  display: block;
  font-variation-settings: "FILL" 1;
  transition: font-variation-settings 0.1s ease;
}

.so-rating-interactive {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.so-rating-interactive .so-rating-input:checked ~ .so-rating-label {
  color: var(--so-accent-warning);
}
.so-rating-interactive:has(.so-rating-label:hover) .so-rating-input:checked ~ .so-rating-label {
  color: var(--so-border-color);
}
.so-rating-interactive:has(.so-rating-label:hover) .so-rating-label:hover, .so-rating-interactive:has(.so-rating-label:hover) .so-rating-label:hover ~ .so-rating-label {
  color: var(--so-accent-warning) !important;
}

.so-rating-readonly {
  pointer-events: none;
}
.so-rating-readonly .so-rating-item,
.so-rating-readonly .so-rating-star,
.so-rating-readonly .so-rating-label {
  cursor: default;
}
.so-rating-readonly .so-rating-item:hover,
.so-rating-readonly .so-rating-star:hover,
.so-rating-readonly .so-rating-label:hover {
  transform: none;
}

.so-rating-xs .so-rating-item,
.so-rating-xs .so-rating-star,
.so-rating-xs .so-rating-label {
  font-size: 14px;
}

.so-rating-sm .so-rating-item,
.so-rating-sm .so-rating-star,
.so-rating-sm .so-rating-label {
  font-size: 18px;
}

.so-rating-md .so-rating-item,
.so-rating-md .so-rating-star,
.so-rating-md .so-rating-label {
  font-size: 24px;
}

.so-rating-lg .so-rating-item,
.so-rating-lg .so-rating-star,
.so-rating-lg .so-rating-label {
  font-size: 32px;
}
.so-rating-lg {
  gap: 4px;
}

.so-rating-xl .so-rating-item,
.so-rating-xl .so-rating-star,
.so-rating-xl .so-rating-label {
  font-size: 40px;
}
.so-rating-xl {
  gap: 6px;
}

.so-rating-primary .so-rating-item-filled,
.so-rating-primary .so-rating-filled,
.so-rating-primary .so-rating-input:checked ~ .so-rating-label,
.so-rating-primary .so-rating-label:hover,
.so-rating-primary .so-rating-label:hover ~ .so-rating-label {
  color: var(--so-accent-primary);
}

.so-rating-danger .so-rating-item-filled,
.so-rating-danger .so-rating-filled,
.so-rating-danger .so-rating-input:checked ~ .so-rating-label,
.so-rating-danger .so-rating-label:hover,
.so-rating-danger .so-rating-label:hover ~ .so-rating-label {
  color: var(--so-accent-danger);
}

.so-rating-success .so-rating-item-filled,
.so-rating-success .so-rating-filled,
.so-rating-success .so-rating-input:checked ~ .so-rating-label,
.so-rating-success .so-rating-label:hover,
.so-rating-success .so-rating-label:hover ~ .so-rating-label {
  color: var(--so-accent-success);
}

.so-rating-info .so-rating-item-filled,
.so-rating-info .so-rating-filled,
.so-rating-info .so-rating-input:checked ~ .so-rating-label,
.so-rating-info .so-rating-label:hover,
.so-rating-info .so-rating-label:hover ~ .so-rating-label {
  color: var(--so-accent-info);
}

.so-rating-with-value {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.so-rating-value {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-primary);
}

.so-rating-count {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
}

.so-rating-hearts .so-rating-item-filled,
.so-rating-hearts .so-rating-filled,
.so-rating-hearts .so-rating-input:checked ~ .so-rating-label,
.so-rating-hearts .so-rating-label:hover,
.so-rating-hearts .so-rating-label:hover ~ .so-rating-label {
  color: var(--so-accent-danger);
}

.so-rating-thumbs {
  gap: 12px;
}
.so-rating-thumbs .so-rating-item,
.so-rating-thumbs .so-rating-star,
.so-rating-thumbs .so-rating-label {
  padding: 8px;
  border-radius: 6px;
  background: var(--so-card-hover-bg);
}
.so-rating-thumbs .so-rating-item:hover,
.so-rating-thumbs .so-rating-star:hover,
.so-rating-thumbs .so-rating-label:hover {
  transform: none;
  background: var(--so-border-color);
}
.so-rating-thumbs .so-rating-item-filled,
.so-rating-thumbs .so-rating-filled {
  color: var(--so-accent-success);
}

.so-rating-emoji {
  gap: 8px;
}
.so-rating-emoji .so-rating-item,
.so-rating-emoji .so-rating-star,
.so-rating-emoji .so-rating-label {
  font-size: 28px;
  filter: grayscale(1);
  opacity: 0.5;
  transition: filter 0.1s ease, opacity 0.1s ease, transform 0.1s ease;
}
.so-rating-emoji .so-rating-item:hover,
.so-rating-emoji .so-rating-star:hover,
.so-rating-emoji .so-rating-label:hover {
  filter: grayscale(0);
  opacity: 1;
}
.so-rating-emoji .so-rating-item-filled,
.so-rating-emoji .so-rating-filled,
.so-rating-emoji .so-rating-input:checked + .so-rating-label {
  filter: grayscale(0);
  opacity: 1;
}

.so-rating-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.so-rating-bar-label {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  white-space: nowrap;
  min-width: 60px;
}

.so-rating-bar-track {
  flex: 1;
  height: 8px;
  background: var(--so-border-color);
  border-radius: 9999px;
  overflow: hidden;
}

.so-rating-bar-fill {
  height: 100%;
  background: var(--so-accent-warning);
  border-radius: 9999px;
  transition: width 0.15s ease;
}

.so-rating-bar-count {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
  min-width: 40px;
  text-align: right;
}

.so-rating-summary {
  display: flex;
  gap: 24px;
}

.so-rating-summary-score {
  text-align: center;
}
.so-rating-summary-score .so-rating-value {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}

.so-rating-summary-bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.so-rating-display {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.so-rating-summary-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.so-rating-summary-score {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  color: var(--so-text-primary);
}

.so-rating-summary-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.so-rating-bars {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.so-rating-bar-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.so-rating-bar-item .so-rating-bar-label {
  min-width: 16px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  text-align: center;
}
.so-rating-bar-item .so-progress {
  flex: 1;
}
.so-rating-bar-item .so-rating-bar-count {
  min-width: 50px;
  font-size: 0.8125rem;
  color: var(--so-text-muted);
  text-align: right;
}

.so-rating-fraction {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.so-rating-star-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

.so-rating-star-empty {
  color: var(--so-border-color);
}
.so-rating-star-empty .material-symbols-rounded {
  display: block;
  font-variation-settings: "FILL" 1;
}

.so-rating-star-fill {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  color: var(--so-accent-warning);
  width: var(--fill, 0%);
}
.so-rating-star-fill .material-symbols-rounded {
  display: block;
  font-variation-settings: "FILL" 1;
}

.so-rating-fraction-xs .so-rating-star-wrap {
  font-size: 14px;
}

.so-rating-fraction-sm .so-rating-star-wrap {
  font-size: 18px;
}

.so-rating-fraction-md .so-rating-star-wrap {
  font-size: 24px;
}

.so-rating-fraction-lg {
  gap: 4px;
}
.so-rating-fraction-lg .so-rating-star-wrap {
  font-size: 32px;
}

.so-rating-fraction-xl {
  gap: 6px;
}
.so-rating-fraction-xl .so-rating-star-wrap {
  font-size: 40px;
}

.so-rating-fraction-primary .so-rating-star-fill {
  color: var(--so-accent-primary);
}

.so-rating-fraction-danger .so-rating-star-fill {
  color: var(--so-accent-danger);
}

.so-rating-fraction-success .so-rating-star-fill {
  color: var(--so-accent-success);
}

.so-rating-fraction-info .so-rating-star-fill {
  color: var(--so-accent-info);
}

.so-rating-fraction-interactive {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  cursor: pointer;
}
.so-rating-fraction-interactive .so-rating-star-wrap {
  cursor: pointer;
  transition: transform 0.1s ease;
}
.so-rating-fraction-interactive .so-rating-star-wrap:hover {
  transform: scale(1.1);
}

.so-rating-fraction-readonly {
  pointer-events: none;
}
.so-rating-fraction-readonly .so-rating-star-wrap {
  cursor: default;
}
.so-rating-fraction-readonly .so-rating-star-wrap:hover {
  transform: none;
}

.so-code {
  display: inline;
  padding: 2px 6px;
  font-family: "Roboto Mono", "SF Mono", "Monaco", "Consolas", monospace;
  font-size: 0.875em;
  color: var(--so-accent-danger);
  background: var(--so-card-hover-bg);
  border-radius: 3px;
}

.so-code-light {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.15);
}

.so-code-block {
  position: relative;
  background: #f8f9fa;
  border-radius: 8px;
  overflow: hidden;
  margin: 8px 0;
}
[data-so-theme=dark] .so-code-block {
  background: #0d1117;
}

.so-code-block-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.so-code-block-language {
  font-size: 0.6875rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.so-code-block-filename {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.8);
}
.so-code-block-filename .material-symbols-rounded {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5);
}

.so-code-block-body {
  position: relative;
  overflow: auto;
  max-height: 500px;
}

.so-code-block-content {
  display: block;
  padding: 16px;
  margin: 0;
  font-family: "Roboto Mono", "SF Mono", "Monaco", "Consolas", monospace;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #d4d4d4;
  white-space: pre;
  word-wrap: normal;
  overflow-x: auto;
}
.so-code-block-content code {
  font-family: inherit;
  background: none;
  padding: 0;
  color: inherit;
}

.so-code-block-copy {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.6875rem;
  cursor: pointer;
  transition: all 0.1s ease;
}
.so-code-block-copy .material-symbols-rounded {
  font-size: 16px;
}
.so-code-block-copy:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.so-code-block-copy.copied {
  color: var(--so-accent-success);
  background: rgba(52, 168, 83, 0.2);
}

.so-code-block-with-lines .so-code-block-body {
  display: flex;
}

.so-code-line-numbers {
  flex-shrink: 0;
  padding: 16px 0;
  padding-right: 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  text-align: right;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-code-line-numbers span {
  display: block;
  font-family: "Roboto Mono", "SF Mono", "Monaco", "Consolas", monospace;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.3);
  padding: 0 12px;
}

.so-code-block-with-lines .so-code-block-content {
  flex: 1;
  padding-left: 16px;
}

.so-code-line {
  display: block;
}

.so-code-line-highlight {
  background: rgba(var(--so-accent-primary), 0.15);
  margin: 0 -16px;
  padding: 0 16px;
  border-left: 3px solid var(--so-accent-primary);
}

.so-code-line-added {
  background: rgba(52, 168, 83, 0.15);
  margin: 0 -16px;
  padding: 0 16px;
  border-left: 3px solid var(--so-accent-success);
}
.so-code-line-added::before {
  content: "+";
  color: var(--so-accent-success);
  margin-right: 8px;
}

.so-code-line-removed {
  background: rgba(234, 67, 53, 0.15);
  margin: 0 -16px;
  padding: 0 16px;
  border-left: 3px solid var(--so-accent-danger);
}
.so-code-line-removed::before {
  content: "-";
  color: var(--so-accent-danger);
  margin-right: 8px;
}

.so-code-keyword {
  color: #569cd6;
}

.so-code-string {
  color: #ce9178;
}

.so-code-comment {
  color: #6a9955;
  font-style: italic;
}

.so-code-function {
  color: #dcdcaa;
}

.so-code-number {
  color: #b5cea8;
}

.token.operator {
  color: inherit !important;
  background: inherit !important;
}

.so-code-variable {
  color: #9cdcfe;
}

.so-code-class {
  color: #4ec9b0;
}

.so-code-property {
  color: #9cdcfe;
}

.so-code-tag {
  color: #569cd6;
}

.so-code-attribute {
  color: #9cdcfe;
}

.so-code-selector {
  color: #d7ba7d;
}

.so-code-regex {
  color: #d16969;
}

.so-code-punctuation {
  color: #808080;
}

.so-code-block-light {
  background: #f5f5f5;
}
.so-code-block-light .so-code-block-header {
  background: rgba(0, 0, 0, 0.03);
  border-bottom-color: rgba(0, 0, 0, 0.1);
}
.so-code-block-light .so-code-block-language {
  color: rgba(0, 0, 0, 0.5);
}
.so-code-block-light .so-code-block-filename {
  color: rgba(0, 0, 0, 0.7);
}
.so-code-block-light .so-code-block-filename .material-symbols-rounded {
  color: rgba(0, 0, 0, 0.4);
}
.so-code-block-light .so-code-block-copy {
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.5);
}
.so-code-block-light .so-code-block-copy:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #000000;
}
.so-code-block-light .so-code-block-content {
  color: #24292e;
}
.so-code-block-light .so-code-line-numbers span {
  color: rgba(0, 0, 0, 0.3);
}
.so-code-block-light .so-code-line-numbers {
  border-right-color: rgba(0, 0, 0, 0.1);
}
.so-code-block-light .so-code-keyword {
  color: #d73a49;
}
.so-code-block-light .so-code-string {
  color: #032f62;
}
.so-code-block-light .so-code-comment {
  color: #6a737d;
}
.so-code-block-light .so-code-function {
  color: #6f42c1;
}
.so-code-block-light .so-code-number {
  color: #005cc5;
}
.so-code-block-light .so-code-variable {
  color: #e36209;
}
.so-code-block-light .so-code-class {
  color: #22863a;
}
.so-code-block-light .so-code-tag {
  color: #22863a;
}
.so-code-block-light .so-code-attribute {
  color: #6f42c1;
}

.so-code-block-sm .so-code-block-content {
  font-size: 0.6875rem;
  padding: 12px;
}
.so-code-block-sm .so-code-line-numbers span {
  font-size: 0.6875rem;
}

.so-code-block-lg .so-code-block-content {
  font-size: 0.875rem;
  padding: 20px;
}
.so-code-block-lg .so-code-line-numbers span {
  font-size: 0.875rem;
}

.so-code-diff .so-code-block-body {
  display: flex;
}
.so-code-diff .so-code-diff-old,
.so-code-diff .so-code-diff-new {
  flex: 1;
  overflow: auto;
}
.so-code-diff .so-code-diff-old {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.so-code-terminal {
  background: #0c0c0c;
}
.so-code-terminal .so-code-block-header {
  background: #1a1a1a;
  padding: 8px 12px;
}
.so-code-terminal .so-code-block-header::before {
  content: "";
  display: flex;
  gap: 6px;
  margin-right: 16px;
}
.so-code-terminal .so-code-block-header::before::after {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ff5f56;
  box-shadow: 18px 0 0 #ffbd2e, 36px 0 0 #27c93f;
}
.so-code-terminal .so-code-block-content {
  color: #00ff00;
}
.so-code-terminal .so-code-prompt {
  color: #888;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.so-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px 16px;
  min-height: 300px;
}

.so-empty-state-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin-bottom: 8px;
  border-radius: 9999px;
  background: var(--so-card-hover-bg);
  color: var(--so-text-muted);
}
.so-empty-state-icon .material-symbols-rounded {
  font-size: 40px;
}
.so-empty-state-icon img,
.so-empty-state-icon svg {
  max-width: 60px;
  max-height: 60px;
}

.so-empty-state-icon-lg {
  width: 120px;
  height: 120px;
}
.so-empty-state-icon-lg .material-symbols-rounded {
  font-size: 64px;
}
.so-empty-state-icon-lg img,
.so-empty-state-icon-lg svg {
  max-width: 80px;
  max-height: 80px;
}

.so-empty-state-title {
  font-size: 1.2rem;
  font-weight: normal;
  color: var(--so-text-secondary);
  margin: 0 0 8px;
}

.so-empty-state-text {
  font-size: 0.875rem;
  color: var(--so-text-secondary);
  margin: 0 0 20px;
  max-width: 400px;
  line-height: 1.5;
}

.so-empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.so-empty-state-sm {
  padding: 20px 12px;
  min-height: 200px;
}
.so-empty-state-sm .so-empty-state-icon {
  width: 56px;
  height: 56px;
  margin-bottom: 12px;
}
.so-empty-state-sm .so-empty-state-icon .material-symbols-rounded {
  font-size: 28px;
}
.so-empty-state-sm .so-empty-state-title {
  font-size: 0.875rem;
  margin-bottom: 4px;
}
.so-empty-state-sm .so-empty-state-text {
  font-size: 0.8125rem;
  margin-bottom: 16px;
  max-width: 300px;
}

.so-empty-state-lg {
  padding: 48px 24px;
  min-height: 400px;
}
.so-empty-state-lg .so-empty-state-icon {
  width: 120px;
  height: 120px;
  margin-bottom: 24px;
}
.so-empty-state-lg .so-empty-state-icon .material-symbols-rounded {
  font-size: 64px;
}
.so-empty-state-lg .so-empty-state-title {
  font-size: 1.25rem;
}
.so-empty-state-lg .so-empty-state-text {
  font-size: 1rem;
  max-width: 500px;
}

.so-empty-state-compact {
  flex-direction: row;
  text-align: left;
  padding: 16px;
  min-height: auto;
  gap: 16px;
}
.so-empty-state-compact .so-empty-state-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 0;
}
.so-empty-state-compact .so-empty-state-icon .material-symbols-rounded {
  font-size: 24px;
}
.so-empty-state-compact .so-empty-state-content {
  flex: 1;
}
.so-empty-state-compact .so-empty-state-title {
  font-size: 0.875rem;
}
.so-empty-state-compact .so-empty-state-text {
  font-size: 0.8125rem;
  margin-bottom: 0;
  max-width: none;
}
.so-empty-state-compact .so-empty-state-actions {
  justify-content: flex-start;
  margin-top: 12px;
}

.so-empty-state-card {
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 10px;
}

.so-empty-state-dashed {
  border: 2px dashed var(--so-border-color);
  background: transparent;
}

.so-empty-state-search .so-empty-state-icon {
  background: rgba(23, 162, 184, 0.1);
  color: var(--so-accent-info);
}

.so-empty-state-error .so-empty-state-icon,
.so-empty-state-danger .so-empty-state-icon {
  background: rgba(234, 67, 53, 0.1);
  color: var(--so-accent-danger);
}

.so-empty-state-success .so-empty-state-icon {
  background: rgba(52, 168, 83, 0.1);
  color: var(--so-accent-success);
}

.so-empty-state-warning .so-empty-state-icon {
  background: rgba(255, 179, 0, 0.1);
  color: var(--so-warning-text-emphasis);
}

.so-empty-state-info .so-empty-state-icon {
  background: rgba(23, 162, 184, 0.1);
  color: var(--so-accent-info);
}

.so-empty-state-forbidden .so-empty-state-icon,
.so-empty-state-no-permission .so-empty-state-icon {
  background: rgba(128, 134, 139, 0.1);
  color: var(--so-text-muted);
}

.so-empty-state-illustration .so-empty-state-icon {
  width: auto;
  height: auto;
  background: transparent;
  border-radius: 0;
}
.so-empty-state-illustration .so-empty-state-icon img,
.so-empty-state-illustration .so-empty-state-icon svg {
  max-width: 200px;
  max-height: 150px;
}

.so-table-empty-state {
  padding: 32px 16px;
}
.so-table-empty-state td {
  text-align: center;
}

.so-empty-state-loading .so-empty-state-icon {
  animation: so-empty-state-pulse 2s ease-in-out infinite;
}

@keyframes so-empty-state-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(0.95);
  }
}
@media (max-width: 576px) {
  .so-empty-state {
    padding: 24px 12px;
    min-height: 250px;
  }
  .so-empty-state-icon {
    width: 64px;
    height: 64px;
  }
  .so-empty-state-icon .material-symbols-rounded {
    font-size: 32px;
  }
  .so-empty-state-title {
    font-size: 1rem;
  }
  .so-empty-state-text {
    font-size: 0.8125rem;
  }
  .so-empty-state-compact {
    flex-direction: column;
    text-align: center;
  }
  .so-empty-state-compact .so-empty-state-actions {
    justify-content: center;
  }
}
.so-media {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.so-media-left,
.so-media-right {
  flex-shrink: 0;
}
.so-media-left img,
.so-media-right img {
  display: block;
  max-width: none;
}

.so-media-left {
  order: 0;
}

.so-media-right {
  order: 2;
}

.so-media-body {
  flex: 1;
  min-width: 0;
  order: 1;
}

.so-media-heading {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--so-text-primary);
  margin: 0 0 4px;
}

.so-media-subheading {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  margin: 0;
}

.so-media-text {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  margin: 8px 0 0;
  line-height: 1.5;
}

.so-media-meta {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.so-media-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.so-media-middle {
  align-items: center;
}

.so-media-bottom {
  align-items: flex-end;
}

.so-media-stretch {
  align-items: stretch;
}

.so-media-nested {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--so-border-color);
}

.so-media-thread .so-media-nested {
  margin-left: 32px;
  border-top: none;
  padding-top: 0;
  position: relative;
}
.so-media-thread .so-media-nested::before {
  content: "";
  position: absolute;
  left: -24px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--so-border-color);
}

.so-media-sm {
  gap: 12px;
}
.so-media-sm .so-media-heading {
  font-size: 0.8125rem;
}
.so-media-sm .so-media-text {
  font-size: 0.6875rem;
}

.so-media-lg {
  gap: 20px;
}
.so-media-lg .so-media-heading {
  font-size: 1rem;
}
.so-media-lg .so-media-text {
  font-size: 0.875rem;
}

.so-media-avatar .so-media-left img,
.so-media-avatar .so-media-right img {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  -o-object-fit: cover;
     object-fit: cover;
}
.so-media-avatar.so-media-sm .so-media-left img,
.so-media-avatar.so-media-sm .so-media-right img {
  width: 32px;
  height: 32px;
}
.so-media-avatar.so-media-lg .so-media-left img,
.so-media-avatar.so-media-lg .so-media-right img {
  width: 64px;
  height: 64px;
}

.so-media-icon .so-media-left,
.so-media-icon .so-media-right {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: var(--so-card-hover-bg);
  color: var(--so-text-secondary);
}
.so-media-icon .so-media-left .material-symbols-rounded,
.so-media-icon .so-media-right .material-symbols-rounded {
  font-size: 24px;
}
.so-media-icon.so-media-sm .so-media-left,
.so-media-icon.so-media-sm .so-media-right {
  width: 36px;
  height: 36px;
}
.so-media-icon.so-media-sm .so-media-left .material-symbols-rounded,
.so-media-icon.so-media-sm .so-media-right .material-symbols-rounded {
  font-size: 20px;
}
.so-media-icon.so-media-lg .so-media-left,
.so-media-icon.so-media-lg .so-media-right {
  width: 64px;
  height: 64px;
}
.so-media-icon.so-media-lg .so-media-left .material-symbols-rounded,
.so-media-icon.so-media-lg .so-media-right .material-symbols-rounded {
  font-size: 32px;
}

.so-media-icon-primary .so-media-left,
.so-media-icon-primary .so-media-right {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
}

.so-media-icon-success .so-media-left,
.so-media-icon-success .so-media-right {
  background: rgba(52, 168, 83, 0.1);
  color: var(--so-accent-success);
}

.so-media-icon-danger .so-media-left,
.so-media-icon-danger .so-media-right {
  background: rgba(234, 67, 53, 0.1);
  color: var(--so-accent-danger);
}

.so-media-icon-warning .so-media-left,
.so-media-icon-warning .so-media-right {
  background: var(--so-soft-warning-bg);
  color: var(--so-soft-warning-text);
}

.so-media-icon-info .so-media-left,
.so-media-icon-info .so-media-right {
  background: rgba(23, 162, 184, 0.1);
  color: var(--so-accent-info);
}

.so-media-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.so-media-list > li {
  padding: 16px 0;
  border-bottom: 1px solid var(--so-border-color);
}
.so-media-list > li:first-child {
  padding-top: 0;
}
.so-media-list > li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.so-media-list-compact > li {
  padding: 8px 0;
}

.so-media-interactive {
  padding: 12px;
  margin: -12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.1s ease;
}
.so-media-interactive:hover {
  background: var(--so-card-hover-bg);
}
.so-media-interactive:active {
  background: var(--so-border-color);
}

.so-media-card {
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 10px;
  padding: 16px;
}
.so-media-card .so-media-left img {
  border-radius: 8px;
  width: 120px;
  height: 90px;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 576px) {
  .so-media-responsive {
    flex-direction: column;
    align-items: stretch;
  }
  .so-media-responsive .so-media-left,
  .so-media-responsive .so-media-right {
    order: 0;
    margin-bottom: 12px;
  }
  .so-media-responsive .so-media-left img,
  .so-media-responsive .so-media-right img {
    width: 100%;
    max-height: 200px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .so-media-responsive.so-media-avatar .so-media-left img,
  .so-media-responsive.so-media-avatar .so-media-right img {
    width: 64px;
    max-height: none;
  }
}
.so-copy-success .material-symbols-rounded {
  animation: so-copy-success-pop 0.3s ease;
}

.so-btn.so-copy-success {
  background-color: var(--so-accent-success) !important;
  border-color: var(--so-accent-success) !important;
  color: #ffffff !important;
}

.so-btn.so-copy-error {
  background-color: var(--so-accent-danger) !important;
  border-color: var(--so-accent-danger) !important;
  color: #ffffff !important;
}

.so-copy-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.so-copy-wrapper .so-copy-content {
  flex: 1;
  min-width: 0;
}
.so-copy-wrapper .so-btn {
  flex-shrink: 0;
}

.so-copy-block {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 12px;
  background: var(--so-form-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 6px;
}
.so-copy-block .so-copy-content {
  flex: 1;
  font-family: "Roboto Mono", "SF Mono", "Monaco", "Consolas", monospace;
  font-size: 0.8125rem;
  word-break: break-all;
  white-space: pre-wrap;
}
.so-copy-block .so-btn {
  margin: 0;
}

.so-input-group .so-btn[data-so-copy] {
  border-radius: 0 4px 4px 0;
  border: 1px solid var(--so-form-border);
  border-left: none;
}

.so-copy-inline {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  position: relative;
}
.so-copy-inline .so-btn {
  opacity: 0;
  transition: opacity 0.15s ease;
}
.so-copy-inline:hover .so-btn {
  opacity: 1;
}
.so-copy-inline.so-copy-inline-show .so-btn {
  opacity: 0.6;
}
.so-copy-inline.so-copy-inline-show .so-btn:hover {
  opacity: 1;
}

.so-code-block {
  position: relative;
}
.so-code-block .so-btn[data-so-copy],
.so-code-block .so-code-copy {
  position: absolute;
  right: 8px;
  transition: opacity 0.15s ease;
}
.so-code-block:hover .so-btn[data-so-copy],
.so-code-block:hover .so-code-copy {
  opacity: 1;
}

.so-badge-copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding-right: 4px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-badge-copy:hover {
  background: var(--so-card-hover-bg);
}
.so-badge-copy::after {
  content: "content_copy";
  font-family: "Material Symbols Rounded";
  font-size: 12px;
  opacity: 0.6;
}
.so-badge-copy.so-copy-success::after {
  content: "check";
  color: var(--so-accent-success);
  opacity: 1;
}

td.so-copy-cell,
th.so-copy-cell {
  position: relative;
  cursor: pointer;
}
td.so-copy-cell:hover,
th.so-copy-cell:hover {
  background: var(--so-card-hover-bg);
}
td.so-copy-cell:hover::after,
th.so-copy-cell:hover::after {
  opacity: 1;
}
td.so-copy-cell::after,
th.so-copy-cell::after {
  content: "content_copy";
  font-family: "Material Symbols Rounded";
  font-size: 14px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  color: var(--so-text-secondary);
  transition: opacity 0.15s ease;
}
td.so-copy-cell.so-copy-success::after,
th.so-copy-cell.so-copy-success::after {
  content: "check";
  color: var(--so-accent-success);
  opacity: 1;
}

@keyframes so-copy-success-pop {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes so-skeleton-wave {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes so-skeleton-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.so-skeleton {
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}

.so-skeleton-pulse {
  animation: so-skeleton-pulse 1.5s ease-in-out infinite;
  background: var(--so-border-color);
}

.so-skeleton-static {
  animation: none;
  background: var(--so-border-color);
}

.so-skeleton-loading {
  pointer-events: none;
}

.so-skeleton-text {
  height: 1em;
  width: 100%;
  margin-bottom: 8px;
  border-radius: 3px;
}
.so-skeleton-text:last-child {
  width: 60%;
  margin-bottom: 0;
}

.so-skeleton-title {
  height: 1.5em;
  width: 50%;
  margin-bottom: 12px;
  border-radius: 3px;
}

.so-skeleton-circle {
  border-radius: 9999px;
  flex-shrink: 0;
}

.so-skeleton-rect {
  border-radius: 8px;
}

.so-skeleton-rounded {
  border-radius: 6px;
}

.so-skeleton-avatar {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  flex-shrink: 0;
}
.so-skeleton-avatar.so-skeleton-avatar-xs {
  width: 24px;
  height: 24px;
}
.so-skeleton-avatar.so-skeleton-avatar-sm {
  width: 32px;
  height: 32px;
}
.so-skeleton-avatar.so-skeleton-avatar-lg {
  width: 48px;
  height: 48px;
}
.so-skeleton-avatar.so-skeleton-avatar-xl {
  width: 64px;
  height: 64px;
}
.so-skeleton-avatar.so-skeleton-avatar-2xl {
  width: 80px;
  height: 80px;
}

.so-skeleton-img {
  height: 200px;
  border-radius: 8px 8px 0 0;
  width: 100%;
}

.so-skeleton-btn {
  height: 36px;
  width: 80px;
  border-radius: 6px;
}
.so-skeleton-btn.so-skeleton-btn-sm {
  height: 32px;
  width: 70px;
}
.so-skeleton-btn.so-skeleton-btn-lg {
  height: 44px;
  width: 100px;
}

.so-skeleton-input {
  height: 42px;
  width: 100%;
  border-radius: 6px;
}

.so-skeleton-card {
  display: flex;
  flex-direction: column;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: var(--so-shadow);
  overflow: hidden;
}
.so-skeleton-card .so-skeleton-card-img {
  height: 180px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
}
.so-skeleton-card .so-skeleton-card-body {
  padding: 16px;
}
.so-skeleton-card .so-skeleton-card-title {
  height: 1.25em;
  width: 70%;
  margin-bottom: 12px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-card .so-skeleton-card-text {
  height: 0.9em;
  width: 100%;
  margin-bottom: 8px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-card .so-skeleton-card-text:last-child {
  width: 50%;
  margin-bottom: 0;
}
.so-skeleton-card .so-skeleton-card-btn {
  height: 36px;
  width: 100px;
  margin-top: 12px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 6px;
}
.so-skeleton-card.so-skeleton-card-text-only .so-skeleton-card-img {
  display: none;
}
.so-skeleton-card.so-skeleton-card-horizontal {
  display: flex;
}
.so-skeleton-card.so-skeleton-card-horizontal .so-skeleton-card-img {
  width: 200px;
  height: auto;
  min-height: 150px;
  flex-shrink: 0;
}
.so-skeleton-card.so-skeleton-card-horizontal .so-skeleton-card-body {
  flex: 1;
}

.so-skeleton-table-row {
  display: table-row;
}
.so-skeleton-table-row td, .so-skeleton-table-row .so-skeleton-table-cell {
  display: table-cell;
  padding: 12px;
  vertical-align: middle;
  border-bottom: 1px solid var(--so-border-color);
}
.so-skeleton-table-row .so-skeleton-table-avatar {
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
}
.so-skeleton-table-row .so-skeleton-table-text {
  height: 1em;
  width: 80%;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-table-row .so-skeleton-table-badge {
  height: 24px;
  width: 60px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 9999px;
}

.so-skeleton-table {
  display: table;
  width: 100%;
  border-collapse: collapse;
}

.so-skeleton-datatable {
  border: 1px solid var(--so-border-color);
  border-radius: 4px;
  overflow: hidden;
  background: var(--so-card-bg);
}
.so-skeleton-datatable .so-skeleton-datatable-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-bottom: 1px solid var(--so-border-color);
}
.so-skeleton-datatable .so-skeleton-datatable-toolbar .so-skeleton-search {
  height: 36px;
  width: 200px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 6px;
}
.so-skeleton-datatable .so-skeleton-datatable-toolbar .so-skeleton-toolbar-btn {
  height: 32px;
  width: 80px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 6px;
}
.so-skeleton-datatable .so-skeleton-datatable-toolbar .so-skeleton-spacer {
  flex: 1;
}
.so-skeleton-datatable .so-skeleton-datatable-table {
  width: 100%;
  border-collapse: collapse;
}
.so-skeleton-datatable .so-skeleton-datatable-table th, .so-skeleton-datatable .so-skeleton-datatable-table td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid var(--so-border-color);
}
.so-skeleton-datatable .so-skeleton-datatable-table thead th {
  background: var(--so-bg-secondary);
  border-bottom-width: 2px;
}
.so-skeleton-datatable .so-skeleton-datatable-table .so-skeleton-cell {
  height: 16px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-datatable .so-skeleton-datatable-table .so-skeleton-cell:nth-child(1) {
  width: 60%;
}
.so-skeleton-datatable .so-skeleton-datatable-table .so-skeleton-cell:nth-child(2) {
  width: 80%;
}
.so-skeleton-datatable .so-skeleton-datatable-table .so-skeleton-cell:nth-child(3) {
  width: 50%;
}
.so-skeleton-datatable .so-skeleton-datatable-table .so-skeleton-cell:nth-child(4) {
  width: 70%;
}
.so-skeleton-datatable .so-skeleton-datatable-table .so-skeleton-cell:nth-child(5) {
  width: 40%;
}
.so-skeleton-datatable .so-skeleton-datatable-table .so-skeleton-header-cell {
  height: 14px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-datatable .so-skeleton-datatable-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-top: 1px solid var(--so-border-color);
}
.so-skeleton-datatable .so-skeleton-datatable-pagination .so-skeleton-pagination-info {
  height: 14px;
  width: 180px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-datatable .so-skeleton-datatable-pagination .so-skeleton-pagination-nav {
  display: flex;
  gap: 4px;
}
.so-skeleton-datatable .so-skeleton-datatable-pagination .so-skeleton-pagination-nav .so-skeleton-page-btn {
  width: 32px;
  height: 32px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-datatable.so-skeleton-datatable-sm .so-skeleton-datatable-table th,
.so-skeleton-datatable.so-skeleton-datatable-sm .so-skeleton-datatable-table td {
  padding: 8px;
}
.so-skeleton-datatable.so-skeleton-datatable-lg .so-skeleton-datatable-table th,
.so-skeleton-datatable.so-skeleton-datatable-lg .so-skeleton-datatable-table td {
  padding: 16px;
}

.so-skeleton-list-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--so-border-color);
}
.so-skeleton-list-item:last-child {
  border-bottom: none;
}
.so-skeleton-list-item .so-skeleton-list-avatar {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  flex-shrink: 0;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
}
.so-skeleton-list-item .so-skeleton-list-content {
  flex: 1;
  min-width: 0;
}
.so-skeleton-list-item .so-skeleton-list-title {
  height: 1em;
  width: 40%;
  margin-bottom: 8px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-list-item .so-skeleton-list-subtitle {
  height: 0.85em;
  width: 70%;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-list-item .so-skeleton-list-action {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 6px;
}
.so-skeleton-list-item.so-skeleton-list-item-no-avatar .so-skeleton-list-avatar {
  display: none;
}
.so-skeleton-list-item.so-skeleton-list-item-no-avatar .so-skeleton-list-title {
  width: 30%;
}
.so-skeleton-list-item.so-skeleton-list-item-no-avatar .so-skeleton-list-subtitle {
  width: 60%;
}
.so-skeleton-list-item.so-skeleton-list-item-compact {
  padding: 8px 12px;
}
.so-skeleton-list-item.so-skeleton-list-item-compact .so-skeleton-list-avatar {
  width: 32px;
  height: 32px;
}

.so-skeleton-stats {
  display: flex;
  flex-direction: column;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: var(--so-shadow);
  padding: 16px;
}
.so-skeleton-stats .so-skeleton-stats-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.so-skeleton-stats .so-skeleton-stats-label {
  height: 0.85em;
  width: 60%;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-stats .so-skeleton-stats-icon {
  width: 40px;
  height: 40px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 8px;
}
.so-skeleton-stats .so-skeleton-stats-value {
  height: 2em;
  width: 50%;
  margin-bottom: 8px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-stats .so-skeleton-stats-change {
  height: 0.75em;
  width: 70%;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}

.so-skeleton-paragraph .so-skeleton-line {
  height: 1em;
  margin-bottom: 8px;
  background: linear-gradient(90deg, var(--so-border-color) 25%, var(--so-card-hover-bg) 50%, var(--so-border-color) 75%);
  background-size: 200% 100%;
  animation: so-skeleton-wave 1.5s ease-in-out infinite;
  border-radius: 3px;
}
.so-skeleton-paragraph .so-skeleton-line:nth-child(1) {
  width: 100%;
}
.so-skeleton-paragraph .so-skeleton-line:nth-child(2) {
  width: 95%;
}
.so-skeleton-paragraph .so-skeleton-line:nth-child(3) {
  width: 90%;
}
.so-skeleton-paragraph .so-skeleton-line:nth-child(4) {
  width: 60%;
}
.so-skeleton-paragraph .so-skeleton-line:last-child {
  margin-bottom: 0;
}

.so-section {
  --section-padding: 16px;
  --section-padding-sm: 12px;
  --section-title-color: var(--so-text-heading);
  --section-description-color: var(--so-text-muted);
  --section-description-font-size: 0.8125rem;
  --section-border-color: var(--so-border-color);
  --section-border-radius: 8px;
  --section-border-width: 1px;
  --section-accent-width: 3px;
  --section-bg: transparent;
  --section-title-bg: var(--so-page-bg);
}

.so-section {
  position: relative;
  margin-top: 12px;
  margin-bottom: 16px;
}

.so-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.so-section-title {
  color: var(--section-title-color);
}
.so-section-title.so-h1, .so-section-title.so-h2, .so-section-title.so-h3, .so-section-title.so-h4, .so-section-title.so-h5, .so-section-title.so-h6 {
  margin-bottom: 0;
}

.so-section-description {
  font-size: var(--section-description-font-size);
  color: var(--section-description-color);
  margin: 4px 0 0 0;
  line-height: 1.5;
}

.so-section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--so-text-muted);
  flex-shrink: 0;
}
.so-section-icon .material-symbols-rounded {
  font-size: 1.25rem;
}

.so-section-titled .so-section-header {
  padding-bottom: 4px;
  border-bottom: var(--section-border-width) solid var(--section-border-color);
  margin-bottom: 16px;
}

.so-section-bordered {
  border: var(--section-border-width) solid var(--section-border-color);
  border-radius: var(--section-border-radius);
  padding: var(--section-padding);
  background: var(--section-bg);
}
@media (max-width: 767px) {
  .so-section-bordered {
    padding: var(--section-padding-sm);
  }
}
.so-section-bordered .so-section-header {
  position: absolute;
  margin: 0;
  padding: 0 12px;
  background: var(--section-title-bg);
  z-index: 1;
}
.so-section-bordered .so-section-title-wrapper,
.so-section-bordered .so-section-title {
  background: inherit;
}
.so-section-bordered .so-section-body {
  padding-top: 8px;
}
.so-card .so-section-bordered {
  --section-title-bg: var(--so-card-bg);
}
.so-section-bordered.so-section-filled {
  --section-title-bg: var(--so-card-bg);
}
.so-section-bordered.so-section-title-top-left .so-section-header {
  top: 0;
  left: 12px;
  transform: translateY(-50%);
}
.so-section-bordered.so-section-title-top-center .so-section-header {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.so-section-bordered.so-section-title-top-right .so-section-header {
  top: 0;
  right: 12px;
  transform: translateY(-50%);
}
.so-section-bordered.so-section-title-bottom-left .so-section-header {
  bottom: 0;
  left: 12px;
  transform: translateY(50%);
}
.so-section-bordered.so-section-title-bottom-left .so-section-body {
  padding-top: 0;
  padding-bottom: 8px;
}
.so-section-bordered.so-section-title-bottom-center .so-section-header {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
}
.so-section-bordered.so-section-title-bottom-center .so-section-body {
  padding-top: 0;
  padding-bottom: 8px;
}
.so-section-bordered.so-section-title-bottom-right .so-section-header {
  bottom: 0;
  right: 12px;
  transform: translateY(50%);
}
.so-section-bordered.so-section-title-bottom-right .so-section-body {
  padding-top: 0;
  padding-bottom: 8px;
}
.so-section-bordered:not([class*=section-title-top]):not([class*=section-title-bottom]) .so-section-header {
  top: 0;
  left: 12px;
  transform: translateY(-50%);
}

.so-section-collapsible {
  border: var(--section-border-width) solid var(--section-border-color);
  border-radius: var(--section-border-radius);
  overflow: hidden;
}
.so-section-collapsible .so-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  margin-bottom: 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color 0.1s ease;
}
.so-section-collapsible .so-section-header:hover {
  background-color: var(--so-hover-bg);
}
@media (max-width: 767px) {
  .so-section-collapsible .so-section-header {
    padding: 12px;
  }
}
.so-section-collapsible .so-section-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--so-text-muted);
  transition: transform 0.1s ease;
  flex-shrink: 0;
}
.so-section-collapsible .so-section-toggle .material-symbols-rounded {
  font-size: 1.25rem;
}
.so-section-collapsible .so-section-body {
  padding: 16px;
  border-top: var(--section-border-width) solid var(--section-border-color);
}
@media (max-width: 767px) {
  .so-section-collapsible .so-section-body {
    padding: 12px;
  }
}
.so-section-collapsible.so-section-collapsed .so-section-toggle {
  transform: rotate(-90deg);
}
.so-section-collapsible.so-section-collapsed .so-section-body {
  display: none;
}

.so-section-divider .so-section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.so-section-divider .so-section-header::before, .so-section-divider .so-section-header::after {
  content: "";
  flex: 1;
  height: var(--section-border-width);
  background-color: var(--section-border-color);
}
.so-section-divider .so-section-title {
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.so-section-divider.so-section-divider-left .so-section-header::before {
  display: none;
}
.so-section-divider.so-section-divider-right .so-section-header::after {
  display: none;
}

.so-section-accent {
  position: relative;
  padding-left: 16px;
  border-left: var(--section-accent-width) solid var(--so-accent-primary);
}
.so-section-accent .so-section-header {
  margin-bottom: 12px;
}
.so-section-accent.so-section-accent-primary {
  border-left-color: var(--so-accent-primary);
}
.so-section-accent.so-section-accent-secondary {
  border-left-color: var(--so-accent-secondary);
}
.so-section-accent.so-section-accent-success {
  border-left-color: var(--so-accent-success);
}
.so-section-accent.so-section-accent-danger {
  border-left-color: var(--so-accent-danger);
}
.so-section-accent.so-section-accent-warning {
  border-left-color: var(--so-accent-warning);
}
.so-section-accent.so-section-accent-info {
  border-left-color: var(--so-accent-info);
}

.so-section .so-section {
  margin-top: 16px;
}
.so-section .so-section:first-child {
  margin-top: 0;
}
.so-section.so-section-bordered .so-section.so-section-bordered {
  margin-top: 16px;
}

.so-section-sm {
  --section-padding: 12px;
  --section-padding-sm: 8px;
}
.so-section-sm .so-section-header {
  margin-bottom: 8px;
}
.so-section-sm.so-section-titled .so-section-header {
  padding-bottom: 8px;
  margin-bottom: 12px;
}

.so-section-lg {
  --section-padding: 20px;
  --section-padding-sm: 16px;
}
.so-section-lg .so-section-header {
  margin-bottom: 16px;
}
.so-section-lg.so-section-titled .so-section-header {
  padding-bottom: 16px;
  margin-bottom: 20px;
}

.so-section-primary {
  --section-title-color: var(--so-accent-primary);
  --section-border-color: var(--so-accent-primary);
}
.so-section-primary .so-section-icon {
  color: var(--so-accent-primary);
}

.so-section-secondary {
  --section-title-color: var(--so-accent-secondary);
  --section-border-color: var(--so-accent-secondary);
}
.so-section-secondary .so-section-icon {
  color: var(--so-accent-secondary);
}

.so-section-success {
  --section-title-color: var(--so-accent-success);
  --section-border-color: var(--so-accent-success);
}
.so-section-success .so-section-icon {
  color: var(--so-accent-success);
}

.so-section-danger {
  --section-title-color: var(--so-accent-danger);
  --section-border-color: var(--so-accent-danger);
}
.so-section-danger .so-section-icon {
  color: var(--so-accent-danger);
}

.so-section-warning {
  --section-title-color: var(--so-accent-warning);
  --section-border-color: var(--so-accent-warning);
}
.so-section-warning .so-section-icon {
  color: var(--so-accent-warning);
}

.so-section-info {
  --section-title-color: var(--so-accent-info);
  --section-border-color: var(--so-accent-info);
}
.so-section-info .so-section-icon {
  color: var(--so-accent-info);
}

.so-section-light {
  --section-title-color: var(--so-accent-light);
  --section-border-color: var(--so-accent-light);
}
.so-section-light .so-section-icon {
  color: var(--so-accent-light);
}

.so-section-dark {
  --section-title-color: var(--so-accent-dark);
  --section-border-color: var(--so-accent-dark);
}
.so-section-dark .so-section-icon {
  color: var(--so-accent-dark);
}

.so-section-border-left {
  border-left: var(--section-border-width) solid var(--section-border-color);
  padding-left: var(--section-padding);
}

.so-section-border-right {
  border-right: var(--section-border-width) solid var(--section-border-color);
  padding-right: var(--section-padding);
}

.so-section-border-top {
  border-top: var(--section-border-width) solid var(--section-border-color);
  padding-top: var(--section-padding);
}

.so-section-border-bottom {
  border-bottom: var(--section-border-width) solid var(--section-border-color);
  padding-bottom: var(--section-padding);
}

.so-section-focus-within {
  transition: border-color 0.1s ease;
}
.so-section-focus-within:focus-within {
  --section-border-color: var(--so-accent-primary);
}
.so-section-focus-within:focus-within .so-section-title,
.so-section-focus-within:focus-within .so-section-icon {
  color: var(--so-accent-primary);
}
.so-section-focus-within.so-section-focus-primary:focus-within {
  --section-border-color: var(--so-accent-primary);
}
.so-section-focus-within.so-section-focus-primary:focus-within .so-section-title,
.so-section-focus-within.so-section-focus-primary:focus-within .so-section-icon {
  color: var(--so-accent-primary);
}
.so-section-focus-within.so-section-focus-secondary:focus-within {
  --section-border-color: var(--so-accent-secondary);
}
.so-section-focus-within.so-section-focus-secondary:focus-within .so-section-title,
.so-section-focus-within.so-section-focus-secondary:focus-within .so-section-icon {
  color: var(--so-accent-secondary);
}
.so-section-focus-within.so-section-focus-success:focus-within {
  --section-border-color: var(--so-accent-success);
}
.so-section-focus-within.so-section-focus-success:focus-within .so-section-title,
.so-section-focus-within.so-section-focus-success:focus-within .so-section-icon {
  color: var(--so-accent-success);
}
.so-section-focus-within.so-section-focus-danger:focus-within {
  --section-border-color: var(--so-accent-danger);
}
.so-section-focus-within.so-section-focus-danger:focus-within .so-section-title,
.so-section-focus-within.so-section-focus-danger:focus-within .so-section-icon {
  color: var(--so-accent-danger);
}
.so-section-focus-within.so-section-focus-warning:focus-within {
  --section-border-color: var(--so-accent-warning);
}
.so-section-focus-within.so-section-focus-warning:focus-within .so-section-title,
.so-section-focus-within.so-section-focus-warning:focus-within .so-section-icon {
  color: var(--so-accent-warning);
}
.so-section-focus-within.so-section-focus-info:focus-within {
  --section-border-color: var(--so-accent-info);
}
.so-section-focus-within.so-section-focus-info:focus-within .so-section-title,
.so-section-focus-within.so-section-focus-info:focus-within .so-section-icon {
  color: var(--so-accent-info);
}
.so-section-focus-within.so-section-focus-light:focus-within {
  --section-border-color: var(--so-accent-light);
}
.so-section-focus-within.so-section-focus-light:focus-within .so-section-title,
.so-section-focus-within.so-section-focus-light:focus-within .so-section-icon {
  color: var(--so-accent-light);
}
.so-section-focus-within.so-section-focus-dark:focus-within {
  --section-border-color: var(--so-accent-dark);
}
.so-section-focus-within.so-section-focus-dark:focus-within .so-section-title,
.so-section-focus-within.so-section-focus-dark:focus-within .so-section-icon {
  color: var(--so-accent-dark);
}

.so-section-flush {
  margin-bottom: 0;
}

.so-section-filled {
  --section-bg: var(--so-card-bg);
  background: var(--section-bg);
  padding: var(--section-padding);
  border-radius: var(--section-border-radius);
}
@media (max-width: 767px) {
  .so-section-filled {
    padding: var(--section-padding-sm);
  }
}

.so-form-divider {
  --form-divider-color: var(--so-border-color);
  --form-divider-spacing: 16px;
  --form-divider-spacing-compact: 8px;
  --form-divider-spacing-loose: 24px;
  --form-divider-title-color: var(--so-text-muted);
  --form-divider-title-font-size: 0.8125rem;
  --form-divider-title-font-weight: 500;
}

.so-form-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: var(--form-divider-spacing) 0;
  width: 100%;
}
.so-form-divider::before, .so-form-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--form-divider-color);
}
.so-form-divider:empty::before {
  flex: 1;
}
.so-form-divider:empty::after {
  display: none;
}

.so-form-divider-content {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  background-color: var(--so-page-bg);
  padding: 0 8px;
  position: relative;
  z-index: 1;
}

.so-form-divider-title {
  font-size: var(--form-divider-title-font-size);
  font-weight: var(--form-divider-title-font-weight);
  color: var(--form-divider-title-color);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.so-form-divider-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--form-divider-title-color);
}
.so-form-divider-icon .material-symbols-rounded {
  font-size: 1.125rem;
}

.so-form-divider-left::before {
  display: none;
}

.so-form-divider-right::after {
  display: none;
}

.so-form-divider-dashed::before, .so-form-divider-dashed::after {
  background-image: linear-gradient(to right, var(--form-divider-color) 50%, transparent 50%);
  background-size: 8px 1px;
  background-color: transparent;
  height: 1px;
}

.so-form-divider-dotted::before, .so-form-divider-dotted::after {
  background-image: radial-gradient(circle, var(--form-divider-color) 1px, transparent 1px);
  background-size: 4px 1px;
  background-color: transparent;
  height: 2px;
}

.so-form-divider-compact {
  margin: var(--form-divider-spacing-compact) 0;
}

.so-form-divider-loose {
  margin: var(--form-divider-spacing-loose) 0;
}

.so-form-divider-sm {
  --form-divider-title-font-size: 0.6875rem;
  gap: 8px;
}
.so-form-divider-sm .so-form-divider-icon .material-symbols-rounded {
  font-size: 1rem;
}

.so-form-divider-lg {
  --form-divider-title-font-size: 0.9375rem;
  gap: 16px;
}
.so-form-divider-lg .so-form-divider-icon .material-symbols-rounded {
  font-size: 1.25rem;
}

.so-form-divider-primary {
  --form-divider-color: var(--so-accent-primary);
  --form-divider-title-color: var(--so-accent-primary);
}

.so-form-divider-secondary {
  --form-divider-color: var(--so-accent-secondary);
  --form-divider-title-color: var(--so-accent-secondary);
}

.so-form-divider-success {
  --form-divider-color: var(--so-accent-success);
  --form-divider-title-color: var(--so-accent-success);
}

.so-form-divider-danger {
  --form-divider-color: var(--so-accent-danger);
  --form-divider-title-color: var(--so-accent-danger);
}

.so-form-divider-warning {
  --form-divider-color: var(--so-accent-warning);
  --form-divider-title-color: var(--so-accent-warning);
}

.so-form-divider-info {
  --form-divider-color: var(--so-accent-info);
  --form-divider-title-color: var(--so-accent-info);
}

.so-form-divider-muted {
  --form-divider-color: var(--so-accent-muted);
  --form-divider-title-color: var(--so-accent-muted);
}

.so-form-divider-muted {
  --form-divider-color: var(--so-border-color);
  --form-divider-title-color: var(--so-text-muted);
}

.so-go-to-top {
  position: fixed;
  z-index: 1030;
  opacity: 0;
  transform: translateY(20px) scale(0.9);
  transition: opacity 0.3s ease, transform 0.3s ease, background 0.1s ease, border-color 0.1s ease;
  pointer-events: none;
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.22);
}
.so-go-to-top.so-show {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.so-go-to-top:hover {
  transform: translateY(-2px) scale(1);
  box-shadow: 0 12px 32px 0 rgba(0, 0, 0, 0.25);
}
.so-go-to-top:active {
  transform: translateY(0) scale(0.95);
}

.so-go-to-bottom {
  transform: translateY(-20px) scale(0.9);
}
.so-go-to-bottom.so-show {
  transform: translateY(0) scale(1);
}
.so-go-to-bottom:hover {
  transform: translateY(2px) scale(1);
}

.so-go-to-top-bottom-right {
  top: auto;
  left: auto;
  bottom: 24px;
  right: 24px;
}

.so-go-to-top-bottom-left {
  top: auto;
  right: auto;
  bottom: 24px;
  left: 24px;
}

.so-go-to-top-bottom-center {
  top: auto;
  right: auto;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(20px) scale(0.9);
}
.so-go-to-top-bottom-center.so-show {
  transform: translateX(-50%) translateY(0) scale(1);
}
.so-go-to-top-bottom-center:hover {
  transform: translateX(-50%) translateY(-2px) scale(1);
}
.so-go-to-top-bottom-center:active {
  transform: translateX(-50%) translateY(0) scale(0.95);
}

.so-go-to-top-paired.so-go-to-top-bottom-right {
  bottom: 76px;
}
.so-go-to-top-paired.so-go-to-top-bottom-left {
  bottom: 76px;
}
.so-go-to-top-paired.so-go-to-top-bottom-center {
  bottom: 76px;
}

@media (max-width: 767px) {
  .so-go-to-top-bottom-right {
    bottom: 16px;
    right: 16px;
  }
  .so-go-to-top-bottom-left {
    bottom: 16px;
    left: 16px;
  }
  .so-go-to-top-bottom-center {
    bottom: 16px;
    left: 50%;
  }
  .so-go-to-top-paired.so-go-to-top-bottom-right, .so-go-to-top-paired.so-go-to-top-bottom-left, .so-go-to-top-paired.so-go-to-top-bottom-center {
    bottom: 64px;
  }
}
.so-go-to-top-progress {
  --scroll-progress: 0;
  overflow: visible !important;
}
.so-go-to-top-progress .so-progress-ring {
  position: absolute;
  top: -4px;
  left: -4px;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  transform: rotate(-90deg);
  pointer-events: none;
  overflow: visible;
}
.so-go-to-top-progress .so-progress-ring circle {
  fill: none;
  stroke-width: 3;
}
.so-go-to-top-progress .so-progress-ring circle.so-progress-ring-track {
  stroke: rgba(255, 255, 255, 0.25);
}
.so-go-to-top-progress .so-progress-ring circle.so-progress-ring-progress {
  stroke: white;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.1s linear;
}
.so-go-to-top-progress .material-symbols-rounded {
  position: relative;
  z-index: 1;
}
.so-go-to-top-progress.so-btn-secondary .so-progress-ring-track {
  stroke: rgba(0, 0, 0, 0.15);
}
.so-go-to-top-progress.so-btn-secondary .so-progress-ring-progress {
  stroke: rgba(0, 0, 0, 0.5);
}
.so-go-to-top-progress.so-btn-outline .so-progress-ring-track, .so-go-to-top-progress[class*=btn-outline-] .so-progress-ring-track, .so-go-to-top-progress.so-btn-ghost .so-progress-ring-track {
  stroke: var(--so-accent-primary);
  opacity: 0.25;
}
.so-go-to-top-progress.so-btn-outline .so-progress-ring-progress, .so-go-to-top-progress[class*=btn-outline-] .so-progress-ring-progress, .so-go-to-top-progress.so-btn-ghost .so-progress-ring-progress {
  stroke: var(--so-accent-primary);
}

.so-input-mask {
  letter-spacing: 0.5px;
}
.so-input-mask::-moz-placeholder {
  letter-spacing: 0.5px;
}
.so-input-mask::placeholder {
  letter-spacing: 0.5px;
}

.so-mask-hint {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin-top: 4px;
}

.so-password-wrapper {
  position: relative;
}
.so-password-wrapper.so-has-inline-strength .so-form-control {
  padding-right: 88px;
}

.so-input-wrapper.so-password-wrapper .so-input-action {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.so-input-wrapper.so-password-wrapper .so-form-control {
  padding-right: 44px;
}

.so-password-strength {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 8px;
}

.so-password-strength-bar {
  display: flex;
  gap: 4px;
  height: 4px;
}

.so-password-strength-segment {
  flex: 1;
  height: 100%;
  background: var(--so-border-color);
  border-radius: 9999px;
  transition: background 0.15s ease;
}
.so-password-strength-segment.so-active.so-strength-weak {
  background: var(--so-accent-danger);
}
.so-password-strength-segment.so-active.so-strength-fair {
  background: var(--so-accent-warning);
}
.so-password-strength-segment.so-active.so-strength-good {
  background: var(--so-accent-info);
}
.so-password-strength-segment.so-active.so-strength-strong {
  background: var(--so-accent-success);
}

.so-password-strength-text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-password-strength-label {
  font-weight: 500;
  transition: color 0.15s ease;
}
.so-password-strength-label.so-strength-weak {
  color: var(--so-accent-danger);
}
.so-password-strength-label.so-strength-fair {
  color: var(--so-warning-text-emphasis);
}
.so-password-strength-label.so-strength-good {
  color: var(--so-accent-info);
}
.so-password-strength-label.so-strength-strong {
  color: var(--so-accent-success);
}

.so-password-requirements {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 8px;
}

.so-password-requirement {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--so-text-muted);
  transition: color 0.15s ease;
}
.so-password-requirement .material-symbols-rounded {
  font-size: 16px;
  color: var(--so-text-muted);
  transition: color 0.15s ease;
}
.so-password-requirement.so-met {
  color: var(--so-accent-success);
}
.so-password-requirement.so-met .material-symbols-rounded {
  color: var(--so-accent-success);
}

.so-password-strength-inline {
  position: absolute;
  right: 44px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 2px;
  padding: 4px;
}

.so-strength-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--so-border-color);
  transition: background 0.15s ease;
}
.so-strength-dot.so-active.so-strength-weak {
  background: var(--so-accent-danger);
}
.so-strength-dot.so-active.so-strength-fair {
  background: var(--so-accent-warning);
}
.so-strength-dot.so-active.so-strength-good {
  background: var(--so-accent-info);
}
.so-strength-dot.so-active.so-strength-strong {
  background: var(--so-accent-success);
}

.so-char-counter-wrapper {
  position: relative;
}

.so-char-counter {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  font-variant-numeric: tabular-nums;
  transition: color 0.15s ease;
}
.so-char-counter .material-symbols-rounded {
  font-size: 14px;
}
.so-char-counter.so-warning {
  color: var(--so-warning-text-emphasis);
}
.so-char-counter.so-danger {
  color: var(--so-accent-danger);
}
.so-char-counter.so-success {
  color: var(--so-accent-success);
}

.so-char-counter-bar {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 8px;
}

.so-char-counter-progress {
  height: 3px;
  background: var(--so-border-color);
  border-radius: 9999px;
  overflow: hidden;
}

.so-char-counter-fill {
  height: 100%;
  background: var(--so-accent-primary);
  border-radius: 9999px;
  transition: width 0.2s ease, background 0.15s ease;
}
.so-char-counter-fill.so-warning {
  background: var(--so-accent-warning);
}
.so-char-counter-fill.so-danger {
  background: var(--so-accent-danger);
}

.so-char-counter-text {
  display: flex;
  justify-content: space-between;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-char-counter-inline {
  position: absolute;
  right: 12px;
  bottom: 8px;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  pointer-events: none;
  font-variant-numeric: tabular-nums;
  background: var(--so-form-bg);
  padding: 0 4px;
  border-radius: 3px;
  transition: color 0.15s ease;
}
.so-char-counter-inline.so-warning {
  color: var(--so-warning-text-emphasis);
}
.so-char-counter-inline.so-danger {
  color: var(--so-accent-danger);
}
.so-char-counter-inline.so-success {
  color: var(--so-accent-success);
}

textarea.so-form-control.so-has-counter-inline {
  padding-bottom: 24px;
}

.so-input-clearable {
  position: relative;
}
.so-input-clearable .so-form-control {
  padding-right: 40px;
}

.so-input-clear-btn {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  margin: 0;
  background: var(--so-card-hover-bg);
  border: none;
  border-radius: 50%;
  color: var(--so-text-muted);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
  opacity: 0.7;
  z-index: 2;
}
.so-input-clear-btn .material-symbols-rounded {
  font-size: 16px;
}
.so-input-clear-btn:hover {
  background: var(--so-border-color);
  color: var(--so-text-primary);
  opacity: 1;
}
.so-input-clear-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.3);
}
.so-form-control:not(:-moz-placeholder) ~ .so-input-clear-btn {
  display: flex;
}
.so-input-clearable:focus-within .so-input-clear-btn, .so-form-control:not(:placeholder-shown) ~ .so-input-clear-btn {
  display: flex;
}
.so-form-control[data-has-value=true] ~ .so-input-clear-btn {
  display: flex;
}

.so-input-clearable.so-has-icon .so-form-control {
  padding-left: 40px;
  padding-right: 40px;
}

.so-input-clearable.so-has-action .so-form-control {
  padding-right: 72px;
}
.so-input-clearable.so-has-action .so-input-clear-btn {
  right: 40px;
}

.so-input-clearable-sm .so-input-clear-btn {
  width: 20px;
  height: 20px;
}
.so-input-clearable-sm .so-input-clear-btn .material-symbols-rounded {
  font-size: 14px;
}

.so-input-clearable-lg .so-input-clear-btn {
  width: 28px;
  height: 28px;
}
.so-input-clearable-lg .so-input-clear-btn .material-symbols-rounded {
  font-size: 18px;
}

.so-input-addon.so-input-addon-transparent {
  background: transparent;
  border-color: transparent;
}
.so-input-addon.so-input-addon-primary {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
.so-input-addon.so-input-addon-success {
  background: rgba(52, 168, 83, 0.1);
  color: var(--so-accent-success);
  border-color: var(--so-accent-success);
}
.so-input-addon.so-input-addon-danger {
  background: rgba(234, 67, 53, 0.1);
  color: var(--so-accent-danger);
  border-color: var(--so-accent-danger);
}
.so-input-addon.so-input-addon-warning {
  background: rgba(255, 179, 0, 0.1);
  color: var(--so-warning-text-emphasis);
  border-color: var(--so-accent-warning);
}
.so-input-addon.so-input-addon-info {
  background: rgba(23, 162, 184, 0.1);
  color: var(--so-accent-info);
  border-color: var(--so-accent-info);
}
.so-input-addon.so-input-addon-compact {
  padding: 0 8px;
}
.so-input-addon.so-input-addon-wide {
  padding: 0 16px;
  min-width: 60px;
  justify-content: center;
}
.so-input-addon.so-input-addon-clickable {
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-input-addon.so-input-addon-clickable:hover {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-input-addon.so-input-addon-clickable:active {
  background: var(--so-border-color);
}
.so-input-addon.so-input-addon-dropdown {
  cursor: pointer;
  gap: 4px;
}
.so-input-addon.so-input-addon-dropdown::after {
  content: "";
  border: 4px solid transparent;
  border-top-color: currentColor;
  margin-left: 4px;
}

.so-input-prefix {
  position: relative;
}
.so-input-prefix .so-prefix-text {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-text-muted);
  font-size: 0.875rem;
  pointer-events: none;
  z-index: 1;
}
.so-input-prefix .so-form-control {
  padding-left: var(--so-prefix-width, 60px);
}

.so-input-suffix {
  position: relative;
}
.so-input-suffix .so-suffix-text {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-text-muted);
  font-size: 0.875rem;
  pointer-events: none;
  z-index: 1;
}
.so-input-suffix .so-form-control {
  padding-right: var(--so-suffix-width, 60px);
}

.so-input-prefix.so-input-suffix .so-form-control {
  padding-left: var(--so-prefix-width, 60px);
  padding-right: var(--so-suffix-width, 60px);
}

.so-input-currency .so-prefix-text {
  font-weight: 500;
}
.so-input-currency .so-form-control {
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.so-input-percentage .so-form-control {
  font-variant-numeric: tabular-nums;
  text-align: right;
  padding-right: 40px;
}
.so-input-percentage .so-suffix-text {
  font-weight: 500;
}

.so-input-url .so-prefix-text {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
}

.so-input-loading {
  position: relative;
  pointer-events: none;
}
.so-input-loading .so-form-control {
  padding-right: 40px;
  color: var(--so-text-muted);
}
.so-input-loading::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border: 2px solid var(--so-border-color);
  border-top-color: var(--so-accent-primary);
  border-radius: 50%;
  animation: so-input-spin 0.6s linear infinite;
}

@keyframes so-input-spin {
  to {
    transform: rotate(360deg);
  }
}
.so-input-validated {
  position: relative;
}
.so-input-validated .so-form-control {
  padding-right: 40px;
}
.so-input-validated .so-validation-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.so-input-validated .so-validation-icon .material-symbols-rounded {
  font-size: 20px;
}
.so-input-validated.so-is-valid .so-validation-icon {
  color: var(--so-accent-success);
}
.so-input-validated.so-is-invalid .so-validation-icon {
  color: var(--so-accent-danger);
}
.so-input-validated.so-is-warning .so-validation-icon {
  color: var(--so-warning-text-emphasis);
}

@media (max-width: 576px) {
  .so-password-strength-inline {
    display: none;
  }
  .so-char-counter-inline {
    font-size: 10px;
    padding: 0 2px;
  }
}
.so-icon-picker {
  position: relative;
  display: inline-block;
}
.so-icon-picker.so-icon-picker-disabled {
  opacity: 0.6;
  pointer-events: none;
}
.so-icon-picker.so-icon-picker-disabled .so-icon-picker-trigger {
  cursor: not-allowed;
  background-color: var(--so-form-disabled-bg);
}
.so-icon-picker.so-icon-picker-open .so-icon-picker-dropdown {
  opacity: 1;
  visibility: visible;
}
.so-icon-picker.so-icon-picker-open .so-icon-picker-trigger {
  border-color: var(--so-form-border-focus);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-icon-picker.so-icon-picker-block {
  display: block;
  width: 100%;
}

.so-icon-picker-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 180px;
  padding: 8px 12px;
  background: var(--so-form-bg);
  border: 1px solid var(--so-form-border);
  border-radius: 4px;
  cursor: pointer;
  color: var(--so-text-primary);
  font-size: var(--so-text-base);
  line-height: 1.5;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.so-icon-picker-trigger:hover {
  border-color: var(--so-form-border-hover);
}
.so-icon-picker-trigger:focus-visible {
  border-color: var(--so-form-border-focus);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
  outline: none;
}
.so-icon-picker-trigger .so-icon-picker-trigger-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--so-card-hover-bg);
  border-radius: 3px;
  font-size: 20px;
  color: var(--so-text-primary);
  flex-shrink: 0;
}
.so-icon-picker-trigger .so-icon-picker-trigger-icon .material-symbols-rounded {
  font-size: 20px;
}
.so-icon-picker-trigger .so-icon-picker-trigger-text {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.so-icon-picker-trigger .so-icon-picker-trigger-placeholder {
  color: var(--so-text-muted);
}
.so-icon-picker-trigger .so-icon-picker-trigger-arrow {
  display: flex;
  align-items: center;
  color: var(--so-text-secondary);
  margin-left: auto;
  flex-shrink: 0;
}
.so-icon-picker-trigger .so-icon-picker-trigger-arrow .material-symbols-rounded {
  font-size: 20px;
}
.so-icon-picker-trigger .so-icon-picker-clear {
  display: flex;
  align-items: center;
  padding: 0;
  border: none;
  background: none;
  color: var(--so-text-muted);
  cursor: pointer;
  flex-shrink: 0;
  border-radius: 9999px;
  transition: color 0.15s ease, background 0.15s ease;
}
.so-icon-picker-trigger .so-icon-picker-clear:hover {
  color: var(--so-danger);
  background: var(--so-danger-bg-subtle);
}
.so-icon-picker-trigger .so-icon-picker-clear .material-symbols-rounded {
  font-size: 16px;
}

.so-icon-picker-sm .so-icon-picker-trigger {
  min-width: 150px;
  padding: 4px 8px;
  font-size: var(--so-text-sm);
}
.so-icon-picker-sm .so-icon-picker-trigger .so-icon-picker-trigger-icon {
  width: 22px;
  height: 22px;
}
.so-icon-picker-sm .so-icon-picker-trigger .so-icon-picker-trigger-icon .material-symbols-rounded {
  font-size: 16px;
}

.so-icon-picker-lg .so-icon-picker-trigger {
  min-width: 220px;
  padding: 12px 16px;
  font-size: var(--so-text-lg);
}
.so-icon-picker-lg .so-icon-picker-trigger .so-icon-picker-trigger-icon {
  width: 36px;
  height: 36px;
}
.so-icon-picker-lg .so-icon-picker-trigger .so-icon-picker-trigger-icon .material-symbols-rounded {
  font-size: 24px;
}

.so-icon-picker-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  margin-top: 4px;
  width: 480px;
  max-width: 90vw;
  background: var(--so-dropdown-bg);
  border: 1px solid var(--so-dropdown-border);
  border-radius: 4px;
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.22);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0.15s;
}
[data-theme=dark] .so-icon-picker-dropdown {
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.45);
}

@media (max-width: 767px) {
  .so-icon-picker-dropdown {
    width: 360px;
  }
}

.so-icon-picker-panel {
  display: flex;
  flex-direction: column;
}
.so-icon-picker-panel .so-accordion-body {
  padding: 0;
}

.so-icon-picker-grid-wrapper {
  max-height: 380px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-icon-picker-grid-wrapper::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-icon-picker-grid-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.so-icon-picker-grid-wrapper::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-icon-picker-grid-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-icon-picker-section-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(85px, 1fr));
  gap: 8px;
  padding: 8px;
}

.so-icon-picker-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 8px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--so-text-primary);
  transition: all 0.15s ease;
  text-align: center;
  min-height: 80px;
  background: var(--so-card-hover-bg);
  border: 1px solid var(--so-border-color);
}
.so-icon-picker-item .material-symbols-rounded {
  font-size: 26px;
  transition: transform 0.15s ease, color 0.15s ease;
}
.so-icon-picker-item .so-icon-picker-item-label {
  font-size: 10px;
  line-height: 1.2;
  color: var(--so-text-muted);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: capitalize;
  transition: color 0.15s ease;
}
.so-icon-picker-item:hover:not(.so-selected) {
  background: var(--so-card-bg);
  border-color: var(--so-accent-primary);
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18);
}
.so-icon-picker-item:hover:not(.so-selected) .material-symbols-rounded {
  transform: scale(1.8);
  color: var(--so-accent-primary);
}
.so-icon-picker-item:hover:not(.so-selected) .so-icon-picker-item-label {
  display: none;
}
.so-icon-picker-item.so-focused {
  background: var(--so-card-bg);
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 3px var(--so-primary-focus-ring);
}
.so-icon-picker-item.so-selected {
  background: var(--so-accent-primary);
  color: #fff;
  border-color: var(--so-accent-primary);
}
.so-icon-picker-item.so-selected .material-symbols-rounded {
  color: #fff;
}
.so-icon-picker-item.so-selected .so-icon-picker-item-label {
  color: rgba(255, 255, 255, 0.9);
}
.so-icon-picker-item.so-selected:hover {
  background: var(--so-accent-primary-hover);
  border-color: var(--so-accent-primary-hover);
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18);
}
.so-icon-picker-item.so-selected:hover .material-symbols-rounded {
  transform: scale(1.8);
  color: #fff;
}
.so-icon-picker-item.so-selected:hover .so-icon-picker-item-label {
  display: none;
}
.so-icon-picker-item.so-disabled {
  opacity: 0.3;
  pointer-events: none;
}

.so-icon-picker-no-results {
  display: none;
  padding: 24px 16px;
  text-align: center;
  color: var(--so-text-muted);
  font-size: var(--so-text-sm);
}
.so-icon-picker-no-results .material-symbols-rounded {
  display: block;
  font-size: 40px;
  margin-bottom: 8px;
  opacity: 0.5;
}

.so-icon-picker-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--so-border-color);
  min-height: 1px;
}

.so-icon-picker-count {
  padding: 8px 12px;
  font-size: 11px;
  color: var(--so-text-muted);
}

.so-icon-picker-inline {
  display: block;
  width: 100%;
}
.so-icon-picker-inline .so-icon-picker-panel {
  background: var(--so-dropdown-bg);
}
.so-icon-picker-inline .so-icon-picker-grid-wrapper {
  max-height: 480px;
}

.so-image-cropper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.so-image-cropper-stage {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  background: var(--so-grey-100);
  cursor: grab;
  touch-action: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.so-image-cropper-dragging .so-image-cropper-stage {
  cursor: grabbing;
}

.so-image-cropper-img {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  will-change: width, height, transform;
}

.so-image-cropper-mask {
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.45);
}
.so-image-cropper-mask::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: inherit;
}

.so-image-cropper-shape-circle .so-image-cropper-stage,
.so-image-cropper-shape-circle .so-image-cropper-mask {
  border-radius: 50%;
}

.so-image-cropper-shape-square .so-image-cropper-mask {
  border-radius: 0;
}

.so-image-cropper-shape-rounded .so-image-cropper-stage,
.so-image-cropper-shape-rounded .so-image-cropper-mask {
  border-radius: 8px;
}

.so-image-cropper-circle .so-image-cropper-stage,
.so-image-cropper-circle .so-image-cropper-mask {
  border-radius: 50%;
}

.so-image-cropper:not(.so-image-cropper-loaded) .so-image-cropper-stage {
  cursor: default;
}
.so-image-cropper:not(.so-image-cropper-loaded) .so-image-cropper-controls {
  opacity: 0.5;
  pointer-events: none;
}
.so-image-cropper:not(.so-image-cropper-loaded) .so-image-cropper-cropbox {
  display: none;
}

.so-image-cropper-mode-cropbox .so-image-cropper-stage {
  background: #1f2937;
  cursor: default;
}

.so-image-cropper-cropbox {
  position: absolute;
  box-sizing: border-box;
  border: 2px solid rgba(255, 255, 255, 0.95);
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.55);
  cursor: move;
  touch-action: none;
}

.so-image-cropper-cropbox-locked {
  border-color: var(--so-accent-primary);
  cursor: grab;
}
.so-image-cropper-cropbox-locked .so-image-cropper-handle {
  display: none;
}

.so-image-cropper-dragging .so-image-cropper-cropbox-locked {
  cursor: grabbing;
}

.so-image-cropper-cropbox-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.35) 1px, transparent 1px), linear-gradient(to right, rgba(255, 255, 255, 0.35) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, 0.35) 1px, transparent 1px), linear-gradient(to bottom, rgba(255, 255, 255, 0.35) 1px, transparent 1px);
  background-size: 1px 100%, 1px 100%, 100% 1px, 100% 1px;
  background-repeat: no-repeat;
  background-position: 33.333% 0, 66.666% 0, 0 33.333%, 0 66.666%;
}

.so-image-cropper-handle {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.4);
  border-radius: 2px;
  box-sizing: border-box;
  z-index: 2;
}

.so-image-cropper-handle-n,
.so-image-cropper-handle-s {
  left: 50%;
  width: 28px;
  height: 6px;
  border-radius: 3px;
  transform: translateX(-50%);
  cursor: ns-resize;
}

.so-image-cropper-handle-n {
  top: -4px;
}

.so-image-cropper-handle-s {
  bottom: -4px;
}

.so-image-cropper-handle-e,
.so-image-cropper-handle-w {
  top: 50%;
  width: 6px;
  height: 28px;
  border-radius: 3px;
  transform: translateY(-50%);
  cursor: ew-resize;
}

.so-image-cropper-handle-e {
  right: -4px;
}

.so-image-cropper-handle-w {
  left: -4px;
}

.so-image-cropper-handle-nw {
  top: -6px;
  left: -6px;
  cursor: nwse-resize;
}

.so-image-cropper-handle-ne {
  top: -6px;
  right: -6px;
  cursor: nesw-resize;
}

.so-image-cropper-handle-se {
  bottom: -6px;
  right: -6px;
  cursor: nwse-resize;
}

.so-image-cropper-handle-sw {
  bottom: -6px;
  left: -6px;
  cursor: nesw-resize;
}

.so-image-cropper-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 320px;
}

.so-image-cropper-zoom {
  flex: 1 1 auto;
  min-width: 0;
}

.so-avatar-editable {
  position: relative;
  cursor: pointer;
}
.so-avatar-editable:is(button) {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  padding: 0;
  border: 0;
  font-family: inherit;
}

.so-avatar-editable-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  opacity: 0;
  font-size: 26px;
  transition: opacity 0.1s ease;
  pointer-events: none;
}
.so-avatar-editable-overlay .material-symbols-rounded {
  font-size: 1em;
  line-height: 1;
}

.so-avatar-editable:hover .so-avatar-editable-overlay,
.so-avatar-editable:focus-visible .so-avatar-editable-overlay {
  opacity: 1;
}

.so-ppe {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.so-ppe-pick {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 20px 16px;
  border: 2px dashed var(--so-border-color);
  border-radius: 6px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.1s ease, background 0.1s ease;
}
.so-ppe-pick:hover, .so-ppe-pick.so-ppe-pick-over {
  border-color: var(--so-accent-primary);
  background: var(--so-grey-100);
}

.so-ppe-pick-icon {
  font-size: 40px;
  color: var(--so-accent-primary);
}

.so-ppe-pick-text {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
}

.so-ppe-crop {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.so-customizer-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-top: 1px solid var(--so-sidebar-border);
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-customizer-btn:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
}
.so-customizer-btn .material-symbols-rounded {
  font-size: 18px;
}
.so-sidebar.so-collapsed .so-customizer-btn {
  justify-content: center;
}
.so-sidebar.so-collapsed .so-customizer-btn .so-customizer-btn-text {
  display: none;
}
.so-sidebar.so-collapsed:hover .so-customizer-btn .so-customizer-btn-text {
  display: inline;
}

.so-customizer-btn-text {
  flex: 1;
  text-align: left;
  font-weight: 500;
}

.so-customizer-drawer {
  width: 420px;
}
.so-customizer-drawer .so-drawer-body {
  padding: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-customizer-drawer .so-drawer-body::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-customizer-drawer .so-drawer-body::-webkit-scrollbar-track {
  background: transparent;
}
.so-customizer-drawer .so-drawer-body::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-customizer-drawer .so-drawer-body::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}
.so-customizer-drawer .so-drawer-header {
  padding: 16px 20px;
}
.so-customizer-drawer .so-drawer-footer {
  padding: 12px 20px;
}

.so-customizer-tabs {
  display: flex;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid var(--so-border-color);
  padding: 0 20px;
  position: sticky;
  top: 0;
  background: var(--so-card-bg);
  z-index: 1;
}

.so-customizer-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  background: transparent;
  border: none;
  cursor: pointer;
  position: relative;
  transition: color 0.15s ease;
  font-family: inherit;
}
.so-customizer-tab:hover {
  color: var(--so-text-heading);
}
.so-customizer-tab::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  height: 2px;
  background: transparent;
  transition: background 0.15s ease;
  border-radius: 2px 2px 0 0;
}
.so-customizer-tab.so-active {
  color: var(--so-accent-primary);
}
.so-customizer-tab.so-active::after {
  background: var(--so-accent-primary);
}
.so-customizer-tab .material-symbols-rounded {
  font-size: 18px;
}

.so-customizer-panel {
  display: none;
  padding: 20px;
}
.so-customizer-panel.so-active {
  display: block;
}

.so-customizer-section {
  margin-bottom: 24px;
}
.so-customizer-section:last-child {
  margin-bottom: 0;
}

.so-customizer-section-title {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--so-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}

.so-customizer-colors {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.so-customizer-color {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
  background: transparent;
  font-family: inherit;
  font-size: 0.8125rem;
  color: var(--so-text-primary);
}
.so-customizer-color:hover {
  background: var(--so-card-hover-bg);
}
.so-customizer-color.so-active {
  border-color: var(--so-accent-primary);
  background: var(--so-primary-bg-subtle);
}

.so-customizer-color-swatches {
  display: flex;
  gap: 3px;
  flex-shrink: 0;
}

.so-customizer-color-swatch {
  width: 18px;
  height: 18px;
  border-radius: 3px;
  flex-shrink: 0;
}

.so-customizer-color-name {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-customizer-skins {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.so-customizer-skin {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  border: 2px solid var(--so-border-color);
  cursor: pointer;
  transition: all 0.2s ease;
  overflow: hidden;
  background: var(--so-card-bg);
}
.so-customizer-skin:hover {
  border-color: var(--so-accent-primary);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.so-customizer-skin.so-active {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 1px var(--so-accent-primary);
}

.so-customizer-skin-preview {
  height: 72px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--so-border-color);
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.so-customizer-skin-preview-cards {
  display: flex;
  gap: 5px;
  width: 100%;
  height: 100%;
}
.so-customizer-skin-preview-cards > span {
  flex: 1;
  min-height: 0;
}

.so-customizer-skin-info {
  padding: 8px 12px;
}

.so-customizer-skin-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 4px;
}

.so-customizer-skin-desc {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  line-height: 1.4;
}

.so-customizer-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--so-border-color);
}
.so-customizer-option:last-child {
  border-bottom: none;
}

.so-customizer-option-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.so-customizer-option-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-heading);
}

.so-customizer-option-desc {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-customizer-skin-none {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  border-bottom: 1px solid var(--so-border-color);
  color: var(--so-text-muted);
  font-size: 0.8125rem;
}
.so-customizer-skin-none .material-symbols-rounded {
  font-size: 22px;
}

@media (max-width: 767px) {
  .so-customizer-drawer {
    width: 100%;
  }
  .so-customizer-panel {
    padding: 16px;
  }
}
.so-entry-list {
  display: flex;
  flex-direction: column;
}

.so-entry-list > .so-card {
  border-radius: 0;
  margin-bottom: -1px;
}

.so-entry-list > .so-card:first-child {
  border-top-left-radius: css-var("radius-lg", 0.5rem);
  border-top-right-radius: css-var("radius-lg", 0.5rem);
}

.so-entry-list > .so-card:last-child {
  border-bottom-left-radius: css-var("radius-lg", 0.5rem);
  border-bottom-right-radius: css-var("radius-lg", 0.5rem);
  margin-bottom: 0;
}

.so-entry-list > .so-card:only-child {
  border-radius: css-var("radius-lg", 0.5rem);
}

.so-entry-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.so-entry-header-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.so-entry-header-center {
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
}

.so-entry-header-line {
  flex: 1;
  height: 1px;
  background: css-var("border-color", #e8eaed);
}

.so-entry-header-summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0 0.75rem;
  white-space: nowrap;
  color: css-var("text-muted", #9aa0a6);
  font-size: 0.875rem;
}

.so-entry-header-summary-value {
  font-weight: 600;
  color: css-var("text-primary", #202124);
}

.so-entry-header-right {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
}

.so-entry-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: css-var("accent-primary", #1a73e8);
}

.so-entry-label {
  font-weight: 500;
  color: css-var("text-primary", #202124);
}

.so-entry-body {
  overflow: hidden;
  transition: max-height 0.25s ease-out, padding 0.25s ease-out, opacity 0.2s ease-out;
  max-height: 500px;
  opacity: 1;
}

.so-entry-collapsed .so-entry-body {
  max-height: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  opacity: 0;
}

.so-entry-header-collapsed {
  border-bottom: none !important;
}

.so-entry-toggle {
  transition: transform 0.25s ease;
}

.so-entry-collapsed .so-entry-toggle .material-symbols-rounded {
  transition: transform 0.25s ease;
}

.so-entry-collapsed {
  background: transparent;
}

.so-entry-collapsed > .so-card-header {
  border-bottom: none;
}

.so-entry-collapsed:hover > .so-card-header {
  background: css-var("hover-bg", rgba(0, 0, 0, 0.04));
}

[data-theme=dark] .so-entry-header-line {
  background: css-var("border-color", #3b4056);
}

.so-virtual-scroll-container {
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
}

.so-error-reporter {
  position: fixed;
  z-index: 1080;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.so-error-reporter.so-show {
  opacity: 1;
  pointer-events: auto;
}
.so-error-reporter-top-right {
  top: 20px;
  right: 20px;
}
.so-error-reporter-top-left {
  top: 20px;
  left: 20px;
}
.so-error-reporter-bottom-right {
  bottom: 20px;
  right: 20px;
}
.so-error-reporter-bottom-left {
  bottom: 20px;
  left: 20px;
}

.so-error-reporter-badge-btn {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: none;
  background: var(--so-danger, #dc3545);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.so-error-reporter-badge-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.so-error-reporter-badge-btn:active {
  transform: scale(0.98);
}
.so-error-reporter-badge-btn .material-symbols-rounded {
  font-size: 24px;
}

.so-error-reporter-count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  background: white;
  color: var(--so-danger, #dc3545);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  padding: 0 6px;
  border: 2px solid var(--so-danger, #dc3545);
}

.so-error-reporter-content {
  max-width: var(--so-error-reporter-width, 280px);
  width: var(--so-error-reporter-width, 280px);
  background: #fff;
  border: 1px solid #dc3545;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow: visible;
  display: flex;
  flex-direction: column;
  transition: width 0.3s ease, max-width 0.3s ease;
}

.so-error-reporter-sm .so-error-reporter-content {
  --so-error-reporter-width: 240px;
  max-width: var(--so-error-reporter-width, 240px);
  width: var(--so-error-reporter-width, 240px);
}
.so-error-reporter-sm .so-error-reporter-header {
  padding: 10px 14px;
  gap: 6px;
}
.so-error-reporter-sm .so-error-reporter-header .so-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.so-error-reporter-sm .so-error-reporter-header .material-symbols-rounded {
  font-size: 18px;
  line-height: 1;
}
.so-error-reporter-sm .so-error-reporter-title {
  font-size: 13px;
  line-height: 1.2;
}
.so-error-reporter-sm .so-error-reporter-icon {
  font-size: 18px !important;
}
.so-error-reporter-sm .so-error-reporter-item {
  padding: 6px 10px 6px 14px;
  font-size: 12px;
}
.so-error-reporter-sm .so-error-number {
  font-size: 11px;
}
.so-error-reporter-sm .so-error-field {
  font-size: 10px;
}
.so-error-reporter-sm .so-error-message {
  font-size: 12px;
}

.so-error-reporter-xs .so-error-reporter-content {
  --so-error-reporter-width: 200px;
  max-width: var(--so-error-reporter-width, 200px);
  width: var(--so-error-reporter-width, 200px);
}
.so-error-reporter-xs .so-error-reporter-header {
  padding: 8px 12px;
  gap: 4px;
}
.so-error-reporter-xs .so-error-reporter-header .so-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.so-error-reporter-xs .so-error-reporter-header .material-symbols-rounded {
  font-size: 16px;
  line-height: 1;
}
.so-error-reporter-xs .so-error-reporter-title {
  font-size: 12px;
  line-height: 1.2;
}
.so-error-reporter-xs .so-error-reporter-icon {
  font-size: 16px !important;
}
.so-error-reporter-xs .so-error-reporter-item {
  padding: 5px 8px 5px 14px;
  font-size: 11px;
}
.so-error-reporter-xs .so-error-number {
  font-size: 10px;
}
.so-error-reporter-xs .so-error-field {
  font-size: 9px;
}
.so-error-reporter-xs .so-error-message {
  font-size: 11px;
}
.so-error-reporter-xs .so-error-reporter-count {
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  font-size: 9px;
  top: -4px;
  right: -4px;
}

.so-error-reporter-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: rgba(220, 53, 69, 0.15);
  border-bottom: 1px solid rgba(220, 53, 69, 0.2);
  overflow: visible !important;
}
.so-error-reporter-header .material-symbols-rounded {
  font-size: 20px;
  line-height: 1;
}
.so-error-reporter-header .so-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.so-error-reporter-title {
  flex: 1;
  font-weight: 600;
  font-size: 14px;
  color: #333;
  line-height: 1.2;
  display: flex;
  align-items: center;
}

.so-error-reporter-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  line-height: 1;
}

.so-error-reporter-top-left .so-error-reporter-header,
.so-error-reporter-bottom-left .so-error-reporter-header {
  justify-content: flex-end;
}
.so-error-reporter-top-left .so-error-reporter-title,
.so-error-reporter-bottom-left .so-error-reporter-title {
  text-align: right;
}

.so-error-reporter-bottom-right .so-error-reporter-content,
.so-error-reporter-bottom-left .so-error-reporter-content {
  flex-direction: column-reverse;
}
.so-error-reporter-bottom-right .so-error-reporter-header,
.so-error-reporter-bottom-left .so-error-reporter-header {
  border-bottom: none;
  border-top: 1px solid rgba(220, 53, 69, 0.2);
}

.so-error-reporter-sort-toggle {
  display: none;
  gap: 0;
  flex-shrink: 0;
}

.so-error-reporter-show-sort-toggle .so-error-reporter-sort-toggle {
  display: flex;
}

.so-error-reporter-sort-toggle .so-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
  padding: 6px 8px;
}
.so-error-reporter-sort-toggle .so-btn .material-symbols-rounded {
  font-size: 16px;
}
.so-error-reporter-sort-toggle .so-btn-danger {
  background-color: var(--so-danger, #dc3545);
  border-color: var(--so-danger, #dc3545);
  color: #fff;
}
.so-error-reporter-sort-toggle .so-btn-danger:hover {
  background-color: rgb(210.9493670886, 36.5506329114, 53.2594936709);
  border-color: rgb(210.9493670886, 36.5506329114, 53.2594936709);
}
.so-error-reporter-sort-toggle .so-btn-outline {
  background-color: transparent;
  border-color: var(--so-danger, #dc3545);
  color: var(--so-danger, #dc3545);
}
.so-error-reporter-sort-toggle .so-btn-outline:hover {
  background-color: rgba(220, 53, 69, 0.1);
}

.so-error-reporter-position-dropdown {
  overflow: visible !important;
  position: relative;
  z-index: 1100;
}
.so-error-reporter-position-dropdown.so-dropdown {
  overflow: visible !important;
}
.so-error-reporter-position-dropdown .so-dropdown-trigger {
  overflow: visible !important;
}
.so-error-reporter-position-dropdown .so-dropdown-menu {
  overflow: visible !important;
  z-index: 1101;
}
.so-error-reporter-position-dropdown .so-dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: normal !important;
}
.so-error-reporter-position-dropdown .so-dropdown-item > span:first-child {
  flex: 1;
  font-weight: normal !important;
}
.so-error-reporter-position-dropdown .so-dropdown-check {
  flex-shrink: 0;
  font-size: 16px;
  color: var(--so-success, #28a745);
}
.so-error-reporter-position-dropdown.so-dropup .so-dropdown-menu {
  bottom: 100%;
  top: auto;
  margin-bottom: 4px;
  margin-top: 0;
}
.so-error-reporter-position-dropdown.so-dropdown-right .so-dropdown-menu {
  right: 0;
  left: auto;
}
.so-error-reporter-position-dropdown.so-dropdown-left .so-dropdown-menu {
  left: 0;
  right: auto;
}

.so-error-reporter-size-selector {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 12px !important;
  cursor: default !important;
  pointer-events: none;
}
.so-error-reporter-size-selector:hover {
  background: transparent !important;
}
.so-error-reporter-size-selector .so-btn-group {
  pointer-events: auto;
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
}
.so-error-reporter-size-selector .so-btn-group .so-btn {
  min-width: 40px;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 500;
}

.so-error-reporter-position-row {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px !important;
  cursor: default !important;
  pointer-events: none;
}
.so-error-reporter-position-row:hover {
  background: transparent !important;
}
.so-error-reporter-position-row .so-error-reporter-position-label {
  font-size: 12px;
  font-weight: 500;
  color: #666;
  text-transform: capitalize;
  min-width: 50px;
  pointer-events: none;
}
.so-error-reporter-position-row .so-btn-group {
  pointer-events: auto;
  display: flex;
  gap: 0;
}
.so-error-reporter-position-row .so-btn-group .so-btn {
  min-width: 50px;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 500;
}

.so-error-reporter-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
  opacity: 1;
  scrollbar-width: thin;
  scrollbar-color: rgba(189, 193, 198, 0.6) transparent;
}
.so-error-reporter-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-error-reporter-list::-webkit-scrollbar-track {
  background: transparent;
}
.so-error-reporter-list::-webkit-scrollbar-thumb {
  background: rgba(189, 193, 198, 0.6);
  border-radius: 3px;
}
.so-error-reporter-list::-webkit-scrollbar-thumb:hover {
  background: rgba(168.2341463415, 173.4926829268, 180.0658536585, 0.6);
}

.so-error-reporter.so-collapsed {
  pointer-events: none;
}
.so-error-reporter.so-collapsed .so-error-reporter-content {
  width: auto;
  min-width: auto;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  overflow: visible;
  pointer-events: none;
}
.so-error-reporter.so-collapsed .so-error-reporter-header {
  background: transparent;
  border-color: transparent;
  overflow: visible;
  pointer-events: none;
}
.so-error-reporter.so-collapsed .so-error-reporter-icon,
.so-error-reporter.so-collapsed .so-error-reporter-title,
.so-error-reporter.so-collapsed .so-error-reporter-sort-toggle,
.so-error-reporter.so-collapsed .so-error-reporter-position-dropdown {
  display: none;
}
.so-error-reporter.so-collapsed .so-error-reporter-list {
  display: none;
}
.so-error-reporter.so-collapsed .so-error-reporter-toggle {
  pointer-events: auto;
  overflow: visible !important;
}
.so-error-reporter.so-collapsed .so-error-reporter-toggle .so-error-reporter-count {
  opacity: 1;
  pointer-events: auto;
}

.so-error-reporter-count {
  position: absolute;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  background: white;
  color: var(--so-danger, #dc3545);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  padding: 0;
  border: 2px solid var(--so-danger, #dc3545);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 10;
  aspect-ratio: 1/1;
}

.so-error-reporter-toggle {
  position: relative;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
}
.so-error-reporter-toggle > .material-symbols-rounded {
  transition: transform 0.3s ease;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1;
}
.so-error-reporter-toggle > .so-error-reporter-count {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
}

.so-error-reporter.so-collapsed .so-error-reporter-toggle > .material-symbols-rounded {
  transform: rotate(180deg);
}

.so-error-reporter-icon,
.so-error-reporter-title,
.so-error-reporter-position-dropdown {
  transition: opacity 0.3s ease, width 0.3s ease;
}

.so-error-reporter-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 8px 12px 8px 16px;
  margin: 0;
  border-bottom: 1px solid #eee;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  position: relative;
}
.so-error-reporter-item:last-child {
  border-bottom: none;
}
.so-error-reporter-item:hover {
  background: rgba(220, 53, 69, 0.05);
}
.so-error-reporter-item.so-active {
  background: rgba(220, 53, 69, 0.08);
}
.so-error-reporter-item.so-active::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  height: calc(100% - 12px);
  width: 3px;
  background: #dc3545;
  border-radius: 2px;
}
.so-error-reporter-item.so-error-reporter-more {
  cursor: default;
  background-color: #f8f9fa;
  font-style: italic;
}
.so-error-reporter-item.so-error-reporter-more:hover {
  background-color: #f8f9fa;
}

.so-error-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
}

.so-error-number {
  font-weight: 700;
  font-size: 12px;
  color: #dc3545;
  flex-shrink: 0;
  line-height: 1;
}

.so-error-field {
  font-weight: 600;
  font-size: 11px;
  color: #dc3545;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1;
  flex: 1;
}

.so-error-message {
  display: block;
  color: #333;
  word-break: break-word;
  font-size: 13px;
  line-height: 1.5;
}

.so-error-message-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.so-error-message-list li {
  margin: 3px 0;
  padding: 0;
  border: none;
}
.so-error-message-list li:hover {
  background: transparent;
}

.so-error-reporter-modal .so-modal-dialog {
  margin-top: 20px;
  margin-bottom: auto;
}
.so-error-reporter-modal .so-error-reporter-list {
  max-height: none;
}
.so-error-reporter-modal .so-modal-body {
  padding: 0;
}
.so-error-reporter-modal .so-error-reporter-item:first-child {
  border-top: 1px solid #eee;
}
.so-error-reporter-modal .so-modal-footer .so-dropdown {
  width: 100%;
}
.so-error-reporter-modal .so-modal-footer .so-dropdown .so-btn {
  width: 100%;
  justify-content: space-between;
}
.so-error-reporter-modal .so-modal-footer .so-dropdown .so-btn .material-symbols-rounded:last-child {
  margin-left: auto;
}

.so-error-reporter-dark .so-error-reporter-content {
  background: #2d2d2d;
  border-color: #dc3545;
}
.so-error-reporter-dark .so-error-reporter-header {
  background: rgba(220, 53, 69, 0.2);
}
.so-error-reporter-dark .so-error-reporter-title {
  color: #fff;
}
.so-error-reporter-dark .so-error-reporter-item {
  border-bottom-color: #444;
}
.so-error-reporter-dark .so-error-reporter-item:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
.so-error-reporter-dark .so-error-reporter-item.so-error-reporter-more {
  background-color: #333;
}
.so-error-reporter-dark .so-error-reporter-item.so-error-reporter-more:hover {
  background-color: #333;
}
.so-error-reporter-dark .so-error-message {
  color: #eee;
}

.so-error-reporter-mobile-btn {
  position: relative;
  overflow: visible !important;
}
.so-error-reporter-mobile-btn .so-error-reporter-count {
  opacity: 1;
  pointer-events: auto;
  position: absolute;
  top: -6px;
  right: -6px;
}

@media (max-width: 767px) {
  .so-error-reporter-mobile.so-error-reporter-top-right, .so-error-reporter-mobile.so-error-reporter-top-left {
    top: 16px;
  }
  .so-error-reporter-mobile.so-error-reporter-bottom-right, .so-error-reporter-mobile.so-error-reporter-bottom-left {
    bottom: 16px;
  }
  .so-error-reporter-mobile.so-error-reporter-top-right, .so-error-reporter-mobile.so-error-reporter-bottom-right {
    right: 16px;
  }
  .so-error-reporter-mobile.so-error-reporter-top-left, .so-error-reporter-mobile.so-error-reporter-bottom-left {
    left: 16px;
  }
  .so-error-reporter-content {
    max-width: calc(100vw - 32px);
    width: calc(100vw - 32px);
  }
}
.so-error-reporter-modal {
  overflow: visible !important;
}
.so-error-reporter-modal .so-modal {
  overflow: visible !important;
}
.so-error-reporter-modal .so-modal-dialog {
  overflow: visible !important;
}
.so-error-reporter-modal .so-modal-content {
  overflow: visible !important;
}
.so-error-reporter-modal .so-modal-header {
  overflow: visible !important;
}
.so-error-reporter-modal .so-modal-header .so-modal-title {
  overflow: visible !important;
}
.so-error-reporter-modal .so-modal-header .so-error-reporter-position-dropdown {
  margin-left: auto;
  overflow: visible !important;
}
.so-error-reporter-modal .so-modal-header .so-error-reporter-position-dropdown .so-dropdown-trigger {
  overflow: visible !important;
}
.so-error-reporter-modal .so-modal-header .so-error-reporter-position-dropdown .so-dropdown-menu {
  overflow: visible !important;
}
.so-error-reporter-modal .so-error-reporter-modal-title {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  overflow: visible !important;
}
.so-error-reporter-modal .so-error-reporter-modal-title-text {
  flex: 1;
  overflow: visible !important;
}

[data-theme=dark] .so-error-reporter .so-error-reporter-content {
  background: #2d2d2d;
  border-color: #dc3545;
}
[data-theme=dark] .so-error-reporter .so-error-reporter-header {
  background: rgba(220, 53, 69, 0.2);
  border-bottom-color: rgba(220, 53, 69, 0.3);
}
[data-theme=dark] .so-error-reporter .so-error-reporter-title {
  color: #fff;
}
[data-theme=dark] .so-error-reporter .so-error-reporter-item {
  border-bottom-color: #444;
}
[data-theme=dark] .so-error-reporter .so-error-reporter-item:hover {
  background: rgba(255, 255, 255, 0.05);
}
[data-theme=dark] .so-error-reporter .so-error-reporter-item.so-active {
  background: rgba(220, 53, 69, 0.15);
}
[data-theme=dark] .so-error-reporter .so-error-reporter-item.so-error-reporter-more {
  background-color: #333;
}
[data-theme=dark] .so-error-reporter .so-error-reporter-item.so-error-reporter-more:hover {
  background-color: #333;
}
[data-theme=dark] .so-error-reporter .so-error-message {
  color: #eee;
}
[data-theme=dark] .so-error-reporter .so-error-field {
  color: rgb(227.5316455696, 96.4683544304, 109.0253164557);
}
[data-theme=dark] .so-error-reporter .so-error-message-list li {
  color: #eee;
}
[data-theme=dark] .so-error-reporter .so-error-reporter-position-label {
  color: #aaa;
}
[data-theme=dark] .so-error-reporter .so-error-reporter-toggle {
  background: rgba(220, 53, 69, 0.9);
  border-color: rgba(220, 53, 69, 0.9);
  color: #fff;
}
[data-theme=dark] .so-error-reporter .so-error-reporter-toggle:hover {
  background: #dc3545;
  border-color: #dc3545;
}
[data-theme=dark] .so-error-reporter .so-error-reporter-count {
  background: #fff;
  color: #dc3545;
  border: 2px solid #2d2d2d;
}
[data-theme=dark] .so-error-reporter.so-collapsed .so-error-reporter-content {
  background: transparent;
  border-color: transparent;
}
[data-theme=dark] .so-error-reporter.so-collapsed .so-error-reporter-header {
  background: transparent;
  border-color: transparent;
}
[data-theme=dark] .so-error-reporter-bottom-right .so-error-reporter-header,
[data-theme=dark] .so-error-reporter-bottom-left .so-error-reporter-header {
  border-top-color: rgba(220, 53, 69, 0.3);
}

@media (prefers-color-scheme: dark) {
  [data-theme=system] .so-error-reporter .so-error-reporter-content {
    background: #2d2d2d;
    border-color: #dc3545;
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-header {
    background: rgba(220, 53, 69, 0.2);
    border-bottom-color: rgba(220, 53, 69, 0.3);
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-title {
    color: #fff;
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-item {
    border-bottom-color: #444;
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-item:hover {
    background: rgba(255, 255, 255, 0.05);
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-item.so-active {
    background: rgba(220, 53, 69, 0.15);
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-item.so-error-reporter-more {
    background-color: #333;
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-item.so-error-reporter-more:hover {
    background-color: #333;
  }
  [data-theme=system] .so-error-reporter .so-error-message {
    color: #eee;
  }
  [data-theme=system] .so-error-reporter .so-error-field {
    color: rgb(227.5316455696, 96.4683544304, 109.0253164557);
  }
  [data-theme=system] .so-error-reporter .so-error-message-list li {
    color: #eee;
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-position-label {
    color: #aaa;
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-toggle {
    background: rgba(220, 53, 69, 0.9);
    border-color: rgba(220, 53, 69, 0.9);
    color: #fff;
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-toggle:hover {
    background: #dc3545;
    border-color: #dc3545;
  }
  [data-theme=system] .so-error-reporter .so-error-reporter-count {
    background: #fff;
    color: #dc3545;
    border: 2px solid #2d2d2d;
  }
  [data-theme=system] .so-error-reporter.so-collapsed .so-error-reporter-content {
    background: transparent;
    border-color: transparent;
  }
  [data-theme=system] .so-error-reporter.so-collapsed .so-error-reporter-header {
    background: transparent;
    border-color: transparent;
  }
  [data-theme=system] .so-error-reporter-bottom-right .so-error-reporter-header,
  [data-theme=system] .so-error-reporter-bottom-left .so-error-reporter-header {
    border-top-color: rgba(220, 53, 69, 0.3);
  }
}

:root {
  --so-gutter-x: 1.5rem;
  --so-gutter-y: 0;
}

.so-container-xxl, .so-container-xl, .so-container-lg, .so-container-md, .so-container-sm, .so-container, .so-container-fluid {
  width: 100%;
  padding-right: var(--so-gutter-x, 0.75rem);
  padding-left: var(--so-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .so-container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .so-container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .so-container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .so-container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .so-container {
    max-width: 1320px;
  }
}

@media (min-width: 576px) {
  .so-container-sm {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .so-container-md {
    max-width: 720px;
  }
  .so-container-sm {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .so-container-lg {
    max-width: 960px;
  }
  .so-container-sm {
    max-width: 960px;
  }
  .so-container-md {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .so-container-xl {
    max-width: 1140px;
  }
  .so-container-sm {
    max-width: 1140px;
  }
  .so-container-md {
    max-width: 1140px;
  }
  .so-container-lg {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .so-container-xxl {
    max-width: 1320px;
  }
  .so-container-sm {
    max-width: 1320px;
  }
  .so-container-md {
    max-width: 1320px;
  }
  .so-container-lg {
    max-width: 1320px;
  }
  .so-container-xl {
    max-width: 1320px;
  }
}
.so-row {
  --so-gutter-x: 1.5rem;
  --so-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--so-gutter-y));
  margin-right: calc(-0.5 * var(--so-gutter-x));
  margin-left: calc(-0.5 * var(--so-gutter-x));
}
.so-row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--so-gutter-x) * 0.5);
  padding-left: calc(var(--so-gutter-x) * 0.5);
  margin-top: var(--so-gutter-y);
}

.so-col {
  flex: 1 0 0%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.so-offset-0 {
  margin-left: 0;
}

.so-offset-1 {
  margin-left: 8.3333333333%;
}

.so-offset-2 {
  margin-left: 16.6666666667%;
}

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

.so-offset-4 {
  margin-left: 33.3333333333%;
}

.so-offset-5 {
  margin-left: 41.6666666667%;
}

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

.so-offset-7 {
  margin-left: 58.3333333333%;
}

.so-offset-8 {
  margin-left: 66.6666666667%;
}

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

.so-offset-10 {
  margin-left: 83.3333333333%;
}

.so-offset-11 {
  margin-left: 91.6666666667%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .so-col-sm {
    flex: 1 0 0%;
  }
  .so-col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .so-col-sm-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .so-col-sm-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-col-sm-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-col-sm-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .so-col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-col-sm-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .so-col-sm-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .so-col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .so-col-sm-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .so-col-sm-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .so-col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-offset-sm-0 {
    margin-left: 0;
  }
  .so-offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .so-offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .so-offset-sm-3 {
    margin-left: 25%;
  }
  .so-offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .so-offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .so-offset-sm-6 {
    margin-left: 50%;
  }
  .so-offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .so-offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .so-offset-sm-9 {
    margin-left: 75%;
  }
  .so-offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .so-offset-sm-11 {
    margin-left: 91.6666666667%;
  }
  .so-row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .so-row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .so-g-sm-0,
  .so-gx-sm-0 {
    --so-gutter-x: 0;
  }
  .so-g-sm-0,
  .so-gy-sm-0 {
    --so-gutter-y: 0;
  }
  .so-g-sm-1,
  .so-gx-sm-1 {
    --so-gutter-x: 0.25rem;
  }
  .so-g-sm-1,
  .so-gy-sm-1 {
    --so-gutter-y: 0.25rem;
  }
  .so-g-sm-2,
  .so-gx-sm-2 {
    --so-gutter-x: 0.5rem;
  }
  .so-g-sm-2,
  .so-gy-sm-2 {
    --so-gutter-y: 0.5rem;
  }
  .so-g-sm-3,
  .so-gx-sm-3 {
    --so-gutter-x: 1rem;
  }
  .so-g-sm-3,
  .so-gy-sm-3 {
    --so-gutter-y: 1rem;
  }
  .so-g-sm-4,
  .so-gx-sm-4 {
    --so-gutter-x: 1.5rem;
  }
  .so-g-sm-4,
  .so-gy-sm-4 {
    --so-gutter-y: 1.5rem;
  }
  .so-g-sm-5,
  .so-gx-sm-5 {
    --so-gutter-x: 3rem;
  }
  .so-g-sm-5,
  .so-gy-sm-5 {
    --so-gutter-y: 3rem;
  }
  .so-order-sm-0 {
    order: 0 !important;
  }
  .so-order-sm-1 {
    order: 1 !important;
  }
  .so-order-sm-2 {
    order: 2 !important;
  }
  .so-order-sm-3 {
    order: 3 !important;
  }
  .so-order-sm-4 {
    order: 4 !important;
  }
  .so-order-sm-5 {
    order: 5 !important;
  }
  .so-order-sm-first {
    order: -1 !important;
  }
  .so-order-sm-last {
    order: 6 !important;
  }
}
@media (min-width: 768px) {
  .so-col-md {
    flex: 1 0 0%;
  }
  .so-col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .so-col-md-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .so-col-md-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-col-md-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-col-md-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .so-col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-col-md-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .so-col-md-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .so-col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .so-col-md-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .so-col-md-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .so-col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-offset-md-0 {
    margin-left: 0;
  }
  .so-offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .so-offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .so-offset-md-3 {
    margin-left: 25%;
  }
  .so-offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .so-offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .so-offset-md-6 {
    margin-left: 50%;
  }
  .so-offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .so-offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .so-offset-md-9 {
    margin-left: 75%;
  }
  .so-offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .so-offset-md-11 {
    margin-left: 91.6666666667%;
  }
  .so-row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .so-row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .so-g-md-0,
  .so-gx-md-0 {
    --so-gutter-x: 0;
  }
  .so-g-md-0,
  .so-gy-md-0 {
    --so-gutter-y: 0;
  }
  .so-g-md-1,
  .so-gx-md-1 {
    --so-gutter-x: 0.25rem;
  }
  .so-g-md-1,
  .so-gy-md-1 {
    --so-gutter-y: 0.25rem;
  }
  .so-g-md-2,
  .so-gx-md-2 {
    --so-gutter-x: 0.5rem;
  }
  .so-g-md-2,
  .so-gy-md-2 {
    --so-gutter-y: 0.5rem;
  }
  .so-g-md-3,
  .so-gx-md-3 {
    --so-gutter-x: 1rem;
  }
  .so-g-md-3,
  .so-gy-md-3 {
    --so-gutter-y: 1rem;
  }
  .so-g-md-4,
  .so-gx-md-4 {
    --so-gutter-x: 1.5rem;
  }
  .so-g-md-4,
  .so-gy-md-4 {
    --so-gutter-y: 1.5rem;
  }
  .so-g-md-5,
  .so-gx-md-5 {
    --so-gutter-x: 3rem;
  }
  .so-g-md-5,
  .so-gy-md-5 {
    --so-gutter-y: 3rem;
  }
  .so-order-md-0 {
    order: 0 !important;
  }
  .so-order-md-1 {
    order: 1 !important;
  }
  .so-order-md-2 {
    order: 2 !important;
  }
  .so-order-md-3 {
    order: 3 !important;
  }
  .so-order-md-4 {
    order: 4 !important;
  }
  .so-order-md-5 {
    order: 5 !important;
  }
  .so-order-md-first {
    order: -1 !important;
  }
  .so-order-md-last {
    order: 6 !important;
  }
}
@media (min-width: 992px) {
  .so-col-lg {
    flex: 1 0 0%;
  }
  .so-col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .so-col-lg-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .so-col-lg-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-col-lg-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-col-lg-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .so-col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-col-lg-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .so-col-lg-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .so-col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .so-col-lg-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .so-col-lg-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .so-col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-offset-lg-0 {
    margin-left: 0;
  }
  .so-offset-lg-1 {
    margin-left: 8.3333333333%;
  }
  .so-offset-lg-2 {
    margin-left: 16.6666666667%;
  }
  .so-offset-lg-3 {
    margin-left: 25%;
  }
  .so-offset-lg-4 {
    margin-left: 33.3333333333%;
  }
  .so-offset-lg-5 {
    margin-left: 41.6666666667%;
  }
  .so-offset-lg-6 {
    margin-left: 50%;
  }
  .so-offset-lg-7 {
    margin-left: 58.3333333333%;
  }
  .so-offset-lg-8 {
    margin-left: 66.6666666667%;
  }
  .so-offset-lg-9 {
    margin-left: 75%;
  }
  .so-offset-lg-10 {
    margin-left: 83.3333333333%;
  }
  .so-offset-lg-11 {
    margin-left: 91.6666666667%;
  }
  .so-row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .so-row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .so-g-lg-0,
  .so-gx-lg-0 {
    --so-gutter-x: 0;
  }
  .so-g-lg-0,
  .so-gy-lg-0 {
    --so-gutter-y: 0;
  }
  .so-g-lg-1,
  .so-gx-lg-1 {
    --so-gutter-x: 0.25rem;
  }
  .so-g-lg-1,
  .so-gy-lg-1 {
    --so-gutter-y: 0.25rem;
  }
  .so-g-lg-2,
  .so-gx-lg-2 {
    --so-gutter-x: 0.5rem;
  }
  .so-g-lg-2,
  .so-gy-lg-2 {
    --so-gutter-y: 0.5rem;
  }
  .so-g-lg-3,
  .so-gx-lg-3 {
    --so-gutter-x: 1rem;
  }
  .so-g-lg-3,
  .so-gy-lg-3 {
    --so-gutter-y: 1rem;
  }
  .so-g-lg-4,
  .so-gx-lg-4 {
    --so-gutter-x: 1.5rem;
  }
  .so-g-lg-4,
  .so-gy-lg-4 {
    --so-gutter-y: 1.5rem;
  }
  .so-g-lg-5,
  .so-gx-lg-5 {
    --so-gutter-x: 3rem;
  }
  .so-g-lg-5,
  .so-gy-lg-5 {
    --so-gutter-y: 3rem;
  }
  .so-order-lg-0 {
    order: 0 !important;
  }
  .so-order-lg-1 {
    order: 1 !important;
  }
  .so-order-lg-2 {
    order: 2 !important;
  }
  .so-order-lg-3 {
    order: 3 !important;
  }
  .so-order-lg-4 {
    order: 4 !important;
  }
  .so-order-lg-5 {
    order: 5 !important;
  }
  .so-order-lg-first {
    order: -1 !important;
  }
  .so-order-lg-last {
    order: 6 !important;
  }
}
@media (min-width: 1200px) {
  .so-col-xl {
    flex: 1 0 0%;
  }
  .so-col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .so-col-xl-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .so-col-xl-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-col-xl-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-col-xl-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .so-col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-col-xl-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .so-col-xl-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .so-col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .so-col-xl-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .so-col-xl-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .so-col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-offset-xl-0 {
    margin-left: 0;
  }
  .so-offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .so-offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .so-offset-xl-3 {
    margin-left: 25%;
  }
  .so-offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .so-offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .so-offset-xl-6 {
    margin-left: 50%;
  }
  .so-offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .so-offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .so-offset-xl-9 {
    margin-left: 75%;
  }
  .so-offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .so-offset-xl-11 {
    margin-left: 91.6666666667%;
  }
  .so-row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .so-row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .so-g-xl-0,
  .so-gx-xl-0 {
    --so-gutter-x: 0;
  }
  .so-g-xl-0,
  .so-gy-xl-0 {
    --so-gutter-y: 0;
  }
  .so-g-xl-1,
  .so-gx-xl-1 {
    --so-gutter-x: 0.25rem;
  }
  .so-g-xl-1,
  .so-gy-xl-1 {
    --so-gutter-y: 0.25rem;
  }
  .so-g-xl-2,
  .so-gx-xl-2 {
    --so-gutter-x: 0.5rem;
  }
  .so-g-xl-2,
  .so-gy-xl-2 {
    --so-gutter-y: 0.5rem;
  }
  .so-g-xl-3,
  .so-gx-xl-3 {
    --so-gutter-x: 1rem;
  }
  .so-g-xl-3,
  .so-gy-xl-3 {
    --so-gutter-y: 1rem;
  }
  .so-g-xl-4,
  .so-gx-xl-4 {
    --so-gutter-x: 1.5rem;
  }
  .so-g-xl-4,
  .so-gy-xl-4 {
    --so-gutter-y: 1.5rem;
  }
  .so-g-xl-5,
  .so-gx-xl-5 {
    --so-gutter-x: 3rem;
  }
  .so-g-xl-5,
  .so-gy-xl-5 {
    --so-gutter-y: 3rem;
  }
  .so-order-xl-0 {
    order: 0 !important;
  }
  .so-order-xl-1 {
    order: 1 !important;
  }
  .so-order-xl-2 {
    order: 2 !important;
  }
  .so-order-xl-3 {
    order: 3 !important;
  }
  .so-order-xl-4 {
    order: 4 !important;
  }
  .so-order-xl-5 {
    order: 5 !important;
  }
  .so-order-xl-first {
    order: -1 !important;
  }
  .so-order-xl-last {
    order: 6 !important;
  }
}
@media (min-width: 1400px) {
  .so-col-xxl {
    flex: 1 0 0%;
  }
  .so-col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .so-col-xxl-1 {
    flex: 0 0 auto;
    width: 8.3333333333%;
  }
  .so-col-xxl-2 {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-col-xxl-4 {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-col-xxl-5 {
    flex: 0 0 auto;
    width: 41.6666666667%;
  }
  .so-col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-col-xxl-7 {
    flex: 0 0 auto;
    width: 58.3333333333%;
  }
  .so-col-xxl-8 {
    flex: 0 0 auto;
    width: 66.6666666667%;
  }
  .so-col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .so-col-xxl-10 {
    flex: 0 0 auto;
    width: 83.3333333333%;
  }
  .so-col-xxl-11 {
    flex: 0 0 auto;
    width: 91.6666666667%;
  }
  .so-col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-offset-xxl-0 {
    margin-left: 0;
  }
  .so-offset-xxl-1 {
    margin-left: 8.3333333333%;
  }
  .so-offset-xxl-2 {
    margin-left: 16.6666666667%;
  }
  .so-offset-xxl-3 {
    margin-left: 25%;
  }
  .so-offset-xxl-4 {
    margin-left: 33.3333333333%;
  }
  .so-offset-xxl-5 {
    margin-left: 41.6666666667%;
  }
  .so-offset-xxl-6 {
    margin-left: 50%;
  }
  .so-offset-xxl-7 {
    margin-left: 58.3333333333%;
  }
  .so-offset-xxl-8 {
    margin-left: 66.6666666667%;
  }
  .so-offset-xxl-9 {
    margin-left: 75%;
  }
  .so-offset-xxl-10 {
    margin-left: 83.3333333333%;
  }
  .so-offset-xxl-11 {
    margin-left: 91.6666666667%;
  }
  .so-row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .so-row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .so-row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.3333333333%;
  }
  .so-row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .so-row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .so-row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.6666666667%;
  }
  .so-row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .so-g-xxl-0,
  .so-gx-xxl-0 {
    --so-gutter-x: 0;
  }
  .so-g-xxl-0,
  .so-gy-xxl-0 {
    --so-gutter-y: 0;
  }
  .so-g-xxl-1,
  .so-gx-xxl-1 {
    --so-gutter-x: 0.25rem;
  }
  .so-g-xxl-1,
  .so-gy-xxl-1 {
    --so-gutter-y: 0.25rem;
  }
  .so-g-xxl-2,
  .so-gx-xxl-2 {
    --so-gutter-x: 0.5rem;
  }
  .so-g-xxl-2,
  .so-gy-xxl-2 {
    --so-gutter-y: 0.5rem;
  }
  .so-g-xxl-3,
  .so-gx-xxl-3 {
    --so-gutter-x: 1rem;
  }
  .so-g-xxl-3,
  .so-gy-xxl-3 {
    --so-gutter-y: 1rem;
  }
  .so-g-xxl-4,
  .so-gx-xxl-4 {
    --so-gutter-x: 1.5rem;
  }
  .so-g-xxl-4,
  .so-gy-xxl-4 {
    --so-gutter-y: 1.5rem;
  }
  .so-g-xxl-5,
  .so-gx-xxl-5 {
    --so-gutter-x: 3rem;
  }
  .so-g-xxl-5,
  .so-gy-xxl-5 {
    --so-gutter-y: 3rem;
  }
  .so-order-xxl-0 {
    order: 0 !important;
  }
  .so-order-xxl-1 {
    order: 1 !important;
  }
  .so-order-xxl-2 {
    order: 2 !important;
  }
  .so-order-xxl-3 {
    order: 3 !important;
  }
  .so-order-xxl-4 {
    order: 4 !important;
  }
  .so-order-xxl-5 {
    order: 5 !important;
  }
  .so-order-xxl-first {
    order: -1 !important;
  }
  .so-order-xxl-last {
    order: 6 !important;
  }
}
.so-row.so-align-items-start {
  align-items: flex-start !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.so-row.so-no-gutters,
.so-row.so-g-0 {
  --so-gutter-x: 0;
  --so-gutter-y: 0;
  margin-right: 0;
  margin-left: 0;
}
.so-row.so-no-gutters > *,
.so-row.so-g-0 > * {
  padding-right: 0;
  padding-left: 0;
}

.so-row.so-row-responsive-gap {
  --so-gutter-x: 0.75rem;
  --so-gutter-y: 0.75rem;
}
@media (min-width: 576px) {
  .so-row.so-row-responsive-gap {
    --so-gutter-x: 1rem;
    --so-gutter-y: 1rem;
  }
}
@media (min-width: 768px) {
  .so-row.so-row-responsive-gap {
    --so-gutter-x: 1.25rem;
    --so-gutter-y: 1.25rem;
  }
}
@media (min-width: 992px) {
  .so-row.so-row-responsive-gap {
    --so-gutter-x: 1.5rem;
    --so-gutter-y: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .so-row.so-row-responsive-gap {
    --so-gutter-x: 2rem;
    --so-gutter-y: 2rem;
  }
}

.so-grid {
  display: grid;
  gap: var(--so-grid-gap, 1.5rem);
}

.so-grid-auto {
  display: grid;
  gap: var(--so-grid-gap, 1.5rem);
}

.so-grid-auto-fit {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--so-grid-min-col, 250px), 1fr));
  gap: var(--so-grid-gap, 1.5rem);
}

.so-grid-auto-fill {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--so-grid-min-col, 250px), 1fr));
  gap: var(--so-grid-gap, 1.5rem);
}

.so-col-span-1 {
  grid-column: span 1;
}

.so-col-span-2 {
  grid-column: span 2;
}

.so-col-span-3 {
  grid-column: span 3;
}

.so-col-span-4 {
  grid-column: span 4;
}

.so-col-span-5 {
  grid-column: span 5;
}

.so-col-span-6 {
  grid-column: span 6;
}

.so-col-span-7 {
  grid-column: span 7;
}

.so-col-span-8 {
  grid-column: span 8;
}

.so-col-span-9 {
  grid-column: span 9;
}

.so-col-span-10 {
  grid-column: span 10;
}

.so-col-span-11 {
  grid-column: span 11;
}

.so-col-span-12 {
  grid-column: span 12;
}

.so-col-span-full {
  grid-column: 1/-1;
}

.so-col-span-auto {
  grid-column: auto;
}

.so-row-span-1 {
  grid-row: span 1;
}

.so-row-span-2 {
  grid-row: span 2;
}

.so-row-span-3 {
  grid-row: span 3;
}

.so-row-span-4 {
  grid-row: span 4;
}

.so-row-span-5 {
  grid-row: span 5;
}

.so-row-span-6 {
  grid-row: span 6;
}

.so-row-span-full {
  grid-row: 1/-1;
}

.so-col-start-1 {
  grid-column-start: 1;
}

.so-col-end-1 {
  grid-column-end: 1;
}

.so-col-start-2 {
  grid-column-start: 2;
}

.so-col-end-2 {
  grid-column-end: 2;
}

.so-col-start-3 {
  grid-column-start: 3;
}

.so-col-end-3 {
  grid-column-end: 3;
}

.so-col-start-4 {
  grid-column-start: 4;
}

.so-col-end-4 {
  grid-column-end: 4;
}

.so-col-start-5 {
  grid-column-start: 5;
}

.so-col-end-5 {
  grid-column-end: 5;
}

.so-col-start-6 {
  grid-column-start: 6;
}

.so-col-end-6 {
  grid-column-end: 6;
}

.so-col-start-7 {
  grid-column-start: 7;
}

.so-col-end-7 {
  grid-column-end: 7;
}

.so-col-start-8 {
  grid-column-start: 8;
}

.so-col-end-8 {
  grid-column-end: 8;
}

.so-col-start-9 {
  grid-column-start: 9;
}

.so-col-end-9 {
  grid-column-end: 9;
}

.so-col-start-10 {
  grid-column-start: 10;
}

.so-col-end-10 {
  grid-column-end: 10;
}

.so-col-start-11 {
  grid-column-start: 11;
}

.so-col-end-11 {
  grid-column-end: 11;
}

.so-col-start-12 {
  grid-column-start: 12;
}

.so-col-end-12 {
  grid-column-end: 12;
}

.so-col-start-13 {
  grid-column-start: 13;
}

.so-col-end-13 {
  grid-column-end: 13;
}

.so-col-start-auto {
  grid-column-start: auto;
}

.so-col-end-auto {
  grid-column-end: auto;
}

.so-row-start-1 {
  grid-row-start: 1;
}

.so-row-end-1 {
  grid-row-end: 1;
}

.so-row-start-2 {
  grid-row-start: 2;
}

.so-row-end-2 {
  grid-row-end: 2;
}

.so-row-start-3 {
  grid-row-start: 3;
}

.so-row-end-3 {
  grid-row-end: 3;
}

.so-row-start-4 {
  grid-row-start: 4;
}

.so-row-end-4 {
  grid-row-end: 4;
}

.so-row-start-5 {
  grid-row-start: 5;
}

.so-row-end-5 {
  grid-row-end: 5;
}

.so-row-start-6 {
  grid-row-start: 6;
}

.so-row-end-6 {
  grid-row-end: 6;
}

.so-row-start-7 {
  grid-row-start: 7;
}

.so-row-end-7 {
  grid-row-end: 7;
}

.so-row-start-auto {
  grid-row-start: auto;
}

.so-row-end-auto {
  grid-row-end: auto;
}

@media (min-width: 576px) {
  .so-col-span-sm-1 {
    grid-column: span 1;
  }
  .so-col-span-sm-2 {
    grid-column: span 2;
  }
  .so-col-span-sm-3 {
    grid-column: span 3;
  }
  .so-col-span-sm-4 {
    grid-column: span 4;
  }
  .so-col-span-sm-5 {
    grid-column: span 5;
  }
  .so-col-span-sm-6 {
    grid-column: span 6;
  }
  .so-col-span-sm-7 {
    grid-column: span 7;
  }
  .so-col-span-sm-8 {
    grid-column: span 8;
  }
  .so-col-span-sm-9 {
    grid-column: span 9;
  }
  .so-col-span-sm-10 {
    grid-column: span 10;
  }
  .so-col-span-sm-11 {
    grid-column: span 11;
  }
  .so-col-span-sm-12 {
    grid-column: span 12;
  }
  .so-col-span-sm-full {
    grid-column: 1/-1;
  }
  .so-col-span-sm-auto {
    grid-column: auto;
  }
  .so-row-span-sm-1 {
    grid-row: span 1;
  }
  .so-row-span-sm-2 {
    grid-row: span 2;
  }
  .so-row-span-sm-3 {
    grid-row: span 3;
  }
  .so-row-span-sm-4 {
    grid-row: span 4;
  }
  .so-row-span-sm-5 {
    grid-row: span 5;
  }
  .so-row-span-sm-6 {
    grid-row: span 6;
  }
  .so-row-span-sm-full {
    grid-row: 1/-1;
  }
  .so-col-start-sm-1 {
    grid-column-start: 1;
  }
  .so-col-end-sm-1 {
    grid-column-end: 1;
  }
  .so-col-start-sm-2 {
    grid-column-start: 2;
  }
  .so-col-end-sm-2 {
    grid-column-end: 2;
  }
  .so-col-start-sm-3 {
    grid-column-start: 3;
  }
  .so-col-end-sm-3 {
    grid-column-end: 3;
  }
  .so-col-start-sm-4 {
    grid-column-start: 4;
  }
  .so-col-end-sm-4 {
    grid-column-end: 4;
  }
  .so-col-start-sm-5 {
    grid-column-start: 5;
  }
  .so-col-end-sm-5 {
    grid-column-end: 5;
  }
  .so-col-start-sm-6 {
    grid-column-start: 6;
  }
  .so-col-end-sm-6 {
    grid-column-end: 6;
  }
  .so-col-start-sm-7 {
    grid-column-start: 7;
  }
  .so-col-end-sm-7 {
    grid-column-end: 7;
  }
  .so-col-start-sm-8 {
    grid-column-start: 8;
  }
  .so-col-end-sm-8 {
    grid-column-end: 8;
  }
  .so-col-start-sm-9 {
    grid-column-start: 9;
  }
  .so-col-end-sm-9 {
    grid-column-end: 9;
  }
  .so-col-start-sm-10 {
    grid-column-start: 10;
  }
  .so-col-end-sm-10 {
    grid-column-end: 10;
  }
  .so-col-start-sm-11 {
    grid-column-start: 11;
  }
  .so-col-end-sm-11 {
    grid-column-end: 11;
  }
  .so-col-start-sm-12 {
    grid-column-start: 12;
  }
  .so-col-end-sm-12 {
    grid-column-end: 12;
  }
  .so-col-start-sm-13 {
    grid-column-start: 13;
  }
  .so-col-end-sm-13 {
    grid-column-end: 13;
  }
  .so-col-start-sm-auto {
    grid-column-start: auto;
  }
  .so-col-end-sm-auto {
    grid-column-end: auto;
  }
  .so-row-start-sm-1 {
    grid-row-start: 1;
  }
  .so-row-end-sm-1 {
    grid-row-end: 1;
  }
  .so-row-start-sm-2 {
    grid-row-start: 2;
  }
  .so-row-end-sm-2 {
    grid-row-end: 2;
  }
  .so-row-start-sm-3 {
    grid-row-start: 3;
  }
  .so-row-end-sm-3 {
    grid-row-end: 3;
  }
  .so-row-start-sm-4 {
    grid-row-start: 4;
  }
  .so-row-end-sm-4 {
    grid-row-end: 4;
  }
  .so-row-start-sm-5 {
    grid-row-start: 5;
  }
  .so-row-end-sm-5 {
    grid-row-end: 5;
  }
  .so-row-start-sm-6 {
    grid-row-start: 6;
  }
  .so-row-end-sm-6 {
    grid-row-end: 6;
  }
  .so-row-start-sm-7 {
    grid-row-start: 7;
  }
  .so-row-end-sm-7 {
    grid-row-end: 7;
  }
  .so-row-start-sm-auto {
    grid-row-start: auto;
  }
  .so-row-end-sm-auto {
    grid-row-end: auto;
  }
}
@media (min-width: 768px) {
  .so-col-span-md-1 {
    grid-column: span 1;
  }
  .so-col-span-md-2 {
    grid-column: span 2;
  }
  .so-col-span-md-3 {
    grid-column: span 3;
  }
  .so-col-span-md-4 {
    grid-column: span 4;
  }
  .so-col-span-md-5 {
    grid-column: span 5;
  }
  .so-col-span-md-6 {
    grid-column: span 6;
  }
  .so-col-span-md-7 {
    grid-column: span 7;
  }
  .so-col-span-md-8 {
    grid-column: span 8;
  }
  .so-col-span-md-9 {
    grid-column: span 9;
  }
  .so-col-span-md-10 {
    grid-column: span 10;
  }
  .so-col-span-md-11 {
    grid-column: span 11;
  }
  .so-col-span-md-12 {
    grid-column: span 12;
  }
  .so-col-span-md-full {
    grid-column: 1/-1;
  }
  .so-col-span-md-auto {
    grid-column: auto;
  }
  .so-row-span-md-1 {
    grid-row: span 1;
  }
  .so-row-span-md-2 {
    grid-row: span 2;
  }
  .so-row-span-md-3 {
    grid-row: span 3;
  }
  .so-row-span-md-4 {
    grid-row: span 4;
  }
  .so-row-span-md-5 {
    grid-row: span 5;
  }
  .so-row-span-md-6 {
    grid-row: span 6;
  }
  .so-row-span-md-full {
    grid-row: 1/-1;
  }
  .so-col-start-md-1 {
    grid-column-start: 1;
  }
  .so-col-end-md-1 {
    grid-column-end: 1;
  }
  .so-col-start-md-2 {
    grid-column-start: 2;
  }
  .so-col-end-md-2 {
    grid-column-end: 2;
  }
  .so-col-start-md-3 {
    grid-column-start: 3;
  }
  .so-col-end-md-3 {
    grid-column-end: 3;
  }
  .so-col-start-md-4 {
    grid-column-start: 4;
  }
  .so-col-end-md-4 {
    grid-column-end: 4;
  }
  .so-col-start-md-5 {
    grid-column-start: 5;
  }
  .so-col-end-md-5 {
    grid-column-end: 5;
  }
  .so-col-start-md-6 {
    grid-column-start: 6;
  }
  .so-col-end-md-6 {
    grid-column-end: 6;
  }
  .so-col-start-md-7 {
    grid-column-start: 7;
  }
  .so-col-end-md-7 {
    grid-column-end: 7;
  }
  .so-col-start-md-8 {
    grid-column-start: 8;
  }
  .so-col-end-md-8 {
    grid-column-end: 8;
  }
  .so-col-start-md-9 {
    grid-column-start: 9;
  }
  .so-col-end-md-9 {
    grid-column-end: 9;
  }
  .so-col-start-md-10 {
    grid-column-start: 10;
  }
  .so-col-end-md-10 {
    grid-column-end: 10;
  }
  .so-col-start-md-11 {
    grid-column-start: 11;
  }
  .so-col-end-md-11 {
    grid-column-end: 11;
  }
  .so-col-start-md-12 {
    grid-column-start: 12;
  }
  .so-col-end-md-12 {
    grid-column-end: 12;
  }
  .so-col-start-md-13 {
    grid-column-start: 13;
  }
  .so-col-end-md-13 {
    grid-column-end: 13;
  }
  .so-col-start-md-auto {
    grid-column-start: auto;
  }
  .so-col-end-md-auto {
    grid-column-end: auto;
  }
  .so-row-start-md-1 {
    grid-row-start: 1;
  }
  .so-row-end-md-1 {
    grid-row-end: 1;
  }
  .so-row-start-md-2 {
    grid-row-start: 2;
  }
  .so-row-end-md-2 {
    grid-row-end: 2;
  }
  .so-row-start-md-3 {
    grid-row-start: 3;
  }
  .so-row-end-md-3 {
    grid-row-end: 3;
  }
  .so-row-start-md-4 {
    grid-row-start: 4;
  }
  .so-row-end-md-4 {
    grid-row-end: 4;
  }
  .so-row-start-md-5 {
    grid-row-start: 5;
  }
  .so-row-end-md-5 {
    grid-row-end: 5;
  }
  .so-row-start-md-6 {
    grid-row-start: 6;
  }
  .so-row-end-md-6 {
    grid-row-end: 6;
  }
  .so-row-start-md-7 {
    grid-row-start: 7;
  }
  .so-row-end-md-7 {
    grid-row-end: 7;
  }
  .so-row-start-md-auto {
    grid-row-start: auto;
  }
  .so-row-end-md-auto {
    grid-row-end: auto;
  }
}
@media (min-width: 992px) {
  .so-col-span-lg-1 {
    grid-column: span 1;
  }
  .so-col-span-lg-2 {
    grid-column: span 2;
  }
  .so-col-span-lg-3 {
    grid-column: span 3;
  }
  .so-col-span-lg-4 {
    grid-column: span 4;
  }
  .so-col-span-lg-5 {
    grid-column: span 5;
  }
  .so-col-span-lg-6 {
    grid-column: span 6;
  }
  .so-col-span-lg-7 {
    grid-column: span 7;
  }
  .so-col-span-lg-8 {
    grid-column: span 8;
  }
  .so-col-span-lg-9 {
    grid-column: span 9;
  }
  .so-col-span-lg-10 {
    grid-column: span 10;
  }
  .so-col-span-lg-11 {
    grid-column: span 11;
  }
  .so-col-span-lg-12 {
    grid-column: span 12;
  }
  .so-col-span-lg-full {
    grid-column: 1/-1;
  }
  .so-col-span-lg-auto {
    grid-column: auto;
  }
  .so-row-span-lg-1 {
    grid-row: span 1;
  }
  .so-row-span-lg-2 {
    grid-row: span 2;
  }
  .so-row-span-lg-3 {
    grid-row: span 3;
  }
  .so-row-span-lg-4 {
    grid-row: span 4;
  }
  .so-row-span-lg-5 {
    grid-row: span 5;
  }
  .so-row-span-lg-6 {
    grid-row: span 6;
  }
  .so-row-span-lg-full {
    grid-row: 1/-1;
  }
  .so-col-start-lg-1 {
    grid-column-start: 1;
  }
  .so-col-end-lg-1 {
    grid-column-end: 1;
  }
  .so-col-start-lg-2 {
    grid-column-start: 2;
  }
  .so-col-end-lg-2 {
    grid-column-end: 2;
  }
  .so-col-start-lg-3 {
    grid-column-start: 3;
  }
  .so-col-end-lg-3 {
    grid-column-end: 3;
  }
  .so-col-start-lg-4 {
    grid-column-start: 4;
  }
  .so-col-end-lg-4 {
    grid-column-end: 4;
  }
  .so-col-start-lg-5 {
    grid-column-start: 5;
  }
  .so-col-end-lg-5 {
    grid-column-end: 5;
  }
  .so-col-start-lg-6 {
    grid-column-start: 6;
  }
  .so-col-end-lg-6 {
    grid-column-end: 6;
  }
  .so-col-start-lg-7 {
    grid-column-start: 7;
  }
  .so-col-end-lg-7 {
    grid-column-end: 7;
  }
  .so-col-start-lg-8 {
    grid-column-start: 8;
  }
  .so-col-end-lg-8 {
    grid-column-end: 8;
  }
  .so-col-start-lg-9 {
    grid-column-start: 9;
  }
  .so-col-end-lg-9 {
    grid-column-end: 9;
  }
  .so-col-start-lg-10 {
    grid-column-start: 10;
  }
  .so-col-end-lg-10 {
    grid-column-end: 10;
  }
  .so-col-start-lg-11 {
    grid-column-start: 11;
  }
  .so-col-end-lg-11 {
    grid-column-end: 11;
  }
  .so-col-start-lg-12 {
    grid-column-start: 12;
  }
  .so-col-end-lg-12 {
    grid-column-end: 12;
  }
  .so-col-start-lg-13 {
    grid-column-start: 13;
  }
  .so-col-end-lg-13 {
    grid-column-end: 13;
  }
  .so-col-start-lg-auto {
    grid-column-start: auto;
  }
  .so-col-end-lg-auto {
    grid-column-end: auto;
  }
  .so-row-start-lg-1 {
    grid-row-start: 1;
  }
  .so-row-end-lg-1 {
    grid-row-end: 1;
  }
  .so-row-start-lg-2 {
    grid-row-start: 2;
  }
  .so-row-end-lg-2 {
    grid-row-end: 2;
  }
  .so-row-start-lg-3 {
    grid-row-start: 3;
  }
  .so-row-end-lg-3 {
    grid-row-end: 3;
  }
  .so-row-start-lg-4 {
    grid-row-start: 4;
  }
  .so-row-end-lg-4 {
    grid-row-end: 4;
  }
  .so-row-start-lg-5 {
    grid-row-start: 5;
  }
  .so-row-end-lg-5 {
    grid-row-end: 5;
  }
  .so-row-start-lg-6 {
    grid-row-start: 6;
  }
  .so-row-end-lg-6 {
    grid-row-end: 6;
  }
  .so-row-start-lg-7 {
    grid-row-start: 7;
  }
  .so-row-end-lg-7 {
    grid-row-end: 7;
  }
  .so-row-start-lg-auto {
    grid-row-start: auto;
  }
  .so-row-end-lg-auto {
    grid-row-end: auto;
  }
}
@media (min-width: 1200px) {
  .so-col-span-xl-1 {
    grid-column: span 1;
  }
  .so-col-span-xl-2 {
    grid-column: span 2;
  }
  .so-col-span-xl-3 {
    grid-column: span 3;
  }
  .so-col-span-xl-4 {
    grid-column: span 4;
  }
  .so-col-span-xl-5 {
    grid-column: span 5;
  }
  .so-col-span-xl-6 {
    grid-column: span 6;
  }
  .so-col-span-xl-7 {
    grid-column: span 7;
  }
  .so-col-span-xl-8 {
    grid-column: span 8;
  }
  .so-col-span-xl-9 {
    grid-column: span 9;
  }
  .so-col-span-xl-10 {
    grid-column: span 10;
  }
  .so-col-span-xl-11 {
    grid-column: span 11;
  }
  .so-col-span-xl-12 {
    grid-column: span 12;
  }
  .so-col-span-xl-full {
    grid-column: 1/-1;
  }
  .so-col-span-xl-auto {
    grid-column: auto;
  }
  .so-row-span-xl-1 {
    grid-row: span 1;
  }
  .so-row-span-xl-2 {
    grid-row: span 2;
  }
  .so-row-span-xl-3 {
    grid-row: span 3;
  }
  .so-row-span-xl-4 {
    grid-row: span 4;
  }
  .so-row-span-xl-5 {
    grid-row: span 5;
  }
  .so-row-span-xl-6 {
    grid-row: span 6;
  }
  .so-row-span-xl-full {
    grid-row: 1/-1;
  }
  .so-col-start-xl-1 {
    grid-column-start: 1;
  }
  .so-col-end-xl-1 {
    grid-column-end: 1;
  }
  .so-col-start-xl-2 {
    grid-column-start: 2;
  }
  .so-col-end-xl-2 {
    grid-column-end: 2;
  }
  .so-col-start-xl-3 {
    grid-column-start: 3;
  }
  .so-col-end-xl-3 {
    grid-column-end: 3;
  }
  .so-col-start-xl-4 {
    grid-column-start: 4;
  }
  .so-col-end-xl-4 {
    grid-column-end: 4;
  }
  .so-col-start-xl-5 {
    grid-column-start: 5;
  }
  .so-col-end-xl-5 {
    grid-column-end: 5;
  }
  .so-col-start-xl-6 {
    grid-column-start: 6;
  }
  .so-col-end-xl-6 {
    grid-column-end: 6;
  }
  .so-col-start-xl-7 {
    grid-column-start: 7;
  }
  .so-col-end-xl-7 {
    grid-column-end: 7;
  }
  .so-col-start-xl-8 {
    grid-column-start: 8;
  }
  .so-col-end-xl-8 {
    grid-column-end: 8;
  }
  .so-col-start-xl-9 {
    grid-column-start: 9;
  }
  .so-col-end-xl-9 {
    grid-column-end: 9;
  }
  .so-col-start-xl-10 {
    grid-column-start: 10;
  }
  .so-col-end-xl-10 {
    grid-column-end: 10;
  }
  .so-col-start-xl-11 {
    grid-column-start: 11;
  }
  .so-col-end-xl-11 {
    grid-column-end: 11;
  }
  .so-col-start-xl-12 {
    grid-column-start: 12;
  }
  .so-col-end-xl-12 {
    grid-column-end: 12;
  }
  .so-col-start-xl-13 {
    grid-column-start: 13;
  }
  .so-col-end-xl-13 {
    grid-column-end: 13;
  }
  .so-col-start-xl-auto {
    grid-column-start: auto;
  }
  .so-col-end-xl-auto {
    grid-column-end: auto;
  }
  .so-row-start-xl-1 {
    grid-row-start: 1;
  }
  .so-row-end-xl-1 {
    grid-row-end: 1;
  }
  .so-row-start-xl-2 {
    grid-row-start: 2;
  }
  .so-row-end-xl-2 {
    grid-row-end: 2;
  }
  .so-row-start-xl-3 {
    grid-row-start: 3;
  }
  .so-row-end-xl-3 {
    grid-row-end: 3;
  }
  .so-row-start-xl-4 {
    grid-row-start: 4;
  }
  .so-row-end-xl-4 {
    grid-row-end: 4;
  }
  .so-row-start-xl-5 {
    grid-row-start: 5;
  }
  .so-row-end-xl-5 {
    grid-row-end: 5;
  }
  .so-row-start-xl-6 {
    grid-row-start: 6;
  }
  .so-row-end-xl-6 {
    grid-row-end: 6;
  }
  .so-row-start-xl-7 {
    grid-row-start: 7;
  }
  .so-row-end-xl-7 {
    grid-row-end: 7;
  }
  .so-row-start-xl-auto {
    grid-row-start: auto;
  }
  .so-row-end-xl-auto {
    grid-row-end: auto;
  }
}
@media (min-width: 1400px) {
  .so-col-span-xxl-1 {
    grid-column: span 1;
  }
  .so-col-span-xxl-2 {
    grid-column: span 2;
  }
  .so-col-span-xxl-3 {
    grid-column: span 3;
  }
  .so-col-span-xxl-4 {
    grid-column: span 4;
  }
  .so-col-span-xxl-5 {
    grid-column: span 5;
  }
  .so-col-span-xxl-6 {
    grid-column: span 6;
  }
  .so-col-span-xxl-7 {
    grid-column: span 7;
  }
  .so-col-span-xxl-8 {
    grid-column: span 8;
  }
  .so-col-span-xxl-9 {
    grid-column: span 9;
  }
  .so-col-span-xxl-10 {
    grid-column: span 10;
  }
  .so-col-span-xxl-11 {
    grid-column: span 11;
  }
  .so-col-span-xxl-12 {
    grid-column: span 12;
  }
  .so-col-span-xxl-full {
    grid-column: 1/-1;
  }
  .so-col-span-xxl-auto {
    grid-column: auto;
  }
  .so-row-span-xxl-1 {
    grid-row: span 1;
  }
  .so-row-span-xxl-2 {
    grid-row: span 2;
  }
  .so-row-span-xxl-3 {
    grid-row: span 3;
  }
  .so-row-span-xxl-4 {
    grid-row: span 4;
  }
  .so-row-span-xxl-5 {
    grid-row: span 5;
  }
  .so-row-span-xxl-6 {
    grid-row: span 6;
  }
  .so-row-span-xxl-full {
    grid-row: 1/-1;
  }
  .so-col-start-xxl-1 {
    grid-column-start: 1;
  }
  .so-col-end-xxl-1 {
    grid-column-end: 1;
  }
  .so-col-start-xxl-2 {
    grid-column-start: 2;
  }
  .so-col-end-xxl-2 {
    grid-column-end: 2;
  }
  .so-col-start-xxl-3 {
    grid-column-start: 3;
  }
  .so-col-end-xxl-3 {
    grid-column-end: 3;
  }
  .so-col-start-xxl-4 {
    grid-column-start: 4;
  }
  .so-col-end-xxl-4 {
    grid-column-end: 4;
  }
  .so-col-start-xxl-5 {
    grid-column-start: 5;
  }
  .so-col-end-xxl-5 {
    grid-column-end: 5;
  }
  .so-col-start-xxl-6 {
    grid-column-start: 6;
  }
  .so-col-end-xxl-6 {
    grid-column-end: 6;
  }
  .so-col-start-xxl-7 {
    grid-column-start: 7;
  }
  .so-col-end-xxl-7 {
    grid-column-end: 7;
  }
  .so-col-start-xxl-8 {
    grid-column-start: 8;
  }
  .so-col-end-xxl-8 {
    grid-column-end: 8;
  }
  .so-col-start-xxl-9 {
    grid-column-start: 9;
  }
  .so-col-end-xxl-9 {
    grid-column-end: 9;
  }
  .so-col-start-xxl-10 {
    grid-column-start: 10;
  }
  .so-col-end-xxl-10 {
    grid-column-end: 10;
  }
  .so-col-start-xxl-11 {
    grid-column-start: 11;
  }
  .so-col-end-xxl-11 {
    grid-column-end: 11;
  }
  .so-col-start-xxl-12 {
    grid-column-start: 12;
  }
  .so-col-end-xxl-12 {
    grid-column-end: 12;
  }
  .so-col-start-xxl-13 {
    grid-column-start: 13;
  }
  .so-col-end-xxl-13 {
    grid-column-end: 13;
  }
  .so-col-start-xxl-auto {
    grid-column-start: auto;
  }
  .so-col-end-xxl-auto {
    grid-column-end: auto;
  }
  .so-row-start-xxl-1 {
    grid-row-start: 1;
  }
  .so-row-end-xxl-1 {
    grid-row-end: 1;
  }
  .so-row-start-xxl-2 {
    grid-row-start: 2;
  }
  .so-row-end-xxl-2 {
    grid-row-end: 2;
  }
  .so-row-start-xxl-3 {
    grid-row-start: 3;
  }
  .so-row-end-xxl-3 {
    grid-row-end: 3;
  }
  .so-row-start-xxl-4 {
    grid-row-start: 4;
  }
  .so-row-end-xxl-4 {
    grid-row-end: 4;
  }
  .so-row-start-xxl-5 {
    grid-row-start: 5;
  }
  .so-row-end-xxl-5 {
    grid-row-end: 5;
  }
  .so-row-start-xxl-6 {
    grid-row-start: 6;
  }
  .so-row-end-xxl-6 {
    grid-row-end: 6;
  }
  .so-row-start-xxl-7 {
    grid-row-start: 7;
  }
  .so-row-end-xxl-7 {
    grid-row-end: 7;
  }
  .so-row-start-xxl-auto {
    grid-row-start: auto;
  }
  .so-row-end-xxl-auto {
    grid-row-end: auto;
  }
}
.so-grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.so-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.so-grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.so-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.so-grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.so-grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.so-grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.so-grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.so-grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.so-grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.so-grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

.so-grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.so-grid-cols-none {
  grid-template-columns: none;
}

@media (min-width: 576px) {
  .so-grid-cols-sm-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .so-grid-cols-sm-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .so-grid-cols-sm-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .so-grid-cols-sm-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .so-grid-cols-sm-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .so-grid-cols-sm-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .so-grid-cols-sm-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .so-grid-cols-sm-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .so-grid-cols-sm-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .so-grid-cols-sm-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .so-grid-cols-sm-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .so-grid-cols-sm-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .so-grid-cols-sm-none {
    grid-template-columns: none;
  }
}
@media (min-width: 768px) {
  .so-grid-cols-md-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .so-grid-cols-md-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .so-grid-cols-md-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .so-grid-cols-md-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .so-grid-cols-md-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .so-grid-cols-md-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .so-grid-cols-md-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .so-grid-cols-md-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .so-grid-cols-md-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .so-grid-cols-md-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .so-grid-cols-md-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .so-grid-cols-md-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .so-grid-cols-md-none {
    grid-template-columns: none;
  }
}
@media (min-width: 992px) {
  .so-grid-cols-lg-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .so-grid-cols-lg-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .so-grid-cols-lg-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .so-grid-cols-lg-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .so-grid-cols-lg-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .so-grid-cols-lg-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .so-grid-cols-lg-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .so-grid-cols-lg-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .so-grid-cols-lg-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .so-grid-cols-lg-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .so-grid-cols-lg-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .so-grid-cols-lg-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .so-grid-cols-lg-none {
    grid-template-columns: none;
  }
}
@media (min-width: 1200px) {
  .so-grid-cols-xl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .so-grid-cols-xl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .so-grid-cols-xl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .so-grid-cols-xl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .so-grid-cols-xl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .so-grid-cols-xl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .so-grid-cols-xl-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .so-grid-cols-xl-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .so-grid-cols-xl-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .so-grid-cols-xl-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .so-grid-cols-xl-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .so-grid-cols-xl-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .so-grid-cols-xl-none {
    grid-template-columns: none;
  }
}
@media (min-width: 1400px) {
  .so-grid-cols-xxl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .so-grid-cols-xxl-none {
    grid-template-columns: none;
  }
}
.so-grid-rows-1 {
  grid-template-rows: repeat(1, minmax(0, 1fr));
}

.so-grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.so-grid-rows-3 {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.so-grid-rows-4 {
  grid-template-rows: repeat(4, minmax(0, 1fr));
}

.so-grid-rows-5 {
  grid-template-rows: repeat(5, minmax(0, 1fr));
}

.so-grid-rows-6 {
  grid-template-rows: repeat(6, minmax(0, 1fr));
}

.so-grid-rows-none {
  grid-template-rows: none;
}

@media (min-width: 576px) {
  .so-grid-rows-sm-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .so-grid-rows-sm-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .so-grid-rows-sm-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .so-grid-rows-sm-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .so-grid-rows-sm-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .so-grid-rows-sm-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .so-grid-rows-md-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .so-grid-rows-md-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .so-grid-rows-md-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .so-grid-rows-md-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .so-grid-rows-md-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .so-grid-rows-md-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .so-grid-rows-lg-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .so-grid-rows-lg-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .so-grid-rows-lg-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .so-grid-rows-lg-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .so-grid-rows-lg-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .so-grid-rows-lg-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .so-grid-rows-xl-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .so-grid-rows-xl-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .so-grid-rows-xl-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .so-grid-rows-xl-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .so-grid-rows-xl-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .so-grid-rows-xl-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 1400px) {
  .so-grid-rows-xxl-1 {
    grid-template-rows: repeat(1, minmax(0, 1fr));
  }
  .so-grid-rows-xxl-2 {
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }
  .so-grid-rows-xxl-3 {
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }
  .so-grid-rows-xxl-4 {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
  .so-grid-rows-xxl-5 {
    grid-template-rows: repeat(5, minmax(0, 1fr));
  }
  .so-grid-rows-xxl-6 {
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
}
.so-grid-gap-0 {
  gap: 0;
}

.so-grid-gap-x-0 {
  -moz-column-gap: 0;
       column-gap: 0;
}

.so-grid-gap-y-0 {
  row-gap: 0;
}

.so-grid-gap-1 {
  gap: 0.25rem;
}

.so-grid-gap-x-1 {
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}

.so-grid-gap-y-1 {
  row-gap: 0.25rem;
}

.so-grid-gap-2 {
  gap: 0.5rem;
}

.so-grid-gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.so-grid-gap-y-2 {
  row-gap: 0.5rem;
}

.so-grid-gap-3 {
  gap: 1rem;
}

.so-grid-gap-x-3 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.so-grid-gap-y-3 {
  row-gap: 1rem;
}

.so-grid-gap-4 {
  gap: 1.5rem;
}

.so-grid-gap-x-4 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.so-grid-gap-y-4 {
  row-gap: 1.5rem;
}

.so-grid-gap-5 {
  gap: 3rem;
}

.so-grid-gap-x-5 {
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}

.so-grid-gap-y-5 {
  row-gap: 3rem;
}

.so-grid-gap-6 {
  gap: 4rem;
}

.so-grid-gap-x-6 {
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}

.so-grid-gap-y-6 {
  row-gap: 4rem;
}

@media (min-width: 576px) {
  .so-grid-gap-sm-0 {
    gap: 0;
  }
  .so-grid-gap-x-sm-0 {
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .so-grid-gap-y-sm-0 {
    row-gap: 0;
  }
  .so-grid-gap-sm-1 {
    gap: 0.25rem;
  }
  .so-grid-gap-x-sm-1 {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
  .so-grid-gap-y-sm-1 {
    row-gap: 0.25rem;
  }
  .so-grid-gap-sm-2 {
    gap: 0.5rem;
  }
  .so-grid-gap-x-sm-2 {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
  .so-grid-gap-y-sm-2 {
    row-gap: 0.5rem;
  }
  .so-grid-gap-sm-3 {
    gap: 1rem;
  }
  .so-grid-gap-x-sm-3 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .so-grid-gap-y-sm-3 {
    row-gap: 1rem;
  }
  .so-grid-gap-sm-4 {
    gap: 1.5rem;
  }
  .so-grid-gap-x-sm-4 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .so-grid-gap-y-sm-4 {
    row-gap: 1.5rem;
  }
  .so-grid-gap-sm-5 {
    gap: 3rem;
  }
  .so-grid-gap-x-sm-5 {
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .so-grid-gap-y-sm-5 {
    row-gap: 3rem;
  }
  .so-grid-gap-sm-6 {
    gap: 4rem;
  }
  .so-grid-gap-x-sm-6 {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
  .so-grid-gap-y-sm-6 {
    row-gap: 4rem;
  }
}
@media (min-width: 768px) {
  .so-grid-gap-md-0 {
    gap: 0;
  }
  .so-grid-gap-x-md-0 {
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .so-grid-gap-y-md-0 {
    row-gap: 0;
  }
  .so-grid-gap-md-1 {
    gap: 0.25rem;
  }
  .so-grid-gap-x-md-1 {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
  .so-grid-gap-y-md-1 {
    row-gap: 0.25rem;
  }
  .so-grid-gap-md-2 {
    gap: 0.5rem;
  }
  .so-grid-gap-x-md-2 {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
  .so-grid-gap-y-md-2 {
    row-gap: 0.5rem;
  }
  .so-grid-gap-md-3 {
    gap: 1rem;
  }
  .so-grid-gap-x-md-3 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .so-grid-gap-y-md-3 {
    row-gap: 1rem;
  }
  .so-grid-gap-md-4 {
    gap: 1.5rem;
  }
  .so-grid-gap-x-md-4 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .so-grid-gap-y-md-4 {
    row-gap: 1.5rem;
  }
  .so-grid-gap-md-5 {
    gap: 3rem;
  }
  .so-grid-gap-x-md-5 {
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .so-grid-gap-y-md-5 {
    row-gap: 3rem;
  }
  .so-grid-gap-md-6 {
    gap: 4rem;
  }
  .so-grid-gap-x-md-6 {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
  .so-grid-gap-y-md-6 {
    row-gap: 4rem;
  }
}
@media (min-width: 992px) {
  .so-grid-gap-lg-0 {
    gap: 0;
  }
  .so-grid-gap-x-lg-0 {
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .so-grid-gap-y-lg-0 {
    row-gap: 0;
  }
  .so-grid-gap-lg-1 {
    gap: 0.25rem;
  }
  .so-grid-gap-x-lg-1 {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
  .so-grid-gap-y-lg-1 {
    row-gap: 0.25rem;
  }
  .so-grid-gap-lg-2 {
    gap: 0.5rem;
  }
  .so-grid-gap-x-lg-2 {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
  .so-grid-gap-y-lg-2 {
    row-gap: 0.5rem;
  }
  .so-grid-gap-lg-3 {
    gap: 1rem;
  }
  .so-grid-gap-x-lg-3 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .so-grid-gap-y-lg-3 {
    row-gap: 1rem;
  }
  .so-grid-gap-lg-4 {
    gap: 1.5rem;
  }
  .so-grid-gap-x-lg-4 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .so-grid-gap-y-lg-4 {
    row-gap: 1.5rem;
  }
  .so-grid-gap-lg-5 {
    gap: 3rem;
  }
  .so-grid-gap-x-lg-5 {
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .so-grid-gap-y-lg-5 {
    row-gap: 3rem;
  }
  .so-grid-gap-lg-6 {
    gap: 4rem;
  }
  .so-grid-gap-x-lg-6 {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
  .so-grid-gap-y-lg-6 {
    row-gap: 4rem;
  }
}
@media (min-width: 1200px) {
  .so-grid-gap-xl-0 {
    gap: 0;
  }
  .so-grid-gap-x-xl-0 {
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .so-grid-gap-y-xl-0 {
    row-gap: 0;
  }
  .so-grid-gap-xl-1 {
    gap: 0.25rem;
  }
  .so-grid-gap-x-xl-1 {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
  .so-grid-gap-y-xl-1 {
    row-gap: 0.25rem;
  }
  .so-grid-gap-xl-2 {
    gap: 0.5rem;
  }
  .so-grid-gap-x-xl-2 {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
  .so-grid-gap-y-xl-2 {
    row-gap: 0.5rem;
  }
  .so-grid-gap-xl-3 {
    gap: 1rem;
  }
  .so-grid-gap-x-xl-3 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .so-grid-gap-y-xl-3 {
    row-gap: 1rem;
  }
  .so-grid-gap-xl-4 {
    gap: 1.5rem;
  }
  .so-grid-gap-x-xl-4 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .so-grid-gap-y-xl-4 {
    row-gap: 1.5rem;
  }
  .so-grid-gap-xl-5 {
    gap: 3rem;
  }
  .so-grid-gap-x-xl-5 {
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .so-grid-gap-y-xl-5 {
    row-gap: 3rem;
  }
  .so-grid-gap-xl-6 {
    gap: 4rem;
  }
  .so-grid-gap-x-xl-6 {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
  .so-grid-gap-y-xl-6 {
    row-gap: 4rem;
  }
}
@media (min-width: 1400px) {
  .so-grid-gap-xxl-0 {
    gap: 0;
  }
  .so-grid-gap-x-xxl-0 {
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .so-grid-gap-y-xxl-0 {
    row-gap: 0;
  }
  .so-grid-gap-xxl-1 {
    gap: 0.25rem;
  }
  .so-grid-gap-x-xxl-1 {
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
  }
  .so-grid-gap-y-xxl-1 {
    row-gap: 0.25rem;
  }
  .so-grid-gap-xxl-2 {
    gap: 0.5rem;
  }
  .so-grid-gap-x-xxl-2 {
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
  }
  .so-grid-gap-y-xxl-2 {
    row-gap: 0.5rem;
  }
  .so-grid-gap-xxl-3 {
    gap: 1rem;
  }
  .so-grid-gap-x-xxl-3 {
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .so-grid-gap-y-xxl-3 {
    row-gap: 1rem;
  }
  .so-grid-gap-xxl-4 {
    gap: 1.5rem;
  }
  .so-grid-gap-x-xxl-4 {
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .so-grid-gap-y-xxl-4 {
    row-gap: 1.5rem;
  }
  .so-grid-gap-xxl-5 {
    gap: 3rem;
  }
  .so-grid-gap-x-xxl-5 {
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .so-grid-gap-y-xxl-5 {
    row-gap: 3rem;
  }
  .so-grid-gap-xxl-6 {
    gap: 4rem;
  }
  .so-grid-gap-x-xxl-6 {
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
  .so-grid-gap-y-xxl-6 {
    row-gap: 4rem;
  }
}
.so-grid-flow-row {
  grid-auto-flow: row;
}

.so-grid-flow-col {
  grid-auto-flow: column;
}

.so-grid-flow-dense {
  grid-auto-flow: dense;
}

.so-grid-flow-row-dense {
  grid-auto-flow: row dense;
}

.so-grid-flow-col-dense {
  grid-auto-flow: column dense;
}

.so-place-items-start {
  place-items: start;
}

.so-place-content-start {
  place-content: start;
}

.so-place-self-start {
  place-self: start;
}

.so-justify-items-start {
  justify-items: start;
}

.so-place-items-end {
  place-items: end;
}

.so-place-content-end {
  place-content: end;
}

.so-place-self-end {
  place-self: end;
}

.so-justify-items-end {
  justify-items: end;
}

.so-place-items-center {
  place-items: center;
}

.so-place-content-center {
  place-content: center;
}

.so-place-self-center {
  place-self: center;
}

.so-justify-items-center {
  justify-items: center;
}

.so-place-items-stretch {
  place-items: stretch;
}

.so-place-content-stretch {
  place-content: stretch;
}

.so-place-self-stretch {
  place-self: stretch;
}

.so-justify-items-stretch {
  justify-items: stretch;
}

.so-place-content-between {
  place-content: space-between;
}

.so-place-content-around {
  place-content: space-around;
}

.so-place-content-evenly {
  place-content: space-evenly;
}

.so-subgrid {
  display: grid;
  grid-template-columns: subgrid;
}

.so-subgrid-rows {
  display: grid;
  grid-template-rows: subgrid;
}

.so-subgrid-both {
  display: grid;
  grid-template-columns: subgrid;
  grid-template-rows: subgrid;
}

.so-grid-areas {
  grid-template-areas: var(--so-grid-areas);
}

.so-area-auto {
  grid-area: auto;
}

.so-auto-cols-auto {
  grid-auto-columns: auto;
}

.so-auto-cols-min {
  grid-auto-columns: min-content;
}

.so-auto-cols-max {
  grid-auto-columns: max-content;
}

.so-auto-cols-fr {
  grid-auto-columns: minmax(0, 1fr);
}

.so-auto-rows-auto {
  grid-auto-rows: auto;
}

.so-auto-rows-min {
  grid-auto-rows: min-content;
}

.so-auto-rows-max {
  grid-auto-rows: max-content;
}

.so-auto-rows-fr {
  grid-auto-rows: minmax(0, 1fr);
}

.so-grid-responsive-gap {
  --so-grid-gap: 0.75rem;
}
@media (min-width: 576px) {
  .so-grid-responsive-gap {
    --so-grid-gap: 1rem;
  }
}
@media (min-width: 768px) {
  .so-grid-responsive-gap {
    --so-grid-gap: 1.25rem;
  }
}
@media (min-width: 992px) {
  .so-grid-responsive-gap {
    --so-grid-gap: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .so-grid-responsive-gap {
    --so-grid-gap: 2rem;
  }
}

.so-grid-holy-grail {
  display: grid;
  grid-template-areas: "header header header" "nav main aside" "footer footer footer";
  grid-template-columns: 200px 1fr 200px;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
  gap: var(--so-grid-gap, 1rem);
}
@media (max-width: 768px) {
  .so-grid-holy-grail {
    grid-template-areas: "header" "nav" "main" "aside" "footer";
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}

.so-grid-sidebar {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: var(--so-grid-gap, 1.5rem);
}
@media (max-width: 768px) {
  .so-grid-sidebar {
    grid-template-columns: 1fr;
  }
}

.so-grid-sidebar-right {
  display: grid;
  grid-template-columns: 1fr 250px;
  gap: var(--so-grid-gap, 1.5rem);
}
@media (max-width: 768px) {
  .so-grid-sidebar-right {
    grid-template-columns: 1fr;
  }
}

.so-grid-dashboard {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--so-grid-gap, 1.5rem);
}

.so-grid-masonry {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-auto-rows: 10px;
  gap: var(--so-grid-gap, 1rem);
  grid-auto-flow: dense;
}

.so-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--so-sidebar-width);
  background: var(--so-sidebar-bg);
  border-right: 1px solid var(--so-sidebar-border);
  overflow: hidden;
  z-index: 1040;
  display: flex;
  flex-direction: column;
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  will-change: width;
  contain: layout style;
}
.so-sidebar.no-transition, .so-sidebar.no-transition *, .so-sidebar.no-transition .so-sidebar-submenu {
  transition: none !important;
}

html:not(.sidebar-ready) .so-sidebar,
html:not(.sidebar-ready) .so-navbar,
html:not(.sidebar-ready) .so-main-content {
  visibility: hidden;
}

html.sidebar-collapsed .so-sidebar {
  width: var(--so-sidebar-collapsed-width);
}

html.sidebar-collapsed .so-navbar {
  left: var(--so-sidebar-collapsed-width);
}

html.sidebar-collapsed .so-main-content {
  margin-left: var(--so-sidebar-collapsed-width);
}

html.sidebar-collapsed .so-sidebar .so-sidebar-search {
  display: none;
}

html.sidebar-collapsed .so-sidebar .so-sidebar-brand-info,
html.sidebar-collapsed .so-sidebar .so-sidebar-text,
html.sidebar-collapsed .so-sidebar .so-sidebar-arrow,
html.sidebar-collapsed .so-sidebar .so-sidebar-section span,
html.sidebar-collapsed .so-sidebar .so-sidebar-footer-item span:not(.material-symbols-rounded) {
  opacity: 0;
  visibility: hidden;
}

html.sidebar-pinned .so-sidebar {
  width: var(--so-sidebar-width);
}

html.sidebar-pinned .so-navbar {
  left: var(--so-sidebar-width);
}

html.sidebar-pinned .so-main-content {
  margin-left: var(--so-sidebar-width);
}

.so-sidebar-header {
  padding: 8px 16px 8px 6px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  min-height: var(--so-navbar-height);
  min-width: var(--so-sidebar-width);
  border-bottom: 1px solid var(--so-sidebar-border);
  transition: none;
}

.so-sidebar-logo {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  background: var(--so-accent-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 600;
  flex-shrink: 0;
}

.so-sidebar-brand-info {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.so-sidebar-brand-name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--so-text-heading);
  white-space: normal;
  line-height: 1.3;
}

.so-sidebar-brand-subtitle {
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
  white-space: nowrap;
}

.so-sidebar-toggle {
  min-height: auto;
  gap: 0;
  flex-shrink: 0;
  margin-top: 0;
}
.so-sidebar-toggle .so-radio-circle {
  margin-top: 0;
}

.so-sidebar-search {
  padding: 8px 12px;
  border-bottom: 1px solid var(--so-sidebar-border);
  flex-shrink: 0;
  overflow: visible;
}
.so-sidebar-search .so-autocomplete {
  overflow: visible;
}
.so-sidebar-search .so-autocomplete-container {
  min-height: 34px;
  padding: 4px 32px 4px 12px;
  font-size: 0.8125rem;
  background: var(--so-sidebar-item-hover-bg);
  border-color: transparent;
  border-radius: 6px;
}
.so-sidebar-search .so-autocomplete-focused .so-autocomplete-container {
  background: var(--so-card-bg);
  border-color: var(--so-accent-primary);
}

a.so-sidebar-search-option,
.so-sidebar-search-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  text-decoration: none;
  color: inherit;
}

.so-sidebar-search-option-icon {
  font-size: 18px;
  color: var(--so-text-secondary);
  flex-shrink: 0;
}

.so-sidebar-search-option-info {
  flex: 1;
  min-width: 0;
}

.so-sidebar-search-option-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-sidebar-search-option-path {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-sidebar-scroll {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.so-sidebar-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.so-sidebar-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: var(--so-sidebar-width);
}

.so-sidebar-section {
  padding: 10px 12px 4px 12px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--so-text-muted);
  white-space: nowrap;
  overflow: hidden;
  min-height: 28px;
  display: flex;
  align-items: center;
}

.so-sidebar-item {
  margin: 1px 4px;
}

a.so-sidebar-link,
.so-sidebar-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 8px 4px 12px;
  text-decoration: none;
  color: var(--so-menu-item-color);
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  position: relative;
  min-height: 36px;
}
a.so-sidebar-link:hover,
.so-sidebar-link:hover {
  background: var(--so-sidebar-item-hover-bg);
  text-decoration: none;
  color: var(--so-menu-item-color);
}

.so-sidebar-item.current > .so-sidebar-link {
  background: var(--so-sidebar-item-active-bg);
  color: var(--so-sidebar-item-active-color);
  box-shadow: 0 2px 8px rgba(26, 115, 232, 0.3);
}

.so-sidebar-item.active:not(.current) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
  border-radius: 6px;
}
.so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: var(--so-accent-primary);
  border-radius: 2px;
}

.so-sidebar-item.active:not(.current):not(.so-open) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.15);
}
.so-sidebar-item.active:not(.current):not(.so-open) > .so-sidebar-link .so-sidebar-icon::after {
  content: "";
  position: absolute;
  top: 2px;
  right: 0;
  width: 6px;
  height: 6px;
  background: var(--so-accent-primary);
  border-radius: 50%;
}

.so-sidebar-item.active > .so-sidebar-link .so-sidebar-icon,
.so-sidebar-item.current > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-sidebar-item-active-color);
}

.so-sidebar-item.active:not(.current) > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-sidebar-item.current > .so-sidebar-link .so-sidebar-arrow {
  color: var(--so-sidebar-item-active-color);
}

.so-sidebar-item.active:not(.current) > .so-sidebar-link .so-sidebar-arrow {
  color: var(--so-accent-primary);
}

.so-sidebar-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 24px;
  flex-shrink: 0;
  position: relative;
  color: var(--so-sidebar-item-icon-color);
  font-size: 20px;
  transition: color 0.15s ease;
}
.so-sidebar-icon .material-symbols-rounded,
.so-sidebar-icon .material-symbols-rounded,
.so-sidebar-icon .fa {
  font-size: 20px;
}

.so-sidebar-text {
  flex: 1;
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 400;
  white-space: normal;
  line-height: 1.3;
}

.so-sidebar-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  color: var(--so-sidebar-item-icon-color);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}
.so-sidebar-arrow .material-symbols-rounded {
  font-size: 18px;
}

.so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-arrow {
  transform: rotate(90deg);
}

.so-sidebar-submenu {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.so-sidebar-item.so-open > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.08);
  color: var(--so-accent-primary);
}

.so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-arrow {
  color: var(--so-accent-primary);
}

.so-sidebar-item.so-open > .so-sidebar-submenu {
  max-height: 2000px;
  transition: max-height 0.3s ease-in;
}

.so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(0, 0, 0, 0.04);
}

.so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(0, 0, 0, 0.05);
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(0, 0, 0, 0.06);
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(0, 0, 0, 0.07);
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(0, 0, 0, 0.08);
}

.so-sidebar-submenu .so-sidebar-item {
  margin: 0;
  position: relative;
}

.so-sidebar-submenu .so-sidebar-link {
  display: flex;
  align-items: center;
  padding: 6px 32px 6px 20px;
  font-size: 0.8125rem;
  margin: 0 4px;
  border-radius: 0;
  min-height: 32px;
  color: var(--so-menu-item-color);
  position: relative;
  gap: 10px;
}

.so-sidebar-submenu .so-sidebar-link .so-sidebar-icon {
  width: 20px;
  height: 20px;
  min-width: 20px;
  margin-top: 0;
}
.so-sidebar-submenu .so-sidebar-link .so-sidebar-icon .material-symbols-rounded {
  font-size: 18px;
}

.so-sidebar-submenu .so-sidebar-link .so-sidebar-text {
  white-space: normal;
  line-height: 1.3;
}

.so-sidebar-submenu .so-sidebar-link:hover {
  color: var(--so-text-heading);
}

.so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-link {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-accent-primary);
}

.so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-arrow {
  color: var(--so-accent-primary);
}

.so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link {
  background: var(--so-sidebar-item-active-bg);
  color: var(--so-sidebar-item-active-color);
  box-shadow: 0 2px 8px rgba(26, 115, 232, 0.3);
  border-radius: 6px;
}

.so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
  border-radius: 6px;
}
.so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: var(--so-accent-primary);
  border-radius: 2px;
}

.so-sidebar-submenu .so-sidebar-item.active > .so-sidebar-link .so-sidebar-icon,
.so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-sidebar-item-active-color);
}

.so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 32px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link .so-sidebar-icon {
  width: 18px;
  height: 18px;
  min-width: 18px;
}
.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link .so-sidebar-icon .material-symbols-rounded {
  font-size: 16px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link {
  padding-left: 32px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  left: 20px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link .so-sidebar-icon {
  width: 16px;
  height: 16px;
  min-width: 16px;
}
.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link .so-sidebar-icon .material-symbols-rounded {
  font-size: 14px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 48px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link {
  padding-left: 48px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  left: 36px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link .so-sidebar-icon {
  width: 14px;
  height: 14px;
  min-width: 14px;
}
.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link .so-sidebar-icon .material-symbols-rounded {
  font-size: 12px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 64px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link {
  padding-left: 64px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  left: 52px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 80px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link {
  padding-left: 80px;
}

.so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  left: 68px;
}

.so-sidebar-submenu .so-sidebar-item.has-children > .so-sidebar-link .so-sidebar-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.so-sidebar-submenu .so-sidebar-item.has-children.so-open > .so-sidebar-link .so-sidebar-arrow {
  transform: translateY(-50%) rotate(90deg);
}

.so-sidebar-divider {
  height: 1px;
  background: var(--so-sidebar-border);
  margin: 12px 16px;
}

.so-sidebar-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: #ffffff;
  background: #ea4335;
  border-radius: 8px;
  margin-left: auto;
  flex-shrink: 0;
}
.so-sidebar-badge.primary {
  background: #1a73e8;
}
.so-sidebar-badge.success {
  background: #34a853;
}

.so-sidebar-footer {
  padding: 6px 8px;
  border-top: 1px solid var(--so-sidebar-border);
  background: var(--so-sidebar-bg);
  position: relative;
}

.so-sidebar-footer-buttons {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 2px;
}

.so-sidebar-footer-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 32px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--so-text-secondary);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-sidebar-footer-btn:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
  text-decoration: none;
}
.so-sidebar-footer-btn:focus, .so-sidebar-footer-btn:focus-visible {
  text-decoration: none;
}
.so-sidebar-footer-btn:active {
  transform: scale(0.95);
}
.so-sidebar-footer-btn .material-symbols-rounded {
  font-size: 20px;
}

.so-sidebar-info-popup {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 8px;
  right: 8px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-sidebar-border);
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.2s ease;
  z-index: 1010;
}
.so-sidebar-info-popup.so-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-sidebar-info-popup-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--so-sidebar-border);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-heading);
}
.so-sidebar-info-popup-header .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-accent-primary);
}

.so-sidebar-info-popup-content {
  padding: 12px 16px;
}

.so-sidebar-info-popup-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--so-card-hover-bg);
}
.so-sidebar-info-popup-row:last-child {
  border-bottom: none;
}

.so-sidebar-info-popup-label {
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
}

.so-sidebar-info-popup-value {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--so-text-heading);
  font-family: "Roboto Mono", "SF Mono", "Monaco", "Consolas", monospace;
}

.so-sidebar-theme-popup {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 8px;
  right: 8px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-sidebar-border);
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.2s ease;
  z-index: 1010;
}
.so-sidebar-theme-popup.so-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-sidebar-theme-popup-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--so-sidebar-border);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-heading);
}
.so-sidebar-theme-popup-header .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-accent-primary);
}

.so-sidebar-theme-popup-options {
  padding: 8px;
}

.so-sidebar-theme-popup-option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-sidebar-theme-popup-option:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
}
.so-sidebar-theme-popup-option.so-active {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
  font-weight: 500;
}
.so-sidebar-theme-popup-option .material-symbols-rounded:first-child {
  font-size: 20px;
}
.so-sidebar-theme-popup-option span:nth-child(2) {
  flex: 1;
  text-align: left;
}
.so-sidebar-theme-popup-option .so-theme-check {
  font-size: 18px;
  color: var(--so-accent-primary);
  opacity: 0;
}
.so-sidebar-theme-popup-option.so-active .so-theme-check {
  opacity: 1;
}

.so-sidebar-footer-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.so-sidebar-footer-item:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
}
.so-sidebar-footer-item .material-symbols-rounded {
  font-size: 20px;
}

.so-sidebar-theme-picker {
  border-top: 1px solid var(--so-sidebar-border);
  background: var(--so-sidebar-bg);
}

.so-sidebar-theme-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-sidebar-theme-toggle:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
}
.so-sidebar-theme-toggle .material-symbols-rounded {
  font-size: 18px;
}

.so-sidebar-theme-toggle-text {
  flex: 1;
  text-align: left;
  font-weight: 500;
}

.so-sidebar-theme-chevron {
  font-size: 18px !important;
  transition: transform 0.2s ease;
}

.so-sidebar-theme-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.so-sidebar-theme-picker.so-open .so-sidebar-theme-panel {
  max-height: 500px;
}

.so-sidebar-theme-picker.so-open .so-sidebar-theme-chevron {
  transform: rotate(180deg);
}

.so-sidebar-theme-list {
  max-height: 240px;
  overflow-y: auto;
  padding: 8px 8px;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-sidebar-theme-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-sidebar-theme-list::-webkit-scrollbar-track {
  background: transparent;
}
.so-sidebar-theme-list::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-sidebar-theme-list::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-sidebar-theme-entry {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 8px;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.so-sidebar-theme-entry:hover {
  background: var(--so-sidebar-item-hover-bg);
}
.so-sidebar-theme-entry.active {
  background: var(--so-sidebar-item-hover-bg);
  border-color: var(--so-accent-primary);
}

.so-sidebar-theme-entry-colors {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}

.so-sidebar-theme-swatch {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  flex-shrink: 0;
}

.so-sidebar-theme-entry-name {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.so-sidebar-theme-entry.active .so-sidebar-theme-entry-name {
  color: var(--so-text-heading);
  font-weight: 600;
}

.so-sidebar-theme-options {
  padding: 8px 12px;
  border-top: 1px solid var(--so-sidebar-border);
}

.so-sidebar-theme-option {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
  cursor: pointer;
}
.so-sidebar-theme-option .material-symbols-rounded {
  font-size: 15px;
}
.so-sidebar-theme-option .so-switch {
  margin-left: auto;
}

.so-sidebar.so-collapsed {
  width: var(--so-sidebar-collapsed-width);
}

.so-sidebar.no-hover-expand {
  pointer-events: none;
}

.so-sidebar.so-collapsed:hover {
  width: var(--so-sidebar-width);
  box-shadow: 4px 0 16px rgba(0, 0, 0, 0.08);
}

.so-sidebar.so-collapsed .so-sidebar-header {
  padding: 0 16px 0 6px;
  justify-content: flex-start;
  gap: 12px;
  transition: none;
  height: var(--so-navbar-height);
  min-height: var(--so-navbar-height);
  overflow: hidden;
}

.so-sidebar.so-collapsed .so-sidebar-logo {
  margin: 0;
}

.so-sidebar.so-collapsed .so-sidebar-brand-info,
.so-sidebar.so-collapsed .so-sidebar-toggle {
  opacity: 0;
  visibility: hidden;
  width: 0;
  min-width: 0;
  flex: 0 0 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  transition: none;
}

.so-sidebar.so-collapsed:hover .so-sidebar-header {
  padding: 0 16px 0 6px;
  justify-content: flex-start;
  gap: 12px;
  transition: none;
}

.so-sidebar.so-collapsed:hover .so-sidebar-brand-info {
  opacity: 1;
  visibility: visible;
  width: auto;
  flex: 1;
  overflow: visible;
  transition: none;
}

.so-sidebar.so-collapsed:hover .so-sidebar-toggle {
  opacity: 1;
  visibility: visible;
  width: 20px;
  min-width: 20px;
  height: 20px;
  flex: 0 0 20px;
  overflow: visible;
  gap: 0;
  transition: none;
}

.so-sidebar.so-collapsed .so-sidebar-search {
  display: none;
}

.so-sidebar.so-collapsed:hover .so-sidebar-search {
  display: block;
}

.so-sidebar.so-collapsed .so-sidebar-item {
  margin: 1px 4px;
}

.so-sidebar.so-collapsed .so-sidebar-link {
  padding: 4px 8px 4px 12px;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  transition: none;
}

.so-sidebar.so-collapsed .so-sidebar-icon {
  margin: 0;
  position: relative;
  left: 0;
  transform: none;
}

.so-sidebar.so-collapsed .so-sidebar-text,
.so-sidebar.so-collapsed .so-sidebar-arrow,
.so-sidebar.so-collapsed .so-sidebar-badge {
  opacity: 0;
  visibility: hidden;
  width: 0;
  min-width: 20px;
  flex: 0 0 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  transition: none;
  white-space: nowrap;
}

.so-sidebar.so-collapsed .so-sidebar-section {
  padding: 0;
  margin: 0 4px;
  min-height: 28px;
  height: 28px;
  background: transparent;
  font-size: 0;
  color: transparent;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.so-sidebar.so-collapsed .so-sidebar-section::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: var(--so-border-color);
}

.so-sidebar.so-collapsed .so-sidebar-submenu {
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0;
  visibility: hidden;
  transition: none !important;
}

.so-sidebar.so-collapsed:hover > .so-sidebar-scroll > .so-sidebar-nav > .so-sidebar-item {
  margin: 1px 4px;
}

.so-sidebar.so-collapsed:hover .so-sidebar-submenu .so-sidebar-item {
  margin: 0;
}

.so-sidebar.so-collapsed:hover .so-sidebar-link {
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.so-sidebar.so-collapsed:hover .so-sidebar-text,
.so-sidebar.so-collapsed:hover .so-sidebar-arrow,
.so-sidebar.so-collapsed:hover .so-sidebar-badge {
  opacity: 1;
  visibility: visible;
  width: auto;
  overflow: visible;
  transition: none;
}

.so-sidebar.so-collapsed:hover .so-sidebar-text {
  flex: 1;
  white-space: normal;
  line-height: 1.3;
}

.so-sidebar.so-collapsed:hover .so-sidebar-arrow,
.so-sidebar.so-collapsed:hover .so-sidebar-badge {
  flex: 0 0 auto;
}

.so-sidebar.so-collapsed:hover .so-sidebar-section {
  display: flex;
  padding: 10px 12px 4px 12px;
  margin: 0;
  min-height: 28px;
  height: auto;
  background: transparent;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}
.so-sidebar.so-collapsed:hover .so-sidebar-section::before {
  display: none;
}

.so-sidebar.so-collapsed:hover .so-sidebar-item.so-open > .so-sidebar-submenu {
  max-height: 2000px !important;
  opacity: 1;
  visibility: visible;
  transition: max-height 0.3s ease-in, opacity 0.2s ease;
}

.so-sidebar.so-collapsed:hover .so-sidebar-submenu .so-sidebar-link {
  padding: 6px 32px 6px 20px;
  margin: 0 4px;
  gap: 10px;
  min-height: 32px;
}

.so-sidebar.so-collapsed:hover .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 32px;
}

.so-sidebar.so-collapsed:hover .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 48px;
}

.so-sidebar.so-collapsed:hover .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 64px;
}

.so-sidebar.so-collapsed .so-sidebar-footer-item {
  justify-content: center;
  padding: 12px;
}

.so-sidebar.so-collapsed .so-sidebar-footer-item span:not(.material-symbols-rounded) {
  display: none;
}

.so-sidebar.so-collapsed:hover .so-sidebar-footer-item {
  justify-content: flex-start;
  padding: 10px 12px;
}

.so-sidebar.so-collapsed:hover .so-sidebar-footer-item span:not(.material-symbols-rounded) {
  display: inline;
}

.so-sidebar.so-collapsed .so-sidebar-footer {
  padding: 6px 8px;
}

.so-sidebar.so-collapsed .so-sidebar-footer-buttons {
  justify-content: center;
}

.so-sidebar.so-collapsed .so-sidebar-footer-btn {
  display: none;
}

.so-sidebar.so-collapsed .so-sidebar-footer-btn#sidebarInfoBtn {
  display: flex;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
}

.so-sidebar.so-collapsed .so-sidebar-info-popup {
  left: calc(100% + 8px);
  right: auto;
  bottom: 0;
  width: 220px;
}

.so-sidebar.so-collapsed:hover .so-sidebar-footer {
  padding: 6px 8px;
}

.so-sidebar.so-collapsed:hover .so-sidebar-footer-buttons {
  justify-content: space-around;
}

.so-sidebar.so-collapsed:hover .so-sidebar-footer-btn {
  display: flex;
  flex: 1;
}

.so-sidebar.so-collapsed:hover .so-sidebar-footer-btn#sidebarInfoBtn {
  flex: 1;
  width: auto;
}

.so-sidebar.so-collapsed:hover .so-sidebar-info-popup {
  left: 8px;
  right: 8px;
  bottom: calc(100% + 8px);
  width: auto;
}

.so-sidebar.so-collapsed .so-sidebar-theme-picker {
  display: none;
}

.so-sidebar.so-collapsed:hover .so-sidebar-theme-picker {
  display: block;
}

.so-sidebar.so-collapsed .so-sidebar-link[data-title]::after {
  content: attr(data-title);
  position: absolute;
  left: calc(100% + 16px);
  top: 50%;
  transform: translateY(-50%);
  padding: 8px 12px;
  background: #202124;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 400;
  white-space: nowrap;
  border-radius: 4px;
  z-index: 1070;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}

.so-sidebar.so-collapsed .so-sidebar-link:hover::after {
  opacity: 1;
  visibility: visible;
}

.so-sidebar.so-collapsed:hover .so-sidebar-link::after {
  display: none;
}

.so-main-content {
  margin-left: var(--so-sidebar-width);
  padding-top: var(--so-navbar-height);
  min-height: 100vh;
  transition: margin-left 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

body.sidebar-collapsed .so-sidebar {
  width: var(--so-sidebar-collapsed-width);
}

body.sidebar-collapsed .so-sidebar:hover {
  width: var(--so-sidebar-width);
}

body.sidebar-collapsed .so-navbar {
  left: var(--so-sidebar-collapsed-width);
}

body.sidebar-collapsed .so-main-content {
  margin-left: var(--so-sidebar-collapsed-width);
}

@media (max-width: 1023px) {
  :root {
    --so-sidebar-width: 240px;
  }
}
@media (max-width: 767px) {
  .so-sidebar {
    transform: translateX(-100%);
    width: 280px;
    box-shadow: 4px 0 16px rgba(0, 0, 0, 0.1);
  }
  .so-sidebar.so-open {
    transform: translateX(0);
  }
  .so-sidebar.so-collapsed {
    width: 280px;
  }
  .so-sidebar.so-collapsed.so-open {
    width: 280px;
  }
  .so-sidebar .so-sidebar-toggle {
    display: none !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-text, .so-sidebar.so-collapsed .so-sidebar-arrow, .so-sidebar.so-collapsed .so-sidebar-badge, .so-sidebar.so-collapsed .so-sidebar-brand-info {
    display: block !important;
    opacity: 1 !important;
    width: auto !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-section {
    padding: 10px 12px 4px 12px !important;
    margin: 0 !important;
    height: auto !important;
    font-size: 0.6875rem !important;
    color: var(--so-text-muted) !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-section::before {
    display: none !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-link {
    padding: 6px 8px !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-icon {
    margin: 0 !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-header {
    padding: 12px 16px !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-logo {
    margin: 0 !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-search {
    display: block !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-submenu {
    display: block !important;
  }
  .so-sidebar .so-sidebar-item.so-open > .so-sidebar-submenu {
    max-height: 3000px !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-item.so-open > .so-sidebar-submenu {
    max-height: 3000px !important;
    overflow: visible !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-footer-item {
    justify-content: flex-start !important;
    padding: 10px 12px !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-footer-item span:not(.material-symbols-rounded) {
    display: inline !important;
  }
  .so-sidebar.so-collapsed .so-sidebar-link::after {
    display: none !important;
  }
  .so-main-content {
    margin-left: 0 !important;
  }
  .so-sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1045;
    display: none;
  }
  .so-sidebar-overlay.so-active {
    display: block;
  }
}
.so-sidebar.pinned {
  width: var(--so-sidebar-width);
}

.so-sidebar.sidebar-dark,
html.sidebar-dark-mode .so-sidebar,
.so-drawer-sidebar.drawer-sidebar-dark,
html.sidebar-dark-mode .so-drawer-sidebar {
  --so-text-heading: #e7e9f0;
  --so-text-muted: #6c7293;
  --so-text-secondary: #a3a8b8;
  --so-menu-item-color: #d0d4e4;
  --so-border-color: #3b4056;
  --so-card-bg: #2f3349;
  --so-card-hover-bg: #3b4056;
  --so-accent-primary: #5b9ef5;
  --so-dropdown-bg: #2f3349;
  --so-dropdown-border: #3b4056;
  --so-dropdown-item-hover: #3b4056;
  --so-form-bg: #3b4056;
  --so-form-border: transparent;
  --so-form-text: #e7e9f0;
  --so-form-placeholder: #6c7293;
  --so-sidebar-bg: #2f3349;
  --so-sidebar-border: #3b4056;
  --so-sidebar-text: #a3a8b8;
  --so-sidebar-text-active: #5b9ef5;
  --so-sidebar-icon: #a3a8b8;
  --so-sidebar-icon-active: #5b9ef5;
  --so-sidebar-hover-bg: #3b4056;
  --so-sidebar-active-bg: rgba(91, 158, 245, 0.15);
  --so-sidebar-section-text: #6c7293;
  --so-sidebar-item-color: #d0d4e4;
  --so-sidebar-item-hover-bg: #3b4056;
  --so-sidebar-item-active-bg: #5b9ef5;
  --so-sidebar-item-active-color: #ffffff;
  --so-sidebar-item-icon-color: #a3a8b8;
}

.so-sidebar.sidebar-dark > .so-sidebar-content > .so-sidebar-nav > .so-sidebar-item > .so-sidebar-link {
  color: var(--so-menu-item-color);
}
.so-sidebar.sidebar-dark > .so-sidebar-content > .so-sidebar-nav > .so-sidebar-item > .so-sidebar-link:hover {
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark > .so-sidebar-content > .so-sidebar-nav > .so-sidebar-item > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-sidebar-item-icon-color);
}

.so-sidebar.sidebar-dark .so-sidebar-section > .so-sidebar-item > .so-sidebar-link {
  color: var(--so-menu-item-color);
}
.so-sidebar.sidebar-dark .so-sidebar-section > .so-sidebar-item > .so-sidebar-link:hover {
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-section > .so-sidebar-item > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-sidebar-item-icon-color);
}

.so-sidebar.sidebar-dark .so-sidebar-footer {
  border-top-color: var(--so-border-color);
  background: var(--so-sidebar-bg);
}

.so-sidebar.sidebar-dark .so-sidebar-footer-btn {
  color: var(--so-text-secondary);
}
.so-sidebar.sidebar-dark .so-sidebar-footer-btn:hover {
  background: var(--so-sidebar-hover-bg);
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-header {
  border-bottom-color: var(--so-border-color);
}

.so-sidebar.sidebar-dark .so-sidebar-logo {
  background: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-brand-name {
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-brand-tagline,
.so-sidebar.sidebar-dark .so-sidebar-brand-subtitle {
  color: var(--so-text-secondary);
}

.so-sidebar.sidebar-dark .so-sidebar-section,
.so-sidebar.sidebar-dark .so-sidebar-section-title {
  color: var(--so-text-muted);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-link {
  color: var(--so-menu-item-color);
}
.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-link:hover {
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-link .so-sidebar-icon {
  color: var(--so-sidebar-item-icon-color);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-link:hover .so-sidebar-icon {
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-toggle .so-radio-circle {
  border-color: var(--so-sidebar-item-icon-color);
  background: transparent;
}
.so-sidebar.sidebar-dark .so-sidebar-toggle .so-radio-circle::after {
  background: var(--so-accent-primary);
}
.so-sidebar.sidebar-dark .so-sidebar-toggle:hover .so-radio-circle {
  border-color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-toggle input:checked + .so-radio-circle {
  border-color: var(--so-accent-primary);
}

[data-theme=dark] .so-sidebar-toggle .so-radio-circle {
  border-color: var(--so-sidebar-item-icon-color);
  background: transparent;
}
[data-theme=dark] .so-sidebar-toggle .so-radio-circle::after {
  background: var(--so-accent-primary);
}
[data-theme=dark] .so-sidebar-toggle:hover .so-radio-circle {
  border-color: var(--so-accent-primary);
}

[data-theme=dark] .so-sidebar-toggle input:checked + .so-radio-circle {
  border-color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-item.so-open > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.12);
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-arrow {
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-arrow {
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link {
  background: var(--so-sidebar-item-active-bg);
  color: var(--so-sidebar-item-active-color);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-sidebar-item-active-color);
}

.so-sidebar.sidebar-dark .so-sidebar-item.active:not(.current) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
  border-radius: 6px;
}

.so-sidebar.sidebar-dark .so-sidebar-item.active:not(.current):not(.so-open) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.2);
}

.so-sidebar.sidebar-dark .so-sidebar-item.active:not(.current) > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
  border-radius: 6px;
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-item.active:not(.current) > .so-sidebar-link .so-sidebar-arrow {
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark.so-collapsed .so-sidebar-section::before {
  background: var(--so-border-color);
}

.so-sidebar.sidebar-dark .so-sidebar-info-popup {
  background: var(--so-card-bg);
  border-color: var(--so-border-color);
}

.so-sidebar.sidebar-dark .so-sidebar-info-popup-header {
  border-bottom-color: var(--so-border-color);
  color: var(--so-text-heading);
}
.so-sidebar.sidebar-dark .so-sidebar-info-popup-header .material-symbols-rounded {
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-info-popup-row {
  border-bottom-color: var(--so-border-color);
}

.so-sidebar.sidebar-dark .so-sidebar-info-popup-label {
  color: var(--so-text-secondary);
}

.so-sidebar.sidebar-dark .so-sidebar-info-popup-value {
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-theme-popup {
  background: var(--so-card-bg);
  border-color: var(--so-border-color);
}

.so-sidebar.sidebar-dark .so-sidebar-theme-popup-header {
  border-bottom-color: var(--so-border-color);
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-theme-popup-option {
  color: var(--so-text-secondary);
}
.so-sidebar.sidebar-dark .so-sidebar-theme-popup-option:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
}
.so-sidebar.sidebar-dark .so-sidebar-theme-popup-option.so-active {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
}

.so-sidebar.sidebar-dark .so-sidebar-footer-item {
  color: var(--so-text-secondary);
}
.so-sidebar.sidebar-dark .so-sidebar-footer-item:hover {
  background: var(--so-card-hover-bg);
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-search,
html.sidebar-dark-mode .so-sidebar .so-sidebar-search {
  border-bottom-color: var(--so-border-color);
}
.so-sidebar.sidebar-dark .so-sidebar-search .so-autocomplete-container,
html.sidebar-dark-mode .so-sidebar .so-sidebar-search .so-autocomplete-container {
  background: var(--so-sidebar-item-hover-bg);
  border-color: transparent;
}
.so-sidebar.sidebar-dark .so-sidebar-search .so-autocomplete-focused .so-autocomplete-container,
html.sidebar-dark-mode .so-sidebar .so-sidebar-search .so-autocomplete-focused .so-autocomplete-container {
  background: var(--so-card-bg);
  border-color: var(--so-accent-primary);
}
.so-sidebar.sidebar-dark .so-sidebar-search .so-autocomplete-input,
html.sidebar-dark-mode .so-sidebar .so-sidebar-search .so-autocomplete-input {
  background: transparent;
  color: var(--so-text-heading);
}
.so-sidebar.sidebar-dark .so-sidebar-search .so-autocomplete-input::-moz-placeholder, html.sidebar-dark-mode .so-sidebar .so-sidebar-search .so-autocomplete-input::-moz-placeholder {
  color: var(--so-text-muted);
}
.so-sidebar.sidebar-dark .so-sidebar-search .so-autocomplete-input::placeholder,
html.sidebar-dark-mode .so-sidebar .so-sidebar-search .so-autocomplete-input::placeholder {
  color: var(--so-text-muted);
}

.so-sidebar.sidebar-dark .so-sidebar-search-option-title,
html.sidebar-dark-mode .so-sidebar .so-sidebar-search-option-title {
  color: var(--so-text-heading);
}

.so-sidebar.sidebar-dark .so-sidebar-search-option-icon,
html.sidebar-dark-mode .so-sidebar .so-sidebar-search-option-icon {
  color: var(--so-text-secondary);
}

.so-sidebar.sidebar-dark .so-sidebar-search-option-path,
html.sidebar-dark-mode .so-sidebar .so-sidebar-search-option-path {
  color: var(--so-text-muted);
}

.so-sidebar.sidebar-dark .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.04);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.05);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.06);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.07);
}

.so-sidebar.sidebar-dark .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .so-sidebar-item.so-open > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.12);
}

[data-theme=dark] .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.04);
}

[data-theme=dark] .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.05);
}

[data-theme=dark] .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.06);
}

[data-theme=dark] .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.07);
}

[data-theme=dark] .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.so-open > .so-sidebar-submenu {
  background: rgba(255, 255, 255, 0.08);
}

.so-drawer-sidebar {
  width: 280px;
  background: var(--so-sidebar-bg);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .so-drawer-sidebar {
    width: 260px;
  }
}

.so-drawer-sidebar .so-drawer-header {
  padding: 0 12px 0 6px;
  height: var(--so-navbar-height);
  border-bottom: 1px solid var(--so-sidebar-border);
  background: var(--so-sidebar-bg);
  gap: 12px;
}

.so-drawer-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.so-drawer-sidebar .so-sidebar-logo {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 10px;
  background: var(--so-accent-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 600;
  flex-shrink: 0;
}

.so-drawer-sidebar .so-sidebar-brand-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.so-drawer-sidebar .so-sidebar-brand-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--so-text-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-drawer-sidebar .so-sidebar-toggle {
  display: none;
}

.so-drawer-sidebar-body {
  background: var(--so-sidebar-bg);
  padding: 8px 0;
}
.so-drawer-sidebar-body.so-drawer-body {
  padding: 8px 0;
}

.so-drawer-sidebar .so-sidebar-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.so-drawer-sidebar .so-sidebar-section {
  padding: 10px 12px 4px 12px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--so-text-muted);
  white-space: nowrap;
  overflow: hidden;
  min-height: 28px;
  display: flex;
  align-items: center;
}

.so-drawer-sidebar .so-sidebar-item {
  margin: 1px 4px;
}

.so-drawer-sidebar .so-sidebar-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  text-decoration: none;
  color: var(--so-sidebar-item-color);
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  position: relative;
  min-height: 44px;
}
.so-drawer-sidebar .so-sidebar-link:hover {
  background: var(--so-sidebar-item-hover-bg);
  text-decoration: none;
  color: var(--so-sidebar-item-color);
}

.so-drawer-sidebar .so-sidebar-item.current > .so-sidebar-link {
  background: var(--so-sidebar-item-active-bg);
  color: var(--so-sidebar-item-active-color);
  box-shadow: 0 2px 8px var(--so-primary-focus-ring);
}

.so-drawer-sidebar .so-sidebar-item.active:not(.current) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
  border-radius: 6px;
}
.so-drawer-sidebar .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: var(--so-accent-primary);
  border-radius: 2px;
}

.so-drawer-sidebar .so-sidebar-item.active:not(.current):not(.so-open) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.15);
}
.so-drawer-sidebar .so-sidebar-item.active:not(.current):not(.so-open) > .so-sidebar-link .so-sidebar-icon::after {
  content: "";
  position: absolute;
  top: 2px;
  right: 0;
  width: 6px;
  height: 6px;
  background: var(--so-accent-primary);
  border-radius: 50%;
}

.so-drawer-sidebar .so-sidebar-item.current > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-sidebar-item-active-color);
}

.so-drawer-sidebar .so-sidebar-item.active:not(.current) > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-drawer-sidebar .so-sidebar-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 24px;
  flex-shrink: 0;
  position: relative;
  color: var(--so-sidebar-item-icon-color);
  font-size: 20px;
  transition: color 0.15s ease;
}
.so-drawer-sidebar .so-sidebar-icon .material-symbols-rounded,
.so-drawer-sidebar .so-sidebar-icon .material-symbols-rounded {
  font-size: 20px;
}

.so-drawer-sidebar .so-sidebar-text {
  flex: 1;
  font-size: 0.875rem;
  font-weight: 400;
  white-space: normal;
  line-height: 1.3;
}

.so-drawer-sidebar .so-sidebar-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  color: var(--so-sidebar-item-icon-color);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}
.so-drawer-sidebar .so-sidebar-arrow .material-symbols-rounded {
  font-size: 18px;
}

.so-drawer-sidebar .so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-arrow {
  transform: rotate(90deg);
}

.so-drawer-sidebar .so-sidebar-submenu {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.so-drawer-sidebar .so-sidebar-item.so-open > .so-sidebar-link {
  color: var(--so-accent-primary);
}

.so-drawer-sidebar .so-sidebar-item.so-open > .so-sidebar-link .so-sidebar-icon {
  color: var(--so-accent-primary);
}

.so-drawer-sidebar .so-sidebar-item.so-open > .so-sidebar-submenu {
  max-height: 3000px;
  transition: max-height 0.3s ease-in;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-item {
  margin: 0;
  position: relative;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-link {
  display: flex;
  align-items: center;
  padding: 8px 16px 8px 20px;
  font-size: 0.8125rem;
  margin: 0 4px;
  border-radius: 6px;
  min-height: 40px;
  color: var(--so-sidebar-item-color);
  position: relative;
  gap: 10px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 36px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 52px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 68px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-link {
  padding-left: 84px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-icon {
  width: 22px;
  height: 22px;
  min-width: 22px;
}
.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-icon .material-symbols-rounded {
  font-size: 18px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-item.current > .so-sidebar-link {
  background: var(--so-sidebar-item-active-bg);
  color: var(--so-sidebar-item-active-color);
  box-shadow: 0 2px 8px var(--so-primary-focus-ring);
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.1);
  color: var(--so-accent-primary);
  border-radius: 6px;
}
.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 6px;
  bottom: 6px;
  width: 3px;
  background: var(--so-accent-primary);
  border-radius: 2px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-item.active:not(.current):not(.so-open) > .so-sidebar-link {
  background: rgba(26, 115, 232, 0.15);
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  left: 20px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  left: 36px;
}

.so-drawer-sidebar .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-submenu .so-sidebar-item.active:not(.current) > .so-sidebar-link::before {
  left: 52px;
}

.so-drawer-sidebar .so-drawer-theme-picker {
  border-top: 1px solid var(--so-sidebar-border);
  background: var(--so-sidebar-bg);
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px 12px;
  background: transparent;
  border: none;
  color: var(--so-text-secondary);
  cursor: pointer;
  font-size: 0.8125rem;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-toggle:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
}
.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-toggle .material-symbols-rounded {
  font-size: 18px;
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-toggle-text {
  flex: 1;
  text-align: left;
  font-weight: 500;
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-chevron {
  font-size: 18px !important;
  transition: transform 0.2s ease;
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.so-drawer-sidebar .so-drawer-theme-picker.so-open .so-sidebar-theme-panel {
  max-height: 500px;
}

.so-drawer-sidebar .so-drawer-theme-picker.so-open .so-sidebar-theme-chevron {
  transform: rotate(180deg);
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-list {
  max-height: 200px;
  overflow-y: auto;
  padding: 8px;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-list::-webkit-scrollbar-track {
  background: transparent;
}
.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-list::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-list::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-entry {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-entry:hover {
  background: var(--so-sidebar-item-hover-bg);
}
.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-entry.active {
  background: var(--so-sidebar-item-hover-bg);
  border-color: var(--so-accent-primary);
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-entry-colors {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-swatch {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  flex-shrink: 0;
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-entry-name {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.so-sidebar-theme-entry.active .so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-entry-name {
  color: var(--so-text-heading);
  font-weight: 600;
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-options {
  padding: 8px 12px;
  border-top: 1px solid var(--so-sidebar-border);
}

.so-drawer-sidebar .so-drawer-theme-picker .so-sidebar-theme-option {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
  cursor: pointer;
}

.so-drawer-sidebar .so-drawer-footer {
  padding: 6px 8px;
  border-top: 1px solid var(--so-sidebar-border);
  background: var(--so-sidebar-bg);
  justify-content: center;
  position: relative;
}

.so-drawer-sidebar .so-sidebar-footer-buttons {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 2px;
  width: 100%;
}

.so-drawer-sidebar .so-sidebar-footer-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 32px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--so-text-secondary);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-drawer-sidebar .so-sidebar-footer-btn:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
}
.so-drawer-sidebar .so-sidebar-footer-btn:active {
  transform: scale(0.95);
}
.so-drawer-sidebar .so-sidebar-footer-btn .material-symbols-rounded {
  font-size: 20px;
}

.so-drawer-sidebar .so-sidebar-footer-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s ease;
  color: var(--so-sidebar-item-color);
  background: transparent;
  border: none;
  flex: 1;
  min-width: 0;
}
.so-drawer-sidebar .so-sidebar-footer-item:hover {
  background: var(--so-sidebar-item-hover-bg);
}
.so-drawer-sidebar .so-sidebar-footer-item .material-symbols-rounded {
  font-size: 20px;
  margin-bottom: 2px;
}
.so-drawer-sidebar .so-sidebar-footer-item span:not(.material-symbols-rounded) {
  font-size: 0.6875rem;
  white-space: nowrap;
}

@media (max-width: 1023px) {
  .so-sidebar {
    display: none !important;
  }
  .so-sidebar-overlay {
    display: none !important;
  }
  .so-navbar {
    left: 0 !important;
  }
  .so-navbar-toggle {
    display: flex;
  }
  .so-main-content {
    margin-left: 0 !important;
  }
}
.so-navbar {
  position: fixed;
  top: 0;
  left: var(--so-sidebar-width, 250px);
  right: 0;
  height: var(--so-navbar-height);
  background: var(--so-navbar-bg);
  border-bottom: 1px solid var(--so-navbar-border);
  z-index: 1030;
  display: flex;
  align-items: center;
  padding: 0;
  font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  transition: left 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.so-navbar-container {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 16px 0 0;
}

.so-navbar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.so-navbar-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  transition: background 0.2s ease;
  color: var(--so-navbar-icon-color);
  position: relative;
  overflow: hidden;
}
.so-navbar-toggle:hover {
  background: rgba(60, 64, 67, 0.08);
}
.so-navbar-toggle:active {
  background: rgba(60, 64, 67, 0.12);
}
.so-navbar-toggle .material-symbols-rounded,
.so-navbar-toggle .material-symbols-rounded {
  font-size: 24px;
}

.so-navbar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--so-navbar-brand-color);
  padding: 4px 8px;
  border-radius: 4px;
  transition: color 0.2s ease;
}
.so-navbar-brand:hover {
  color: var(--so-navbar-brand-hover);
  text-decoration: none;
}

.so-navbar-brand-logo {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.so-navbar-brand-logo img {
  max-width: 100%;
  max-height: 100%;
}
.so-navbar-brand-logo .material-symbols-rounded {
  font-size: 28px;
  color: var(--so-accent-primary);
}

.so-navbar-brand-text {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: -0.25px;
  white-space: nowrap;
}

.so-navbar-brand-divider {
  width: 1px;
  height: 24px;
  background: var(--so-navbar-border);
  margin: 0 8px;
}

.so-navbar-center {
  flex: 1;
  display: flex;
  justify-content: flex-start;
  padding: 0 16px;
  max-width: none;
}

.so-navbar-search {
  position: relative;
  width: 100%;
  max-width: 500px;
}

.so-navbar-search-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.so-navbar-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--so-navbar-search-placeholder);
  pointer-events: none;
  font-size: 20px;
  z-index: 1;
}

.so-navbar-search-input {
  width: 100%;
  height: 44px;
  padding: 0 48px 0 44px;
  font-size: 0.875rem;
  font-family: inherit;
  color: var(--so-text-primary);
  background: var(--so-navbar-search-bg);
  border: 1px solid var(--so-navbar-search-border);
  border-radius: 8px;
  outline: none;
  transition: all 0.2s ease;
}
.so-navbar-search-input::-moz-placeholder {
  color: var(--so-navbar-search-placeholder);
}
.so-navbar-search-input::placeholder {
  color: var(--so-navbar-search-placeholder);
}
.so-navbar-search-input:hover {
  background: var(--so-navbar-search-hover-bg, #e8eaed);
}
.so-navbar-search-input:focus {
  background: var(--so-navbar-search-focus-bg);
  border-color: var(--so-navbar-search-focus-border);
  box-shadow: 0 1px 6px rgba(32, 33, 36, 0.28);
}

.so-navbar-search-clear {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: transparent;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  color: var(--so-navbar-icon-color);
}
.so-navbar-search-clear:hover {
  background: rgba(95, 99, 104, 0.08);
}

.so-navbar-search-input:not(:-moz-placeholder) + .so-navbar-search-clear {
  display: flex;
}

.so-navbar-search-input:not(:placeholder-shown) + .so-navbar-search-clear {
  display: flex;
}

.so-navbar-search-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
  max-height: 400px;
  overflow-y: auto;
  display: none;
  z-index: 1010;
}
.so-navbar-search-results.so-active {
  display: block;
}

.so-navbar-search-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-navbar-search-result-item:hover {
  background: var(--so-card-hover-bg);
}

.so-navbar-search-result-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--so-primary-bg-subtle);
  border-radius: 9999px;
  color: var(--so-accent-primary);
  font-size: 18px;
}

.so-navbar-search-result-text {
  flex: 1;
}

.so-navbar-search-result-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--so-text-heading);
}

.so-navbar-search-result-path {
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
}

.so-navbar-right {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.so-navbar-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  transition: background 0.2s ease;
  color: var(--so-navbar-icon-color);
  position: relative;
  overflow: hidden;
}
.so-navbar-icon-btn:hover {
  background: rgba(60, 64, 67, 0.08);
  color: var(--so-navbar-icon-hover);
}
.so-navbar-icon-btn:active {
  background: rgba(60, 64, 67, 0.12);
}
.so-navbar-icon-btn .material-symbols-rounded,
.so-navbar-icon-btn .material-symbols-rounded {
  font-size: 22px;
}
.so-navbar-icon-btn .badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 500;
  line-height: 18px;
  text-align: center;
  color: #ffffff;
  background: #ea4335;
  border-radius: 9px;
}
.so-navbar-icon-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-navbar-icon-btn:active::after {
  width: 150%;
  height: 150%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}

.so-navbar-divider {
  width: 1px;
  height: 24px;
  background: var(--so-navbar-border);
  margin: 0 8px;
}

.so-navbar-user {
  position: relative;
}

.so-navbar-user-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  overflow: hidden;
  transition: background 0.2s ease;
}
.so-navbar-user-btn > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: inherit;
}
.so-navbar-user-btn:not(.so-btn) {
  background: transparent;
}
.so-navbar-user-btn:not(.so-btn):hover {
  background: rgba(95, 99, 104, 0.08);
}
.so-navbar-user-btn:has(.so-navbar-user-name) {
  padding: 4px 12px 4px 4px;
  border-radius: 24px;
}

.so-navbar-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  background: var(--so-accent-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 500;
  overflow: hidden;
}
.so-navbar-user-avatar[data-color=red] {
  background: #ea4335;
}
.so-navbar-user-avatar[data-color=blue] {
  background: #1a73e8;
}
.so-navbar-user-avatar[data-color=green] {
  background: #34a853;
}
.so-navbar-user-avatar[data-color=yellow] {
  background: #ffb300;
  color: #202124;
}
.so-navbar-user-avatar[data-color=orange] {
  background: #fa7b17;
}
.so-navbar-user-avatar[data-color=pink] {
  background: #f538a0;
}
.so-navbar-user-avatar[data-color=purple] {
  background: #a142f4;
}
.so-navbar-user-avatar[data-color=cyan] {
  background: #24c1e0;
}
.so-navbar-user-avatar[data-color=teal] {
  background: #12b5cb;
}
.so-navbar-user-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.so-navbar-user-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--so-navbar-text-color);
  max-width: 120px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-navbar-user-btn .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-navbar-icon-color);
  transition: transform 0.2s ease;
}

.so-navbar-user-btn.active .material-symbols-rounded {
  transform: rotate(180deg);
}

.so-navbar-user-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 280px;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
  display: none;
  z-index: 1010;
  overflow: hidden;
}
.so-navbar-user-dropdown.so-active {
  display: block;
}

.so-navbar-user-header {
  padding: 16px;
  text-align: center;
  border-bottom: 1px solid var(--so-border-color);
}

.so-navbar-user-header-avatar {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 9999px;
  background: var(--so-accent-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0 auto 12px;
  overflow: hidden;
}
.so-navbar-user-header-avatar[data-color=red] {
  background: #ea4335;
}
.so-navbar-user-header-avatar[data-color=blue] {
  background: #1a73e8;
}
.so-navbar-user-header-avatar[data-color=green] {
  background: #34a853;
}
.so-navbar-user-header-avatar[data-color=yellow] {
  background: #ffb300;
  color: #202124;
}
.so-navbar-user-header-avatar[data-color=orange] {
  background: #fa7b17;
}
.so-navbar-user-header-avatar[data-color=pink] {
  background: #f538a0;
}
.so-navbar-user-header-avatar[data-color=purple] {
  background: #a142f4;
}
.so-navbar-user-header-avatar[data-color=cyan] {
  background: #24c1e0;
}
.so-navbar-user-header-avatar[data-color=teal] {
  background: #12b5cb;
}
.so-navbar-user-header-avatar > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: inherit;
}

.so-navbar-user-header-name {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--so-text-heading);
  margin-bottom: 4px;
}

.so-navbar-user-header-email {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
}

.so-navbar-user-menu {
  padding: 0;
}

.so-navbar-user-menu-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  cursor: pointer;
  font-size: 0.875rem;
  color: var(--so-text-primary) !important;
  text-decoration: none !important;
  transition: background 0.15s ease;
}
.so-navbar-user-menu-item:hover {
  background: var(--so-card-hover-bg);
  text-decoration: none !important;
  color: var(--so-text-primary) !important;
}
.so-navbar-user-menu-item:focus-visible {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary) !important;
  outline: 2px solid var(--so-accent-primary);
  outline-offset: -2px;
}
.so-navbar-user-menu-item .material-symbols-rounded {
  font-size: 20px;
  color: var(--so-text-secondary);
}

[data-theme=dark] .so-navbar-user-menu-item {
  color: var(--so-text-primary) !important;
}
[data-theme=dark] .so-navbar-user-menu-item:hover {
  color: var(--so-text-primary) !important;
}

.so-navbar-user-footer {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  border-top: 1px solid var(--so-border-color);
  background: #fafafa;
}
.so-navbar-user-footer a,
.so-navbar-user-footer button {
  text-decoration: none !important;
}
.so-navbar-user-footer a:hover, .so-navbar-user-footer a:focus,
.so-navbar-user-footer button:hover,
.so-navbar-user-footer button:focus {
  text-decoration: none !important;
}

.so-navbar-user-footer-btn {
  border-radius: 9999px;
  position: relative;
  overflow: hidden;
}
.so-navbar-user-footer-btn .material-symbols-rounded {
  font-size: 20px;
}
.so-navbar-user-footer-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-navbar-user-footer-btn:active::after {
  width: 150%;
  height: 150%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}

.so-navbar-theme {
  position: relative;
}

.so-navbar-theme-btn .theme-icon {
  transition: transform 0.3s ease;
}

.so-navbar-theme-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 180px;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--so-border-color);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
  z-index: 1020;
  overflow: hidden;
}

.so-navbar-theme.so-open .so-navbar-theme-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-navbar-theme-header {
  padding: 10px 14px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-text-muted);
  border-bottom: 1px solid var(--so-border-color);
}

.so-navbar-theme-option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 14px;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  font-family: inherit;
  color: var(--so-text-primary);
  text-align: left;
  white-space: nowrap;
  transition: background 0.15s ease;
}
.so-navbar-theme-option:hover {
  background: var(--so-card-hover-bg);
}
.so-navbar-theme-option .material-symbols-rounded:first-child {
  font-size: 20px;
  color: var(--so-text-secondary);
}
.so-navbar-theme-option .theme-check,
.so-navbar-theme-option .fontsize-check {
  margin-left: auto;
  font-size: 18px;
  color: var(--so-accent-primary);
  opacity: 0;
  transition: opacity 0.15s ease;
}
.so-navbar-theme-option.so-active {
  background: var(--so-dropdown-item-active);
  color: var(--so-dropdown-item-active-text);
}
.so-navbar-theme-option.so-active .theme-check,
.so-navbar-theme-option.so-active .fontsize-check {
  opacity: 1;
}
.so-navbar-theme-option.so-active .material-symbols-rounded:first-child {
  color: var(--so-dropdown-item-active-text);
}

.so-navbar-theme-divider {
  height: 1px;
  background: var(--so-border-color);
  margin: 8px 0;
}

.so-navbar-right .so-dropdown .so-dropdown-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px;
}

.so-navbar-apps {
  position: relative;
}

.so-navbar-apps-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 280px;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--so-border-color);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
  z-index: 1020;
  overflow: hidden;
}

.so-navbar-apps.so-open .so-navbar-apps-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-navbar-apps-header {
  padding: 12px 16px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-text-muted);
  border-bottom: 1px solid var(--so-border-color);
}

.so-navbar-apps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px;
  padding: 8px;
}

.so-navbar-apps-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 12px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: background 0.15s ease;
  position: relative;
}
.so-navbar-apps-item:hover {
  background: var(--so-card-hover-bg);
  text-decoration: none !important;
}

.so-navbar-apps-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  color: #ffffff;
}
.so-navbar-apps-icon .material-symbols-rounded {
  font-size: 24px;
}

.so-navbar-apps-label {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--so-text-primary);
  text-align: center;
  line-height: 1.3;
}

.so-navbar-apps-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  color: #ffffff;
  background: #ea4335;
  border-radius: 9px;
}

.so-navbar-apps-btn {
  position: relative;
}

.so-navbar-apps-item-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  color: #ffffff;
  background: #ea4335;
  border-radius: 9px;
}

.so-navbar-outlet {
  width: 200px;
}
.so-navbar-outlet .so-select-dropdown {
  min-width: 200px;
  border-radius: 10px !important;
  overflow: hidden;
}
.so-navbar-outlet .so-select-trigger:hover, .so-navbar-outlet .so-select-trigger:focus {
  outline: none !important;
  box-shadow: none !important;
}

#userStatusSelector .so-dropdown-trigger {
  border-radius: 999px !important;
}
#userStatusSelector .so-dropdown-trigger:hover, #userStatusSelector .so-dropdown-trigger:focus {
  outline: none !important;
  box-shadow: none !important;
}
#userStatusSelector .so-dropdown-trigger .status-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
#userStatusSelector .so-dropdown-menu {
  min-width: 260px;
  border-radius: 10px !important;
  overflow: hidden;
}
#userStatusSelector .so-dropdown-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-text-muted);
  border-radius: 10px 10px 0 0;
  border-bottom: 1px solid var(--so-border-color);
}
#userStatusSelector .so-dropdown-header .material-symbols-rounded {
  font-size: 16px;
}
#userStatusSelector .so-dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
}
#userStatusSelector .so-dropdown-item .status-indicator {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
#userStatusSelector .so-dropdown-check {
  margin-left: auto;
  color: var(--so-accent-primary);
}

.status-indicator.available {
  background-color: #34a853;
}
.status-indicator.with-customer {
  background-color: #1a73e8;
}
.status-indicator.in-meeting {
  background-color: #9c27b0;
}
.status-indicator.on-call {
  background-color: #ffb300;
}
.status-indicator.on-leave {
  background-color: #80868b;
}
.status-indicator.away {
  background-color: #ea4335;
}

.status-option-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}

.status-option-title {
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--so-text-primary);
  line-height: 1.3;
}

.status-option-desc {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin-top: 2px;
  line-height: 1.2;
}

.so-mobile-bottom-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: var(--so-mobile-bottom-bar-height);
  background: var(--so-navbar-bg);
  border-top: 1px solid var(--so-navbar-border);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1030;
  padding: 0 16px;
  align-items: center;
  justify-content: space-around;
  gap: 8px;
}
@media (max-width: 767px) {
  .so-mobile-bottom-bar {
    display: flex;
  }
}

.so-mobile-bottom-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 8px 16px;
  background: transparent;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  color: var(--so-navbar-icon-color);
  transition: all 0.2s ease;
  min-width: 70px;
  font-family: inherit;
}
.so-mobile-bottom-item:hover, .so-mobile-bottom-item:active {
  background: var(--so-navbar-search-bg);
  color: var(--so-accent-primary);
}
.so-mobile-bottom-item .material-symbols-rounded {
  font-size: 24px;
}

.so-mobile-bottom-item-label {
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.so-mobile-outlet-dropdown {
  position: relative;
}

.so-mobile-outlet-menu {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  max-height: 300px;
  background: var(--so-navbar-bg);
  border: 1px solid var(--so-navbar-border);
  border-radius: 10px;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  z-index: 1020;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  overflow: hidden;
}

.so-mobile-outlet-dropdown.so-open .so-mobile-outlet-menu {
  opacity: 1;
  visibility: visible;
}

.so-mobile-outlet-header {
  padding: 12px 16px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-navbar-icon-color);
  border-bottom: 1px solid var(--so-navbar-border);
}

.so-mobile-outlet-list {
  max-height: 240px;
  overflow-y: auto;
  padding: 8px 0;
  scrollbar-width: thin;
  scrollbar-color: #bdc1c6 transparent;
}
.so-mobile-outlet-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.so-mobile-outlet-list::-webkit-scrollbar-track {
  background: transparent;
}
.so-mobile-outlet-list::-webkit-scrollbar-thumb {
  background: #bdc1c6;
  border-radius: 3px;
}
.so-mobile-outlet-list::-webkit-scrollbar-thumb:hover {
  background: rgb(168.2341463415, 173.4926829268, 180.0658536585);
}

.so-mobile-outlet-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  font-size: 0.875rem;
  color: var(--so-navbar-text-color);
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-mobile-outlet-item:hover {
  background: var(--so-navbar-search-bg);
}
.so-mobile-outlet-item.so-selected {
  background: var(--so-primary-bg-subtle);
  color: var(--so-accent-primary);
}
.so-mobile-outlet-item .check-icon {
  font-size: 18px;
  color: var(--so-accent-primary);
  opacity: 0;
}
.so-mobile-outlet-item.selected .check-icon {
  opacity: 1;
}

.so-navbar-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-navbar-toggle:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}

.so-navbar-theme-option::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-navbar-theme-option:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}

[data-theme=dark] .so-navbar-icon-btn:hover {
  background: rgba(255, 255, 255, 0.08);
}
[data-theme=dark] .so-navbar-icon-btn:active {
  background: rgba(255, 255, 255, 0.12);
}
[data-theme=dark] .so-navbar-icon-btn::after {
  background: rgba(255, 255, 255, 0.15);
}

[data-theme=dark] .so-navbar-user-footer-btn::after {
  background: rgba(255, 255, 255, 0.15);
}

@media (max-width: 1023px) {
  .so-navbar-center {
    max-width: 400px;
  }
  .so-navbar-user-name {
    display: none;
  }
}
@media (max-width: 1023px) {
  .so-navbar-toggle {
    display: flex;
  }
  .so-navbar-container {
    padding: 0 16px 0 8px;
  }
}
@media (max-width: 767px) {
  .so-navbar {
    height: var(--so-navbar-height-mobile);
    left: 0 !important;
  }
  .so-navbar-container {
    padding: 0 8px;
  }
  .so-navbar-brand-text {
    font-size: 0.9375rem;
  }
  .so-navbar-center {
    display: none;
  }
  .so-navbar-right > .so-dropdown {
    display: none;
  }
  .so-navbar-right {
    margin-left: auto;
    gap: 4px;
  }
  .so-navbar-divider {
    display: none;
  }
  #keyboardShortcutsBtn {
    display: none;
  }
}
.so-navbar-mobile-search {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--so-navbar-height-mobile);
  background: var(--so-card-bg);
  padding: 0 8px;
  display: none;
  align-items: center;
  gap: 8px;
  z-index: 1050;
}
.so-navbar-mobile-search.so-active {
  display: flex;
}
.so-navbar-mobile-search .so-navbar-search {
  flex: 1;
  max-width: none;
}

.so-navbar-mobile-search-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  color: var(--so-navbar-icon-color);
}

.so-main-content {
  margin-left: var(--so-sidebar-width);
  padding-top: var(--so-navbar-height);
  min-height: 100vh;
  background: var(--so-page-bg);
  transition: margin-left 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-x: clip;
}
@media (max-width: 767px) {
  .so-main-content {
    margin-left: 0 !important;
    padding-top: var(--so-navbar-height-mobile);
    padding-bottom: var(--so-mobile-bottom-bar-height);
  }
}

body.sidebar-collapsed .so-main-content {
  margin-left: var(--so-sidebar-collapsed-width);
}

.so-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  background: var(--so-card-bg);
  border-bottom: 1px solid var(--so-border-color);
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .so-page-header {
    padding: 12px 16px;
    flex-direction: column;
    align-items: flex-start;
  }
}
.so-page-header:has(.so-breadcrumb-bar) {
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  gap: 0;
}
.so-page-header:has(.so-breadcrumb-bar) .so-page-header-left {
  padding: 16px 20px;
}
@media (max-width: 767px) {
  .so-page-header:has(.so-breadcrumb-bar) .so-page-header-left {
    padding: 12px 16px;
  }
}
.so-page-header:has(.so-breadcrumb-bar) > .so-flex.so-justify-between {
  padding: 16px 20px;
}
@media (max-width: 767px) {
  .so-page-header:has(.so-breadcrumb-bar) > .so-flex.so-justify-between {
    padding: 12px 16px;
  }
}

.so-page-header-left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.so-page-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .so-page-title {
    font-size: 1rem;
  }
}

.so-page-subtitle {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  margin: 0;
}

.so-page-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 767px) {
  .so-page-header-right {
    width: 100%;
    justify-content: flex-start;
  }
}

.so-breadcrumb-bar {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: var(--so-card-bg);
  border-bottom: 1px solid var(--so-border-color);
  font-size: 13px;
  font-weight: 400;
  gap: 0;
  margin: 0;
}
@media (max-width: 767px) {
  .so-breadcrumb-bar {
    padding: 8px 14px;
    font-size: 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.so-breadcrumb-bar-home {
  display: inline-flex;
  align-items: center;
  color: var(--so-text-muted);
  text-decoration: none;
  transition: color 0.1s ease;
}
.so-breadcrumb-bar-home:hover {
  color: var(--so-accent-primary);
}
.so-breadcrumb-bar-home .material-symbols-rounded {
  font-size: 16px;
  line-height: 1;
  display: block;
}
@media (max-width: 767px) {
  .so-breadcrumb-bar-home .material-symbols-rounded {
    font-size: 15px;
  }
}

.so-breadcrumb-bar-separator {
  color: var(--so-text-disabled, var(--so-text-muted));
  margin: 0 4px;
  display: inline-flex;
  align-items: center;
}
.so-breadcrumb-bar-separator .material-symbols-rounded {
  font-size: 14px;
  line-height: 1;
  display: block;
}
@media (max-width: 767px) {
  .so-breadcrumb-bar-separator {
    margin: 0 3px;
  }
  .so-breadcrumb-bar-separator .material-symbols-rounded {
    font-size: 13px;
  }
}

.so-breadcrumb-bar-item {
  color: var(--so-text-muted);
  text-decoration: none;
  transition: color 0.1s ease;
  white-space: nowrap;
}
.so-breadcrumb-bar-item:hover {
  color: var(--so-accent-primary);
}
.so-breadcrumb-bar-item.active {
  color: var(--so-accent-primary);
  font-weight: 500;
}

.so-page-header-card {
  background: var(--so-card-bg);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 16px;
  box-shadow: var(--so-shadow);
  border: 1px solid var(--so-card-border);
}

.so-page-header-card .so-breadcrumb {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  margin-bottom: 8px;
}

.so-page-header-card .so-breadcrumb-item {
  display: flex;
  align-items: center;
  color: var(--so-text-muted);
  text-decoration: none;
  transition: color 0.15s ease;
}
.so-page-header-card .so-breadcrumb-item:hover {
  color: var(--so-accent-primary);
  text-decoration: none;
}
.so-page-header-card .so-breadcrumb-item.active {
  color: var(--so-text-secondary);
  pointer-events: none;
}
.so-page-header-card .so-breadcrumb-item:not(:last-child)::after {
  content: none;
}

.so-page-header-card .so-breadcrumb-separator {
  color: var(--so-text-muted);
  display: flex;
  align-items: center;
}
.so-page-header-card .so-breadcrumb-separator .material-symbols-rounded {
  font-size: 14px;
}

.so-page-header-card .so-page-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.so-page-header-card .so-page-title {
  font-size: 22px;
  font-weight: 500;
  color: var(--so-text-heading);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.so-page-header-card .so-page-title-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--so-accent-primary);
  color: #ffffff;
}
.so-page-header-card .so-page-title-icon .material-symbols-rounded {
  font-size: 22px;
}

[data-theme=dark] .so-page-header-card .so-page-title-icon {
  background: var(--so-accent-primary);
}

.so-page-header-card .so-page-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.so-page-body {
  padding: 20px;
}
@media (max-width: 767px) {
  .so-page-body {
    padding: 16px;
  }
}

.so-page-footer {
  padding: 16px 20px;
  background: var(--so-card-bg);
  border-top: 1px solid var(--so-border-color);
}
@media (max-width: 767px) {
  .so-page-footer {
    padding: 12px 16px;
  }
}

.so-main-content:has(.so-page-footer) ~ .so-go-to-top-bottom-right, .so-main-content:has(.so-page-footer) ~ .so-go-to-top-bottom-left, .so-main-content:has(.so-page-footer) ~ .so-go-to-top-bottom-center {
  bottom: 73px;
}
.so-main-content:has(.so-page-footer) ~ .so-go-to-top-paired.so-go-to-top-bottom-right, .so-main-content:has(.so-page-footer) ~ .so-go-to-top-paired.so-go-to-top-bottom-left, .so-main-content:has(.so-page-footer) ~ .so-go-to-top-paired.so-go-to-top-bottom-center {
  bottom: 125px;
}
@media (max-width: 767px) {
  .so-main-content:has(.so-page-footer) ~ .so-go-to-top-bottom-right, .so-main-content:has(.so-page-footer) ~ .so-go-to-top-bottom-left, .so-main-content:has(.so-page-footer) ~ .so-go-to-top-bottom-center {
    bottom: 69px;
  }
  .so-main-content:has(.so-page-footer) ~ .so-go-to-top-paired.so-go-to-top-bottom-right, .so-main-content:has(.so-page-footer) ~ .so-go-to-top-paired.so-go-to-top-bottom-left, .so-main-content:has(.so-page-footer) ~ .so-go-to-top-paired.so-go-to-top-bottom-center {
    bottom: 117px;
  }
}

.so-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 16px;
}
@media (max-width: 767px) {
  .so-container {
    padding: 0 12px;
  }
}

.so-container-fluid {
  width: 100%;
  padding: 0 16px;
}
@media (max-width: 767px) {
  .so-container-fluid {
    padding: 0 12px;
  }
}

.so-container-narrow {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 16px;
}

.so-grid {
  display: grid;
  gap: 16px;
}
@media (max-width: 767px) {
  .so-grid {
    gap: 12px;
  }
}

.so-grid-auto {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.so-grid-cols-1 {
  grid-template-columns: repeat(1, 1fr);
}

.so-grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.so-grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.so-grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.so-grid-cols-5 {
  grid-template-columns: repeat(5, 1fr);
}

.so-grid-cols-6 {
  grid-template-columns: repeat(6, 1fr);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .so-grid-cols-md-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .so-grid-cols-md-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .so-grid-cols-md-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .so-grid-cols-sm-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .so-grid-cols-sm-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.so-flex {
  display: flex;
}

.so-flex-col {
  flex-direction: column;
}

.so-flex-wrap {
  flex-wrap: wrap;
}

.so-flex-1 {
  flex: 1;
}

.so-items-start {
  align-items: flex-start;
}

.so-items-center {
  align-items: center;
}

.so-items-end {
  align-items: flex-end;
}

.so-items-stretch {
  align-items: stretch;
}

.so-justify-start {
  justify-content: flex-start;
}

.so-justify-center {
  justify-content: center;
}

.so-justify-end {
  justify-content: flex-end;
}

.so-justify-between {
  justify-content: space-between;
}

.so-justify-around {
  justify-content: space-around;
}

.so-gap-1 {
  gap: 4px;
}

.so-gap-2 {
  gap: 8px;
}

.so-gap-3 {
  gap: 12px;
}

.so-gap-4 {
  gap: 16px;
}

.so-gap-5 {
  gap: 20px;
}

.so-gap-6 {
  gap: 24px;
}

.so-divider {
  height: 1px;
  background: var(--so-border-color);
  margin: 16px 0;
}

.so-divider-vertical {
  width: 1px;
  height: auto;
  background: var(--so-border-color);
  margin: 0 16px;
}

.so-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1150;
}
[data-theme=dark] .so-loading-overlay {
  background: rgba(37, 41, 60, 0.8);
}

.so-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  text-align: center;
}

.so-empty-state-icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--so-card-hover-bg);
  border-radius: 9999px;
  color: var(--so-text-muted);
  margin-bottom: 16px;
}
.so-empty-state-icon .material-symbols-rounded {
  font-size: 40px;
}

.so-empty-state-title {
  font-size: 1.2rem;
  font-weight: normal;
  color: var(--so-text-secondary);
  margin-bottom: 8px;
}

.so-empty-state-text {
  font-size: 0.875rem;
  color: var(--so-text-secondary);
  max-width: 400px;
  margin-bottom: 16px;
}

.so-scroll-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--so-accent-primary);
  color: #ffffff;
  border: none;
  border-radius: 9999px;
  box-shadow: var(--so-shadow-lg);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.2s ease;
  z-index: 1030;
}
.so-scroll-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.so-scroll-top:hover {
  background: var(--so-accent-primary-hover, #1557b0);
  transform: translateY(-2px);
}
.so-scroll-top .material-symbols-rounded {
  font-size: 24px;
}
@media (max-width: 767px) {
  .so-scroll-top {
    bottom: calc(var(--so-mobile-bottom-bar-height) + 16px);
    right: 16px;
  }
}

.so-dashboard {
  padding: 20px;
}
@media (max-width: 767px) {
  .so-dashboard {
    padding: 16px;
  }
}

.so-dashboard-welcome {
  margin-bottom: 24px;
}

.so-dashboard-welcome-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0 0 4px;
}

.so-dashboard-welcome-subtitle {
  font-size: 0.875rem;
  color: var(--so-text-secondary);
  margin: 0;
}

.so-dashboard-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-bottom: 24px;
}

.so-stat-card {
  display: flex;
  flex-direction: column;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: var(--so-shadow);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px;
}

.so-stat-card-content {
  flex: 1;
}

.so-stat-card-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-secondary);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.so-stat-card-value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--so-text-heading);
  margin-bottom: 8px;
  line-height: 1;
}

.so-stat-card-change {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8125rem;
  font-weight: 500;
}
.so-stat-card-change .material-symbols-rounded {
  font-size: 16px;
}
.so-stat-card-change.positive {
  color: var(--so-accent-success);
}
.so-stat-card-change.negative {
  color: var(--so-accent-danger);
}
.so-stat-card-change.neutral {
  color: var(--so-text-muted);
}

.so-stat-card-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  flex-shrink: 0;
}
.so-stat-card-icon .material-symbols-rounded {
  font-size: 24px;
  color: #ffffff;
}
.so-stat-card-icon.primary {
  background: var(--so-accent-primary);
}
.so-stat-card-icon.success {
  background: var(--so-accent-success);
}
.so-stat-card-icon.warning {
  background: var(--so-accent-warning);
}
.so-stat-card-icon.danger {
  background: var(--so-accent-danger);
}
.so-stat-card-icon.info {
  background: var(--so-accent-info);
}
.so-stat-card-icon.soft-primary {
  background: rgba(26, 115, 232, 0.15);
}
.so-stat-card-icon.soft-primary .material-symbols-rounded {
  color: var(--so-accent-primary);
}
.so-stat-card-icon.soft-success {
  background: rgba(52, 168, 83, 0.15);
}
.so-stat-card-icon.soft-success .material-symbols-rounded {
  color: var(--so-accent-success);
}
.so-stat-card-icon.soft-warning {
  background: rgba(255, 179, 0, 0.15);
}
.so-stat-card-icon.soft-warning .material-symbols-rounded {
  color: var(--so-warning-text-emphasis);
}
.so-stat-card-icon.soft-danger {
  background: rgba(234, 67, 53, 0.15);
}
.so-stat-card-icon.soft-danger .material-symbols-rounded {
  color: var(--so-accent-danger);
}

.so-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px;
  margin-bottom: 24px;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .so-dashboard-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (max-width: 767px) {
  .so-dashboard-grid {
    grid-template-columns: 1fr;
  }
}

.so-col-12 {
  grid-column: span 12;
}

.so-col-9 {
  grid-column: span 9;
}

.so-col-8 {
  grid-column: span 8;
}

.so-col-6 {
  grid-column: span 6;
}

.so-col-4 {
  grid-column: span 4;
}

.so-col-3 {
  grid-column: span 3;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .so-col-md-6 {
    grid-column: span 6;
  }
  .so-col-md-3 {
    grid-column: span 3;
  }
}
@media (max-width: 767px) {
  .so-col-sm-1 {
    grid-column: span 1;
  }
}
.so-widget {
  display: flex;
  flex-direction: column;
  background: var(--so-card-bg);
  border-radius: 8px;
  box-shadow: var(--so-shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.so-widget-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--so-border-color);
  gap: 12px;
}

.so-widget-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.so-widget-title .material-symbols-rounded {
  font-size: 20px;
  color: var(--so-accent-primary);
}

.so-widget-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.so-widget-body {
  flex: 1;
  padding: 16px 20px;
  overflow: auto;
}

.so-widget-footer {
  padding: 12px 20px;
  border-top: 1px solid var(--so-border-color);
  background: var(--so-card-hover-bg);
}

.so-activity-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.so-activity-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--so-border-color);
}
.so-activity-item:last-child {
  border-bottom: none;
}

.so-activity-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  flex-shrink: 0;
}
.so-activity-icon .material-symbols-rounded {
  font-size: 18px;
}
.so-activity-icon.blue {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
}
.so-activity-icon.green {
  background: rgba(52, 168, 83, 0.15);
  color: var(--so-accent-success);
}
.so-activity-icon.orange {
  background: rgba(255, 179, 0, 0.15);
  color: var(--so-warning-text-emphasis);
}
.so-activity-icon.red {
  background: rgba(234, 67, 53, 0.15);
  color: var(--so-accent-danger);
}

.so-activity-content {
  flex: 1;
  min-width: 0;
}

.so-activity-title {
  font-size: 0.875rem;
  color: var(--so-text-primary);
  margin-bottom: 4px;
}
.so-activity-title strong {
  font-weight: 500;
  color: var(--so-text-heading);
}

.so-activity-time {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-quick-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  gap: 12px;
}

.so-quick-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 8px;
  background: var(--so-card-hover-bg);
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  border: none;
}
.so-quick-action:hover {
  background: var(--so-accent-primary);
  color: #ffffff;
  text-decoration: none;
}
.so-quick-action:hover .so-quick-action-icon {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.so-quick-action:hover .so-quick-action-label {
  color: #ffffff;
}

.so-quick-action-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--so-card-bg);
  transition: all 0.2s ease;
}
.so-quick-action-icon .material-symbols-rounded {
  font-size: 20px;
}

.so-quick-action-label {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--so-text-primary);
  text-align: center;
  transition: color 0.2s ease;
}

.so-progress-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: var(--so-card-hover-bg);
  border-radius: 8px;
  margin-bottom: 12px;
}
.so-progress-card:last-child {
  margin-bottom: 0;
}

.so-progress-card-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  flex-shrink: 0;
}
.so-progress-card-icon .material-symbols-rounded {
  font-size: 22px;
  color: #ffffff;
}

.so-progress-card-content {
  flex: 1;
  min-width: 0;
}

.so-progress-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.so-progress-card-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-heading);
}

.so-progress-card-value {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--so-text-primary);
}

.so-progress-card-bar {
  height: 6px;
  background: var(--so-border-color);
  border-radius: 3px;
  overflow: hidden;
}

.so-progress-card-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.3s ease;
}

.so-chart-container {
  position: relative;
  width: 100%;
  min-height: 250px;
}

.so-chart-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 250px;
  background: var(--so-card-hover-bg);
  border-radius: 8px;
  color: var(--so-text-muted);
}
.so-chart-placeholder .material-symbols-rounded {
  font-size: 48px;
  margin-bottom: 12px;
}

.so-widget-table {
  width: 100%;
  border-collapse: collapse;
}
.so-widget-table th,
.so-widget-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--so-border-color);
}
.so-widget-table th {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--so-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--so-card-hover-bg);
}
.so-widget-table td {
  font-size: 0.8125rem;
  color: var(--so-text-primary);
}
.so-widget-table tbody tr:hover {
  background: var(--so-card-hover-bg);
}
.so-widget-table tbody tr:last-child td {
  border-bottom: none;
}

.so-notification-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.so-notification-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--so-border-color);
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-notification-item:last-child {
  border-bottom: none;
}
.so-notification-item:hover {
  background: var(--so-card-hover-bg);
  margin: 0 -20px;
  padding-left: 20px;
  padding-right: 20px;
}
.so-notification-item.unread .so-notification-title {
  font-weight: 600;
}

.so-notification-dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  flex-shrink: 0;
  margin-top: 6px;
}
.so-notification-dot.primary {
  background: var(--so-accent-primary);
}
.so-notification-dot.success {
  background: var(--so-accent-success);
}
.so-notification-dot.warning {
  background: var(--so-accent-warning);
}
.so-notification-dot.danger {
  background: var(--so-accent-danger);
}

.so-notification-content {
  flex: 1;
  min-width: 0;
}

.so-notification-title {
  font-size: 0.8125rem;
  color: var(--so-text-heading);
  margin-bottom: 4px;
}

.so-notification-text {
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
  margin-bottom: 4px;
}

.so-notification-time {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-timeline {
  position: relative;
  padding-left: 32px;
}
.so-timeline::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--so-border-color);
}

.so-timeline-item {
  position: relative;
  padding-bottom: 20px;
}
.so-timeline-item:last-child {
  padding-bottom: 0;
}

.so-timeline-dot {
  position: absolute;
  left: -32px;
  top: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: var(--so-card-bg);
  border: 2px solid var(--so-border-color);
  z-index: 1;
}
.so-timeline-dot .material-symbols-rounded {
  font-size: 14px;
}
.so-timeline-dot.primary {
  border-color: var(--so-accent-primary);
  color: var(--so-accent-primary);
}
.so-timeline-dot.success {
  border-color: var(--so-accent-success);
  color: var(--so-accent-success);
}
.so-timeline-dot.warning {
  border-color: var(--so-accent-warning);
  color: var(--so-warning-text-emphasis);
}

.so-timeline-content {
  background: var(--so-card-hover-bg);
  border-radius: 8px;
  padding: 12px 16px;
}

.so-timeline-title {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-text-heading);
  margin-bottom: 4px;
}

.so-timeline-text {
  font-size: 0.6875rem;
  color: var(--so-text-secondary);
}

.so-timeline-time {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin-top: 8px;
}

:root {
  --so-panel-bg: #ffffff;
  --so-panel-border: #e8eaed;
  --so-panel-shadow: 0 1px 3px 0 rgba(60, 64, 67, 0.15), 0 1px 2px 0 rgba(60, 64, 67, 0.1);
  --so-panel-header-bg: #f8f9fa;
  --so-panel-title-color: #202124;
  --so-panel-subtitle-color: #5f6368;
  --so-panel-input-bg: #ffffff;
  --so-panel-input-border: #dadce0;
  --so-panel-input-focus-border: #1a73e8;
  --so-panel-input-text: #202124;
  --so-panel-input-placeholder: #9aa0a6;
  --so-panel-btn-bg: #ffffff;
  --so-panel-btn-border: #dadce0;
  --so-panel-btn-text: #3c4043;
  --so-panel-btn-hover-bg: #f1f3f4;
  --so-panel-btn-active-bg: #e8f0fe;
  --so-panel-btn-active-text: #1a73e8;
  --so-panel-btn-active-border: #1a73e8;
  --so-panel-btn-primary-bg: #1a73e8;
  --so-panel-btn-primary-text: #ffffff;
  --so-panel-btn-primary-hover-bg: #1557b0;
  --so-panel-chip-bg: #e8eaed;
  --so-panel-chip-text: #3c4043;
  --so-panel-chip-active-bg: #e8f0fe;
  --so-panel-chip-active-text: #1a73e8;
  --so-panel-dropdown-bg: #ffffff;
  --so-panel-dropdown-border: #dadce0;
  --so-panel-dropdown-shadow: 0 4px 12px rgba(60, 64, 67, 0.15), 0 2px 4px rgba(60, 64, 67, 0.1);
  --so-panel-dropdown-item-hover: #f1f3f4;
  --so-panel-divider: #e8eaed;
  --so-panel-badge-bg: #ea4335;
  --so-panel-badge-text: #ffffff;
}

[data-theme=dark] {
  --so-panel-bg: #2f3349;
  --so-panel-border: #3b4056;
  --so-panel-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
  --so-panel-header-bg: #25293c;
  --so-panel-title-color: #e7e9f0;
  --so-panel-subtitle-color: #a3a8b8;
  --so-panel-input-bg: #25293c;
  --so-panel-input-border: #3b4056;
  --so-panel-input-focus-border: var(--so-accent-primary);
  --so-panel-input-text: #d0d4e4;
  --so-panel-input-placeholder: #6c7293;
  --so-panel-btn-bg: #2f3349;
  --so-panel-btn-border: #3b4056;
  --so-panel-btn-text: #d0d4e4;
  --so-panel-btn-hover-bg: #3b4056;
  --so-panel-btn-active-bg: rgba(115, 103, 240, 0.15);
  --so-panel-btn-active-text: var(--so-accent-primary);
  --so-panel-btn-active-border: var(--so-accent-primary);
  --so-panel-btn-primary-bg: var(--so-accent-primary);
  --so-panel-btn-primary-hover-bg: #9e95f5;
  --so-panel-chip-bg: #3b4056;
  --so-panel-chip-text: #d0d4e4;
  --so-panel-chip-active-bg: rgba(115, 103, 240, 0.15);
  --so-panel-chip-active-text: var(--so-accent-primary);
  --so-panel-dropdown-bg: #2f3349;
  --so-panel-dropdown-border: #3b4056;
  --so-panel-dropdown-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  --so-panel-dropdown-item-hover: #3b4056;
  --so-panel-divider: #3b4056;
  --so-panel-badge-bg: #ea5455;
}

.so-panel {
  background: var(--so-panel-bg);
  border: 1px solid var(--so-panel-border);
  border-radius: 8px;
  box-shadow: var(--so-panel-shadow);
  font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}

.so-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--so-panel-header-bg);
  border-bottom: 1px solid var(--so-panel-border);
  gap: 16px;
  flex-wrap: wrap;
}

.so-panel-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.so-panel-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.so-panel-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1a73e8 0%, #4285f4 100%);
  border-radius: 8px;
  color: #ffffff;
  flex-shrink: 0;
}
.so-panel-icon .material-symbols-rounded {
  font-size: 20px;
}
[data-theme=dark] .so-panel-icon {
  background: var(--so-accent-primary);
}

.so-panel-title {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--so-panel-title-color);
  margin: 0;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.so-panel-subtitle {
  font-size: 0.6875rem;
  color: var(--so-panel-subtitle-color);
  margin: 2px 0 0 0;
}

.so-panel-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  gap: 12px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--so-panel-divider);
}

.so-panel-toolbar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
}

.so-panel-toolbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.so-panel-date-range {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--so-panel-input-bg);
  border: 1px solid var(--so-panel-input-border);
  border-radius: 4px;
  padding: 6px 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}
.so-panel-date-range:hover {
  border-color: var(--so-panel-input-focus-border);
}
.so-panel-date-range:focus-within {
  border-color: var(--so-panel-input-focus-border);
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.1);
}
[data-theme=dark] .so-panel-date-range:focus-within {
  box-shadow: 0 0 0 2px rgba(115, 103, 240, 0.15);
}

.so-panel-date-range .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-panel-subtitle-color);
}
.so-panel-date-range.so-open .so-panel-date-range-arrow {
  transform: rotate(180deg);
}

.so-panel-date-range-text {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--so-panel-input-text);
  white-space: nowrap;
}

.so-panel-date-range-arrow {
  font-size: 18px !important;
  color: var(--so-panel-subtitle-color);
  transition: transform 0.2s ease;
}

.so-panel-date-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 280px;
  background: var(--so-panel-dropdown-bg);
  border: 1px solid var(--so-panel-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-panel-dropdown-shadow);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
}
.so-panel-date-range.so-open .so-panel-date-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-panel-date-presets {
  padding: 8px 0;
  border-bottom: 1px solid var(--so-panel-divider);
}

.so-panel-date-preset {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  font-size: 0.8125rem;
  color: var(--so-panel-btn-text);
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-panel-date-preset::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-panel-date-preset:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}
.so-panel-date-preset:hover {
  background: var(--so-panel-dropdown-item-hover);
}
.so-panel-date-preset.active {
  background: var(--so-panel-btn-active-bg);
  color: var(--so-panel-btn-active-text);
}
.so-panel-date-preset .material-symbols-rounded {
  font-size: 18px;
  margin-right: 12px;
  color: var(--so-panel-subtitle-color);
}
.so-panel-date-preset.active .material-symbols-rounded {
  color: var(--so-panel-btn-active-text);
}

.so-panel-date-custom {
  padding: 12px 16px;
}

.so-panel-date-custom-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-panel-subtitle-color);
  margin-bottom: 8px;
}

.so-panel-date-inputs {
  display: flex;
  gap: 8px;
  align-items: center;
}
.so-panel-date-inputs span {
  color: var(--so-panel-subtitle-color);
  font-size: 0.6875rem;
}

.so-panel-date-input {
  flex: 1;
  padding: 8px 10px;
  font-size: 0.8125rem;
  font-family: inherit;
  color: var(--so-panel-input-text);
  background: var(--so-panel-input-bg);
  border: 1px solid var(--so-panel-input-border);
  border-radius: 4px;
  outline: none;
  transition: border-color 0.15s ease;
}
.so-panel-date-input:focus {
  border-color: var(--so-panel-input-focus-border);
}

.so-panel-date-apply {
  margin-top: 12px;
  width: 100%;
  padding: 8px 16px;
  font-size: 0.8125rem;
  font-weight: 500;
  font-family: inherit;
  color: var(--so-panel-btn-primary-text);
  background: var(--so-panel-btn-primary-bg);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-panel-date-apply:hover {
  background: var(--so-panel-btn-primary-hover-bg);
}

.so-panel-filter {
  position: relative;
}

.so-panel-filter-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  font-family: inherit;
  color: var(--so-panel-btn-text);
  background: var(--so-panel-btn-bg);
  border: 1px solid var(--so-panel-btn-border);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.so-panel-filter-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-panel-filter-btn:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}
.so-panel-filter-btn:hover {
  background: var(--so-panel-btn-hover-bg);
}
.so-panel-filter-btn.active {
  background: var(--so-panel-btn-active-bg);
  color: var(--so-panel-btn-active-text);
  border-color: var(--so-panel-btn-active-border);
}
.so-panel-filter-btn .material-symbols-rounded {
  font-size: 18px;
}

.so-panel-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 600;
  color: var(--so-panel-badge-text);
  background: var(--so-panel-badge-bg);
  border-radius: 9px;
}
.so-panel-filter-btn.active .so-panel-filter-badge {
  background: var(--so-panel-btn-active-text);
  color: #ffffff;
}

.so-panel-filter-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 320px;
  max-width: 400px;
  background: var(--so-panel-dropdown-bg);
  border: 1px solid var(--so-panel-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-panel-dropdown-shadow);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
}
.so-panel-filter.so-open .so-panel-filter-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-panel-filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--so-panel-divider);
}

.so-panel-filter-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--so-panel-title-color);
}

.so-panel-filter-clear {
  font-size: 0.6875rem;
  color: var(--so-panel-btn-active-text);
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  padding: 0;
}
.so-panel-filter-clear:hover {
  text-decoration: underline;
}

.so-panel-filter-body {
  padding: 12px 16px;
  max-height: 300px;
  overflow-y: auto;
}

.so-panel-filter-group {
  margin-bottom: 16px;
}
.so-panel-filter-group:last-child {
  margin-bottom: 0;
}

.so-panel-filter-group-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-panel-subtitle-color);
  margin-bottom: 8px;
}

.so-panel-filter-select {
  width: 100%;
  padding: 8px 32px 8px 10px;
  font-size: 0.8125rem;
  font-family: inherit;
  color: var(--so-panel-input-text);
  background: var(--so-panel-input-bg);
  border: 1px solid var(--so-panel-input-border);
  border-radius: 4px;
  outline: none;
  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='%235f6368' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}
[data-theme=dark] .so-panel-filter-select {
  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='%23a3a8b8' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E");
}

.so-panel-filter-select:focus {
  border-color: var(--so-panel-input-focus-border);
}

.so-panel-filter-input {
  width: 100%;
  padding: 8px 10px;
  font-size: 0.8125rem;
  font-family: inherit;
  color: var(--so-panel-input-text);
  background: var(--so-panel-input-bg);
  border: 1px solid var(--so-panel-input-border);
  border-radius: 4px;
  outline: none;
}
.so-panel-filter-input:focus {
  border-color: var(--so-panel-input-focus-border);
}
.so-panel-filter-input::-moz-placeholder {
  color: var(--so-panel-input-placeholder);
}
.so-panel-filter-input::placeholder {
  color: var(--so-panel-input-placeholder);
}

.so-panel-filter-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--so-panel-divider);
  background: var(--so-panel-header-bg);
}

.so-panel-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  font-family: inherit;
  color: var(--so-panel-btn-text);
  background: var(--so-panel-btn-bg);
  border: 1px solid var(--so-panel-btn-border);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.so-panel-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-panel-btn:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}
.so-panel-btn:hover {
  background: var(--so-panel-btn-hover-bg);
}
.so-panel-btn:active {
  background: var(--so-panel-btn-active-bg);
}
.so-panel-btn .material-symbols-rounded {
  font-size: 18px;
}

.so-panel-btn-primary {
  color: var(--so-panel-btn-primary-text);
  background: var(--so-panel-btn-primary-bg);
  border-color: var(--so-panel-btn-primary-bg);
}
.so-panel-btn-primary:hover {
  background: var(--so-panel-btn-primary-hover-bg);
  border-color: var(--so-panel-btn-primary-hover-bg);
}

.so-panel-btn-icon {
  padding: 6px;
  min-width: 32px;
}
.so-panel-btn-icon .material-symbols-rounded {
  font-size: 20px;
}

.so-panel-btn-group {
  display: inline-flex;
  border-radius: 4px;
  overflow: hidden;
}
.so-panel-btn-group .so-panel-btn {
  border-radius: 0;
  margin-left: -1px;
}
.so-panel-btn-group .so-panel-btn:first-child {
  border-radius: 4px 0 0 4px;
  margin-left: 0;
}
.so-panel-btn-group .so-panel-btn:last-child {
  border-radius: 0 4px 4px 0;
}
.so-panel-btn-group .so-panel-btn:only-child {
  border-radius: 4px;
}
.so-panel-btn-group .so-panel-btn.active {
  background: var(--so-panel-btn-active-bg);
  color: var(--so-panel-btn-active-text);
  border-color: var(--so-panel-btn-active-border);
  z-index: 1;
}

.so-panel-export {
  display: flex;
  align-items: center;
  gap: 4px;
}

.so-panel-export-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 10px;
  font-size: 0.6875rem;
  font-weight: 500;
  font-family: inherit;
  color: var(--so-panel-btn-text);
  background: var(--so-panel-btn-bg);
  border: 1px solid var(--so-panel-btn-border);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.so-panel-export-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-panel-export-btn:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}
.so-panel-export-btn:first-child {
  border-radius: 4px 0 0 4px;
}
.so-panel-export-btn:last-child {
  border-radius: 0 4px 4px 0;
}
.so-panel-export-btn:only-child {
  border-radius: 4px;
}
.so-panel-export-btn:not(:first-child) {
  margin-left: -1px;
}
.so-panel-export-btn:hover {
  background: var(--so-panel-btn-hover-bg);
  z-index: 1;
}
.so-panel-export-btn .material-symbols-rounded {
  font-size: 16px;
}
.so-panel-export-btn.copy:hover {
  background: #e8f0fe;
  color: #1a73e8;
  border-color: #1a73e8;
}
.so-panel-export-btn.excel:hover {
  background: #e6f4ea;
  color: #34a853;
  border-color: #34a853;
}
.so-panel-export-btn.pdf:hover {
  background: #fce8e6;
  color: #ea4335;
  border-color: #ea4335;
}
.so-panel-export-btn.csv:hover {
  background: #fff8e1;
  color: var(--so-warning-text-emphasis);
  border-color: #ffb300;
}
.so-panel-export-btn.print:hover {
  background: #f3e8fd;
  color: #9c27b0;
  border-color: #9c27b0;
}
[data-theme=dark] .so-panel-export-btn.copy:hover {
  background: rgba(var(--so-accent-primary-rgb), 0.15);
  color: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
}
[data-theme=dark] .so-panel-export-btn.excel:hover {
  background: rgba(40, 199, 111, 0.15);
  color: #28c76f;
  border-color: #28c76f;
}
[data-theme=dark] .so-panel-export-btn.pdf:hover {
  background: rgba(234, 84, 85, 0.15);
  color: #ea5455;
  border-color: #ea5455;
}
[data-theme=dark] .so-panel-export-btn.csv:hover {
  background: rgba(255, 159, 67, 0.15);
  color: #ff9f43;
  border-color: #ff9f43;
}
[data-theme=dark] .so-panel-export-btn.print:hover {
  background: rgba(168, 85, 247, 0.15);
  color: #a855f7;
  border-color: #a855f7;
}

.so-panel-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: var(--so-panel-input-bg);
  border: 1px solid var(--so-panel-input-border);
  border-radius: 4px;
  min-width: 200px;
  transition: all 0.15s ease;
}
.so-panel-search:focus-within {
  border-color: var(--so-panel-input-focus-border);
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.1);
}
[data-theme=dark] .so-panel-search:focus-within {
  box-shadow: 0 0 0 2px rgba(115, 103, 240, 0.15);
}

.so-panel-search .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-panel-subtitle-color);
}

.so-panel-search-input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 0.8125rem;
  font-family: inherit;
  color: var(--so-panel-input-text);
  background: transparent;
}
.so-panel-search-input::-moz-placeholder {
  color: var(--so-panel-input-placeholder);
}
.so-panel-search-input::placeholder {
  color: var(--so-panel-input-placeholder);
}

.so-panel-chips {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 8px 16px;
  border-bottom: 1px solid var(--so-panel-divider);
}

.so-panel-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px 4px 12px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--so-panel-chip-text);
  background: var(--so-panel-chip-bg);
  border-radius: 9999px;
  transition: all 0.15s ease;
}

.so-panel-chip-label {
  color: var(--so-panel-subtitle-color);
  font-weight: 400;
}

.so-panel-chip-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 9999px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s ease;
  padding: 0;
}
.so-panel-chip-remove:hover {
  background: rgba(0, 0, 0, 0.1);
}
[data-theme=dark] .so-panel-chip-remove:hover {
  background: rgba(255, 255, 255, 0.1);
}

.so-panel-chip-remove .material-symbols-rounded {
  font-size: 14px;
  color: var(--so-panel-subtitle-color);
}

.so-panel-chips-clear {
  font-size: 0.6875rem;
  color: var(--so-panel-btn-active-text);
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  padding: 4px 8px;
}
.so-panel-chips-clear:hover {
  text-decoration: underline;
}

.so-panel-body {
  padding: 16px;
}
.so-panel-body:has(.tabulator) {
  padding: 0;
}
.so-panel-body .tabulator {
  border: none;
  border-radius: 0;
}
.so-panel-body .dt-header {
  border-top: none;
  border-radius: 0;
}

.so-panel-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--so-panel-header-bg);
  border-top: 1px solid var(--so-panel-border);
  font-size: 0.8125rem;
  color: var(--so-panel-subtitle-color);
}

.so-panel-footer-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.so-panel-footer-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.so-panel-footer-stat {
  display: flex;
  align-items: center;
  gap: 8px;
}

.so-panel-footer-stat-label {
  color: var(--so-panel-subtitle-color);
}

.so-panel-footer-stat-value {
  font-weight: 600;
  color: var(--so-panel-title-color);
}

.so-panel-divider {
  width: 1px;
  height: 24px;
  background: var(--so-panel-divider);
  margin: 0 4px;
}

.so-panel-divider-horizontal {
  width: 100%;
  height: 1px;
  background: var(--so-panel-divider);
  margin: 8px 0;
}

.so-panel-entries {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--so-panel-subtitle-color);
}

.so-panel-entries-select {
  padding: 5px 28px 5px 8px;
  font-size: 0.8125rem;
  font-family: inherit;
  color: var(--so-panel-input-text);
  background: var(--so-panel-input-bg);
  border: 1px solid var(--so-panel-input-border);
  border-radius: 4px;
  outline: none;
  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='%235f6368' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}
[data-theme=dark] .so-panel-entries-select {
  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='%23a3a8b8' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E");
}

.so-panel-entries-select:focus {
  border-color: var(--so-panel-input-focus-border);
}

.so-panel-columns {
  position: relative;
}

.so-panel-columns-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 220px;
  max-height: 320px;
  background: var(--so-panel-dropdown-bg);
  border: 1px solid var(--so-panel-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-panel-dropdown-shadow);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.so-panel-columns.so-open .so-panel-columns-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-panel-columns-header {
  padding: 10px 12px;
  border-bottom: 1px solid var(--so-panel-divider);
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--so-panel-subtitle-color);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.so-panel-columns-list {
  flex: 1;
  overflow-y: auto;
  padding: 4px 0;
}

.so-panel-columns-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  font-size: 0.8125rem;
  color: var(--so-panel-btn-text);
  cursor: pointer;
  transition: background 0.15s ease;
}
.so-panel-columns-item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-panel-columns-item:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}
.so-panel-columns-item:hover {
  background: var(--so-panel-dropdown-item-hover);
}
.so-panel-columns-item input[type=checkbox] {
  width: 16px;
  height: 16px;
  accent-color: var(--so-panel-btn-active-text);
}

.so-panel-info {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 16px;
  background: var(--so-panel-header-bg);
  border-bottom: 1px solid var(--so-panel-border);
  flex-wrap: wrap;
}

.so-panel-info-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
}

.so-panel-info-label {
  color: var(--so-panel-subtitle-color);
  font-weight: 400;
}

.so-panel-info-value {
  color: var(--so-panel-title-color);
  font-weight: 500;
}
.so-panel-info-value.positive {
  color: #34a853;
}
[data-theme=dark] .so-panel-info-value.positive {
  color: #28c76f;
}

.so-panel-info-value.negative {
  color: #ea4335;
}
[data-theme=dark] .so-panel-info-value.negative {
  color: #ea5455;
}

.so-panel-info-value.highlight {
  color: #1a73e8;
  font-weight: 600;
}
[data-theme=dark] .so-panel-info-value.highlight {
  color: var(--so-accent-primary);
}

.so-panel-info-divider {
  width: 1px;
  height: 20px;
  background: var(--so-panel-divider);
}

.so-panel-options {
  position: relative;
}

.so-panel-options-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  font-family: inherit;
  color: var(--so-panel-btn-text);
  background: var(--so-panel-btn-bg);
  border: 1px solid var(--so-panel-btn-border);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.so-panel-options-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-panel-options-btn:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}
.so-panel-options-btn:hover {
  background: var(--so-panel-btn-hover-bg);
}
.so-panel-options-btn .material-symbols-rounded {
  font-size: 18px;
}
.so-panel-options-btn .so-panel-options-arrow {
  transition: transform 0.2s ease;
}
.so-panel-options.so-open .so-panel-options-btn .so-panel-options-arrow {
  transform: rotate(180deg);
}

.so-panel-options-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 200px;
  background: var(--so-panel-dropdown-bg);
  border: 1px solid var(--so-panel-dropdown-border);
  border-radius: 8px;
  box-shadow: var(--so-panel-dropdown-shadow);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s ease;
  overflow: hidden;
}
.so-panel-options.so-open .so-panel-options-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.so-panel-options-header {
  padding: 10px 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--so-panel-subtitle-color);
  border-bottom: 1px solid var(--so-panel-divider);
}

.so-panel-options-list {
  padding: 4px 0;
}

.so-panel-options-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  font-size: 0.8125rem;
  color: var(--so-panel-btn-text);
  cursor: pointer;
  transition: background 0.15s ease;
  text-decoration: none;
}
.so-panel-options-item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}
.so-panel-options-item:active::after {
  width: 200%;
  height: 200%;
  opacity: 1;
  transition: width 0s, height 0s, opacity 0s;
}
.so-panel-options-item:hover {
  background: var(--so-panel-dropdown-item-hover);
  text-decoration: none;
}
.so-panel-options-item:hover .material-symbols-rounded {
  color: var(--so-panel-btn-active-text);
}
.so-panel-options-item .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-panel-subtitle-color);
}

.so-panel-options-divider {
  height: 1px;
  background: var(--so-panel-divider);
  margin: 4px 0;
}

@media (max-width: 767px) {
  .so-panel-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .so-panel-toolbar-left,
  .so-panel-toolbar-right {
    justify-content: flex-start;
  }
  .so-panel-date-range {
    flex: 1;
  }
  .so-panel-search {
    min-width: 100%;
  }
  .so-panel-export {
    flex-wrap: wrap;
  }
  .so-panel-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .so-panel-header-right {
    width: 100%;
    justify-content: flex-end;
  }
}
.so-lms-header-panel {
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: var(--so-shadow);
  padding: 20px;
  margin-bottom: 16px;
}

.so-lms-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.so-lms-page-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--so-text-heading);
  margin: 0;
}
.so-lms-page-title .material-symbols-rounded {
  font-size: 28px;
  color: var(--so-accent-primary);
}

.so-lms-header-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.so-lms-header-divider {
  height: 1px;
  background: var(--so-border-color);
  margin: 16px 0;
  display: none;
}

.so-lms-search-bar {
  display: flex;
  gap: 12px;
  margin-bottom: 0;
  align-items: center;
  flex-wrap: wrap;
}

.so-lms-search-wrapper {
  flex: 1;
  min-width: 180px;
  max-width: 300px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: transparent;
  border: 1px solid #dadce0;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.so-lms-search-wrapper:hover {
  border-color: #bdc1c6;
  background: #f8f9fa;
}
.so-lms-search-wrapper:focus-within {
  border-color: var(--so-accent-primary);
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.1);
}
[data-theme=dark] .so-lms-search-wrapper {
  border-color: #80868b;
}
[data-theme=dark] .so-lms-search-wrapper:hover {
  border-color: #9aa0a6;
  background: #3c4043;
}
[data-theme=dark] .so-lms-search-wrapper:focus-within {
  box-shadow: 0 0 0 2px rgba(115, 103, 240, 0.15);
}

.so-lms-search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  color: #202124;
  font-size: 0.8125rem;
  font-weight: 500;
  font-family: inherit;
  min-width: 0;
}
.so-lms-search-input::-moz-placeholder {
  color: var(--so-text-muted);
}
.so-lms-search-input::placeholder {
  color: var(--so-text-muted);
}

.so-lms-search-icon {
  color: #80868b;
  font-size: 18px;
  flex-shrink: 0;
}

.so-lms-search-clear {
  width: 22px;
  height: 22px;
  border: none;
  background: transparent;
  color: var(--so-text-muted);
  cursor: pointer;
  border-radius: 9999px;
  display: none;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.so-lms-search-clear:hover {
  background: var(--so-card-hover-bg);
  color: var(--so-text-primary);
}
.so-lms-search-clear.visible {
  display: flex;
}
.so-lms-search-clear .material-symbols-rounded {
  font-size: 18px;
}

.so-lms-search-stats {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
  white-space: nowrap;
}
.so-lms-search-stats strong {
  color: var(--so-text-primary);
  font-weight: 600;
}

.so-lms-highlight {
  background: rgba(249, 171, 0, 0.3);
  padding: 0 2px;
  border-radius: 2px;
}
[data-theme=dark] .so-lms-highlight {
  background: rgba(255, 179, 0, 0.3);
}

.so-lms-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.so-lms-filter-dropdown {
  position: relative;
}

.so-lms-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #dadce0;
  border-radius: 6px;
  background: transparent;
  color: #202124;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
  min-width: 140px;
  justify-content: space-between;
}
.so-lms-filter-btn:hover {
  border-color: #bdc1c6;
  background: #f8f9fa;
}
[data-theme=dark] .so-lms-filter-btn {
  border-color: #80868b;
}
[data-theme=dark] .so-lms-filter-btn:hover {
  border-color: #9aa0a6;
  background: #3c4043;
}

.so-lms-filter-btn .material-symbols-rounded {
  font-size: 18px;
  color: #80868b;
}
.so-lms-filter-btn .filter-icon {
  color: var(--so-text-secondary);
}

.so-lms-filter-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 1000;
  display: none;
  overflow: hidden;
  padding: 6px 0;
}
[data-theme=dark] .so-lms-filter-menu {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.so-lms-filter-menu.so-open {
  display: block;
}

.so-lms-filter-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.15s ease;
  font-size: 0.875rem;
  color: var(--so-text-primary);
  font-weight: 400;
}
.so-lms-filter-option:hover {
  background: var(--so-card-hover-bg);
}
.so-lms-filter-option.active {
  background: rgba(26, 115, 232, 0.08);
  color: var(--so-accent-primary);
  font-weight: 500;
}
[data-theme=dark] .so-lms-filter-option.active {
  background: rgba(115, 103, 240, 0.15);
}

.so-lms-filter-option.active .material-symbols-rounded {
  color: var(--so-accent-primary);
}
.so-lms-filter-option .material-symbols-rounded {
  font-size: 20px;
  color: var(--so-text-secondary);
}
.so-lms-filter-option .filter-badge {
  margin-left: auto;
  font-size: 0.6875rem;
  padding: 2px 8px;
  border-radius: 10px;
  background: var(--so-card-hover-bg);
  color: var(--so-text-secondary);
  font-weight: 500;
}
.so-lms-filter-option.active .filter-badge {
  background: var(--so-accent-primary);
  color: #ffffff;
}

.so-lms-view-toggle {
  display: flex;
  border: 1px solid #dadce0;
  border-radius: 6px;
  overflow: hidden;
}
[data-theme=dark] .so-lms-view-toggle {
  border-color: #80868b;
}

.so-lms-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: #80868b;
  cursor: pointer;
  transition: all 0.15s ease;
}
.so-lms-view-btn:not(:last-child) {
  border-right: 1px solid #dadce0;
}
[data-theme=dark] .so-lms-view-btn:not(:last-child) {
  border-right-color: #80868b;
}

.so-lms-view-btn:hover {
  background: #f8f9fa;
  color: #202124;
}
[data-theme=dark] .so-lms-view-btn:hover {
  background: #3c4043;
  color: #e8eaed;
}

.so-lms-view-btn.active {
  background: var(--so-accent-primary);
  color: #ffffff;
}
.so-lms-view-btn .material-symbols-rounded {
  font-size: 16px;
}

.so-lms-category-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.so-lms-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid var(--so-border-color);
  border-radius: 9999px;
  background: var(--so-card-bg);
  color: var(--so-text-secondary);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.so-lms-tab:hover {
  background: var(--so-card-hover-bg);
  border-color: var(--so-accent-primary);
  color: var(--so-accent-primary);
}
.so-lms-tab.active {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  color: #ffffff;
}
.so-lms-tab .material-symbols-rounded {
  font-size: 18px;
}
.so-lms-tab .so-badge {
  margin-left: 4px;
  padding: 2px 8px;
  font-size: 11px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
}
.so-lms-tab:not(.active) .so-badge {
  background: var(--so-card-hover-bg);
  color: var(--so-text-muted);
}

.so-lms-course-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}
.so-lms-course-grid.list-view {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.so-lms-course-grid.list-view .so-lms-course-card {
  display: flex;
  flex-direction: row;
  border-radius: 8px;
}
.so-lms-course-grid.list-view .so-lms-course-thumbnail {
  width: 180px;
  min-width: 180px;
  height: auto;
  aspect-ratio: 16/9;
}
.so-lms-course-grid.list-view .so-lms-course-thumbnail img {
  height: 100%;
}
.so-lms-course-grid.list-view .so-lms-thumbnail-overlay {
  padding: 8px;
}
.so-lms-course-grid.list-view .so-lms-thumbnail-stats {
  gap: 8px;
  font-size: 10px;
}
.so-lms-course-grid.list-view .so-lms-thumbnail-stats span {
  gap: 3px;
}
.so-lms-course-grid.list-view .so-lms-thumbnail-stats .material-symbols-rounded {
  font-size: 12px;
}
.so-lms-course-grid.list-view .so-lms-course-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 14px 16px;
}
.so-lms-course-grid.list-view .so-lms-course-header {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.so-lms-course-grid.list-view .so-lms-course-title {
  font-size: 0.9375rem;
  margin-bottom: 0;
}
.so-lms-course-grid.list-view .so-lms-category-badge {
  margin-top: 0;
}
.so-lms-course-grid.list-view .so-lms-course-description {
  font-size: 0.8125rem;
  -webkit-line-clamp: 1;
  margin-bottom: 8px;
}
.so-lms-course-grid.list-view .so-lms-course-footer {
  margin-top: auto;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}
.so-lms-course-grid.list-view .so-lms-progress-wrapper {
  flex: 1;
  max-width: 200px;
}
@media (max-width: 767px) {
  .so-lms-course-grid.list-view .so-lms-course-card {
    flex-direction: column;
  }
  .so-lms-course-grid.list-view .so-lms-course-thumbnail {
    width: 100%;
    min-width: auto;
  }
  .so-lms-course-grid.list-view .so-lms-course-footer {
    flex-direction: column;
    align-items: flex-start;
  }
  .so-lms-course-grid.list-view .so-lms-progress-wrapper {
    max-width: none;
    width: 100%;
  }
}

.so-lms-course-card {
  background: var(--so-card-bg);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--so-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}
.so-lms-course-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--so-shadow-lg);
}
.so-lms-course-card:hover .so-lms-course-thumbnail img {
  transform: scale(1.05);
}

.so-lms-course-thumbnail {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.so-lms-course-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}

.so-lms-thumbnail-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 50%);
  display: flex;
  align-items: flex-end;
  padding: 12px;
}

.so-lms-thumbnail-stats {
  display: flex;
  gap: 12px;
  color: #ffffff;
  font-size: 0.6875rem;
}
.so-lms-thumbnail-stats span {
  display: flex;
  align-items: center;
  gap: 4px;
}
.so-lms-thumbnail-stats .material-symbols-rounded {
  font-size: 16px;
}

.so-lms-course-content {
  padding: 16px;
}

.so-lms-course-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.so-lms-course-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.so-lms-category-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 500;
  flex-shrink: 0;
}
.so-lms-category-badge .material-symbols-rounded {
  font-size: 14px;
}

.so-lms-course-description {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 16px;
}

.so-lms-course-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.so-lms-progress-wrapper {
  flex: 1;
}

.so-lms-progress-bar {
  height: 6px;
  background: var(--so-border-color);
  border-radius: 3px;
  overflow: hidden;
}

.so-lms-progress-fill {
  height: 100%;
  background: var(--so-accent-primary);
  border-radius: 3px;
  transition: width 0.3s ease;
}

.so-lms-progress-text {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin-top: 4px;
}

.so-lms-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 500;
  flex-shrink: 0;
}
.so-lms-status-badge.not-started {
  background: rgba(158, 158, 158, 0.15);
  color: #9e9e9e;
}
.so-lms-status-badge.in-progress {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
}
.so-lms-status-badge.completed {
  background: rgba(52, 168, 83, 0.15);
  color: var(--so-accent-success);
}

.so-lms-course-detail {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
}
@media (max-width: 1024px) {
  .so-lms-course-detail {
    grid-template-columns: 1fr;
  }
}

.so-lms-course-main {
  background: var(--so-card-bg);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--so-shadow);
}

.so-lms-course-banner {
  position: relative;
  aspect-ratio: 21/9;
  overflow: hidden;
}
.so-lms-course-banner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.so-lms-course-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 60%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
}

.so-lms-course-banner-title {
  font-size: 28px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 8px;
}

.so-lms-course-banner-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
}
.so-lms-course-banner-meta span {
  display: flex;
  align-items: center;
  gap: 4px;
}
.so-lms-course-banner-meta .material-symbols-rounded {
  font-size: 18px;
}

.so-lms-course-info {
  padding: 24px;
}
.so-lms-course-info h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 12px;
}
.so-lms-course-info p {
  font-size: 0.875rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
}

.so-lms-lesson-sidebar {
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: var(--so-shadow);
  overflow: hidden;
}

.so-lms-lesson-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--so-border-color);
}
.so-lms-lesson-header h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 4px;
}

.so-lms-lesson-progress {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
}

.so-lms-lesson-list {
  max-height: 500px;
  overflow-y: auto;
}

.so-lms-lesson-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--so-border-color);
  cursor: pointer;
  transition: background 0.2s ease;
}
.so-lms-lesson-item:last-child {
  border-bottom: none;
}
.so-lms-lesson-item:hover {
  background: var(--so-card-hover-bg);
}
.so-lms-lesson-item.active {
  background: rgba(26, 115, 232, 0.08);
}
[data-theme=dark] .so-lms-lesson-item.active {
  background: rgba(115, 103, 240, 0.15);
}

.so-lms-lesson-icon {
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
}
.so-lms-lesson-icon.video {
  background: rgba(26, 115, 232, 0.15);
  color: var(--so-accent-primary);
}
.so-lms-lesson-icon.task {
  background: rgba(255, 179, 0, 0.15);
  color: var(--so-warning-text-emphasis);
}
.so-lms-lesson-icon.completed {
  background: rgba(52, 168, 83, 0.15);
  color: var(--so-accent-success);
}

.so-lms-lesson-info {
  flex: 1;
  min-width: 0;
}

.so-lms-lesson-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--so-text-primary);
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.so-lms-lesson-meta {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-lms-lesson-actions {
  padding: 16px 20px;
  border-top: 1px solid var(--so-border-color);
}

.so-lms-player-container {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
}
@media (max-width: 1024px) {
  .so-lms-player-container {
    grid-template-columns: 1fr;
  }
}

.so-lms-player-main {
  background: var(--so-card-bg);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--so-shadow);
}

.so-lms-video-wrapper {
  position: relative;
  aspect-ratio: 16/9;
  background: #000;
}
.so-lms-video-wrapper iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  border: none;
}

.so-lms-player-info {
  padding: 20px;
}

.so-lms-player-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 8px;
}

.so-lms-player-description {
  font-size: 0.875rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
  margin-bottom: 20px;
}

.so-lms-player-nav {
  display: flex;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--so-border-color);
}

.so-lms-task-panel {
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: var(--so-shadow);
  overflow: hidden;
}

.so-lms-task-header {
  padding: 20px;
  border-bottom: 1px solid var(--so-border-color);
}
.so-lms-task-header h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 8px;
}
.so-lms-task-header h2 .material-symbols-rounded {
  color: var(--so-warning-text-emphasis);
}
.so-lms-task-header p {
  font-size: 0.875rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
}

.so-lms-task-body {
  padding: 20px;
}

.so-lms-task-steps {
  list-style: none;
}

.so-lms-task-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--so-border-color);
}
.so-lms-task-step:last-child {
  border-bottom: none;
}
.so-lms-task-step .so-checkbox {
  margin-top: 2px;
}
.so-lms-task-step.completed .so-lms-task-step-text {
  color: var(--so-text-muted);
  text-decoration: line-through;
}

.so-lms-task-step-text {
  font-size: 0.875rem;
  color: var(--so-text-primary);
  line-height: 1.5;
}

.so-lms-task-footer {
  padding: 16px 20px;
  border-top: 1px solid var(--so-border-color);
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.so-lms-quiz-overlay {
  position: fixed;
  inset: 0;
  background: var(--so-page-bg);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.so-lms-quiz-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: var(--so-card-bg);
  border-bottom: 1px solid var(--so-border-color);
  box-shadow: var(--so-shadow);
}

.so-lms-quiz-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
}

.so-lms-quiz-timer {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-primary);
}
.so-lms-quiz-timer .material-symbols-rounded {
  font-size: 20px;
  color: var(--so-warning-text-emphasis);
}
.so-lms-quiz-timer.warning {
  color: var(--so-accent-danger);
}
.so-lms-quiz-timer.warning .material-symbols-rounded {
  color: var(--so-accent-danger);
  animation: so-lms-pulse 1s infinite;
}

@keyframes so-lms-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.so-lms-quiz-progress {
  padding: 12px 24px;
  background: var(--so-card-bg);
  border-bottom: 1px solid var(--so-border-color);
}

.so-lms-quiz-progress-bar {
  height: 4px;
  background: var(--so-border-color);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 8px;
}

.so-lms-quiz-progress-fill {
  height: 100%;
  background: var(--so-accent-primary);
  border-radius: 2px;
  transition: width 0.3s ease;
}

.so-lms-quiz-progress-text {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
  text-align: center;
}

.so-lms-quiz-body {
  flex: 1;
  overflow-y: auto;
  padding: 32px 24px;
  display: flex;
  justify-content: center;
}

.so-lms-quiz-content {
  width: 100%;
  max-width: 720px;
}

.so-lms-question {
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: var(--so-shadow);
  padding: 24px;
}

.so-lms-question-number {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--so-accent-primary);
  text-transform: uppercase;
  margin-bottom: 12px;
}

.so-lms-question-text {
  font-size: 1rem;
  font-weight: 500;
  color: var(--so-text-heading);
  line-height: 1.5;
  margin-bottom: 24px;
}

.so-lms-question-hint {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
  font-style: italic;
  margin-bottom: 16px;
}

.so-lms-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.so-lms-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: var(--so-card-hover-bg);
  border: 2px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.so-lms-option:hover {
  border-color: var(--so-accent-primary);
}
.so-lms-option.selected {
  border-color: var(--so-accent-primary);
  background: rgba(26, 115, 232, 0.08);
}
[data-theme=dark] .so-lms-option.selected {
  background: rgba(115, 103, 240, 0.15);
}

.so-lms-option-text {
  font-size: 0.9375rem;
  color: var(--so-text-primary);
}

.so-lms-quiz-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: var(--so-card-bg);
  border-top: 1px solid var(--so-border-color);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
}

.so-lms-quiz-dots {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1;
  padding: 0 24px;
}

.so-lms-quiz-dot {
  width: 12px;
  height: 12px;
  border-radius: 9999px;
  background: var(--so-border-color);
  cursor: pointer;
  transition: all 0.2s ease;
}
.so-lms-quiz-dot.answered {
  background: var(--so-accent-primary);
}
.so-lms-quiz-dot.current {
  transform: scale(1.3);
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.3);
}

.so-lms-quiz-result {
  text-align: center;
  padding: 40px;
}

.so-lms-result-icon {
  width: 100px;
  height: 100px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
}
.so-lms-result-icon .material-symbols-rounded {
  font-size: 56px;
}
.so-lms-result-icon.passed {
  background: rgba(52, 168, 83, 0.15);
  color: var(--so-accent-success);
}
.so-lms-result-icon.failed {
  background: rgba(234, 67, 53, 0.15);
  color: var(--so-accent-danger);
}

.so-lms-result-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--so-text-heading);
  margin-bottom: 8px;
}

.so-lms-result-subtitle {
  font-size: 1rem;
  color: var(--so-text-secondary);
  margin-bottom: 32px;
}

.so-lms-result-score {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-bottom: 32px;
}

.so-lms-result-stat {
  text-align: center;
}

.so-lms-result-stat-value {
  font-size: 36px;
  font-weight: 700;
  color: var(--so-text-heading);
}

.so-lms-result-stat-label {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
}

.so-lms-result-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.so-lms-report-card {
  max-width: 1200px;
  margin: 0 auto;
}

.so-lms-report-header {
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: var(--so-shadow);
  padding: 24px;
  margin-bottom: 24px;
}

.so-lms-report-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--so-text-heading);
  margin-bottom: 24px;
}
.so-lms-report-title .material-symbols-rounded {
  color: var(--so-accent-primary);
}

.so-lms-report-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
}

.so-lms-report-stat {
  text-align: center;
  padding: 16px;
  background: var(--so-card-hover-bg);
  border-radius: 8px;
}

.so-lms-report-stat-value {
  font-size: 32px;
  font-weight: 700;
  color: var(--so-text-heading);
  margin-bottom: 4px;
}

.so-lms-report-stat-label {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
}

.so-lms-report-categories {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 24px;
}

.so-lms-report-category {
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: var(--so-shadow);
  overflow: hidden;
}

.so-lms-report-category-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border-bottom: 1px solid var(--so-border-color);
}

.so-lms-report-category-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.so-lms-report-category-icon .material-symbols-rounded {
  font-size: 24px;
  color: #ffffff;
}

.so-lms-report-category-info {
  flex: 1;
}

.so-lms-report-category-name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
}

.so-lms-report-category-courses {
  font-size: 0.8125rem;
  color: var(--so-text-muted);
}

.so-lms-report-grade {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: #ffffff;
}
.so-lms-report-grade.grade-a {
  background: #34a853;
}
.so-lms-report-grade.grade-b {
  background: #1a73e8;
}
.so-lms-report-grade.grade-c {
  background: #ffb300;
}
.so-lms-report-grade.grade-d {
  background: #ff6d00;
}
.so-lms-report-grade.grade-f {
  background: #ea4335;
}
.so-lms-report-grade.grade-na {
  background: #9e9e9e;
}

.so-lms-report-category-body {
  padding: 20px;
}

.so-lms-progress-circle {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
}

.so-lms-progress-ring {
  position: relative;
  width: 80px;
  height: 80px;
}
.so-lms-progress-ring svg {
  transform: rotate(-90deg);
}

.so-lms-progress-ring-bg {
  fill: none;
  stroke: var(--so-border-color);
  stroke-width: 8;
}

.so-lms-progress-ring-fill {
  fill: none;
  stroke: var(--so-accent-primary);
  stroke-width: 8;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.5s ease;
}

.so-lms-progress-ring-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 700;
  color: var(--so-text-heading);
}

.so-lms-category-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.so-lms-category-detail {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
}
.so-lms-category-detail .material-symbols-rounded {
  font-size: 18px;
  color: var(--so-text-muted);
}

.so-lms-report-category-footer {
  padding: 16px 20px;
  border-top: 1px solid var(--so-border-color);
  display: flex;
  gap: 12px;
}

.so-lms-empty-state {
  text-align: center;
  padding: 60px 24px;
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: var(--so-shadow);
}

.so-lms-empty-icon {
  width: 80px;
  height: 80px;
  border-radius: 9999px;
  background: var(--so-card-hover-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
.so-lms-empty-icon .material-symbols-rounded {
  font-size: 40px;
  color: var(--so-text-muted);
}

.so-lms-empty-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--so-text-heading);
  margin-bottom: 8px;
}

.so-lms-empty-text {
  font-size: 0.875rem;
  color: var(--so-text-secondary);
}

@media (max-width: 767px) {
  .so-lms-header-panel {
    padding: 12px;
  }
  .so-lms-header-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .so-lms-page-title {
    font-size: 1.125rem;
  }
  .so-lms-page-title .material-symbols-rounded {
    font-size: 24px;
  }
  .so-lms-search-bar {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
  .so-lms-search-wrapper {
    flex: 1 1 100%;
    max-width: none;
    order: 1;
  }
  .so-lms-controls {
    order: 2;
    flex: 1;
  }
  .so-lms-filter-btn {
    min-width: 140px;
    padding: 6px 10px;
    font-size: 0.6875rem;
  }
  .so-lms-view-btn {
    width: 32px;
    height: 30px;
  }
  .so-lms-search-stats {
    order: 3;
    font-size: 0.6875rem;
  }
  .so-lms-course-grid {
    grid-template-columns: 1fr;
  }
  .so-lms-report-categories {
    grid-template-columns: 1fr;
  }
  .so-lms-quiz-footer {
    flex-wrap: wrap;
    gap: 16px;
  }
  .so-lms-quiz-dots {
    order: 2;
    width: 100%;
    padding: 0;
  }
}
.so-sidebar-search-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  background: transparent;
  border: none;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-sidebar-search-btn:hover {
  background: var(--so-sidebar-item-hover-bg);
  color: var(--so-text-heading);
}
.so-sidebar-search-btn .material-symbols-rounded {
  font-size: 18px;
}
.so-sidebar.so-collapsed .so-sidebar-search-btn {
  justify-content: center;
}
.so-sidebar.so-collapsed .so-sidebar-search-btn .so-sidebar-search-btn-text {
  display: none;
}
.so-sidebar.so-collapsed:hover .so-sidebar-search-btn .so-sidebar-search-btn-text {
  display: inline;
}

.so-sidebar-search-btn-text {
  flex: 1;
  text-align: left;
  font-weight: 500;
}

.so-sidebar-download {
  display: flex;
  align-items: center;
  margin: 4px 4px 0;
  border-radius: 6px;
  background: var(--so-sidebar-item-hover-bg);
}

.so-sidebar-download-link {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  padding: 8px 12px;
  color: var(--so-text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.so-sidebar-download-link:hover {
  background: rgba(var(--so-primary-rgb), 0.1);
  color: var(--so-accent-primary);
}
.so-sidebar-download-link .material-symbols-rounded {
  font-size: 18px;
}
.so-sidebar.so-collapsed .so-sidebar-download-link {
  justify-content: center;
}
.so-sidebar.so-collapsed .so-sidebar-download-link .so-sidebar-download-text {
  display: none;
}
.so-sidebar.so-collapsed:hover .so-sidebar-download-link .so-sidebar-download-text {
  display: inline;
}

.so-sidebar-download-text {
  flex: 1;
  text-align: left;
}

.so-sidebar-download-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-right: 8px;
  background: var(--so-accent-primary);
  color: white;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.so-sidebar-download-btn:hover {
  background: var(--so-accent-primary-dark);
  transform: scale(1.05);
}
.so-sidebar-download-btn .material-symbols-rounded {
  font-size: 18px;
}
.so-sidebar.so-collapsed .so-sidebar-download-btn {
  display: none;
}
.so-sidebar.so-collapsed:hover .so-sidebar-download-btn {
  display: flex;
}

.so-demo-search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 10vh;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.so-demo-search-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.so-demo-search-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
}

.so-demo-search-content {
  position: relative;
  width: 100%;
  max-width: 640px;
  max-height: 70vh;
  margin: 0 16px;
  background: var(--so-card-bg);
  border-radius: 10px;
  box-shadow: 0 16px 48px 0 rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: scale(0.95) translateY(-10px);
  transition: transform 0.2s ease;
}
.is-open .so-demo-search-content {
  transform: scale(1) translateY(0);
}

.so-demo-search-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--so-border-color);
}

.so-demo-search-icon {
  color: var(--so-text-muted);
  font-size: 24px;
}

.so-demo-search-input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 1rem;
  color: var(--so-text-primary);
  outline: none;
}
.so-demo-search-input::-moz-placeholder {
  color: var(--so-text-muted);
}
.so-demo-search-input::placeholder {
  color: var(--so-text-muted);
}

.so-demo-search-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: var(--so-hover-bg);
  border-radius: 6px;
  color: var(--so-text-muted);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.so-demo-search-close:hover {
  background: var(--so-border-color);
  color: var(--so-text-primary);
}
.so-demo-search-close .material-symbols-rounded {
  font-size: 20px;
}

.so-demo-search-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.so-demo-search-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 8px 12px;
  border-bottom: 1px solid var(--so-border-color);
  margin-bottom: 8px;
}

.so-demo-search-category {
  padding: 4px 12px;
  border: 1px solid var(--so-border-color);
  background: transparent;
  border-radius: 9999px;
  font-size: 0.8125rem;
  color: var(--so-text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
}
.so-demo-search-category:hover {
  border-color: var(--so-accent-primary);
  color: var(--so-accent-primary);
}
.so-demo-search-category.is-active {
  background: var(--so-accent-primary);
  border-color: var(--so-accent-primary);
  color: #fff;
}

.so-demo-search-section {
  margin-bottom: 16px;
}
.so-demo-search-section-title {
  padding: 8px 12px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--so-text-muted);
}

.so-demo-search-results {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.so-demo-search-result {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.15s ease;
  text-decoration: none;
  color: inherit;
}
.so-demo-search-result:hover, .so-demo-search-result.is-focused {
  background: var(--so-hover-bg);
}
.so-demo-search-result.is-focused {
  outline: 2px solid var(--so-accent-primary);
  outline-offset: -2px;
}

.so-demo-search-result-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--so-accent-primary-light);
  border-radius: 8px;
  color: var(--so-accent-primary);
  flex-shrink: 0;
}
.so-demo-search-result-icon .material-symbols-rounded {
  font-size: 20px;
}

.so-demo-search-result-content {
  flex: 1;
  min-width: 0;
}

.so-demo-search-result-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--so-text-primary);
}
.so-demo-search-result-title mark {
  background: var(--so-accent-warning-light);
  color: inherit;
  border-radius: 2px;
}

.so-demo-search-result-path {
  font-size: 0.6875rem;
  color: var(--so-text-muted);
  margin-bottom: 4px;
}
.so-demo-search-result-path span::after {
  content: " > ";
  opacity: 0.5;
}
.so-demo-search-result-path span:last-child::after {
  content: "";
}

.so-demo-search-result-description {
  font-size: 0.8125rem;
  color: var(--so-text-secondary);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.so-demo-search-result-category {
  flex-shrink: 0;
  padding: 4px 8px;
  background: var(--so-hover-bg);
  border-radius: 6px;
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}

.so-demo-search-empty {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  text-align: center;
  color: var(--so-text-muted);
}
.so-demo-search-empty.is-visible {
  display: flex;
}
.so-demo-search-empty .material-symbols-rounded {
  font-size: 48px;
  margin-bottom: 12px;
  opacity: 0.5;
}
.so-demo-search-empty p {
  font-size: 0.875rem;
  margin: 0;
}

.so-demo-search-initial {
  padding: 8px;
}
.so-demo-search-initial.is-hidden {
  display: none;
}

.so-demo-search-quick-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.so-demo-search-quick-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: var(--so-bg-subtle);
  border-radius: 8px;
  color: var(--so-text-primary);
  text-decoration: none;
  transition: background-color 0.15s ease;
}
.so-demo-search-quick-link:hover {
  background: var(--so-hover-bg);
}
.so-demo-search-quick-link .material-symbols-rounded {
  font-size: 20px;
  color: var(--so-text-muted);
}
.so-demo-search-quick-link span {
  font-size: 0.8125rem;
}

.so-demo-search-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 12px 16px;
  border-top: 1px solid var(--so-border-color);
  background: var(--so-bg-subtle);
  font-size: 0.6875rem;
  color: var(--so-text-muted);
}
.so-demo-search-footer kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 4px;
  background: var(--so-card-bg);
  border: 1px solid var(--so-border-color);
  border-radius: 3px;
  font-family: inherit;
  font-size: 0.6875rem;
  box-shadow: 0 1px 0 var(--so-border-color);
}

.so-demo-search-loading {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px;
}
.so-demo-search-loading.is-visible {
  display: flex;
}

[data-theme=dark] .so-demo-search-backdrop {
  background: rgba(0, 0, 0, 0.7);
}
[data-theme=dark] .so-demo-search-close {
  background: var(--so-gray-800);
}
[data-theme=dark] .so-demo-search-close:hover {
  background: var(--so-gray-700);
}
[data-theme=dark] .so-demo-search-result:hover, [data-theme=dark] .so-demo-search-result.is-focused {
  background: var(--so-gray-800);
}
[data-theme=dark] .so-demo-search-result-icon {
  background: rgba(var(--so-primary-rgb), 0.15);
}
[data-theme=dark] .so-demo-search-result-category {
  background: var(--so-gray-800);
}
[data-theme=dark] .so-demo-search-quick-link {
  background: var(--so-gray-800);
}
[data-theme=dark] .so-demo-search-quick-link:hover {
  background: var(--so-gray-700);
}
[data-theme=dark] .so-demo-search-footer {
  background: var(--so-gray-900);
}
[data-theme=dark] .so-demo-search-footer kbd {
  background: var(--so-gray-800);
  border-color: var(--so-gray-700);
}

@media (max-width: 575px) {
  .so-demo-search-overlay {
    padding-top: 16px;
  }
  .so-demo-search-content {
    max-height: 80vh;
    margin: 0 8px;
    border-radius: 8px;
  }
  .so-demo-search-quick-links {
    grid-template-columns: 1fr;
  }
  .so-demo-search-footer {
    flex-wrap: wrap;
    gap: 8px;
  }
}
.so-m-0 {
  margin: 0 !important;
}

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

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

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

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

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

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

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

.so-m-8 {
  margin: 6rem !important;
}

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

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

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

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

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

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

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

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

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

.so-mt-8 {
  margin-top: 6rem !important;
}

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

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

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

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

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

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

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

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

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

.so-mb-8 {
  margin-bottom: 6rem !important;
}

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

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

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

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

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

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

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

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

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

.so-ms-8 {
  margin-left: 6rem !important;
}

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

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

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

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

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

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

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

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

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

.so-me-8 {
  margin-right: 6rem !important;
}

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

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

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

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

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

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

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

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

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

.so-mx-8 {
  margin-left: 6rem !important;
  margin-right: 6rem !important;
}

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

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

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

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

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

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

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

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

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

.so-my-8 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

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

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

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

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

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

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

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

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

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

.so-p-8 {
  padding: 6rem !important;
}

.so-p-auto {
  padding: auto !important;
}

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

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

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

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

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

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

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

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

.so-pt-8 {
  padding-top: 6rem !important;
}

.so-pt-auto {
  padding-top: auto !important;
}

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

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

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

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

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

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

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

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

.so-pb-8 {
  padding-bottom: 6rem !important;
}

.so-pb-auto {
  padding-bottom: auto !important;
}

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

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

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

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

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

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

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

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

.so-ps-8 {
  padding-left: 6rem !important;
}

.so-ps-auto {
  padding-left: auto !important;
}

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

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

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

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

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

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

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

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

.so-pe-8 {
  padding-right: 6rem !important;
}

.so-pe-auto {
  padding-right: auto !important;
}

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

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

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

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

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

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

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

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

.so-px-8 {
  padding-left: 6rem !important;
  padding-right: 6rem !important;
}

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

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

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

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

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

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

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

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

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

.so-py-8 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.so-m-n8 {
  margin: -6rem !important;
}

.so-mt-n8 {
  margin-top: -6rem !important;
}

.so-mb-n8 {
  margin-bottom: -6rem !important;
}

.so-ms-n8 {
  margin-left: -6rem !important;
}

.so-me-n8 {
  margin-right: -6rem !important;
}

.so-mx-n8 {
  margin-left: -6rem !important;
  margin-right: -6rem !important;
}

.so-my-n8 {
  margin-top: -6rem !important;
  margin-bottom: -6rem !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.so-gap-6 {
  gap: 4rem !important;
}

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

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

.so-gap-7 {
  gap: 5rem !important;
}

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

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

.so-gap-8 {
  gap: 6rem !important;
}

.so-row-gap-8 {
  row-gap: 6rem !important;
}

.so-column-gap-8 {
  -moz-column-gap: 6rem !important;
       column-gap: 6rem !important;
}

@media (min-width: 576px) {
  .so-m-sm-0 {
    margin: 0 !important;
  }
  .so-m-sm-1 {
    margin: 0.25rem !important;
  }
  .so-m-sm-2 {
    margin: 0.5rem !important;
  }
  .so-m-sm-3 {
    margin: 1rem !important;
  }
  .so-m-sm-4 {
    margin: 1.5rem !important;
  }
  .so-m-sm-5 {
    margin: 3rem !important;
  }
  .so-m-sm-6 {
    margin: 4rem !important;
  }
  .so-m-sm-7 {
    margin: 5rem !important;
  }
  .so-m-sm-8 {
    margin: 6rem !important;
  }
  .so-m-sm-auto {
    margin: auto !important;
  }
  .so-mt-sm-0 {
    margin-top: 0 !important;
  }
  .so-mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .so-mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .so-mt-sm-3 {
    margin-top: 1rem !important;
  }
  .so-mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .so-mt-sm-5 {
    margin-top: 3rem !important;
  }
  .so-mt-sm-6 {
    margin-top: 4rem !important;
  }
  .so-mt-sm-7 {
    margin-top: 5rem !important;
  }
  .so-mt-sm-8 {
    margin-top: 6rem !important;
  }
  .so-mt-sm-auto {
    margin-top: auto !important;
  }
  .so-mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .so-mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .so-mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .so-mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .so-mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .so-mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .so-mb-sm-6 {
    margin-bottom: 4rem !important;
  }
  .so-mb-sm-7 {
    margin-bottom: 5rem !important;
  }
  .so-mb-sm-8 {
    margin-bottom: 6rem !important;
  }
  .so-mb-sm-auto {
    margin-bottom: auto !important;
  }
  .so-ms-sm-0 {
    margin-left: 0 !important;
  }
  .so-ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .so-ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .so-ms-sm-3 {
    margin-left: 1rem !important;
  }
  .so-ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .so-ms-sm-5 {
    margin-left: 3rem !important;
  }
  .so-ms-sm-6 {
    margin-left: 4rem !important;
  }
  .so-ms-sm-7 {
    margin-left: 5rem !important;
  }
  .so-ms-sm-8 {
    margin-left: 6rem !important;
  }
  .so-ms-sm-auto {
    margin-left: auto !important;
  }
  .so-me-sm-0 {
    margin-right: 0 !important;
  }
  .so-me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .so-me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .so-me-sm-3 {
    margin-right: 1rem !important;
  }
  .so-me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .so-me-sm-5 {
    margin-right: 3rem !important;
  }
  .so-me-sm-6 {
    margin-right: 4rem !important;
  }
  .so-me-sm-7 {
    margin-right: 5rem !important;
  }
  .so-me-sm-8 {
    margin-right: 6rem !important;
  }
  .so-me-sm-auto {
    margin-right: auto !important;
  }
  .so-mx-sm-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .so-mx-sm-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .so-mx-sm-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .so-mx-sm-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .so-mx-sm-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .so-mx-sm-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .so-mx-sm-6 {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .so-mx-sm-7 {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .so-mx-sm-8 {
    margin-left: 6rem !important;
    margin-right: 6rem !important;
  }
  .so-mx-sm-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .so-my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .so-my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .so-my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .so-my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .so-my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .so-my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .so-my-sm-6 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .so-my-sm-7 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .so-my-sm-8 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .so-my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .so-p-sm-0 {
    padding: 0 !important;
  }
  .so-p-sm-1 {
    padding: 0.25rem !important;
  }
  .so-p-sm-2 {
    padding: 0.5rem !important;
  }
  .so-p-sm-3 {
    padding: 1rem !important;
  }
  .so-p-sm-4 {
    padding: 1.5rem !important;
  }
  .so-p-sm-5 {
    padding: 3rem !important;
  }
  .so-p-sm-6 {
    padding: 4rem !important;
  }
  .so-p-sm-7 {
    padding: 5rem !important;
  }
  .so-p-sm-8 {
    padding: 6rem !important;
  }
  .so-p-sm-auto {
    padding: auto !important;
  }
  .so-pt-sm-0 {
    padding-top: 0 !important;
  }
  .so-pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .so-pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .so-pt-sm-3 {
    padding-top: 1rem !important;
  }
  .so-pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .so-pt-sm-5 {
    padding-top: 3rem !important;
  }
  .so-pt-sm-6 {
    padding-top: 4rem !important;
  }
  .so-pt-sm-7 {
    padding-top: 5rem !important;
  }
  .so-pt-sm-8 {
    padding-top: 6rem !important;
  }
  .so-pt-sm-auto {
    padding-top: auto !important;
  }
  .so-pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .so-pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .so-pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .so-pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .so-pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .so-pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .so-pb-sm-6 {
    padding-bottom: 4rem !important;
  }
  .so-pb-sm-7 {
    padding-bottom: 5rem !important;
  }
  .so-pb-sm-8 {
    padding-bottom: 6rem !important;
  }
  .so-pb-sm-auto {
    padding-bottom: auto !important;
  }
  .so-ps-sm-0 {
    padding-left: 0 !important;
  }
  .so-ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .so-ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .so-ps-sm-3 {
    padding-left: 1rem !important;
  }
  .so-ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .so-ps-sm-5 {
    padding-left: 3rem !important;
  }
  .so-ps-sm-6 {
    padding-left: 4rem !important;
  }
  .so-ps-sm-7 {
    padding-left: 5rem !important;
  }
  .so-ps-sm-8 {
    padding-left: 6rem !important;
  }
  .so-ps-sm-auto {
    padding-left: auto !important;
  }
  .so-pe-sm-0 {
    padding-right: 0 !important;
  }
  .so-pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .so-pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .so-pe-sm-3 {
    padding-right: 1rem !important;
  }
  .so-pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .so-pe-sm-5 {
    padding-right: 3rem !important;
  }
  .so-pe-sm-6 {
    padding-right: 4rem !important;
  }
  .so-pe-sm-7 {
    padding-right: 5rem !important;
  }
  .so-pe-sm-8 {
    padding-right: 6rem !important;
  }
  .so-pe-sm-auto {
    padding-right: auto !important;
  }
  .so-px-sm-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .so-px-sm-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .so-px-sm-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .so-px-sm-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .so-px-sm-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .so-px-sm-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .so-px-sm-6 {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .so-px-sm-7 {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .so-px-sm-8 {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .so-px-sm-auto {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .so-py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .so-py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .so-py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .so-py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .so-py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .so-py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .so-py-sm-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .so-py-sm-7 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .so-py-sm-8 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .so-py-sm-auto {
    padding-top: auto !important;
    padding-bottom: auto !important;
  }
  .so-gap-sm-0 {
    gap: 0 !important;
  }
  .so-gap-sm-1 {
    gap: 0.25rem !important;
  }
  .so-gap-sm-2 {
    gap: 0.5rem !important;
  }
  .so-gap-sm-3 {
    gap: 1rem !important;
  }
  .so-gap-sm-4 {
    gap: 1.5rem !important;
  }
  .so-gap-sm-5 {
    gap: 3rem !important;
  }
  .so-gap-sm-6 {
    gap: 4rem !important;
  }
  .so-gap-sm-7 {
    gap: 5rem !important;
  }
  .so-gap-sm-8 {
    gap: 6rem !important;
  }
}
@media (min-width: 768px) {
  .so-m-md-0 {
    margin: 0 !important;
  }
  .so-m-md-1 {
    margin: 0.25rem !important;
  }
  .so-m-md-2 {
    margin: 0.5rem !important;
  }
  .so-m-md-3 {
    margin: 1rem !important;
  }
  .so-m-md-4 {
    margin: 1.5rem !important;
  }
  .so-m-md-5 {
    margin: 3rem !important;
  }
  .so-m-md-6 {
    margin: 4rem !important;
  }
  .so-m-md-7 {
    margin: 5rem !important;
  }
  .so-m-md-8 {
    margin: 6rem !important;
  }
  .so-m-md-auto {
    margin: auto !important;
  }
  .so-mt-md-0 {
    margin-top: 0 !important;
  }
  .so-mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .so-mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .so-mt-md-3 {
    margin-top: 1rem !important;
  }
  .so-mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .so-mt-md-5 {
    margin-top: 3rem !important;
  }
  .so-mt-md-6 {
    margin-top: 4rem !important;
  }
  .so-mt-md-7 {
    margin-top: 5rem !important;
  }
  .so-mt-md-8 {
    margin-top: 6rem !important;
  }
  .so-mt-md-auto {
    margin-top: auto !important;
  }
  .so-mb-md-0 {
    margin-bottom: 0 !important;
  }
  .so-mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .so-mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .so-mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .so-mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .so-mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .so-mb-md-6 {
    margin-bottom: 4rem !important;
  }
  .so-mb-md-7 {
    margin-bottom: 5rem !important;
  }
  .so-mb-md-8 {
    margin-bottom: 6rem !important;
  }
  .so-mb-md-auto {
    margin-bottom: auto !important;
  }
  .so-ms-md-0 {
    margin-left: 0 !important;
  }
  .so-ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .so-ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .so-ms-md-3 {
    margin-left: 1rem !important;
  }
  .so-ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .so-ms-md-5 {
    margin-left: 3rem !important;
  }
  .so-ms-md-6 {
    margin-left: 4rem !important;
  }
  .so-ms-md-7 {
    margin-left: 5rem !important;
  }
  .so-ms-md-8 {
    margin-left: 6rem !important;
  }
  .so-ms-md-auto {
    margin-left: auto !important;
  }
  .so-me-md-0 {
    margin-right: 0 !important;
  }
  .so-me-md-1 {
    margin-right: 0.25rem !important;
  }
  .so-me-md-2 {
    margin-right: 0.5rem !important;
  }
  .so-me-md-3 {
    margin-right: 1rem !important;
  }
  .so-me-md-4 {
    margin-right: 1.5rem !important;
  }
  .so-me-md-5 {
    margin-right: 3rem !important;
  }
  .so-me-md-6 {
    margin-right: 4rem !important;
  }
  .so-me-md-7 {
    margin-right: 5rem !important;
  }
  .so-me-md-8 {
    margin-right: 6rem !important;
  }
  .so-me-md-auto {
    margin-right: auto !important;
  }
  .so-mx-md-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .so-mx-md-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .so-mx-md-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .so-mx-md-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .so-mx-md-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .so-mx-md-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .so-mx-md-6 {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .so-mx-md-7 {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .so-mx-md-8 {
    margin-left: 6rem !important;
    margin-right: 6rem !important;
  }
  .so-mx-md-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .so-my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .so-my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .so-my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .so-my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .so-my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .so-my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .so-my-md-6 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .so-my-md-7 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .so-my-md-8 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .so-my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .so-p-md-0 {
    padding: 0 !important;
  }
  .so-p-md-1 {
    padding: 0.25rem !important;
  }
  .so-p-md-2 {
    padding: 0.5rem !important;
  }
  .so-p-md-3 {
    padding: 1rem !important;
  }
  .so-p-md-4 {
    padding: 1.5rem !important;
  }
  .so-p-md-5 {
    padding: 3rem !important;
  }
  .so-p-md-6 {
    padding: 4rem !important;
  }
  .so-p-md-7 {
    padding: 5rem !important;
  }
  .so-p-md-8 {
    padding: 6rem !important;
  }
  .so-p-md-auto {
    padding: auto !important;
  }
  .so-pt-md-0 {
    padding-top: 0 !important;
  }
  .so-pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .so-pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .so-pt-md-3 {
    padding-top: 1rem !important;
  }
  .so-pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .so-pt-md-5 {
    padding-top: 3rem !important;
  }
  .so-pt-md-6 {
    padding-top: 4rem !important;
  }
  .so-pt-md-7 {
    padding-top: 5rem !important;
  }
  .so-pt-md-8 {
    padding-top: 6rem !important;
  }
  .so-pt-md-auto {
    padding-top: auto !important;
  }
  .so-pb-md-0 {
    padding-bottom: 0 !important;
  }
  .so-pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .so-pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .so-pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .so-pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .so-pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .so-pb-md-6 {
    padding-bottom: 4rem !important;
  }
  .so-pb-md-7 {
    padding-bottom: 5rem !important;
  }
  .so-pb-md-8 {
    padding-bottom: 6rem !important;
  }
  .so-pb-md-auto {
    padding-bottom: auto !important;
  }
  .so-ps-md-0 {
    padding-left: 0 !important;
  }
  .so-ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .so-ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .so-ps-md-3 {
    padding-left: 1rem !important;
  }
  .so-ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .so-ps-md-5 {
    padding-left: 3rem !important;
  }
  .so-ps-md-6 {
    padding-left: 4rem !important;
  }
  .so-ps-md-7 {
    padding-left: 5rem !important;
  }
  .so-ps-md-8 {
    padding-left: 6rem !important;
  }
  .so-ps-md-auto {
    padding-left: auto !important;
  }
  .so-pe-md-0 {
    padding-right: 0 !important;
  }
  .so-pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .so-pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .so-pe-md-3 {
    padding-right: 1rem !important;
  }
  .so-pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .so-pe-md-5 {
    padding-right: 3rem !important;
  }
  .so-pe-md-6 {
    padding-right: 4rem !important;
  }
  .so-pe-md-7 {
    padding-right: 5rem !important;
  }
  .so-pe-md-8 {
    padding-right: 6rem !important;
  }
  .so-pe-md-auto {
    padding-right: auto !important;
  }
  .so-px-md-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .so-px-md-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .so-px-md-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .so-px-md-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .so-px-md-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .so-px-md-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .so-px-md-6 {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .so-px-md-7 {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .so-px-md-8 {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .so-px-md-auto {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .so-py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .so-py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .so-py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .so-py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .so-py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .so-py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .so-py-md-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .so-py-md-7 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .so-py-md-8 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .so-py-md-auto {
    padding-top: auto !important;
    padding-bottom: auto !important;
  }
  .so-gap-md-0 {
    gap: 0 !important;
  }
  .so-gap-md-1 {
    gap: 0.25rem !important;
  }
  .so-gap-md-2 {
    gap: 0.5rem !important;
  }
  .so-gap-md-3 {
    gap: 1rem !important;
  }
  .so-gap-md-4 {
    gap: 1.5rem !important;
  }
  .so-gap-md-5 {
    gap: 3rem !important;
  }
  .so-gap-md-6 {
    gap: 4rem !important;
  }
  .so-gap-md-7 {
    gap: 5rem !important;
  }
  .so-gap-md-8 {
    gap: 6rem !important;
  }
}
@media (min-width: 1024px) {
  .so-m-lg-0 {
    margin: 0 !important;
  }
  .so-m-lg-1 {
    margin: 0.25rem !important;
  }
  .so-m-lg-2 {
    margin: 0.5rem !important;
  }
  .so-m-lg-3 {
    margin: 1rem !important;
  }
  .so-m-lg-4 {
    margin: 1.5rem !important;
  }
  .so-m-lg-5 {
    margin: 3rem !important;
  }
  .so-m-lg-6 {
    margin: 4rem !important;
  }
  .so-m-lg-7 {
    margin: 5rem !important;
  }
  .so-m-lg-8 {
    margin: 6rem !important;
  }
  .so-m-lg-auto {
    margin: auto !important;
  }
  .so-mt-lg-0 {
    margin-top: 0 !important;
  }
  .so-mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .so-mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .so-mt-lg-3 {
    margin-top: 1rem !important;
  }
  .so-mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .so-mt-lg-5 {
    margin-top: 3rem !important;
  }
  .so-mt-lg-6 {
    margin-top: 4rem !important;
  }
  .so-mt-lg-7 {
    margin-top: 5rem !important;
  }
  .so-mt-lg-8 {
    margin-top: 6rem !important;
  }
  .so-mt-lg-auto {
    margin-top: auto !important;
  }
  .so-mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .so-mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .so-mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .so-mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .so-mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .so-mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .so-mb-lg-6 {
    margin-bottom: 4rem !important;
  }
  .so-mb-lg-7 {
    margin-bottom: 5rem !important;
  }
  .so-mb-lg-8 {
    margin-bottom: 6rem !important;
  }
  .so-mb-lg-auto {
    margin-bottom: auto !important;
  }
  .so-ms-lg-0 {
    margin-left: 0 !important;
  }
  .so-ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .so-ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .so-ms-lg-3 {
    margin-left: 1rem !important;
  }
  .so-ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .so-ms-lg-5 {
    margin-left: 3rem !important;
  }
  .so-ms-lg-6 {
    margin-left: 4rem !important;
  }
  .so-ms-lg-7 {
    margin-left: 5rem !important;
  }
  .so-ms-lg-8 {
    margin-left: 6rem !important;
  }
  .so-ms-lg-auto {
    margin-left: auto !important;
  }
  .so-me-lg-0 {
    margin-right: 0 !important;
  }
  .so-me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .so-me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .so-me-lg-3 {
    margin-right: 1rem !important;
  }
  .so-me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .so-me-lg-5 {
    margin-right: 3rem !important;
  }
  .so-me-lg-6 {
    margin-right: 4rem !important;
  }
  .so-me-lg-7 {
    margin-right: 5rem !important;
  }
  .so-me-lg-8 {
    margin-right: 6rem !important;
  }
  .so-me-lg-auto {
    margin-right: auto !important;
  }
  .so-mx-lg-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .so-mx-lg-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .so-mx-lg-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .so-mx-lg-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .so-mx-lg-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .so-mx-lg-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .so-mx-lg-6 {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .so-mx-lg-7 {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .so-mx-lg-8 {
    margin-left: 6rem !important;
    margin-right: 6rem !important;
  }
  .so-mx-lg-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .so-my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .so-my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .so-my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .so-my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .so-my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .so-my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .so-my-lg-6 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .so-my-lg-7 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .so-my-lg-8 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .so-my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .so-p-lg-0 {
    padding: 0 !important;
  }
  .so-p-lg-1 {
    padding: 0.25rem !important;
  }
  .so-p-lg-2 {
    padding: 0.5rem !important;
  }
  .so-p-lg-3 {
    padding: 1rem !important;
  }
  .so-p-lg-4 {
    padding: 1.5rem !important;
  }
  .so-p-lg-5 {
    padding: 3rem !important;
  }
  .so-p-lg-6 {
    padding: 4rem !important;
  }
  .so-p-lg-7 {
    padding: 5rem !important;
  }
  .so-p-lg-8 {
    padding: 6rem !important;
  }
  .so-p-lg-auto {
    padding: auto !important;
  }
  .so-pt-lg-0 {
    padding-top: 0 !important;
  }
  .so-pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .so-pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .so-pt-lg-3 {
    padding-top: 1rem !important;
  }
  .so-pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .so-pt-lg-5 {
    padding-top: 3rem !important;
  }
  .so-pt-lg-6 {
    padding-top: 4rem !important;
  }
  .so-pt-lg-7 {
    padding-top: 5rem !important;
  }
  .so-pt-lg-8 {
    padding-top: 6rem !important;
  }
  .so-pt-lg-auto {
    padding-top: auto !important;
  }
  .so-pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .so-pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .so-pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .so-pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .so-pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .so-pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .so-pb-lg-6 {
    padding-bottom: 4rem !important;
  }
  .so-pb-lg-7 {
    padding-bottom: 5rem !important;
  }
  .so-pb-lg-8 {
    padding-bottom: 6rem !important;
  }
  .so-pb-lg-auto {
    padding-bottom: auto !important;
  }
  .so-ps-lg-0 {
    padding-left: 0 !important;
  }
  .so-ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .so-ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .so-ps-lg-3 {
    padding-left: 1rem !important;
  }
  .so-ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .so-ps-lg-5 {
    padding-left: 3rem !important;
  }
  .so-ps-lg-6 {
    padding-left: 4rem !important;
  }
  .so-ps-lg-7 {
    padding-left: 5rem !important;
  }
  .so-ps-lg-8 {
    padding-left: 6rem !important;
  }
  .so-ps-lg-auto {
    padding-left: auto !important;
  }
  .so-pe-lg-0 {
    padding-right: 0 !important;
  }
  .so-pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .so-pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .so-pe-lg-3 {
    padding-right: 1rem !important;
  }
  .so-pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .so-pe-lg-5 {
    padding-right: 3rem !important;
  }
  .so-pe-lg-6 {
    padding-right: 4rem !important;
  }
  .so-pe-lg-7 {
    padding-right: 5rem !important;
  }
  .so-pe-lg-8 {
    padding-right: 6rem !important;
  }
  .so-pe-lg-auto {
    padding-right: auto !important;
  }
  .so-px-lg-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .so-px-lg-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .so-px-lg-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .so-px-lg-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .so-px-lg-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .so-px-lg-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .so-px-lg-6 {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .so-px-lg-7 {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .so-px-lg-8 {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .so-px-lg-auto {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .so-py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .so-py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .so-py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .so-py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .so-py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .so-py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .so-py-lg-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .so-py-lg-7 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .so-py-lg-8 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .so-py-lg-auto {
    padding-top: auto !important;
    padding-bottom: auto !important;
  }
  .so-gap-lg-0 {
    gap: 0 !important;
  }
  .so-gap-lg-1 {
    gap: 0.25rem !important;
  }
  .so-gap-lg-2 {
    gap: 0.5rem !important;
  }
  .so-gap-lg-3 {
    gap: 1rem !important;
  }
  .so-gap-lg-4 {
    gap: 1.5rem !important;
  }
  .so-gap-lg-5 {
    gap: 3rem !important;
  }
  .so-gap-lg-6 {
    gap: 4rem !important;
  }
  .so-gap-lg-7 {
    gap: 5rem !important;
  }
  .so-gap-lg-8 {
    gap: 6rem !important;
  }
}
@media (min-width: 1200px) {
  .so-m-xl-0 {
    margin: 0 !important;
  }
  .so-m-xl-1 {
    margin: 0.25rem !important;
  }
  .so-m-xl-2 {
    margin: 0.5rem !important;
  }
  .so-m-xl-3 {
    margin: 1rem !important;
  }
  .so-m-xl-4 {
    margin: 1.5rem !important;
  }
  .so-m-xl-5 {
    margin: 3rem !important;
  }
  .so-m-xl-6 {
    margin: 4rem !important;
  }
  .so-m-xl-7 {
    margin: 5rem !important;
  }
  .so-m-xl-8 {
    margin: 6rem !important;
  }
  .so-m-xl-auto {
    margin: auto !important;
  }
  .so-mt-xl-0 {
    margin-top: 0 !important;
  }
  .so-mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .so-mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .so-mt-xl-3 {
    margin-top: 1rem !important;
  }
  .so-mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .so-mt-xl-5 {
    margin-top: 3rem !important;
  }
  .so-mt-xl-6 {
    margin-top: 4rem !important;
  }
  .so-mt-xl-7 {
    margin-top: 5rem !important;
  }
  .so-mt-xl-8 {
    margin-top: 6rem !important;
  }
  .so-mt-xl-auto {
    margin-top: auto !important;
  }
  .so-mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .so-mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .so-mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .so-mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .so-mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .so-mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .so-mb-xl-6 {
    margin-bottom: 4rem !important;
  }
  .so-mb-xl-7 {
    margin-bottom: 5rem !important;
  }
  .so-mb-xl-8 {
    margin-bottom: 6rem !important;
  }
  .so-mb-xl-auto {
    margin-bottom: auto !important;
  }
  .so-ms-xl-0 {
    margin-left: 0 !important;
  }
  .so-ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .so-ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .so-ms-xl-3 {
    margin-left: 1rem !important;
  }
  .so-ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .so-ms-xl-5 {
    margin-left: 3rem !important;
  }
  .so-ms-xl-6 {
    margin-left: 4rem !important;
  }
  .so-ms-xl-7 {
    margin-left: 5rem !important;
  }
  .so-ms-xl-8 {
    margin-left: 6rem !important;
  }
  .so-ms-xl-auto {
    margin-left: auto !important;
  }
  .so-me-xl-0 {
    margin-right: 0 !important;
  }
  .so-me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .so-me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .so-me-xl-3 {
    margin-right: 1rem !important;
  }
  .so-me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .so-me-xl-5 {
    margin-right: 3rem !important;
  }
  .so-me-xl-6 {
    margin-right: 4rem !important;
  }
  .so-me-xl-7 {
    margin-right: 5rem !important;
  }
  .so-me-xl-8 {
    margin-right: 6rem !important;
  }
  .so-me-xl-auto {
    margin-right: auto !important;
  }
  .so-mx-xl-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .so-mx-xl-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .so-mx-xl-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .so-mx-xl-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .so-mx-xl-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .so-mx-xl-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .so-mx-xl-6 {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .so-mx-xl-7 {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .so-mx-xl-8 {
    margin-left: 6rem !important;
    margin-right: 6rem !important;
  }
  .so-mx-xl-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .so-my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .so-my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .so-my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .so-my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .so-my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .so-my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .so-my-xl-6 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .so-my-xl-7 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .so-my-xl-8 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .so-my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .so-p-xl-0 {
    padding: 0 !important;
  }
  .so-p-xl-1 {
    padding: 0.25rem !important;
  }
  .so-p-xl-2 {
    padding: 0.5rem !important;
  }
  .so-p-xl-3 {
    padding: 1rem !important;
  }
  .so-p-xl-4 {
    padding: 1.5rem !important;
  }
  .so-p-xl-5 {
    padding: 3rem !important;
  }
  .so-p-xl-6 {
    padding: 4rem !important;
  }
  .so-p-xl-7 {
    padding: 5rem !important;
  }
  .so-p-xl-8 {
    padding: 6rem !important;
  }
  .so-p-xl-auto {
    padding: auto !important;
  }
  .so-pt-xl-0 {
    padding-top: 0 !important;
  }
  .so-pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .so-pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .so-pt-xl-3 {
    padding-top: 1rem !important;
  }
  .so-pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .so-pt-xl-5 {
    padding-top: 3rem !important;
  }
  .so-pt-xl-6 {
    padding-top: 4rem !important;
  }
  .so-pt-xl-7 {
    padding-top: 5rem !important;
  }
  .so-pt-xl-8 {
    padding-top: 6rem !important;
  }
  .so-pt-xl-auto {
    padding-top: auto !important;
  }
  .so-pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .so-pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .so-pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .so-pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .so-pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .so-pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .so-pb-xl-6 {
    padding-bottom: 4rem !important;
  }
  .so-pb-xl-7 {
    padding-bottom: 5rem !important;
  }
  .so-pb-xl-8 {
    padding-bottom: 6rem !important;
  }
  .so-pb-xl-auto {
    padding-bottom: auto !important;
  }
  .so-ps-xl-0 {
    padding-left: 0 !important;
  }
  .so-ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .so-ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .so-ps-xl-3 {
    padding-left: 1rem !important;
  }
  .so-ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .so-ps-xl-5 {
    padding-left: 3rem !important;
  }
  .so-ps-xl-6 {
    padding-left: 4rem !important;
  }
  .so-ps-xl-7 {
    padding-left: 5rem !important;
  }
  .so-ps-xl-8 {
    padding-left: 6rem !important;
  }
  .so-ps-xl-auto {
    padding-left: auto !important;
  }
  .so-pe-xl-0 {
    padding-right: 0 !important;
  }
  .so-pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .so-pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .so-pe-xl-3 {
    padding-right: 1rem !important;
  }
  .so-pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .so-pe-xl-5 {
    padding-right: 3rem !important;
  }
  .so-pe-xl-6 {
    padding-right: 4rem !important;
  }
  .so-pe-xl-7 {
    padding-right: 5rem !important;
  }
  .so-pe-xl-8 {
    padding-right: 6rem !important;
  }
  .so-pe-xl-auto {
    padding-right: auto !important;
  }
  .so-px-xl-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .so-px-xl-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .so-px-xl-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .so-px-xl-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .so-px-xl-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .so-px-xl-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .so-px-xl-6 {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .so-px-xl-7 {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .so-px-xl-8 {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .so-px-xl-auto {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .so-py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .so-py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .so-py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .so-py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .so-py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .so-py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .so-py-xl-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .so-py-xl-7 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .so-py-xl-8 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .so-py-xl-auto {
    padding-top: auto !important;
    padding-bottom: auto !important;
  }
  .so-gap-xl-0 {
    gap: 0 !important;
  }
  .so-gap-xl-1 {
    gap: 0.25rem !important;
  }
  .so-gap-xl-2 {
    gap: 0.5rem !important;
  }
  .so-gap-xl-3 {
    gap: 1rem !important;
  }
  .so-gap-xl-4 {
    gap: 1.5rem !important;
  }
  .so-gap-xl-5 {
    gap: 3rem !important;
  }
  .so-gap-xl-6 {
    gap: 4rem !important;
  }
  .so-gap-xl-7 {
    gap: 5rem !important;
  }
  .so-gap-xl-8 {
    gap: 6rem !important;
  }
}
@media (min-width: 1400px) {
  .so-m-xxl-0 {
    margin: 0 !important;
  }
  .so-m-xxl-1 {
    margin: 0.25rem !important;
  }
  .so-m-xxl-2 {
    margin: 0.5rem !important;
  }
  .so-m-xxl-3 {
    margin: 1rem !important;
  }
  .so-m-xxl-4 {
    margin: 1.5rem !important;
  }
  .so-m-xxl-5 {
    margin: 3rem !important;
  }
  .so-m-xxl-6 {
    margin: 4rem !important;
  }
  .so-m-xxl-7 {
    margin: 5rem !important;
  }
  .so-m-xxl-8 {
    margin: 6rem !important;
  }
  .so-m-xxl-auto {
    margin: auto !important;
  }
  .so-mt-xxl-0 {
    margin-top: 0 !important;
  }
  .so-mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .so-mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .so-mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .so-mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .so-mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .so-mt-xxl-6 {
    margin-top: 4rem !important;
  }
  .so-mt-xxl-7 {
    margin-top: 5rem !important;
  }
  .so-mt-xxl-8 {
    margin-top: 6rem !important;
  }
  .so-mt-xxl-auto {
    margin-top: auto !important;
  }
  .so-mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .so-mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .so-mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .so-mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .so-mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .so-mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .so-mb-xxl-6 {
    margin-bottom: 4rem !important;
  }
  .so-mb-xxl-7 {
    margin-bottom: 5rem !important;
  }
  .so-mb-xxl-8 {
    margin-bottom: 6rem !important;
  }
  .so-mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .so-ms-xxl-0 {
    margin-left: 0 !important;
  }
  .so-ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .so-ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .so-ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .so-ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .so-ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .so-ms-xxl-6 {
    margin-left: 4rem !important;
  }
  .so-ms-xxl-7 {
    margin-left: 5rem !important;
  }
  .so-ms-xxl-8 {
    margin-left: 6rem !important;
  }
  .so-ms-xxl-auto {
    margin-left: auto !important;
  }
  .so-me-xxl-0 {
    margin-right: 0 !important;
  }
  .so-me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .so-me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .so-me-xxl-3 {
    margin-right: 1rem !important;
  }
  .so-me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .so-me-xxl-5 {
    margin-right: 3rem !important;
  }
  .so-me-xxl-6 {
    margin-right: 4rem !important;
  }
  .so-me-xxl-7 {
    margin-right: 5rem !important;
  }
  .so-me-xxl-8 {
    margin-right: 6rem !important;
  }
  .so-me-xxl-auto {
    margin-right: auto !important;
  }
  .so-mx-xxl-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .so-mx-xxl-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
  }
  .so-mx-xxl-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
  }
  .so-mx-xxl-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .so-mx-xxl-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
  }
  .so-mx-xxl-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .so-mx-xxl-6 {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .so-mx-xxl-7 {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .so-mx-xxl-8 {
    margin-left: 6rem !important;
    margin-right: 6rem !important;
  }
  .so-mx-xxl-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .so-my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .so-my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .so-my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .so-my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .so-my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .so-my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .so-my-xxl-6 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .so-my-xxl-7 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .so-my-xxl-8 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
  }
  .so-my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .so-p-xxl-0 {
    padding: 0 !important;
  }
  .so-p-xxl-1 {
    padding: 0.25rem !important;
  }
  .so-p-xxl-2 {
    padding: 0.5rem !important;
  }
  .so-p-xxl-3 {
    padding: 1rem !important;
  }
  .so-p-xxl-4 {
    padding: 1.5rem !important;
  }
  .so-p-xxl-5 {
    padding: 3rem !important;
  }
  .so-p-xxl-6 {
    padding: 4rem !important;
  }
  .so-p-xxl-7 {
    padding: 5rem !important;
  }
  .so-p-xxl-8 {
    padding: 6rem !important;
  }
  .so-p-xxl-auto {
    padding: auto !important;
  }
  .so-pt-xxl-0 {
    padding-top: 0 !important;
  }
  .so-pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .so-pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .so-pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .so-pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .so-pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .so-pt-xxl-6 {
    padding-top: 4rem !important;
  }
  .so-pt-xxl-7 {
    padding-top: 5rem !important;
  }
  .so-pt-xxl-8 {
    padding-top: 6rem !important;
  }
  .so-pt-xxl-auto {
    padding-top: auto !important;
  }
  .so-pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .so-pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .so-pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .so-pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .so-pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .so-pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .so-pb-xxl-6 {
    padding-bottom: 4rem !important;
  }
  .so-pb-xxl-7 {
    padding-bottom: 5rem !important;
  }
  .so-pb-xxl-8 {
    padding-bottom: 6rem !important;
  }
  .so-pb-xxl-auto {
    padding-bottom: auto !important;
  }
  .so-ps-xxl-0 {
    padding-left: 0 !important;
  }
  .so-ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .so-ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .so-ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .so-ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .so-ps-xxl-5 {
    padding-left: 3rem !important;
  }
  .so-ps-xxl-6 {
    padding-left: 4rem !important;
  }
  .so-ps-xxl-7 {
    padding-left: 5rem !important;
  }
  .so-ps-xxl-8 {
    padding-left: 6rem !important;
  }
  .so-ps-xxl-auto {
    padding-left: auto !important;
  }
  .so-pe-xxl-0 {
    padding-right: 0 !important;
  }
  .so-pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .so-pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .so-pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .so-pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .so-pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .so-pe-xxl-6 {
    padding-right: 4rem !important;
  }
  .so-pe-xxl-7 {
    padding-right: 5rem !important;
  }
  .so-pe-xxl-8 {
    padding-right: 6rem !important;
  }
  .so-pe-xxl-auto {
    padding-right: auto !important;
  }
  .so-px-xxl-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .so-px-xxl-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
  }
  .so-px-xxl-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .so-px-xxl-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .so-px-xxl-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .so-px-xxl-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .so-px-xxl-6 {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .so-px-xxl-7 {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .so-px-xxl-8 {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .so-px-xxl-auto {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .so-py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .so-py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .so-py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .so-py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .so-py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .so-py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .so-py-xxl-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .so-py-xxl-7 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .so-py-xxl-8 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .so-py-xxl-auto {
    padding-top: auto !important;
    padding-bottom: auto !important;
  }
  .so-gap-xxl-0 {
    gap: 0 !important;
  }
  .so-gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .so-gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .so-gap-xxl-3 {
    gap: 1rem !important;
  }
  .so-gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .so-gap-xxl-5 {
    gap: 3rem !important;
  }
  .so-gap-xxl-6 {
    gap: 4rem !important;
  }
  .so-gap-xxl-7 {
    gap: 5rem !important;
  }
  .so-gap-xxl-8 {
    gap: 6rem !important;
  }
}
.so-form-compact .so-form-group {
  margin-bottom: 12px !important;
}
.so-form-compact .so-form-label {
  margin-bottom: 3px !important;
}
.so-form-compact .so-row {
  --so-gutter-y: 0.5rem;
}

.so-row-compact {
  --so-gutter-y: 0.5rem;
}
.so-row-compact > * {
  margin-top: calc(var(--so-gutter-y) * 0.5);
}

.so-gy-half {
  --so-gutter-y: 0.5rem;
}

.so-gy-0 {
  --so-gutter-y: 0;
}
.so-gy-0 > * {
  margin-top: 0;
}

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

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

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

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

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

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

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

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

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

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

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

.so-d-contents {
  display: contents !important;
}

@media (min-width: 576px) {
  .so-d-sm-none {
    display: none !important;
  }
  .so-d-sm-inline {
    display: inline !important;
  }
  .so-d-sm-inline-block {
    display: inline-block !important;
  }
  .so-d-sm-block {
    display: block !important;
  }
  .so-d-sm-grid {
    display: grid !important;
  }
  .so-d-sm-inline-grid {
    display: inline-grid !important;
  }
  .so-d-sm-table {
    display: table !important;
  }
  .so-d-sm-table-row {
    display: table-row !important;
  }
  .so-d-sm-table-cell {
    display: table-cell !important;
  }
  .so-d-sm-flex {
    display: flex !important;
  }
  .so-d-sm-inline-flex {
    display: inline-flex !important;
  }
  .so-d-sm-contents {
    display: contents !important;
  }
}
@media (min-width: 768px) {
  .so-d-md-none {
    display: none !important;
  }
  .so-d-md-inline {
    display: inline !important;
  }
  .so-d-md-inline-block {
    display: inline-block !important;
  }
  .so-d-md-block {
    display: block !important;
  }
  .so-d-md-grid {
    display: grid !important;
  }
  .so-d-md-inline-grid {
    display: inline-grid !important;
  }
  .so-d-md-table {
    display: table !important;
  }
  .so-d-md-table-row {
    display: table-row !important;
  }
  .so-d-md-table-cell {
    display: table-cell !important;
  }
  .so-d-md-flex {
    display: flex !important;
  }
  .so-d-md-inline-flex {
    display: inline-flex !important;
  }
  .so-d-md-contents {
    display: contents !important;
  }
}
@media (min-width: 1024px) {
  .so-d-lg-none {
    display: none !important;
  }
  .so-d-lg-inline {
    display: inline !important;
  }
  .so-d-lg-inline-block {
    display: inline-block !important;
  }
  .so-d-lg-block {
    display: block !important;
  }
  .so-d-lg-grid {
    display: grid !important;
  }
  .so-d-lg-inline-grid {
    display: inline-grid !important;
  }
  .so-d-lg-table {
    display: table !important;
  }
  .so-d-lg-table-row {
    display: table-row !important;
  }
  .so-d-lg-table-cell {
    display: table-cell !important;
  }
  .so-d-lg-flex {
    display: flex !important;
  }
  .so-d-lg-inline-flex {
    display: inline-flex !important;
  }
  .so-d-lg-contents {
    display: contents !important;
  }
}
@media (min-width: 1200px) {
  .so-d-xl-none {
    display: none !important;
  }
  .so-d-xl-inline {
    display: inline !important;
  }
  .so-d-xl-inline-block {
    display: inline-block !important;
  }
  .so-d-xl-block {
    display: block !important;
  }
  .so-d-xl-grid {
    display: grid !important;
  }
  .so-d-xl-inline-grid {
    display: inline-grid !important;
  }
  .so-d-xl-table {
    display: table !important;
  }
  .so-d-xl-table-row {
    display: table-row !important;
  }
  .so-d-xl-table-cell {
    display: table-cell !important;
  }
  .so-d-xl-flex {
    display: flex !important;
  }
  .so-d-xl-inline-flex {
    display: inline-flex !important;
  }
  .so-d-xl-contents {
    display: contents !important;
  }
}
@media (min-width: 1400px) {
  .so-d-xxl-none {
    display: none !important;
  }
  .so-d-xxl-inline {
    display: inline !important;
  }
  .so-d-xxl-inline-block {
    display: inline-block !important;
  }
  .so-d-xxl-block {
    display: block !important;
  }
  .so-d-xxl-grid {
    display: grid !important;
  }
  .so-d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .so-d-xxl-table {
    display: table !important;
  }
  .so-d-xxl-table-row {
    display: table-row !important;
  }
  .so-d-xxl-table-cell {
    display: table-cell !important;
  }
  .so-d-xxl-flex {
    display: flex !important;
  }
  .so-d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .so-d-xxl-contents {
    display: contents !important;
  }
}
@media print {
  .so-d-print-none {
    display: none !important;
  }
  .so-d-print-inline {
    display: inline !important;
  }
  .so-d-print-inline-block {
    display: inline-block !important;
  }
  .so-d-print-block {
    display: block !important;
  }
  .so-d-print-grid {
    display: grid !important;
  }
  .so-d-print-inline-grid {
    display: inline-grid !important;
  }
  .so-d-print-table {
    display: table !important;
  }
  .so-d-print-table-row {
    display: table-row !important;
  }
  .so-d-print-table-cell {
    display: table-cell !important;
  }
  .so-d-print-flex {
    display: flex !important;
  }
  .so-d-print-inline-flex {
    display: inline-flex !important;
  }
  .so-d-print-contents {
    display: contents !important;
  }
}
.so-visible {
  visibility: visible !important;
}

.so-invisible {
  visibility: hidden !important;
}

.so-visually-hidden,
.so-sr-only {
  position: absolute !important;
  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;
}

.so-visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  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;
}

@media (min-width: 576px) {
  .so-visible-sm {
    visibility: visible !important;
  }
  .so-invisible-sm {
    visibility: hidden !important;
  }
}
@media (min-width: 768px) {
  .so-visible-md {
    visibility: visible !important;
  }
  .so-invisible-md {
    visibility: hidden !important;
  }
}
@media (min-width: 1024px) {
  .so-visible-lg {
    visibility: visible !important;
  }
  .so-invisible-lg {
    visibility: hidden !important;
  }
}
@media (min-width: 1200px) {
  .so-visible-xl {
    visibility: visible !important;
  }
  .so-invisible-xl {
    visibility: hidden !important;
  }
}
@media (min-width: 1400px) {
  .so-visible-xxl {
    visibility: visible !important;
  }
  .so-invisible-xxl {
    visibility: hidden !important;
  }
}
.so-flex-row {
  flex-direction: row !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.so-flex-auto {
  flex: auto !important;
}

.so-flex-initial {
  flex: initial !important;
}

.so-flex-none {
  flex: none !important;
}

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

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

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

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

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

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

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

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

.so-order-last {
  order: 9999 !important;
}

@media (min-width: 576px) {
  .so-flex-sm-row {
    flex-direction: row !important;
  }
  .so-flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .so-flex-sm-column {
    flex-direction: column !important;
  }
  .so-flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .so-flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .so-flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .so-flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .so-justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .so-justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .so-justify-content-sm-center {
    justify-content: center !important;
  }
  .so-justify-content-sm-between {
    justify-content: space-between !important;
  }
  .so-justify-content-sm-around {
    justify-content: space-around !important;
  }
  .so-justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .so-align-items-sm-start {
    align-items: flex-start !important;
  }
  .so-align-items-sm-end {
    align-items: flex-end !important;
  }
  .so-align-items-sm-center {
    align-items: center !important;
  }
  .so-align-items-sm-baseline {
    align-items: baseline !important;
  }
  .so-align-items-sm-stretch {
    align-items: stretch !important;
  }
  .so-align-self-sm-auto {
    align-self: auto !important;
  }
  .so-align-self-sm-start {
    align-self: flex-start !important;
  }
  .so-align-self-sm-end {
    align-self: flex-end !important;
  }
  .so-align-self-sm-center {
    align-self: center !important;
  }
  .so-align-self-sm-baseline {
    align-self: baseline !important;
  }
  .so-align-self-sm-stretch {
    align-self: stretch !important;
  }
  .so-flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .so-flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .so-flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .so-flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .so-flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .so-order-sm-0 {
    order: 0 !important;
  }
  .so-order-sm-1 {
    order: 1 !important;
  }
  .so-order-sm-2 {
    order: 2 !important;
  }
  .so-order-sm-3 {
    order: 3 !important;
  }
  .so-order-sm-4 {
    order: 4 !important;
  }
  .so-order-sm-5 {
    order: 5 !important;
  }
  .so-order-sm-6 {
    order: 6 !important;
  }
  .so-order-sm-first {
    order: -1 !important;
  }
  .so-order-sm-last {
    order: 9999 !important;
  }
}
@media (min-width: 768px) {
  .so-flex-md-row {
    flex-direction: row !important;
  }
  .so-flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .so-flex-md-column {
    flex-direction: column !important;
  }
  .so-flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .so-flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .so-flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .so-flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .so-justify-content-md-start {
    justify-content: flex-start !important;
  }
  .so-justify-content-md-end {
    justify-content: flex-end !important;
  }
  .so-justify-content-md-center {
    justify-content: center !important;
  }
  .so-justify-content-md-between {
    justify-content: space-between !important;
  }
  .so-justify-content-md-around {
    justify-content: space-around !important;
  }
  .so-justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .so-align-items-md-start {
    align-items: flex-start !important;
  }
  .so-align-items-md-end {
    align-items: flex-end !important;
  }
  .so-align-items-md-center {
    align-items: center !important;
  }
  .so-align-items-md-baseline {
    align-items: baseline !important;
  }
  .so-align-items-md-stretch {
    align-items: stretch !important;
  }
  .so-align-self-md-auto {
    align-self: auto !important;
  }
  .so-align-self-md-start {
    align-self: flex-start !important;
  }
  .so-align-self-md-end {
    align-self: flex-end !important;
  }
  .so-align-self-md-center {
    align-self: center !important;
  }
  .so-align-self-md-baseline {
    align-self: baseline !important;
  }
  .so-align-self-md-stretch {
    align-self: stretch !important;
  }
  .so-flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .so-flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .so-flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .so-flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .so-flex-md-fill {
    flex: 1 1 auto !important;
  }
  .so-order-md-0 {
    order: 0 !important;
  }
  .so-order-md-1 {
    order: 1 !important;
  }
  .so-order-md-2 {
    order: 2 !important;
  }
  .so-order-md-3 {
    order: 3 !important;
  }
  .so-order-md-4 {
    order: 4 !important;
  }
  .so-order-md-5 {
    order: 5 !important;
  }
  .so-order-md-6 {
    order: 6 !important;
  }
  .so-order-md-first {
    order: -1 !important;
  }
  .so-order-md-last {
    order: 9999 !important;
  }
}
@media (min-width: 1024px) {
  .so-flex-lg-row {
    flex-direction: row !important;
  }
  .so-flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .so-flex-lg-column {
    flex-direction: column !important;
  }
  .so-flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .so-flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .so-flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .so-flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .so-justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .so-justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .so-justify-content-lg-center {
    justify-content: center !important;
  }
  .so-justify-content-lg-between {
    justify-content: space-between !important;
  }
  .so-justify-content-lg-around {
    justify-content: space-around !important;
  }
  .so-justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .so-align-items-lg-start {
    align-items: flex-start !important;
  }
  .so-align-items-lg-end {
    align-items: flex-end !important;
  }
  .so-align-items-lg-center {
    align-items: center !important;
  }
  .so-align-items-lg-baseline {
    align-items: baseline !important;
  }
  .so-align-items-lg-stretch {
    align-items: stretch !important;
  }
  .so-align-self-lg-auto {
    align-self: auto !important;
  }
  .so-align-self-lg-start {
    align-self: flex-start !important;
  }
  .so-align-self-lg-end {
    align-self: flex-end !important;
  }
  .so-align-self-lg-center {
    align-self: center !important;
  }
  .so-align-self-lg-baseline {
    align-self: baseline !important;
  }
  .so-align-self-lg-stretch {
    align-self: stretch !important;
  }
  .so-flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .so-flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .so-flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .so-flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .so-flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .so-order-lg-0 {
    order: 0 !important;
  }
  .so-order-lg-1 {
    order: 1 !important;
  }
  .so-order-lg-2 {
    order: 2 !important;
  }
  .so-order-lg-3 {
    order: 3 !important;
  }
  .so-order-lg-4 {
    order: 4 !important;
  }
  .so-order-lg-5 {
    order: 5 !important;
  }
  .so-order-lg-6 {
    order: 6 !important;
  }
  .so-order-lg-first {
    order: -1 !important;
  }
  .so-order-lg-last {
    order: 9999 !important;
  }
}
@media (min-width: 1200px) {
  .so-flex-xl-row {
    flex-direction: row !important;
  }
  .so-flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .so-flex-xl-column {
    flex-direction: column !important;
  }
  .so-flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .so-flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .so-flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .so-flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .so-justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .so-justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .so-justify-content-xl-center {
    justify-content: center !important;
  }
  .so-justify-content-xl-between {
    justify-content: space-between !important;
  }
  .so-justify-content-xl-around {
    justify-content: space-around !important;
  }
  .so-justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .so-align-items-xl-start {
    align-items: flex-start !important;
  }
  .so-align-items-xl-end {
    align-items: flex-end !important;
  }
  .so-align-items-xl-center {
    align-items: center !important;
  }
  .so-align-items-xl-baseline {
    align-items: baseline !important;
  }
  .so-align-items-xl-stretch {
    align-items: stretch !important;
  }
  .so-align-self-xl-auto {
    align-self: auto !important;
  }
  .so-align-self-xl-start {
    align-self: flex-start !important;
  }
  .so-align-self-xl-end {
    align-self: flex-end !important;
  }
  .so-align-self-xl-center {
    align-self: center !important;
  }
  .so-align-self-xl-baseline {
    align-self: baseline !important;
  }
  .so-align-self-xl-stretch {
    align-self: stretch !important;
  }
  .so-flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .so-flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .so-flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .so-flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .so-flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .so-order-xl-0 {
    order: 0 !important;
  }
  .so-order-xl-1 {
    order: 1 !important;
  }
  .so-order-xl-2 {
    order: 2 !important;
  }
  .so-order-xl-3 {
    order: 3 !important;
  }
  .so-order-xl-4 {
    order: 4 !important;
  }
  .so-order-xl-5 {
    order: 5 !important;
  }
  .so-order-xl-6 {
    order: 6 !important;
  }
  .so-order-xl-first {
    order: -1 !important;
  }
  .so-order-xl-last {
    order: 9999 !important;
  }
}
@media (min-width: 1400px) {
  .so-flex-xxl-row {
    flex-direction: row !important;
  }
  .so-flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .so-flex-xxl-column {
    flex-direction: column !important;
  }
  .so-flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .so-flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .so-flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .so-flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .so-justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .so-justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .so-justify-content-xxl-center {
    justify-content: center !important;
  }
  .so-justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .so-justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .so-justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .so-align-items-xxl-start {
    align-items: flex-start !important;
  }
  .so-align-items-xxl-end {
    align-items: flex-end !important;
  }
  .so-align-items-xxl-center {
    align-items: center !important;
  }
  .so-align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .so-align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .so-align-self-xxl-auto {
    align-self: auto !important;
  }
  .so-align-self-xxl-start {
    align-self: flex-start !important;
  }
  .so-align-self-xxl-end {
    align-self: flex-end !important;
  }
  .so-align-self-xxl-center {
    align-self: center !important;
  }
  .so-align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .so-align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .so-flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .so-flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .so-flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .so-flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .so-flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .so-order-xxl-0 {
    order: 0 !important;
  }
  .so-order-xxl-1 {
    order: 1 !important;
  }
  .so-order-xxl-2 {
    order: 2 !important;
  }
  .so-order-xxl-3 {
    order: 3 !important;
  }
  .so-order-xxl-4 {
    order: 4 !important;
  }
  .so-order-xxl-5 {
    order: 5 !important;
  }
  .so-order-xxl-6 {
    order: 6 !important;
  }
  .so-order-xxl-first {
    order: -1 !important;
  }
  .so-order-xxl-last {
    order: 9999 !important;
  }
}
.so-text-start {
  text-align: start !important;
}

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

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

.so-text-justify {
  text-align: justify !important;
}

@media (min-width: 576px) {
  .so-text-sm-start {
    text-align: start !important;
  }
  .so-text-sm-end {
    text-align: end !important;
  }
  .so-text-sm-center {
    text-align: center !important;
  }
  .so-text-sm-justify {
    text-align: justify !important;
  }
}
@media (min-width: 768px) {
  .so-text-md-start {
    text-align: start !important;
  }
  .so-text-md-end {
    text-align: end !important;
  }
  .so-text-md-center {
    text-align: center !important;
  }
  .so-text-md-justify {
    text-align: justify !important;
  }
}
@media (min-width: 1024px) {
  .so-text-lg-start {
    text-align: start !important;
  }
  .so-text-lg-end {
    text-align: end !important;
  }
  .so-text-lg-center {
    text-align: center !important;
  }
  .so-text-lg-justify {
    text-align: justify !important;
  }
}
@media (min-width: 1200px) {
  .so-text-xl-start {
    text-align: start !important;
  }
  .so-text-xl-end {
    text-align: end !important;
  }
  .so-text-xl-center {
    text-align: center !important;
  }
  .so-text-xl-justify {
    text-align: justify !important;
  }
}
@media (min-width: 1400px) {
  .so-text-xxl-start {
    text-align: start !important;
  }
  .so-text-xxl-end {
    text-align: end !important;
  }
  .so-text-xxl-center {
    text-align: center !important;
  }
  .so-text-xxl-justify {
    text-align: justify !important;
  }
}
.so-text-lowercase {
  text-transform: lowercase !important;
}

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

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

.so-text-none {
  text-transform: none !important;
}

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

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

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

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

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

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

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

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

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

.so-fw-black {
  font-weight: 900 !important;
}

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

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

.so-fs-xs {
  font-size: 0.75rem !important;
}

.so-fs-sm {
  font-size: 0.875rem !important;
}

.so-fs-base {
  font-size: 1rem !important;
}

.so-fs-lg {
  font-size: 1.125rem !important;
}

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

.so-fs-2xl {
  font-size: 1.5rem !important;
}

.so-fs-3xl {
  font-size: 1.875rem !important;
}

.so-fs-4xl {
  font-size: 2.25rem !important;
}

.so-fs-5xl {
  font-size: 3rem !important;
}

.so-fs-6xl {
  font-size: 3.75rem !important;
}

.so-fs-1 {
  font-size: 2.5rem !important;
}

.so-fs-2 {
  font-size: 2rem !important;
}

.so-fs-3 {
  font-size: 1.75rem !important;
}

.so-fs-4 {
  font-size: 1.5rem !important;
}

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

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

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

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

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

.so-lh-snug {
  line-height: 1.375 !important;
}

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

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

.so-lh-relaxed {
  line-height: 1.625 !important;
}

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

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

.so-tracking-tighter {
  letter-spacing: -0.05em !important;
}

.so-tracking-tight {
  letter-spacing: -0.025em !important;
}

.so-tracking-normal {
  letter-spacing: 0 !important;
}

.so-tracking-wide {
  letter-spacing: 0.025em !important;
}

.so-tracking-wider {
  letter-spacing: 0.05em !important;
}

.so-tracking-widest {
  letter-spacing: 0.1em !important;
}

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

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

.so-text-pre {
  white-space: pre !important;
}

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

.so-text-pre-line {
  white-space: pre-line !important;
}

.so-text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

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

.so-line-clamp-1 {
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.so-line-clamp-2 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.so-line-clamp-3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.so-line-clamp-4 {
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.so-line-clamp-5 {
  display: -webkit-box !important;
  -webkit-line-clamp: 5 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.so-line-clamp-6 {
  display: -webkit-box !important;
  -webkit-line-clamp: 6 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.so-line-clamp-none {
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
}

.so-break-normal {
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.so-break-words {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

.so-break-all {
  word-break: break-all !important;
}

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

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

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

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

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

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

.so-align-sub {
  vertical-align: sub !important;
}

.so-align-super {
  vertical-align: super !important;
}

.so-font-sans {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.so-font-serif {
  font-family: Georgia, Cambria, "Times New Roman", Times, serif !important;
}

.so-font-mono {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

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

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

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

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

.so-text-primary {
  --so-text-opacity: 1;
  color: color-mix(in srgb, var(--so-accent-primary) calc(var(--so-text-opacity) * 100%), transparent) !important;
}

.so-text-success {
  --so-text-opacity: 1;
  color: color-mix(in srgb, var(--so-accent-success) calc(var(--so-text-opacity) * 100%), transparent) !important;
}

.so-text-danger {
  --so-text-opacity: 1;
  color: color-mix(in srgb, var(--so-accent-danger) calc(var(--so-text-opacity) * 100%), transparent) !important;
}

.so-text-warning {
  --so-text-opacity: 1;
  color: color-mix(in srgb, var(--so-soft-warning-text) calc(var(--so-text-opacity) * 100%), transparent) !important;
}

.so-text-info {
  --so-text-opacity: 1;
  color: color-mix(in srgb, var(--so-accent-info) calc(var(--so-text-opacity) * 100%), transparent) !important;
}

.so-text-secondary {
  --so-text-opacity: 1;
  color: color-mix(in srgb, var(--so-accent-secondary) calc(var(--so-text-opacity) * 100%), transparent) !important;
}

.so-text-light {
  --so-text-opacity: 1;
  color: color-mix(in srgb, var(--so-accent-light) calc(var(--so-text-opacity) * 100%), transparent) !important;
}

.so-text-dark {
  --so-text-opacity: 1;
  color: color-mix(in srgb, var(--so-accent-dark) calc(var(--so-text-opacity) * 100%), transparent) !important;
}

.so-text-white {
  color: #ffffff !important;
}

.so-text-black {
  color: #000 !important;
}

.so-text-muted {
  color: #9aa0a6 !important;
}

.so-text-body {
  color: var(--so-text-primary) !important;
}

.so-text-body-secondary {
  color: var(--so-text-secondary) !important;
}

.so-text-body-tertiary {
  color: var(--so-text-muted) !important;
}

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

.so-text-reset {
  color: inherit !important;
}

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

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

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

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

.so-bg-primary {
  --so-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--so-accent-primary) calc(var(--so-bg-opacity) * 100%), transparent) !important;
}

.so-bg-success {
  --so-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--so-accent-success) calc(var(--so-bg-opacity) * 100%), transparent) !important;
}

.so-bg-danger {
  --so-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--so-accent-danger) calc(var(--so-bg-opacity) * 100%), transparent) !important;
}

.so-bg-warning {
  --so-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--so-accent-warning) calc(var(--so-bg-opacity) * 100%), transparent) !important;
}

.so-bg-info {
  --so-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--so-accent-info) calc(var(--so-bg-opacity) * 100%), transparent) !important;
}

.so-bg-secondary {
  --so-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--so-accent-secondary) calc(var(--so-bg-opacity) * 100%), transparent) !important;
}

.so-bg-light {
  --so-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--so-accent-light) calc(var(--so-bg-opacity) * 100%), transparent) !important;
}

.so-bg-dark {
  --so-bg-opacity: 1;
  background-color: color-mix(in srgb, var(--so-accent-dark) calc(var(--so-bg-opacity) * 100%), transparent) !important;
}

.so-bg-white {
  background-color: #ffffff !important;
}

.so-bg-black {
  background-color: #000 !important;
}

.so-bg-body {
  background-color: var(--so-bg-primary) !important;
}

.so-bg-body-secondary {
  background-color: var(--so-bg-secondary) !important;
}

.so-bg-body-tertiary {
  background-color: var(--so-bg-subtle) !important;
}

.so-bg-transparent {
  background-color: transparent !important;
}

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

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

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

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

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

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

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

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

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

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

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

.so-bg-light-subtle {
  background-color: var(--so-accent-light-light) !important;
}

.so-bg-dark-subtle {
  background-color: var(--so-accent-dark-light) !important;
}

.so-link-primary {
  color: var(--so-accent-primary) !important;
}
.so-link-primary:hover, .so-link-primary:focus {
  color: var(--so-accent-primary-hover) !important;
}

.so-link-secondary {
  color: var(--so-accent-secondary) !important;
}
.so-link-secondary:hover, .so-link-secondary:focus {
  color: var(--so-accent-secondary-hover) !important;
}

.so-link-success {
  color: var(--so-accent-success) !important;
}
.so-link-success:hover, .so-link-success:focus {
  color: var(--so-accent-success-hover) !important;
}

.so-link-danger {
  color: var(--so-accent-danger) !important;
}
.so-link-danger:hover, .so-link-danger:focus {
  color: var(--so-accent-danger-hover) !important;
}

.so-link-warning {
  color: var(--so-soft-warning-text) !important;
}
.so-link-warning:hover, .so-link-warning:focus {
  color: var(--so-soft-warning-text) !important;
  opacity: 0.85;
}

.so-link-info {
  color: var(--so-accent-info) !important;
}
.so-link-info:hover, .so-link-info:focus {
  color: var(--so-accent-info-hover) !important;
}

.so-link-light {
  color: var(--so-accent-light) !important;
}
.so-link-light:hover, .so-link-light:focus {
  color: var(--so-accent-light-hover) !important;
}

.so-link-dark {
  color: var(--so-accent-dark) !important;
}
.so-link-dark:hover, .so-link-dark:focus {
  color: var(--so-accent-dark-hover) !important;
}

.so-link-body-emphasis {
  color: var(--so-text-primary) !important;
}
.so-link-body-emphasis:hover, .so-link-body-emphasis:focus {
  color: var(--so-accent-primary) !important;
}

.so-focus-ring:focus, .so-focus-ring:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.4) !important;
}

.so-focus-ring-primary:focus, .so-focus-ring-primary:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.4) !important;
}

.so-focus-ring-success:focus, .so-focus-ring-success:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(52, 168, 83, 0.4) !important;
}

.so-focus-ring-danger:focus, .so-focus-ring-danger:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(234, 67, 53, 0.4) !important;
}

.so-focus-ring-warning:focus, .so-focus-ring-warning:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(255, 179, 0, 0.4) !important;
}

.so-focus-ring-info:focus, .so-focus-ring-info:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.4) !important;
}

.so-focus-ring-secondary:focus, .so-focus-ring-secondary:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(108, 117, 125, 0.4) !important;
}

.so-focus-ring-light:focus, .so-focus-ring-light:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1) !important;
}

.so-focus-ring-dark:focus, .so-focus-ring-dark:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.35) !important;
}

.so-bg-gradient {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)) !important;
}

.so-bg-gradient-primary {
  background: linear-gradient(135deg, var(--so-accent-primary), var(--so-accent-primary-hover)) !important;
}

.so-bg-gradient-success {
  background: linear-gradient(135deg, var(--so-accent-success), var(--so-accent-success-hover)) !important;
}

.so-bg-gradient-danger {
  background: linear-gradient(135deg, var(--so-accent-danger), var(--so-accent-danger-hover)) !important;
}

.so-bg-gradient-warning {
  background: linear-gradient(135deg, var(--so-accent-warning), var(--so-accent-warning-hover)) !important;
}

.so-bg-gradient-info {
  background: linear-gradient(135deg, var(--so-accent-info), var(--so-accent-info-hover)) !important;
}

.so-bg-gradient-secondary {
  background: linear-gradient(135deg, var(--so-accent-secondary), var(--so-accent-secondary-hover)) !important;
}

.so-bg-gradient-light {
  background: linear-gradient(135deg, var(--so-accent-light), var(--so-accent-light-hover)) !important;
}

.so-bg-gradient-dark {
  background: linear-gradient(135deg, var(--so-accent-dark), var(--so-accent-dark-hover)) !important;
}

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

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

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

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

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

.so-w-0 {
  width: 0 !important;
}

.so-w-1 {
  width: 0.25rem !important;
}

.so-w-2 {
  width: 0.5rem !important;
}

.so-w-3 {
  width: 1rem !important;
}

.so-w-4 {
  width: 1.5rem !important;
}

.so-w-5 {
  width: 3rem !important;
}

.so-w-8 {
  width: 2rem !important;
}

.so-w-10 {
  width: 2.5rem !important;
}

.so-w-12 {
  width: 3rem !important;
}

.so-w-16 {
  width: 4rem !important;
}

.so-w-20 {
  width: 5rem !important;
}

.so-w-24 {
  width: 6rem !important;
}

.so-w-32 {
  width: 8rem !important;
}

.so-w-40 {
  width: 10rem !important;
}

.so-w-48 {
  width: 12rem !important;
}

.so-w-56 {
  width: 14rem !important;
}

.so-w-64 {
  width: 16rem !important;
}

.so-w-72 {
  width: 18rem !important;
}

.so-w-80 {
  width: 20rem !important;
}

.so-w-96 {
  width: 24rem !important;
}

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

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

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

.so-min-w-0 {
  min-width: 0 !important;
}

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

.so-min-w-0 {
  min-width: 0 !important;
}

.so-min-w-1 {
  min-width: 0.25rem !important;
}

.so-min-w-2 {
  min-width: 0.5rem !important;
}

.so-min-w-3 {
  min-width: 1rem !important;
}

.so-min-w-4 {
  min-width: 1.5rem !important;
}

.so-min-w-5 {
  min-width: 3rem !important;
}

.so-min-w-8 {
  min-width: 2rem !important;
}

.so-min-w-10 {
  min-width: 2.5rem !important;
}

.so-min-w-12 {
  min-width: 3rem !important;
}

.so-min-w-16 {
  min-width: 4rem !important;
}

.so-min-w-20 {
  min-width: 5rem !important;
}

.so-min-w-24 {
  min-width: 6rem !important;
}

.so-min-w-32 {
  min-width: 8rem !important;
}

.so-min-w-40 {
  min-width: 10rem !important;
}

.so-min-w-48 {
  min-width: 12rem !important;
}

.so-min-w-56 {
  min-width: 14rem !important;
}

.so-min-w-64 {
  min-width: 16rem !important;
}

.so-min-w-72 {
  min-width: 18rem !important;
}

.so-min-w-80 {
  min-width: 20rem !important;
}

.so-min-w-96 {
  min-width: 24rem !important;
}

.so-max-w-none {
  max-width: none !important;
}

.so-max-w-xs {
  max-width: 20rem !important;
}

.so-max-w-sm {
  max-width: 24rem !important;
}

.so-max-w-md {
  max-width: 28rem !important;
}

.so-max-w-lg {
  max-width: 32rem !important;
}

.so-max-w-xl {
  max-width: 36rem !important;
}

.so-max-w-2xl {
  max-width: 42rem !important;
}

.so-max-w-3xl {
  max-width: 48rem !important;
}

.so-max-w-4xl {
  max-width: 56rem !important;
}

.so-max-w-5xl {
  max-width: 64rem !important;
}

.so-max-w-6xl {
  max-width: 72rem !important;
}

.so-max-w-7xl {
  max-width: 80rem !important;
}

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

.so-max-w-screen-sm {
  max-width: 576px !important;
}

.so-max-w-screen-md {
  max-width: 768px !important;
}

.so-max-w-screen-lg {
  max-width: 1024px !important;
}

.so-max-w-screen-xl {
  max-width: 1200px !important;
}

.so-max-w-screen-xxl {
  max-width: 1400px !important;
}

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

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

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

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

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

.so-h-0 {
  height: 0 !important;
}

.so-h-1 {
  height: 0.25rem !important;
}

.so-h-2 {
  height: 0.5rem !important;
}

.so-h-3 {
  height: 1rem !important;
}

.so-h-4 {
  height: 1.5rem !important;
}

.so-h-5 {
  height: 3rem !important;
}

.so-h-8 {
  height: 2rem !important;
}

.so-h-10 {
  height: 2.5rem !important;
}

.so-h-12 {
  height: 3rem !important;
}

.so-h-16 {
  height: 4rem !important;
}

.so-h-20 {
  height: 5rem !important;
}

.so-h-24 {
  height: 6rem !important;
}

.so-h-32 {
  height: 8rem !important;
}

.so-h-40 {
  height: 10rem !important;
}

.so-h-48 {
  height: 12rem !important;
}

.so-h-56 {
  height: 14rem !important;
}

.so-h-64 {
  height: 16rem !important;
}

.so-h-72 {
  height: 18rem !important;
}

.so-h-80 {
  height: 20rem !important;
}

.so-h-96 {
  height: 24rem !important;
}

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

.so-vh-75 {
  height: 75vh !important;
}

.so-vh-50 {
  height: 50vh !important;
}

.so-vh-25 {
  height: 25vh !important;
}

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

.so-min-vh-75 {
  min-height: 75vh !important;
}

.so-min-vh-50 {
  min-height: 50vh !important;
}

.so-min-vh-25 {
  min-height: 25vh !important;
}

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

.so-min-h-0 {
  min-height: 0 !important;
}

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

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

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

.so-max-h-screen {
  max-height: 100vh !important;
}

.so-ratio {
  position: relative;
  width: 100%;
}
.so-ratio::before {
  display: block;
  content: "";
}
.so-ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.so-ratio-1x1::before {
  padding-top: 100%;
}

.so-ratio-4x3::before {
  padding-top: 75%;
}

.so-ratio-16x9::before {
  padding-top: 56.25%;
}

.so-ratio-21x9::before {
  padding-top: 42.8571428571%;
}

.so-aspect-auto {
  aspect-ratio: auto !important;
}

.so-aspect-square {
  aspect-ratio: 1/1 !important;
}

.so-aspect-video {
  aspect-ratio: 16/9 !important;
}

.so-aspect-4\/3 {
  aspect-ratio: 4/3 !important;
}

.so-aspect-3\/2 {
  aspect-ratio: 3/2 !important;
}

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

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

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

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

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

.so-object-bottom {
  -o-object-position: bottom !important;
     object-position: bottom !important;
}

.so-object-center {
  -o-object-position: center !important;
     object-position: center !important;
}

.so-object-left {
  -o-object-position: left !important;
     object-position: left !important;
}

.so-object-left-bottom {
  -o-object-position: left bottom !important;
     object-position: left bottom !important;
}

.so-object-left-top {
  -o-object-position: left top !important;
     object-position: left top !important;
}

.so-object-right {
  -o-object-position: right !important;
     object-position: right !important;
}

.so-object-right-bottom {
  -o-object-position: right bottom !important;
     object-position: right bottom !important;
}

.so-object-right-top {
  -o-object-position: right top !important;
     object-position: right top !important;
}

.so-object-top {
  -o-object-position: top !important;
     object-position: top !important;
}

.so-border {
  border: 1px solid var(--so-border-color) !important;
}

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

.so-border-top {
  border-top: 1px solid var(--so-border-color) !important;
}

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

.so-border-end {
  border-right: 1px solid var(--so-border-color) !important;
}

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

.so-border-bottom {
  border-bottom: 1px solid var(--so-border-color) !important;
}

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

.so-border-start {
  border-left: 1px solid var(--so-border-color) !important;
}

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

.so-border-x {
  border-left: 1px solid var(--so-border-color) !important;
  border-right: 1px solid var(--so-border-color) !important;
}

.so-border-x-0 {
  border-left: 0 !important;
  border-right: 0 !important;
}

.so-border-y {
  border-top: 1px solid var(--so-border-color) !important;
  border-bottom: 1px solid var(--so-border-color) !important;
}

.so-border-y-0 {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

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

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

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

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

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

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

.so-border-primary {
  border-color: #1a73e8 !important;
}

.so-border-secondary {
  border-color: #6c757d !important;
}

.so-border-success {
  border-color: #34a853 !important;
}

.so-border-danger {
  border-color: #ea4335 !important;
}

.so-border-warning {
  border-color: #ffb300 !important;
}

.so-border-info {
  border-color: #17a2b8 !important;
}

.so-border-light {
  border-color: #dadce0 !important;
}

.so-border-dark {
  border-color: #3c4043 !important;
}

.so-border-white {
  border-color: #ffffff !important;
}

.so-border-transparent {
  border-color: transparent !important;
}

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

.so-border-emphasis {
  border-color: var(--so-border-dark) !important;
}

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

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

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

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

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

.so-border-solid {
  border-style: solid !important;
}

.so-border-dashed {
  border-style: dashed !important;
}

.so-border-dotted {
  border-style: dotted !important;
}

.so-border-double {
  border-style: double !important;
}

.so-border-hidden {
  border-style: hidden !important;
}

.so-border-none {
  border-style: none !important;
}

.so-rounded {
  border-radius: 6px !important;
}

.so-rounded-0 {
  border-radius: 0 !important;
}

.so-rounded-1 {
  border-radius: 3px !important;
}

.so-rounded-2 {
  border-radius: 6px !important;
}

.so-rounded-3 {
  border-radius: 8px !important;
}

.so-rounded-4 {
  border-radius: 10px !important;
}

.so-rounded-5 {
  border-radius: 12px !important;
}

.so-rounded-none {
  border-radius: 0 !important;
}

.so-rounded-sm {
  border-radius: 3px !important;
}

.so-rounded-md {
  border-radius: 6px !important;
}

.so-rounded-lg {
  border-radius: 8px !important;
}

.so-rounded-xl {
  border-radius: 10px !important;
}

.so-rounded-2xl {
  border-radius: 12px !important;
}

.so-rounded-3xl {
  border-radius: 1.5rem !important;
}

.so-rounded-full {
  border-radius: 9999px !important;
}

.so-rounded-circle {
  border-radius: 50% !important;
}

.so-rounded-pill {
  border-radius: 50rem !important;
}

.so-rounded-top {
  border-top-left-radius: 6px !important;
  border-top-right-radius: 6px !important;
}

.so-rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.so-rounded-end {
  border-top-right-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
}

.so-rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.so-rounded-bottom {
  border-bottom-right-radius: 6px !important;
  border-bottom-left-radius: 6px !important;
}

.so-rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.so-rounded-start {
  border-bottom-left-radius: 6px !important;
  border-top-left-radius: 6px !important;
}

.so-rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.so-divide-x > * + * {
  border-left: 1px solid var(--so-border-color);
}

.so-divide-y > * + * {
  border-top: 1px solid var(--so-border-color);
}

.so-divide-x-0 > * + * {
  border-left-width: 0;
}

.so-divide-y-0 > * + * {
  border-top-width: 0;
}

.so-divide-x-2 > * + * {
  border-left-width: 2px;
}

.so-divide-y-2 > * + * {
  border-top-width: 2px;
}

.so-outline-none {
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

.so-outline {
  outline-style: solid !important;
}

.so-outline-dashed {
  outline-style: dashed !important;
}

.so-outline-dotted {
  outline-style: dotted !important;
}

.so-outline-double {
  outline-style: double !important;
}

.so-outline-0 {
  outline-width: 0 !important;
}

.so-outline-1 {
  outline-width: 1px !important;
}

.so-outline-2 {
  outline-width: 2px !important;
}

.so-outline-4 {
  outline-width: 4px !important;
}

.so-outline-8 {
  outline-width: 8px !important;
}

.so-outline-offset-0 {
  outline-offset: 0 !important;
}

.so-outline-offset-1 {
  outline-offset: 1px !important;
}

.so-outline-offset-2 {
  outline-offset: 2px !important;
}

.so-outline-offset-4 {
  outline-offset: 4px !important;
}

.so-outline-offset-8 {
  outline-offset: 8px !important;
}

.so-ring {
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.5) !important;
}

.so-ring-0 {
  box-shadow: 0 0 0 0 transparent !important;
}

.so-ring-1 {
  box-shadow: 0 0 0 1px rgba(26, 115, 232, 0.5) !important;
}

.so-ring-2 {
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.5) !important;
}

.so-ring-4 {
  box-shadow: 0 0 0 4px rgba(26, 115, 232, 0.5) !important;
}

.so-ring-8 {
  box-shadow: 0 0 0 8px rgba(26, 115, 232, 0.5) !important;
}

.so-ring-inset {
  box-shadow: inset 0 0 0 3px rgba(26, 115, 232, 0.5) !important;
}

.so-separator {
  display: block;
  width: 100%;
  height: 1px;
  margin: 8px 0;
  background: var(--so-border-color);
  border: none;
}
.so-separator.so-separator-flush {
  margin: 0;
}
.so-separator.so-separator-sm {
  margin: 4px 0;
}
.so-separator.so-separator-lg {
  margin: 16px 0;
}
.so-separator.so-separator-xl {
  margin: 24px 0;
}
.so-separator.so-separator-2 {
  height: 2px;
}
.so-separator.so-separator-3 {
  height: 3px;
}
.so-separator.so-separator-4 {
  height: 4px;
}
.so-separator.so-separator-dashed {
  height: 0;
  background: transparent;
  border-top: 1px dashed var(--so-border-color);
}
.so-separator.so-separator-dotted {
  height: 0;
  background: transparent;
  border-top: 1px dotted var(--so-border-color);
}
.so-separator.so-separator-primary {
  background: #1a73e8;
}
.so-separator.so-separator-secondary {
  background: #6c757d;
}
.so-separator.so-separator-success {
  background: #34a853;
}
.so-separator.so-separator-danger {
  background: #ea4335;
}
.so-separator.so-separator-warning {
  background: #ffb300;
}
.so-separator.so-separator-info {
  background: #17a2b8;
}
.so-separator.so-separator-light {
  background: #dadce0;
}
.so-separator.so-separator-dark {
  background: #3c4043;
}
.so-separator.so-separator-subtle {
  background: var(--so-border-color);
}
.so-separator.so-separator-muted {
  opacity: 0.5;
}
.so-separator.so-separator-text {
  display: flex;
  align-items: center;
  height: auto;
  background: transparent;
}
.so-separator.so-separator-text::before, .so-separator.so-separator-text::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--so-border-color);
}
.so-separator.so-separator-text::before {
  margin-right: 12px;
}
.so-separator.so-separator-text::after {
  margin-left: 12px;
}

.so-separator-vertical {
  display: inline-block;
  width: 1px;
  height: 100%;
  min-height: 1rem;
  margin: 0 8px;
  background: var(--so-border-color);
  vertical-align: middle;
}
.so-separator-vertical.so-separator-flush {
  margin: 0;
}
.so-separator-vertical.so-separator-sm {
  margin: 0 4px;
}
.so-separator-vertical.so-separator-lg {
  margin: 0 16px;
}
.so-separator-vertical.so-separator-2 {
  width: 2px;
}
.so-separator-vertical.so-separator-3 {
  width: 3px;
}
.so-separator-vertical.so-separator-primary {
  background: #1a73e8;
}
.so-separator-vertical.so-separator-secondary {
  background: #6c757d;
}
.so-separator-vertical.so-separator-success {
  background: #34a853;
}
.so-separator-vertical.so-separator-danger {
  background: #ea4335;
}
.so-separator-vertical.so-separator-warning {
  background: #ffb300;
}
.so-separator-vertical.so-separator-info {
  background: #17a2b8;
}
.so-separator-vertical.so-separator-light {
  background: #dadce0;
}
.so-separator-vertical.so-separator-dark {
  background: #3c4043;
}
.so-separator-vertical.so-separator-subtle {
  background: var(--so-border-color);
}
.so-separator-vertical.so-separator-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: auto;
  height: auto;
  min-height: auto;
  background: transparent;
}
.so-separator-vertical.so-separator-text::before, .so-separator-vertical.so-separator-text::after {
  content: "";
  width: 1px;
  flex: 1;
  min-height: 1rem;
  background: var(--so-border-color);
}
.so-separator-vertical.so-separator-text::before {
  margin-bottom: 8px;
}
.so-separator-vertical.so-separator-text::after {
  margin-top: 8px;
}

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

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .so-position-sm-static {
    position: static !important;
  }
  .so-position-sm-relative {
    position: relative !important;
  }
  .so-position-sm-absolute {
    position: absolute !important;
  }
  .so-position-sm-fixed {
    position: fixed !important;
  }
  .so-position-sm-sticky {
    position: sticky !important;
  }
}
@media (min-width: 768px) {
  .so-position-md-static {
    position: static !important;
  }
  .so-position-md-relative {
    position: relative !important;
  }
  .so-position-md-absolute {
    position: absolute !important;
  }
  .so-position-md-fixed {
    position: fixed !important;
  }
  .so-position-md-sticky {
    position: sticky !important;
  }
}
@media (min-width: 1024px) {
  .so-position-lg-static {
    position: static !important;
  }
  .so-position-lg-relative {
    position: relative !important;
  }
  .so-position-lg-absolute {
    position: absolute !important;
  }
  .so-position-lg-fixed {
    position: fixed !important;
  }
  .so-position-lg-sticky {
    position: sticky !important;
  }
}
@media (min-width: 1200px) {
  .so-position-xl-static {
    position: static !important;
  }
  .so-position-xl-relative {
    position: relative !important;
  }
  .so-position-xl-absolute {
    position: absolute !important;
  }
  .so-position-xl-fixed {
    position: fixed !important;
  }
  .so-position-xl-sticky {
    position: sticky !important;
  }
}
@media (min-width: 1400px) {
  .so-position-xxl-static {
    position: static !important;
  }
  .so-position-xxl-relative {
    position: relative !important;
  }
  .so-position-xxl-absolute {
    position: absolute !important;
  }
  .so-position-xxl-fixed {
    position: fixed !important;
  }
  .so-position-xxl-sticky {
    position: sticky !important;
  }
}
.so-inset-0 {
  inset: 0 !important;
}

.so-inset-50 {
  inset: 50% !important;
}

.so-inset-100 {
  inset: 100% !important;
}

.so-inset-auto {
  inset: auto !important;
}

.so-inset-x-0 {
  left: 0 !important;
  right: 0 !important;
}

.so-inset-x-50 {
  left: 50% !important;
  right: 50% !important;
}

.so-inset-x-100 {
  left: 100% !important;
  right: 100% !important;
}

.so-inset-x-auto {
  left: auto !important;
  right: auto !important;
}

.so-inset-y-0 {
  top: 0 !important;
  bottom: 0 !important;
}

.so-inset-y-50 {
  top: 50% !important;
  bottom: 50% !important;
}

.so-inset-y-100 {
  top: 100% !important;
  bottom: 100% !important;
}

.so-inset-y-auto {
  top: auto !important;
  bottom: auto !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

.so-top-auto {
  top: auto !important;
}

.so-end-auto,
.so-right-auto {
  right: auto !important;
}

.so-bottom-auto {
  bottom: auto !important;
}

.so-start-auto,
.so-left-auto {
  left: auto !important;
}

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

.so-end-1,
.so-right-1 {
  right: 0.25rem !important;
}

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

.so-start-1,
.so-left-1 {
  left: 0.25rem !important;
}

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

.so-end-2,
.so-right-2 {
  right: 0.5rem !important;
}

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

.so-start-2,
.so-left-2 {
  left: 0.5rem !important;
}

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

.so-end-3,
.so-right-3 {
  right: 1rem !important;
}

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

.so-start-3,
.so-left-3 {
  left: 1rem !important;
}

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

.so-end-4,
.so-right-4 {
  right: 1.5rem !important;
}

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

.so-start-4,
.so-left-4 {
  left: 1.5rem !important;
}

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

.so-end-5,
.so-right-5 {
  right: 3rem !important;
}

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

.so-start-5,
.so-left-5 {
  left: 3rem !important;
}

.so-top-6 {
  top: 4rem !important;
}

.so-end-6,
.so-right-6 {
  right: 4rem !important;
}

.so-bottom-6 {
  bottom: 4rem !important;
}

.so-start-6,
.so-left-6 {
  left: 4rem !important;
}

.so-top-8 {
  top: 2rem !important;
}

.so-end-8,
.so-right-8 {
  right: 2rem !important;
}

.so-bottom-8 {
  bottom: 2rem !important;
}

.so-start-8,
.so-left-8 {
  left: 2rem !important;
}

.so-top-10 {
  top: 2.5rem !important;
}

.so-end-10,
.so-right-10 {
  right: 2.5rem !important;
}

.so-bottom-10 {
  bottom: 2.5rem !important;
}

.so-start-10,
.so-left-10 {
  left: 2.5rem !important;
}

.so-top-12 {
  top: 3rem !important;
}

.so-end-12,
.so-right-12 {
  right: 3rem !important;
}

.so-bottom-12 {
  bottom: 3rem !important;
}

.so-start-12,
.so-left-12 {
  left: 3rem !important;
}

.so-top-16 {
  top: 4rem !important;
}

.so-end-16,
.so-right-16 {
  right: 4rem !important;
}

.so-bottom-16 {
  bottom: 4rem !important;
}

.so-start-16,
.so-left-16 {
  left: 4rem !important;
}

.so-top-20 {
  top: 5rem !important;
}

.so-end-20,
.so-right-20 {
  right: 5rem !important;
}

.so-bottom-20 {
  bottom: 5rem !important;
}

.so-start-20,
.so-left-20 {
  left: 5rem !important;
}

.so-top-24 {
  top: 6rem !important;
}

.so-end-24,
.so-right-24 {
  right: 6rem !important;
}

.so-bottom-24 {
  bottom: 6rem !important;
}

.so-start-24,
.so-left-24 {
  left: 6rem !important;
}

.so-top-px {
  top: 1px !important;
}

.so-end-px,
.so-right-px {
  right: 1px !important;
}

.so-bottom-px {
  bottom: 1px !important;
}

.so-start-px,
.so-left-px {
  left: 1px !important;
}

.so-top-0\.5 {
  top: 0.125rem !important;
}

.so-end-0\.5,
.so-right-0\.5 {
  right: 0.125rem !important;
}

.so-bottom-0\.5 {
  bottom: 0.125rem !important;
}

.so-start-0\.5,
.so-left-0\.5 {
  left: 0.125rem !important;
}

.so-top-1\.5 {
  top: 0.375rem !important;
}

.so-end-1\.5,
.so-right-1\.5 {
  right: 0.375rem !important;
}

.so-bottom-1\.5 {
  bottom: 0.375rem !important;
}

.so-start-1\.5,
.so-left-1\.5 {
  left: 0.375rem !important;
}

.so-top-2\.5 {
  top: 0.625rem !important;
}

.so-end-2\.5,
.so-right-2\.5 {
  right: 0.625rem !important;
}

.so-bottom-2\.5 {
  bottom: 0.625rem !important;
}

.so-start-2\.5,
.so-left-2\.5 {
  left: 0.625rem !important;
}

.so-top-3\.5 {
  top: 0.875rem !important;
}

.so-end-3\.5,
.so-right-3\.5 {
  right: 0.875rem !important;
}

.so-bottom-3\.5 {
  bottom: 0.875rem !important;
}

.so-start-3\.5,
.so-left-3\.5 {
  left: 0.875rem !important;
}

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

.so--end-1,
.so--right-1 {
  right: -0.25rem !important;
}

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

.so--start-1,
.so--left-1 {
  left: -0.25rem !important;
}

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

.so--end-2,
.so--right-2 {
  right: -0.5rem !important;
}

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

.so--start-2,
.so--left-2 {
  left: -0.5rem !important;
}

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

.so--end-3,
.so--right-3 {
  right: -1rem !important;
}

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

.so--start-3,
.so--left-3 {
  left: -1rem !important;
}

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

.so--end-4,
.so--right-4 {
  right: -1.5rem !important;
}

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

.so--start-4,
.so--left-4 {
  left: -1.5rem !important;
}

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

.so--end-5,
.so--right-5 {
  right: -3rem !important;
}

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

.so--start-5,
.so--left-5 {
  left: -3rem !important;
}

.so--top-6 {
  top: -4rem !important;
}

.so--end-6,
.so--right-6 {
  right: -4rem !important;
}

.so--bottom-6 {
  bottom: -4rem !important;
}

.so--start-6,
.so--left-6 {
  left: -4rem !important;
}

.so--top-8 {
  top: -2rem !important;
}

.so--end-8,
.so--right-8 {
  right: -2rem !important;
}

.so--bottom-8 {
  bottom: -2rem !important;
}

.so--start-8,
.so--left-8 {
  left: -2rem !important;
}

.so--top-10 {
  top: -2.5rem !important;
}

.so--end-10,
.so--right-10 {
  right: -2.5rem !important;
}

.so--bottom-10 {
  bottom: -2.5rem !important;
}

.so--start-10,
.so--left-10 {
  left: -2.5rem !important;
}

.so--top-12 {
  top: -3rem !important;
}

.so--end-12,
.so--right-12 {
  right: -3rem !important;
}

.so--bottom-12 {
  bottom: -3rem !important;
}

.so--start-12,
.so--left-12 {
  left: -3rem !important;
}

.so--top-16 {
  top: -4rem !important;
}

.so--end-16,
.so--right-16 {
  right: -4rem !important;
}

.so--bottom-16 {
  bottom: -4rem !important;
}

.so--start-16,
.so--left-16 {
  left: -4rem !important;
}

.so--top-20 {
  top: -5rem !important;
}

.so--end-20,
.so--right-20 {
  right: -5rem !important;
}

.so--bottom-20 {
  bottom: -5rem !important;
}

.so--start-20,
.so--left-20 {
  left: -5rem !important;
}

.so--top-24 {
  top: -6rem !important;
}

.so--end-24,
.so--right-24 {
  right: -6rem !important;
}

.so--bottom-24 {
  bottom: -6rem !important;
}

.so--start-24,
.so--left-24 {
  left: -6rem !important;
}

.so--top-px {
  top: -1px !important;
}

.so--end-px,
.so--right-px {
  right: -1px !important;
}

.so--bottom-px {
  bottom: -1px !important;
}

.so--start-px,
.so--left-px {
  left: -1px !important;
}

.so--top-0\.5 {
  top: -0.125rem !important;
}

.so--end-0\.5,
.so--right-0\.5 {
  right: -0.125rem !important;
}

.so--bottom-0\.5 {
  bottom: -0.125rem !important;
}

.so--start-0\.5,
.so--left-0\.5 {
  left: -0.125rem !important;
}

.so--top-1\.5 {
  top: -0.375rem !important;
}

.so--end-1\.5,
.so--right-1\.5 {
  right: -0.375rem !important;
}

.so--bottom-1\.5 {
  bottom: -0.375rem !important;
}

.so--start-1\.5,
.so--left-1\.5 {
  left: -0.375rem !important;
}

.so--top-2\.5 {
  top: -0.625rem !important;
}

.so--end-2\.5,
.so--right-2\.5 {
  right: -0.625rem !important;
}

.so--bottom-2\.5 {
  bottom: -0.625rem !important;
}

.so--start-2\.5,
.so--left-2\.5 {
  left: -0.625rem !important;
}

.so--top-3\.5 {
  top: -0.875rem !important;
}

.so--end-3\.5,
.so--right-3\.5 {
  right: -0.875rem !important;
}

.so--bottom-3\.5 {
  bottom: -0.875rem !important;
}

.so--start-3\.5,
.so--left-3\.5 {
  left: -0.875rem !important;
}

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

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

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

.so-center-absolute {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

.so-z-n1 {
  z-index: -1 !important;
}

.so-z-0 {
  z-index: 0 !important;
}

.so-z-10 {
  z-index: 10 !important;
}

.so-z-20 {
  z-index: 20 !important;
}

.so-z-30 {
  z-index: 30 !important;
}

.so-z-40 {
  z-index: 40 !important;
}

.so-z-50 {
  z-index: 50 !important;
}

.so-z-auto {
  z-index: auto !important;
}

.so-z-dropdown {
  z-index: 1000 !important;
}

.so-z-sticky {
  z-index: 1020 !important;
}

.so-z-fixed {
  z-index: 1030 !important;
}

.so-z-modal-backdrop {
  z-index: 1040 !important;
}

.so-z-modal {
  z-index: 1050 !important;
}

.so-z-popover {
  z-index: 1060 !important;
}

.so-z-tooltip {
  z-index: 1070 !important;
}

.so-z-toast {
  z-index: 1080 !important;
}

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

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

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

@media (min-width: 576px) {
  .so-float-sm-start {
    float: left !important;
  }
  .so-float-sm-end {
    float: right !important;
  }
  .so-float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .so-float-md-start {
    float: left !important;
  }
  .so-float-md-end {
    float: right !important;
  }
  .so-float-md-none {
    float: none !important;
  }
}
@media (min-width: 1024px) {
  .so-float-lg-start {
    float: left !important;
  }
  .so-float-lg-end {
    float: right !important;
  }
  .so-float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .so-float-xl-start {
    float: left !important;
  }
  .so-float-xl-end {
    float: right !important;
  }
  .so-float-xl-none {
    float: none !important;
  }
}
@media (min-width: 1400px) {
  .so-float-xxl-start {
    float: left !important;
  }
  .so-float-xxl-end {
    float: right !important;
  }
  .so-float-xxl-none {
    float: none !important;
  }
}
.so-clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.so-shadow {
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18) !important;
}

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

.so-shadow-sm {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1) !important;
}

.so-shadow-md {
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.18) !important;
}

.so-shadow-lg {
  box-shadow: 0 8px 24px 0 rgba(0, 0, 0, 0.22) !important;
}

.so-shadow-xl {
  box-shadow: 0 12px 32px 0 rgba(0, 0, 0, 0.25) !important;
}

.so-shadow-2xl {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

.so-shadow-inner {
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05) !important;
}

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

.so-opacity-5 {
  opacity: 0.05 !important;
}

.so-opacity-10 {
  opacity: 0.1 !important;
}

.so-opacity-20 {
  opacity: 0.2 !important;
}

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

.so-opacity-30 {
  opacity: 0.3 !important;
}

.so-opacity-40 {
  opacity: 0.4 !important;
}

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

.so-opacity-60 {
  opacity: 0.6 !important;
}

.so-opacity-70 {
  opacity: 0.7 !important;
}

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

.so-opacity-80 {
  opacity: 0.8 !important;
}

.so-opacity-90 {
  opacity: 0.9 !important;
}

.so-opacity-95 {
  opacity: 0.95 !important;
}

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

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

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

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

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

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

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

.so-overflow-clip {
  overflow: clip !important;
}

.so-overflow-x-clip {
  overflow-x: clip !important;
}

.so-overflow-y-clip {
  overflow-y: clip !important;
}

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

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

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

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

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

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

.so-cursor-auto {
  cursor: auto !important;
}

.so-cursor-default {
  cursor: default !important;
}

.so-cursor-pointer {
  cursor: pointer !important;
}

.so-cursor-wait {
  cursor: wait !important;
}

.so-cursor-text {
  cursor: text !important;
}

.so-cursor-move {
  cursor: move !important;
}

.so-cursor-help {
  cursor: help !important;
}

.so-cursor-not-allowed {
  cursor: not-allowed !important;
}

.so-cursor-none {
  cursor: none !important;
}

.so-cursor-context-menu {
  cursor: context-menu !important;
}

.so-cursor-progress {
  cursor: progress !important;
}

.so-cursor-cell {
  cursor: cell !important;
}

.so-cursor-crosshair {
  cursor: crosshair !important;
}

.so-cursor-vertical-text {
  cursor: vertical-text !important;
}

.so-cursor-alias {
  cursor: alias !important;
}

.so-cursor-copy {
  cursor: copy !important;
}

.so-cursor-no-drop {
  cursor: no-drop !important;
}

.so-cursor-grab {
  cursor: grab !important;
}

.so-cursor-grabbing {
  cursor: grabbing !important;
}

.so-cursor-all-scroll {
  cursor: all-scroll !important;
}

.so-cursor-col-resize {
  cursor: col-resize !important;
}

.so-cursor-row-resize {
  cursor: row-resize !important;
}

.so-cursor-n-resize {
  cursor: n-resize !important;
}

.so-cursor-e-resize {
  cursor: e-resize !important;
}

.so-cursor-s-resize {
  cursor: s-resize !important;
}

.so-cursor-w-resize {
  cursor: w-resize !important;
}

.so-cursor-ne-resize {
  cursor: ne-resize !important;
}

.so-cursor-nw-resize {
  cursor: nw-resize !important;
}

.so-cursor-se-resize {
  cursor: se-resize !important;
}

.so-cursor-sw-resize {
  cursor: sw-resize !important;
}

.so-cursor-ew-resize {
  cursor: ew-resize !important;
}

.so-cursor-ns-resize {
  cursor: ns-resize !important;
}

.so-cursor-nesw-resize {
  cursor: nesw-resize !important;
}

.so-cursor-nwse-resize {
  cursor: nwse-resize !important;
}

.so-cursor-zoom-in {
  cursor: zoom-in !important;
}

.so-cursor-zoom-out {
  cursor: zoom-out !important;
}

.so-pe-none {
  pointer-events: none !important;
}

.so-pe-auto {
  pointer-events: auto !important;
}

.so-resize-none {
  resize: none !important;
}

.so-resize-y {
  resize: vertical !important;
}

.so-resize-x {
  resize: horizontal !important;
}

.so-resize {
  resize: both !important;
}

.so-scroll-auto {
  scroll-behavior: auto !important;
}

.so-scroll-smooth {
  scroll-behavior: smooth !important;
}

.so-snap-start {
  scroll-snap-align: start !important;
}

.so-snap-end {
  scroll-snap-align: end !important;
}

.so-snap-center {
  scroll-snap-align: center !important;
}

.so-snap-none {
  scroll-snap-type: none !important;
}

.so-snap-x {
  scroll-snap-type: x var(--so-scroll-snap-strictness, mandatory) !important;
}

.so-snap-y {
  scroll-snap-type: y var(--so-scroll-snap-strictness, mandatory) !important;
}

.so-snap-both {
  scroll-snap-type: both var(--so-scroll-snap-strictness, mandatory) !important;
}

.so-snap-mandatory {
  --so-scroll-snap-strictness: mandatory;
}

.so-snap-proximity {
  --so-scroll-snap-strictness: proximity;
}

.so-transition-none {
  transition-property: none !important;
}

.so-transition-all {
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.so-transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.so-transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.so-transition-opacity {
  transition-property: opacity !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.so-transition-shadow {
  transition-property: box-shadow !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.so-transition-transform {
  transition-property: transform !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.so-duration-0 {
  transition-duration: 0s !important;
}

.so-duration-75 {
  transition-duration: 75ms !important;
}

.so-duration-100 {
  transition-duration: 100ms !important;
}

.so-duration-150 {
  transition-duration: 150ms !important;
}

.so-duration-200 {
  transition-duration: 200ms !important;
}

.so-duration-300 {
  transition-duration: 300ms !important;
}

.so-duration-500 {
  transition-duration: 500ms !important;
}

.so-duration-700 {
  transition-duration: 700ms !important;
}

.so-duration-1000 {
  transition-duration: 1000ms !important;
}

.so-delay-0 {
  transition-delay: 0s !important;
}

.so-delay-75 {
  transition-delay: 75ms !important;
}

.so-delay-100 {
  transition-delay: 100ms !important;
}

.so-delay-150 {
  transition-delay: 150ms !important;
}

.so-delay-200 {
  transition-delay: 200ms !important;
}

.so-delay-300 {
  transition-delay: 300ms !important;
}

.so-delay-500 {
  transition-delay: 500ms !important;
}

.so-delay-700 {
  transition-delay: 700ms !important;
}

.so-delay-1000 {
  transition-delay: 1000ms !important;
}

.so-ease-linear {
  transition-timing-function: linear !important;
}

.so-ease-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;
}

.so-ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;
}

.so-ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.so-scale-0 {
  transform: scale(0) !important;
}

.so-scale-50 {
  transform: scale(0.5) !important;
}

.so-scale-75 {
  transform: scale(0.75) !important;
}

.so-scale-90 {
  transform: scale(0.9) !important;
}

.so-scale-95 {
  transform: scale(0.95) !important;
}

.so-scale-100 {
  transform: scale(1) !important;
}

.so-scale-105 {
  transform: scale(1.05) !important;
}

.so-scale-110 {
  transform: scale(1.1) !important;
}

.so-scale-125 {
  transform: scale(1.25) !important;
}

.so-scale-150 {
  transform: scale(1.5) !important;
}

.so-rotate-0 {
  transform: rotate(0deg) !important;
}

.-so-rotate-0 {
  transform: rotate(-0deg) !important;
}

.so-rotate-1 {
  transform: rotate(1deg) !important;
}

.-so-rotate-1 {
  transform: rotate(-1deg) !important;
}

.so-rotate-2 {
  transform: rotate(2deg) !important;
}

.-so-rotate-2 {
  transform: rotate(-2deg) !important;
}

.so-rotate-3 {
  transform: rotate(3deg) !important;
}

.-so-rotate-3 {
  transform: rotate(-3deg) !important;
}

.so-rotate-6 {
  transform: rotate(6deg) !important;
}

.-so-rotate-6 {
  transform: rotate(-6deg) !important;
}

.so-rotate-12 {
  transform: rotate(12deg) !important;
}

.-so-rotate-12 {
  transform: rotate(-12deg) !important;
}

.so-rotate-45 {
  transform: rotate(45deg) !important;
}

.-so-rotate-45 {
  transform: rotate(-45deg) !important;
}

.so-rotate-90 {
  transform: rotate(90deg) !important;
}

.-so-rotate-90 {
  transform: rotate(-90deg) !important;
}

.so-rotate-180 {
  transform: rotate(180deg) !important;
}

.-so-rotate-180 {
  transform: rotate(-180deg) !important;
}

.so-skew-x-0 {
  transform: skewX(0deg) !important;
}

.so-skew-x-1 {
  transform: skewX(1deg) !important;
}

.so-skew-x-2 {
  transform: skewX(2deg) !important;
}

.so-skew-x-3 {
  transform: skewX(3deg) !important;
}

.so-skew-x-6 {
  transform: skewX(6deg) !important;
}

.so-skew-x-12 {
  transform: skewX(12deg) !important;
}

.so-skew-y-0 {
  transform: skewY(0deg) !important;
}

.so-skew-y-1 {
  transform: skewY(1deg) !important;
}

.so-skew-y-2 {
  transform: skewY(2deg) !important;
}

.so-skew-y-3 {
  transform: skewY(3deg) !important;
}

.so-skew-y-6 {
  transform: skewY(6deg) !important;
}

.so-skew-y-12 {
  transform: skewY(12deg) !important;
}

.so-origin-center {
  transform-origin: center !important;
}

.so-origin-top {
  transform-origin: top !important;
}

.so-origin-top-right {
  transform-origin: top right !important;
}

.so-origin-right {
  transform-origin: right !important;
}

.so-origin-bottom-right {
  transform-origin: bottom right !important;
}

.so-origin-bottom {
  transform-origin: bottom !important;
}

.so-origin-bottom-left {
  transform-origin: bottom left !important;
}

.so-origin-left {
  transform-origin: left !important;
}

.so-origin-top-left {
  transform-origin: top left !important;
}

.so-appearance-none {
  -webkit-appearance: none !important;
     -moz-appearance: none !important;
          appearance: none !important;
}

.so-appearance-auto {
  -webkit-appearance: auto !important;
     -moz-appearance: auto !important;
          appearance: auto !important;
}

.so-touch-auto {
  touch-action: auto !important;
}

.so-touch-none {
  touch-action: none !important;
}

.so-touch-pan-x {
  touch-action: pan-x !important;
}

.so-touch-pan-y {
  touch-action: pan-y !important;
}

.so-touch-pan-left {
  touch-action: pan-left !important;
}

.so-touch-pan-right {
  touch-action: pan-right !important;
}

.so-touch-pan-up {
  touch-action: pan-up !important;
}

.so-touch-pan-down {
  touch-action: pan-down !important;
}

.so-touch-pinch-zoom {
  touch-action: pinch-zoom !important;
}

.so-touch-manipulation {
  touch-action: manipulation !important;
}

.so-will-change-auto {
  will-change: auto !important;
}

.so-will-change-scroll {
  will-change: scroll-position !important;
}

.so-will-change-contents {
  will-change: contents !important;
}

.so-will-change-transform {
  will-change: transform !important;
}

.so-content-none {
  content: none !important;
}

.so-isolate {
  isolation: isolate !important;
}

.so-isolation-auto {
  isolation: auto !important;
}

.so-mix-blend-normal {
  mix-blend-mode: normal !important;
}

.so-mix-blend-multiply {
  mix-blend-mode: multiply !important;
}

.so-mix-blend-screen {
  mix-blend-mode: screen !important;
}

.so-mix-blend-overlay {
  mix-blend-mode: overlay !important;
}

.so-mix-blend-darken {
  mix-blend-mode: darken !important;
}

.so-mix-blend-lighten {
  mix-blend-mode: lighten !important;
}

.so-mix-blend-color-dodge {
  mix-blend-mode: color-dodge !important;
}

.so-mix-blend-color-burn {
  mix-blend-mode: color-burn !important;
}

.so-mix-blend-hard-light {
  mix-blend-mode: hard-light !important;
}

.so-mix-blend-soft-light {
  mix-blend-mode: soft-light !important;
}

.so-mix-blend-difference {
  mix-blend-mode: difference !important;
}

.so-mix-blend-exclusion {
  mix-blend-mode: exclusion !important;
}

.so-mix-blend-hue {
  mix-blend-mode: hue !important;
}

.so-mix-blend-saturation {
  mix-blend-mode: saturation !important;
}

.so-mix-blend-color {
  mix-blend-mode: color !important;
}

.so-mix-blend-luminosity {
  mix-blend-mode: luminosity !important;
}

.so-bg-blend-normal {
  background-blend-mode: normal !important;
}

.so-bg-blend-multiply {
  background-blend-mode: multiply !important;
}

.so-bg-blend-screen {
  background-blend-mode: screen !important;
}

.so-bg-blend-overlay {
  background-blend-mode: overlay !important;
}

.so-bg-blend-darken {
  background-blend-mode: darken !important;
}

.so-bg-blend-lighten {
  background-blend-mode: lighten !important;
}

.so-bg-blend-color-dodge {
  background-blend-mode: color-dodge !important;
}

.so-bg-blend-color-burn {
  background-blend-mode: color-burn !important;
}

.so-bg-blend-hard-light {
  background-blend-mode: hard-light !important;
}

.so-bg-blend-soft-light {
  background-blend-mode: soft-light !important;
}

.so-bg-blend-difference {
  background-blend-mode: difference !important;
}

.so-bg-blend-exclusion {
  background-blend-mode: exclusion !important;
}

.so-bg-blend-hue {
  background-blend-mode: hue !important;
}

.so-bg-blend-saturation {
  background-blend-mode: saturation !important;
}

.so-bg-blend-color {
  background-blend-mode: color !important;
}

.so-bg-blend-luminosity {
  background-blend-mode: luminosity !important;
}

.so-blur {
  filter: blur(8px) !important;
}

.so-blur-none {
  filter: blur(0) !important;
}

.so-blur-sm {
  filter: blur(4px) !important;
}

.so-blur-md {
  filter: blur(12px) !important;
}

.so-blur-lg {
  filter: blur(16px) !important;
}

.so-blur-xl {
  filter: blur(24px) !important;
}

.so-blur-2xl {
  filter: blur(40px) !important;
}

.so-blur-3xl {
  filter: blur(64px) !important;
}

.so-grayscale-0 {
  filter: grayscale(0) !important;
}

.so-grayscale {
  filter: grayscale(100%) !important;
}

.so-sepia-0 {
  filter: sepia(0) !important;
}

.so-sepia {
  filter: sepia(100%) !important;
}

.so-invert-0 {
  filter: invert(0) !important;
}

.so-invert {
  filter: invert(100%) !important;
}

.so-backdrop-blur {
  backdrop-filter: blur(8px) !important;
}

.so-backdrop-blur-none {
  backdrop-filter: blur(0) !important;
}

.so-backdrop-blur-sm {
  backdrop-filter: blur(4px) !important;
}

.so-backdrop-blur-md {
  backdrop-filter: blur(12px) !important;
}

.so-backdrop-blur-lg {
  backdrop-filter: blur(16px) !important;
}

.so-backdrop-blur-xl {
  backdrop-filter: blur(24px) !important;
}

.so-backdrop-blur-2xl {
  backdrop-filter: blur(40px) !important;
}

.so-offscreen {
  position: fixed !important;
  left: -9999px !important;
  top: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.so-body-scroll-lock {
  overflow: hidden !important;
}

.so-rtl,
[dir=rtl] {
  direction: rtl;
  text-align: right;
}

.so-ltr,
[dir=ltr] {
  direction: ltr;
  text-align: left;
}

.so-text-start {
  text-align: left;
}
[dir=rtl] .so-text-start {
  text-align: right;
}

.so-text-end {
  text-align: right;
}
[dir=rtl] .so-text-end {
  text-align: left;
}

.so-float-start {
  float: left;
}
[dir=rtl] .so-float-start {
  float: right;
}

.so-float-end {
  float: right;
}
[dir=rtl] .so-float-end {
  float: left;
}

.so-ms-0 {
  margin-left: 0rem;
}
[dir=rtl] .so-ms-0 {
  margin-left: 0;
  margin-right: 0rem;
}

.so-me-0 {
  margin-right: 0rem;
}
[dir=rtl] .so-me-0 {
  margin-right: 0;
  margin-left: 0rem;
}

.so-ms-1 {
  margin-left: 0.25rem;
}
[dir=rtl] .so-ms-1 {
  margin-left: 0;
  margin-right: 0.25rem;
}

.so-me-1 {
  margin-right: 0.25rem;
}
[dir=rtl] .so-me-1 {
  margin-right: 0;
  margin-left: 0.25rem;
}

.so-ms-2 {
  margin-left: 0.5rem;
}
[dir=rtl] .so-ms-2 {
  margin-left: 0;
  margin-right: 0.5rem;
}

.so-me-2 {
  margin-right: 0.5rem;
}
[dir=rtl] .so-me-2 {
  margin-right: 0;
  margin-left: 0.5rem;
}

.so-ms-3 {
  margin-left: 0.75rem;
}
[dir=rtl] .so-ms-3 {
  margin-left: 0;
  margin-right: 0.75rem;
}

.so-me-3 {
  margin-right: 0.75rem;
}
[dir=rtl] .so-me-3 {
  margin-right: 0;
  margin-left: 0.75rem;
}

.so-ms-4 {
  margin-left: 1rem;
}
[dir=rtl] .so-ms-4 {
  margin-left: 0;
  margin-right: 1rem;
}

.so-me-4 {
  margin-right: 1rem;
}
[dir=rtl] .so-me-4 {
  margin-right: 0;
  margin-left: 1rem;
}

.so-ms-5 {
  margin-left: 1.25rem;
}
[dir=rtl] .so-ms-5 {
  margin-left: 0;
  margin-right: 1.25rem;
}

.so-me-5 {
  margin-right: 1.25rem;
}
[dir=rtl] .so-me-5 {
  margin-right: 0;
  margin-left: 1.25rem;
}

.so-ms-6 {
  margin-left: 1.5rem;
}
[dir=rtl] .so-ms-6 {
  margin-left: 0;
  margin-right: 1.5rem;
}

.so-me-6 {
  margin-right: 1.5rem;
}
[dir=rtl] .so-me-6 {
  margin-right: 0;
  margin-left: 1.5rem;
}

.so-ms-7 {
  margin-left: 1.75rem;
}
[dir=rtl] .so-ms-7 {
  margin-left: 0;
  margin-right: 1.75rem;
}

.so-me-7 {
  margin-right: 1.75rem;
}
[dir=rtl] .so-me-7 {
  margin-right: 0;
  margin-left: 1.75rem;
}

.so-ms-8 {
  margin-left: 2rem;
}
[dir=rtl] .so-ms-8 {
  margin-left: 0;
  margin-right: 2rem;
}

.so-me-8 {
  margin-right: 2rem;
}
[dir=rtl] .so-me-8 {
  margin-right: 0;
  margin-left: 2rem;
}

.so-ms-auto {
  margin-left: auto;
}
[dir=rtl] .so-ms-auto {
  margin-left: 0;
  margin-right: auto;
}

.so-me-auto {
  margin-right: auto;
}
[dir=rtl] .so-me-auto {
  margin-right: 0;
  margin-left: auto;
}

.so-ps-0 {
  padding-left: 0rem;
}
[dir=rtl] .so-ps-0 {
  padding-left: 0;
  padding-right: 0rem;
}

.so-pe-0 {
  padding-right: 0rem;
}
[dir=rtl] .so-pe-0 {
  padding-right: 0;
  padding-left: 0rem;
}

.so-ps-1 {
  padding-left: 0.25rem;
}
[dir=rtl] .so-ps-1 {
  padding-left: 0;
  padding-right: 0.25rem;
}

.so-pe-1 {
  padding-right: 0.25rem;
}
[dir=rtl] .so-pe-1 {
  padding-right: 0;
  padding-left: 0.25rem;
}

.so-ps-2 {
  padding-left: 0.5rem;
}
[dir=rtl] .so-ps-2 {
  padding-left: 0;
  padding-right: 0.5rem;
}

.so-pe-2 {
  padding-right: 0.5rem;
}
[dir=rtl] .so-pe-2 {
  padding-right: 0;
  padding-left: 0.5rem;
}

.so-ps-3 {
  padding-left: 0.75rem;
}
[dir=rtl] .so-ps-3 {
  padding-left: 0;
  padding-right: 0.75rem;
}

.so-pe-3 {
  padding-right: 0.75rem;
}
[dir=rtl] .so-pe-3 {
  padding-right: 0;
  padding-left: 0.75rem;
}

.so-ps-4 {
  padding-left: 1rem;
}
[dir=rtl] .so-ps-4 {
  padding-left: 0;
  padding-right: 1rem;
}

.so-pe-4 {
  padding-right: 1rem;
}
[dir=rtl] .so-pe-4 {
  padding-right: 0;
  padding-left: 1rem;
}

.so-ps-5 {
  padding-left: 1.25rem;
}
[dir=rtl] .so-ps-5 {
  padding-left: 0;
  padding-right: 1.25rem;
}

.so-pe-5 {
  padding-right: 1.25rem;
}
[dir=rtl] .so-pe-5 {
  padding-right: 0;
  padding-left: 1.25rem;
}

.so-ps-6 {
  padding-left: 1.5rem;
}
[dir=rtl] .so-ps-6 {
  padding-left: 0;
  padding-right: 1.5rem;
}

.so-pe-6 {
  padding-right: 1.5rem;
}
[dir=rtl] .so-pe-6 {
  padding-right: 0;
  padding-left: 1.5rem;
}

.so-ps-7 {
  padding-left: 1.75rem;
}
[dir=rtl] .so-ps-7 {
  padding-left: 0;
  padding-right: 1.75rem;
}

.so-pe-7 {
  padding-right: 1.75rem;
}
[dir=rtl] .so-pe-7 {
  padding-right: 0;
  padding-left: 1.75rem;
}

.so-ps-8 {
  padding-left: 2rem;
}
[dir=rtl] .so-ps-8 {
  padding-left: 0;
  padding-right: 2rem;
}

.so-pe-8 {
  padding-right: 2rem;
}
[dir=rtl] .so-pe-8 {
  padding-right: 0;
  padding-left: 2rem;
}

.so-border-start {
  border-left: 1px solid var(--so-border-color);
}
[dir=rtl] .so-border-start {
  border-left: none;
  border-right: 1px solid var(--so-border-color);
}

.so-border-end {
  border-right: 1px solid var(--so-border-color);
}
[dir=rtl] .so-border-end {
  border-right: none;
  border-left: 1px solid var(--so-border-color);
}

.so-border-start-0 {
  border-left: none !important;
}
[dir=rtl] .so-border-start-0 {
  border-right: none !important;
}

.so-border-end-0 {
  border-right: none !important;
}
[dir=rtl] .so-border-end-0 {
  border-left: none !important;
}

.so-rounded-start {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
[dir=rtl] .so-rounded-start {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.so-rounded-end {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
[dir=rtl] .so-rounded-end {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.so-flip-h {
  transform: scaleX(-1);
}

[dir=rtl] .so-rtl-flip {
  transform: scaleX(-1);
}

[dir=rtl] .so-flex-row-reverse-rtl {
  flex-direction: row-reverse;
}

.so-start-0 {
  left: 0;
}
[dir=rtl] .so-start-0 {
  left: auto;
  right: 0;
}

.so-end-0 {
  right: 0;
}
[dir=rtl] .so-end-0 {
  right: auto;
  left: 0;
}

[dir=rtl] .so-form-control {
  text-align: right;
}
[dir=rtl] .so-input-wrapper .so-input-icon {
  left: auto;
  right: 12px;
}
[dir=rtl] .so-input-wrapper:has(.so-input-icon):not(.icon-right) .so-form-control {
  padding-left: 12px;
  padding-right: 40px;
}
[dir=rtl] .so-input-wrapper.icon-right .so-form-control {
  padding-right: 12px;
  padding-left: 40px;
}
[dir=rtl] .so-input-wrapper.icon-right .so-input-icon {
  right: auto;
  left: 12px;
}
[dir=rtl] .so-input-wrapper .so-input-action {
  right: auto;
  left: 12px;
}
[dir=rtl] .so-list-group {
  padding-right: 0;
}
[dir=rtl] .so-checkbox,
[dir=rtl] .so-radio {
  padding-left: 0;
  padding-right: 28px;
}
[dir=rtl] .so-checkbox-box,
[dir=rtl] .so-radio-circle {
  left: auto;
  right: 0;
}
[dir=rtl] .so-nav-link .material-symbols-rounded:first-child {
  margin-right: 0;
  margin-left: 8px;
}
[dir=rtl] .so-dropdown-menu {
  text-align: right;
}
[dir=rtl] .so-alert .material-symbols-rounded:first-child {
  margin-right: 0;
  margin-left: 12px;
}
[dir=rtl] .so-breadcrumb-separator {
  transform: scaleX(-1);
}
[dir=rtl] .so-timeline-item {
  padding-left: 0;
  padding-right: 40px;
}
[dir=rtl] .so-timeline-marker {
  left: auto;
  right: 0;
}
[dir=rtl] .so-timeline-connector {
  left: auto;
  right: 7px;
}
[dir=rtl] .so-progress-bar {
  transform-origin: right center;
}

.so-bidi-override {
  unicode-bidi: bidi-override;
}

.so-bidi-embed {
  unicode-bidi: embed;
}

.so-bidi-isolate {
  unicode-bidi: isolate;
}

.so-bidi-isolate-override {
  unicode-bidi: isolate-override;
}

.so-bidi-plaintext {
  unicode-bidi: plaintext;
}

.so-print-only {
  display: none !important;
}
@media print {
  .so-print-only {
    display: block !important;
  }
}

.so-print-only-inline {
  display: none !important;
}
@media print {
  .so-print-only-inline {
    display: inline !important;
  }
}

.so-print-only-flex {
  display: none !important;
}
@media print {
  .so-print-only-flex {
    display: flex !important;
  }
}

@media print {
  .so-print-hide {
    display: none !important;
  }
}

@media print {
  .so-print-break-before {
    page-break-before: always;
    -moz-column-break-before: page;
         break-before: page;
  }
}

@media print {
  .so-print-break-after {
    page-break-after: always;
    -moz-column-break-after: page;
         break-after: page;
  }
}

@media print {
  .so-print-break-avoid {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
}

@media print {
  .so-print-break-inside-auto {
    page-break-inside: auto;
    -moz-column-break-inside: auto;
         break-inside: auto;
  }
}

@media print {
  .so-print-full-width {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media print {
  .so-print-w-auto {
    width: auto !important;
  }
}

@media print {
  .so-print-text-black {
    color: #000 !important;
  }
}

@media print {
  .so-print-bg-white {
    background-color: #fff !important;
  }
}

@media print {
  .so-print-bg-transparent {
    background-color: transparent !important;
  }
}

@media print {
  @page {
    margin: 1cm;
    size: A4;
  }
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt;
    line-height: 1.5;
  }
  .so-sidebar,
  .so-sidebar-toggle,
  .so-navbar,
  .so-header,
  .so-offcanvas,
  .so-modal-backdrop,
  .so-fab-stack {
    display: none !important;
  }
  .so-btn:not(.so-print-keep) {
    display: none !important;
  }
  .so-form-control,
  .so-checkbox,
  .so-radio,
  .so-switch,
  .so-select {
    border: 1px solid #ccc !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .so-dropdown-menu {
    display: none !important;
  }
  .so-tooltip,
  .so-popover {
    display: none !important;
  }
  .so-spinner,
  .so-spinner-overlay {
    display: none !important;
  }
  a[href]:not(.so-print-link-hide)::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
    word-break: break-all;
  }
  a[href^="#"]::after,
  a[href^="javascript:"]::after,
  .so-btn::after {
    content: none !important;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  .so-card {
    border: 1px solid #ddd !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  .so-card-header,
  .so-card-footer {
    background: #f5f5f5 !important;
    border-color: #ddd !important;
  }
  .so-table {
    border-collapse: collapse !important;
  }
  .so-table th,
  .so-table td {
    border: 1px solid #ddd !important;
    background: transparent !important;
  }
  .so-table th {
    background: #f5f5f5 !important;
  }
  .so-table thead {
    display: table-header-group;
  }
  .so-table tr {
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  .so-code-block {
    background: #f5f5f5 !important;
    border: 1px solid #ddd !important;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  .so-code-block-content {
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    color: #000 !important;
  }
  .so-code-block-copy {
    display: none !important;
  }
  .so-alert {
    border: 2px solid currentColor !important;
    background: transparent !important;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  .so-badge {
    border: 1px solid currentColor !important;
    background: transparent !important;
  }
  .so-collapse:not(.so-show) {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
  }
  .so-accordion-body {
    display: block !important;
  }
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  .so-main {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  .so-container,
  .so-container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
}
@media print {
  .so-print-color {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
}

@media print {
  .so-print-columns-2 {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 2cm;
         column-gap: 2cm;
  }
  .so-print-columns-3 {
    -moz-column-count: 3;
         column-count: 3;
    -moz-column-gap: 1.5cm;
         column-gap: 1.5cm;
  }
}
@keyframes so-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes so-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes so-fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes so-fade-in-down {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes so-fade-in-left {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes so-fade-in-right {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes so-slide-in-up {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes so-slide-in-down {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes so-slide-in-left {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes so-slide-in-right {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes so-slide-out-up {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes so-slide-out-down {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
@keyframes so-scale-in {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes so-scale-out {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes so-scale-up {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}
@keyframes so-scale-down {
  from {
    transform: scale(1.2);
  }
  to {
    transform: scale(1);
  }
}
@keyframes so-zoom-in {
  from {
    opacity: 0;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes so-zoom-out {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.5);
  }
}
@keyframes so-bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px);
  }
  60% {
    transform: translateY(-10px);
  }
}
@keyframes so-bounce-in {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes so-bounce-out {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
@keyframes so-shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-5px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(5px);
  }
}
@keyframes so-shake-horizontal {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-10px);
  }
  50% {
    transform: translateX(10px);
  }
  75% {
    transform: translateX(-10px);
  }
}
@keyframes so-shake-vertical {
  0%, 100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(10px);
  }
  75% {
    transform: translateY(-10px);
  }
}
@keyframes so-pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
@keyframes so-pulse-ring {
  0% {
    box-shadow: 0 0 0 0 rgba(var(--so-pulse-color, 102, 126, 234), 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(var(--so-pulse-color, 102, 126, 234), 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(var(--so-pulse-color, 102, 126, 234), 0);
  }
}
@keyframes so-heartbeat {
  0%, 100% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.1);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.1);
  }
  70% {
    transform: scale(1);
  }
}
@keyframes so-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes so-spin-reverse {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0deg);
  }
}
@keyframes so-flip-x {
  from {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  to {
    transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
}
@keyframes so-flip-y {
  from {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  to {
    transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
}
@keyframes so-swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes so-wobble {
  0%, 100% {
    transform: translateX(0);
  }
  15% {
    transform: translateX(-15px) rotate(-5deg);
  }
  30% {
    transform: translateX(12px) rotate(3deg);
  }
  45% {
    transform: translateX(-9px) rotate(-3deg);
  }
  60% {
    transform: translateX(6px) rotate(2deg);
  }
  75% {
    transform: translateX(-3px) rotate(-1deg);
  }
}
@keyframes so-jello {
  0%, 11.1%, 100% {
    transform: none;
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes so-tada {
  0%, 100% {
    transform: scale(1) rotate(0);
  }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
  }
}
@keyframes so-rubber-band {
  0%, 100% {
    transform: scaleX(1);
  }
  30% {
    transform: scaleX(1.25) scaleY(0.75);
  }
  40% {
    transform: scaleX(0.75) scaleY(1.25);
  }
  50% {
    transform: scaleX(1.15) scaleY(0.85);
  }
  65% {
    transform: scaleX(0.95) scaleY(1.05);
  }
  75% {
    transform: scaleX(1.05) scaleY(0.95);
  }
}
@keyframes so-flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes so-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@keyframes so-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes so-glow {
  0%, 100% {
    box-shadow: 0 0 5px rgba(102, 126, 234, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(102, 126, 234, 0.8), 0 0 30px rgba(102, 126, 234, 0.4);
  }
}
.so-animate {
  animation-duration: 0.3s;
  animation-fill-mode: both;
  animation-timing-function: ease-out;
}

.so-animate-fade-in {
  animation-name: so-fade-in;
}

.so-animate-fade-out {
  animation-name: so-fade-out;
}

.so-animate-fade-in-up {
  animation-name: so-fade-in-up;
}

.so-animate-fade-in-down {
  animation-name: so-fade-in-down;
}

.so-animate-fade-in-left {
  animation-name: so-fade-in-left;
}

.so-animate-fade-in-right {
  animation-name: so-fade-in-right;
}

.so-animate-slide-in-up {
  animation-name: so-slide-in-up;
}

.so-animate-slide-in-down {
  animation-name: so-slide-in-down;
}

.so-animate-slide-in-left {
  animation-name: so-slide-in-left;
}

.so-animate-slide-in-right {
  animation-name: so-slide-in-right;
}

.so-animate-slide-out-up {
  animation-name: so-slide-out-up;
}

.so-animate-slide-out-down {
  animation-name: so-slide-out-down;
}

.so-animate-scale-in {
  animation-name: so-scale-in;
}

.so-animate-scale-out {
  animation-name: so-scale-out;
}

.so-animate-scale-up {
  animation-name: so-scale-up;
}

.so-animate-scale-down {
  animation-name: so-scale-down;
}

.so-animate-zoom-in {
  animation-name: so-zoom-in;
}

.so-animate-zoom-out {
  animation-name: so-zoom-out;
}

.so-animate-bounce {
  animation-name: so-bounce;
}

.so-animate-bounce-in {
  animation-name: so-bounce-in;
}

.so-animate-bounce-out {
  animation-name: so-bounce-out;
}

.so-animate-shake {
  animation-name: so-shake;
}

.so-animate-shake-horizontal {
  animation-name: so-shake-horizontal;
}

.so-animate-shake-vertical {
  animation-name: so-shake-vertical;
}

.so-animate-pulse {
  animation-name: so-pulse;
}

.so-animate-pulse-ring {
  animation-name: so-pulse-ring;
}

.so-animate-heartbeat {
  animation-name: so-heartbeat;
}

.so-animate-spin {
  animation-name: so-spin;
  animation-timing-function: linear;
}

.so-animate-spin-reverse {
  animation-name: so-spin-reverse;
  animation-timing-function: linear;
}

.so-animate-flip-x {
  animation-name: so-flip-x;
}

.so-animate-flip-y {
  animation-name: so-flip-y;
}

.so-animate-swing {
  animation-name: so-swing;
  transform-origin: top center;
}

.so-animate-wobble {
  animation-name: so-wobble;
}

.so-animate-jello {
  animation-name: so-jello;
  transform-origin: center;
}

.so-animate-tada {
  animation-name: so-tada;
}

.so-animate-rubber-band {
  animation-name: so-rubber-band;
}

.so-animate-flash {
  animation-name: so-flash;
}

.so-animate-blink {
  animation-name: so-blink;
}

.so-animate-float {
  animation-name: so-float;
}

.so-animate-glow {
  animation-name: so-glow;
}

.so-animate-duration-100 {
  animation-duration: 100ms;
}

.so-animate-duration-200 {
  animation-duration: 200ms;
}

.so-animate-duration-300 {
  animation-duration: 300ms;
}

.so-animate-duration-400 {
  animation-duration: 400ms;
}

.so-animate-duration-500 {
  animation-duration: 500ms;
}

.so-animate-duration-700 {
  animation-duration: 700ms;
}

.so-animate-duration-1000 {
  animation-duration: 1000ms;
}

.so-animate-duration-1500 {
  animation-duration: 1500ms;
}

.so-animate-duration-2000 {
  animation-duration: 2000ms;
}

.so-animate-duration-3000 {
  animation-duration: 3000ms;
}

.so-animate-faster {
  animation-duration: 150ms;
}

.so-animate-fast {
  animation-duration: 300ms;
}

.so-animate-normal {
  animation-duration: 500ms;
}

.so-animate-slow {
  animation-duration: 800ms;
}

.so-animate-slower {
  animation-duration: 1200ms;
}

.so-animate-delay-100 {
  animation-delay: 100ms;
}

.so-animate-delay-200 {
  animation-delay: 200ms;
}

.so-animate-delay-300 {
  animation-delay: 300ms;
}

.so-animate-delay-400 {
  animation-delay: 400ms;
}

.so-animate-delay-500 {
  animation-delay: 500ms;
}

.so-animate-delay-700 {
  animation-delay: 700ms;
}

.so-animate-delay-1000 {
  animation-delay: 1000ms;
}

.so-animate-delay-1500 {
  animation-delay: 1500ms;
}

.so-animate-delay-2000 {
  animation-delay: 2000ms;
}

.so-animate-ease {
  animation-timing-function: ease;
}

.so-animate-ease-in {
  animation-timing-function: ease-in;
}

.so-animate-ease-out {
  animation-timing-function: ease-out;
}

.so-animate-ease-in-out {
  animation-timing-function: ease-in-out;
}

.so-animate-linear {
  animation-timing-function: linear;
}

.so-animate-bounce-ease {
  animation-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.so-animate-elastic {
  animation-timing-function: cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

.so-animate-spring {
  animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.so-animate-once {
  animation-iteration-count: 1;
}

.so-animate-twice {
  animation-iteration-count: 2;
}

.so-animate-thrice {
  animation-iteration-count: 3;
}

.so-animate-infinite {
  animation-iteration-count: infinite;
}

.so-animate-normal {
  animation-direction: normal;
}

.so-animate-reverse {
  animation-direction: reverse;
}

.so-animate-alternate {
  animation-direction: alternate;
}

.so-animate-alternate-reverse {
  animation-direction: alternate-reverse;
}

.so-animate-fill-none {
  animation-fill-mode: none;
}

.so-animate-fill-forwards {
  animation-fill-mode: forwards;
}

.so-animate-fill-backwards {
  animation-fill-mode: backwards;
}

.so-animate-fill-both {
  animation-fill-mode: both;
}

.so-animate-running {
  animation-play-state: running;
}

.so-animate-paused {
  animation-play-state: paused;
}

.so-animate-pause-hover:hover {
  animation-play-state: paused;
}

.so-hover-animate-pulse:hover {
  animation: so-pulse 0.5s ease-in-out;
}

.so-hover-animate-bounce:hover {
  animation: so-bounce 0.6s ease;
}

.so-hover-animate-shake:hover {
  animation: so-shake 0.5s ease;
}

.so-hover-animate-swing:hover {
  animation: so-swing 0.5s ease;
  transform-origin: top center;
}

.so-hover-animate-wobble:hover {
  animation: so-wobble 0.6s ease;
}

.so-hover-animate-jello:hover {
  animation: so-jello 0.8s ease;
}

.so-hover-animate-tada:hover {
  animation: so-tada 0.8s ease;
}

.so-hover-animate-rubber-band:hover {
  animation: so-rubber-band 0.6s ease;
}

.so-hover-animate-heartbeat:hover {
  animation: so-heartbeat 1s ease-in-out;
}

.so-hover-animate-float:hover {
  animation: so-float 1.5s ease-in-out infinite;
}

.so-hover-scale-up {
  transition: transform 0.2s ease;
}

.so-hover-scale-up:hover {
  transform: scale(1.05);
}

.so-hover-scale-down {
  transition: transform 0.2s ease;
}

.so-hover-scale-down:hover {
  transform: scale(0.95);
}

.so-hover-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.so-hover-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.so-animate-on-scroll {
  opacity: 0;
}

.so-animate-on-scroll.so-is-visible {
  opacity: 1;
}

.so-scroll-fade-in {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.so-scroll-fade-in.so-is-visible {
  opacity: 1;
}

.so-scroll-fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.so-scroll-fade-in-up.so-is-visible {
  opacity: 1;
  transform: translateY(0);
}

.so-scroll-fade-in-down {
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.so-scroll-fade-in-down.so-is-visible {
  opacity: 1;
  transform: translateY(0);
}

.so-scroll-fade-in-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.so-scroll-fade-in-left.so-is-visible {
  opacity: 1;
  transform: translateX(0);
}

.so-scroll-fade-in-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.so-scroll-fade-in-right.so-is-visible {
  opacity: 1;
  transform: translateX(0);
}

.so-scroll-scale-in {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.so-scroll-scale-in.so-is-visible {
  opacity: 1;
  transform: scale(1);
}

.so-attention-pulse {
  animation: so-pulse 2s ease-in-out infinite;
}

.so-attention-bounce {
  animation: so-bounce 2s ease infinite;
}

.so-attention-shake {
  animation: so-shake 0.5s ease infinite;
}

.so-attention-heartbeat {
  animation: so-heartbeat 1.5s ease-in-out infinite;
}

.so-attention-float {
  animation: so-float 3s ease-in-out infinite;
}

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

.so-attention-blink {
  animation: so-blink 1s ease-in-out infinite;
}

.so-loading-spin {
  animation: so-spin 1s linear infinite;
}

.so-loading-pulse {
  animation: so-pulse 1.5s ease-in-out infinite;
}

.so-loading-bounce {
  animation: so-bounce 1s ease infinite;
}

@keyframes so-dots-loading {
  0%, 80%, 100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}
.so-loading-dots {
  display: inline-flex;
  gap: 4px;
}
.so-loading-dots span {
  width: 8px;
  height: 8px;
  background: currentColor;
  border-radius: 50%;
  animation: so-dots-loading 1.4s ease-in-out infinite;
}
.so-loading-dots span:nth-child(1) {
  animation-delay: 0s;
}
.so-loading-dots span:nth-child(2) {
  animation-delay: 0.16s;
}
.so-loading-dots span:nth-child(3) {
  animation-delay: 0.32s;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
