/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *,
    :before,
    :after,
    ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}
@layer theme {
  :root,
  :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-white: #fff;
    --spacing: 0.25rem;
    --radius-sm: 0.3rem;
    --radius-md: 0.3rem;
    --radius-lg: 0.3rem;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --default-transition-duration: 0.15s;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
  :root {
    --font-sans: Inter, 'Segoe UI', system-ui, -apple-system, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --fw-normal: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 1.75rem;
    --space-8: 2rem;
    --radius-xs: 0.3rem;
    --radius-sm: 0.3rem;
    --radius-md: 0.3rem;
    --radius-lg: 0.3rem;
    --radius-xl: 0.3rem;
    --color-blue-50: #eff6ff;
    --color-blue-100: #dbeafe;
    --color-blue-500: #1b84ff;
    --color-blue-600: #056ee9;
    --color-green-50: #ecfdf3;
    --color-green-100: #d1fae5;
    --color-green-500: #17c653;
    --color-red-50: #fff1f3;
    --color-red-100: #ffe4e8;
    --color-red-500: #f8285a;
    --color-yellow-50: #fffbeb;
    --color-yellow-100: #fef3c7;
    --color-yellow-500: #f6b100;
    --background: #f6f7f5;
    --surface: #ffffff;
    --surface-muted: #f4f6f5;
    --border: #dae1e2;
    --foreground: #17243a;
    --muted-foreground: #52617a;
    --primary: #4338ca;
    --primary-strong: #3730a3;
    --rep-action-primary: #4338ca;
    --rep-action-primary-hover: #3730a3;
    --rep-accent: #0f766e;
    --rep-accent-soft: #e6f5f1;
    --rep-warm-accent: #b45309;
    --rep-warm-accent-soft: #fff3e5;
    --primary-foreground: #fff;
    --success: #15803d;
    --danger: #b91c1c;
    --warning: #b45309;
    --shadow-sm: 0 1px 2px #0f172a0f;
    --shadow-md: 0 3px 8px #0f172a14;
    --shadow-lg: 0 10px 30px #0f172a1f;
    --sidebar-width: 260px;
    --header-height: 58px;
    --rep-sidebar-width: var(--sidebar-width);
    --rep-sidebar-collapsed-width: 72px;
    --rep-header-height: var(--header-height);
    --rep-font-sans: var(--font-sans);
    --rep-primary: var(--primary);
    --rep-primary-strong: var(--primary-strong);
    --rep-info: #1d4ed8;
    --rep-success: var(--success);
    --rep-warning: var(--warning);
    --rep-danger: var(--danger);
    --rep-bg: var(--background);
    --rep-surface: var(--surface);
    --rep-surface-2: var(--surface-muted);
    --rep-border: var(--border);
    --rep-text: var(--foreground);
    --rep-text-muted: var(--muted-foreground);
    --rep-inverse-text: #f8fafc;
    --rep-auth-hero-bg: #0b1220;
    --rep-auth-hero-bg-alt: #111a2b;
    --rep-shadow: var(--shadow-md);
    --rep-radius-sm: var(--radius-sm);
    --rep-radius-md: var(--radius-md);
    --rep-radius-lg: var(--radius-lg);
    --rep-space-1: var(--space-1);
    --rep-space-2: var(--space-2);
    --rep-space-3: var(--space-3);
    --rep-space-4: var(--space-4);
    --rep-space-5: var(--space-5);
    --rep-space-6: var(--space-6);
  }
  [data-bs-theme='dark'] {
    --background: #101522;
    --surface: #172132;
    --surface-muted: #202c3b;
    --border: #394653;
    --foreground: #f9fafb;
    --muted-foreground: #9ca3af;
    --primary: #a5b4fc;
    --primary-strong: #c7d2fe;
    --rep-action-primary: #4f46e5;
    --rep-action-primary-hover: #4338ca;
    --rep-accent: #5eead4;
    --rep-accent-soft: #133b39;
    --rep-warm-accent: #fbbf24;
    --rep-warm-accent-soft: #3b2b18;
    --rep-info: #93c5fd;
    --success: #4ade80;
    --warning: #fbbf24;
    --danger: #f87171;
    --rep-inverse-text: #f8fafc;
    --rep-auth-hero-bg: #0b1220;
    --rep-auth-hero-bg-alt: #111a2b;
    --rep-shadow: 0 10px 24px #02061766;
  }
}
@layer base {
  *,
  :after,
  :before,
  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  html,
  :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    vertical-align: middle;
    display: block;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0.3rem;
  }
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0.3rem;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }
    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type='button'], [type='reset'], [type='submit']) {
    appearance: button;
  }
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button {
    height: auto;
  }
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden='until-found'])) {
    display: none !important;
  }
  *,
  :before,
  :after {
    box-sizing: border-box;
  }
  html {
    scroll-behavior: smooth;
    font-size: 16px;
  }
  body {
    min-width: 320px;
    font-family: var(--rep-font-sans);
    margin: 0;
    line-height: 1.5;
  }
  img,
  svg {
    max-width: 100%;
    display: block;
  }
  a {
    color: var(--rep-primary);
    text-decoration: none;
  }
  a:hover {
    color: var(--rep-primary-strong);
  }
  button,
  input,
  select,
  textarea {
    font: inherit;
  }
  button {
    cursor: pointer;
  }
  button:disabled,
  input:disabled,
  select:disabled,
  textarea:disabled {
    cursor: not-allowed;
    opacity: 0.7;
  }
  hr {
    border: 0;
    border-top: 1px solid var(--rep-border);
    margin: 0;
  }
  .container,
  .container-xl,
  .container-fluid {
    width: 100%;
    margin-inline: auto;
    padding-inline: 0.5rem;
  }
  .container {
    max-width: 1100px;
  }
  .container-xl {
    max-width: 1320px;
  }
  .container-fluid {
    max-width: 100%;
  }
  .row {
    flex-wrap: wrap;
    margin-inline: -0.75rem;
    display: flex;
  }
  .row > [class*='col-'],
  .row > [class^='col-'],
  .row > .col,
  .row > [class*='\ col-'] {
    width: 100%;
    padding-inline: 0.75rem;
  }
  .col-12 {
    width: 100%;
  }
  .col-6 {
    width: 50%;
  }
  @media (min-width: 768px) {
    .col-md-3 {
      width: 25%;
    }
    .col-md-4 {
      width: 33.3333%;
    }
    .col-md-6 {
      width: 50%;
    }
    .col-md-8 {
      width: 66.6667%;
    }
    .col-md-10 {
      width: 83.3333%;
    }
    .col-md-12 {
      width: 100%;
    }
  }
  @media (min-width: 992px) {
    .col-lg-4 {
      width: 33.3333%;
    }
    .col-lg-5 {
      width: 41.6667%;
    }
    .col-lg-6 {
      width: 50%;
    }
    .col-lg-7 {
      width: 58.3333%;
    }
    .col-lg-8 {
      width: 66.6667%;
    }
    .col-lg-10 {
      width: 83.3333%;
    }
    .col-lg-12 {
      width: 100%;
    }
  }
  @media (min-width: 1200px) {
    .col-xl-4 {
      width: 33.3333%;
    }
  }
  .card {
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    box-shadow: var(--rep-shadow);
  }
  .card-header,
  .modal-header {
    border-bottom: 1px solid var(--rep-border);
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 0.9rem;
    display: flex;
  }
  .card-body,
  .modal-body,
  .modal-footer {
    padding: 0.9rem;
  }
  .table,
  .rep-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
  }
  .table th,
  .table td {
    border-bottom: 1px solid var(--rep-border);
    vertical-align: middle;
    padding: 0.72rem 0.8rem;
  }
  .table-hover tbody tr:hover {
    background: var(--rep-surface-2);
  }
  .table-sm th,
  .table-sm td {
    padding: 0.5rem 0.65rem;
  }
  .table-responsive {
    overflow-x: auto;
  }
  .btn {
    border-radius: 0.3rem;
    min-height: 36px;
    color: var(--rep-text);
    background: 0 0;
    border: 1px solid #0000;
    justify-content: center;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.85rem;
    font-weight: 600;
    line-height: 1;
    transition:
      background-color 0.18s,
      color 0.18s,
      border-color 0.18s,
      box-shadow 0.18s;
    display: inline-flex;
  }
  .btn:focus-visible,
  .form-control:focus-visible,
  .form-select:focus-visible,
  .btn-close:focus-visible,
  .form-check-input:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 4px #1f4b9924;
  }
  [data-bs-theme='dark'] .btn:focus-visible,
  [data-bs-theme='dark'] .form-control:focus-visible,
  [data-bs-theme='dark'] .form-select:focus-visible,
  [data-bs-theme='dark'] .btn-close:focus-visible,
  [data-bs-theme='dark'] .form-check-input:focus-visible {
    box-shadow: 0 0 0 4px #7aa2f72e;
  }
  .btn-sm {
    border-radius: 0.3rem;
    min-height: 32px;
    padding: 0.36rem 0.75rem;
    font-size: 0.84rem;
  }
  .btn-lg {
    min-height: 40px;
    padding: 0.62rem 0.9rem;
    font-size: 0.92rem;
  }
  .btn-primary {
    background: var(--rep-action-primary);
    border-color: var(--rep-action-primary);
    color: var(--rep-inverse-text);
  }
  .btn-primary:hover {
    background: var(--rep-action-primary-hover);
    border-color: var(--rep-action-primary-hover);
    color: var(--rep-inverse-text);
  }
  .btn-secondary,
  .btn-outline-secondary:hover {
    background: var(--rep-text-muted);
    border-color: var(--rep-text-muted);
    color: var(--rep-inverse-text);
  }
  .btn-outline-primary,
  .btn-outline-secondary,
  .btn-outline-danger,
  .btn-outline-info {
    background: var(--rep-surface);
  }
  .btn-outline-primary {
    border-color: var(--rep-primary);
    color: var(--rep-primary);
  }
  .btn-outline-primary:hover {
    background: var(--rep-action-primary);
    color: var(--rep-inverse-text);
  }
  .btn-outline-secondary {
    border-color: var(--rep-border);
    color: var(--rep-text);
  }
  .btn-outline-danger {
    border-color: var(--rep-danger);
    color: var(--rep-danger);
  }
  .btn-outline-danger:hover {
    background: var(--rep-danger);
    color: var(--rep-inverse-text);
  }
  .btn-danger {
    background: var(--rep-danger);
    border-color: var(--rep-danger);
    color: var(--rep-inverse-text);
  }
  .btn-info,
  .btn-outline-info:hover {
    background: var(--rep-info);
    border-color: var(--rep-info);
    color: var(--rep-inverse-text);
  }
  .btn-outline-info {
    border-color: var(--rep-info);
    color: var(--rep-info);
  }
  .form-control,
  .form-select,
  .form-check-input,
  .input-group-text {
    border: 1px solid var(--rep-border);
    background: var(--rep-surface);
    color: var(--rep-text);
  }
  .form-control,
  .form-select {
    border-radius: 0.3rem;
    width: 100%;
    min-height: 38px;
    padding: 0.58rem 0.78rem;
    transition:
      border-color 0.18s,
      box-shadow 0.18s,
      background-color 0.18s;
  }
  .form-control::placeholder,
  .form-select::placeholder {
    color: var(--rep-text-muted);
  }
  .form-control:focus,
  .form-select:focus {
    border-color: var(--rep-primary);
    outline: none;
    box-shadow: 0 0 0 4px #1f4b991f;
  }
  .form-label {
    color: var(--rep-text);
    margin: 0 0 0.45rem;
    font-size: 0.82rem;
    font-weight: 600;
  }
  .form-check {
    align-items: flex-start;
    gap: 0.65rem;
    display: flex;
  }
  .form-check-input {
    width: 1rem;
    height: 1rem;
    accent-color: var(--rep-primary);
    border-radius: 0.3rem;
    margin: 0.15rem 0 0;
  }
  .form-check-label {
    color: var(--rep-text);
  }
  .alert {
    border-radius: 0.3rem;
    border: 1px solid #0000;
    padding: 0.72rem 0.8rem;
    font-size: 0.86rem;
  }
  .alert-danger {
    color: #8f1d1d;
    background: #fef2f2;
    border-color: #fecaca;
  }
  .badge {
    border-radius: 0.3rem;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    padding: 0.22rem 0.48rem;
    font-size: 0.72rem;
    font-weight: 600;
    display: inline-flex;
  }
  .bg-light,
  .bg-light-subtle,
  .bg-body-tertiary,
  .bg-primary-subtle,
  .bg-info-subtle,
  .bg-warning-subtle,
  .bg-success-subtle {
    background: var(--rep-surface-2);
  }
  .text-primary,
  .text-info {
    color: var(--rep-primary) !important;
  }
  .text-secondary,
  .text-muted {
    color: var(--rep-text-muted) !important;
  }
  .text-success {
    color: var(--rep-success) !important;
  }
  .text-danger,
  .text-warning {
    color: var(--rep-danger) !important;
  }
  .border,
  .border-top,
  .border-bottom,
  .border-end-0,
  .border-start-0,
  .border-primary-subtle,
  .border-info-subtle,
  .border-warning-subtle {
    border-color: var(--rep-border) !important;
  }
  .border {
    border: 1px solid var(--rep-border) !important;
  }
  .border-top {
    border-top: 1px solid var(--rep-border) !important;
  }
  .border-bottom {
    border-bottom: 1px solid var(--rep-border) !important;
  }
  .rounded,
  .rounded-2,
  .rounded-3 {
    border-radius: 0.3rem;
  }
  .rounded-pill,
  .rounded-circle {
    border-radius: 999px !important;
  }
  .shadow-sm {
    box-shadow: var(--rep-shadow) !important;
  }
  .dropdown,
  .position-relative {
    position: relative;
  }
  .dropdown-menu {
    z-index: 1100;
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    min-width: 13rem;
    box-shadow: var(--rep-shadow);
    padding: 0.35rem;
    display: none;
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
  }
  .dropdown-menu.show {
    display: block;
  }
  .dropdown-menu-end {
    left: auto;
    right: 0;
  }
  .dropdown-item {
    border-radius: 0.3rem;
    width: 100%;
    color: var(--rep-text);
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.65rem;
    font-size: 0.82rem;
    display: flex;
  }
  .dropdown-item:hover,
  .dropdown-item:focus {
    background: var(--rep-surface-2);
    color: var(--rep-primary);
  }
  .dropdown-divider {
    background: var(--rep-border);
    height: 1px;
    margin: 0.5rem 0;
  }
  .dropdown-toggle:after {
    content: '';
    border-bottom: 1.5px solid;
    border-right: 1.5px solid;
    width: 0.55rem;
    height: 0.55rem;
    margin-left: 0.45rem;
    display: inline-block;
    transform: rotate(45deg) translateY(-1px);
  }
  .modal {
    z-index: 1200;
    background: #0f172a7a;
    padding: 0.8rem;
    display: none;
    position: fixed;
    inset: 0;
    overflow-y: auto;
  }
  .modal.show {
    display: block;
  }
  .modal-dialog {
    width: min(100%, 640px);
    margin: 2rem auto;
  }
  .modal-lg {
    width: min(100%, 860px);
  }
  .modal-xl {
    width: min(100%, 1120px);
  }
  .modal-dialog-centered {
    align-items: center;
    min-height: calc(100vh - 2rem);
    display: flex;
  }
  .modal-content {
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    width: 100%;
    box-shadow: var(--rep-shadow);
  }
  .btn-close {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    width: 1.9rem;
    height: 1.9rem;
    color: var(--rep-text-muted);
    background: 0 0;
    padding: 0;
  }
  .btn-close:before {
    content: '×';
    font-size: 0.92rem;
    line-height: 1;
  }
  .list-group {
    display: grid;
  }
  .list-group-item {
    border-bottom: 1px solid var(--rep-border);
    background: var(--rep-surface);
  }
  .spinner-border {
    border: 0.16rem solid currentColor;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    background: none;
    animation: 0.9s linear infinite rep-spin;
    display: inline-block;
    vertical-align: -0.125em;
  }
  .spinner-border-sm {
    width: 1rem;
    height: 1rem;
  }
  @supports (background: conic-gradient(transparent, currentColor)) and ((mask: radial-gradient(black, transparent)) or (-webkit-mask: radial-gradient(black, transparent))) {
    .spinner-border {
      border: 0;
      background: conic-gradient(from 30deg, transparent 10%, currentColor 85%);
      -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 0.16rem), #000 calc(100% - 0.14rem));
      mask: radial-gradient(farthest-side, transparent calc(100% - 0.16rem), #000 calc(100% - 0.14rem));
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .spinner-border { animation: none; }
  }
  @media (forced-colors: active) {
    .spinner-border {
      background: none;
      -webkit-mask: none;
      mask: none;
      border: 0.16rem solid currentColor;
      border-right-color: transparent;
    }
  }
  @keyframes rep-spin {
    to {
      transform: rotate(360deg);
    }
  }
  .tooltip {
    z-index: 1300;
    position: absolute;
  }
  .tooltip .tooltip-inner {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: color-mix(in srgb, var(--rep-text) 92%, #ffffff 8%);
    max-width: 220px;
    color: var(--rep-inverse-text);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
    padding: 0.28rem 0.44rem;
    font-size: 0.69rem;
    font-weight: 500;
    line-height: 1.35;
  }
  .tooltip .tooltip-arrow:before {
    border-top-color: var(--rep-text);
    border-bottom-color: var(--rep-text);
  }
  .rep-alert-ribbon {
    z-index: 1080;
    gap: 0.45rem;
    width: min(440px, 100vw - 1rem);
    display: grid;
    position: fixed;
    top: 0.75rem;
    left: 50%;
    transform: translate(-50%);
  }
  .rep-alert-toast {
    border-radius: 0.3rem;
    box-shadow: var(--rep-shadow);
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.6rem;
    margin: 0;
    padding: 0.62rem 0.72rem;
    display: grid;
  }
}
@layer components {
  html,
  body {
    min-height: 100%;
  }
  body {
    background: var(--rep-bg);
    color: var(--rep-text);
    font-family: var(--rep-font-sans);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
  }
  .rep-topbar {
    background: var(--rep-surface);
    border-bottom: 1px solid var(--rep-border);
  }
  .rep-shell {
    min-height: calc(100vh - 64px);
  }
  .rep-main {
    width: 100%;
  }
  .rep-surface {
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    box-shadow: var(--rep-shadow);
  }
  .rep-page-header {
    padding: var(--rep-space-5);
  }
  .rep-title {
    color: var(--rep-text);
    margin: 0;
    font-weight: 700;
  }
  .rep-subtitle {
    margin: var(--rep-space-2) 0 0;
    color: var(--rep-text-muted);
  }
  .rep-stat-card {
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    height: 100%;
  }
  .rep-stat-card .card-body {
    padding: var(--rep-space-4);
  }
  .rep-label {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--rep-text-muted);
    font-size: 0.76rem;
  }
  .rep-value {
    color: var(--rep-text);
    word-break: break-word;
    font-weight: 600;
  }
  .rep-auth-wrap {
    min-height: calc(100vh - 92px);
  }
  .rep-auth-panel {
    grid-template-columns: minmax(0, 0.95fr) minmax(340px, 0.82fr);
    min-height: 0;
    display: grid;
  }
  .rep-auth-hero {
    background: var(--rep-auth-hero-bg);
    color: var(--rep-inverse-text);
    padding: 1.2rem;
    position: relative;
  }
  .rep-auth-form {
    background: var(--rep-surface);
    padding: 1rem 1.1rem;
  }
  .rep-auth-shell {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }
  .rep-auth-hero-inner,
  .rep-auth-form-inner {
    gap: 0.8rem;
    display: grid;
  }
  .rep-auth-eyebrow {
    color: #f8fafceb;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid #f8fafc33;
    border-radius: 999px;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    padding: 0.3rem 0.6rem;
    font-size: 0.68rem;
    font-weight: 700;
    display: inline-flex;
  }
  .rep-auth-title {
    letter-spacing: -0.02em;
    margin: 0;
    font-size: clamp(1.6rem, 2vw, 2.65rem);
    line-height: 1;
  }
  .rep-auth-copy {
    color: #f8fafcd6;
    max-width: 46ch;
    margin: 0;
    font-size: 0.84rem;
  }
  .rep-auth-feature-grid {
    gap: 0.55rem;
    margin-top: 0.1rem;
    display: grid;
  }
  .rep-auth-feature {
    border-radius: 0.3rem;
    background: #ffffff0a;
    border: 1px solid #f8fafc29;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.75rem 0.85rem;
    display: grid;
  }
  .rep-auth-feature-icon {
    border-radius: 0.3rem;
    width: 2rem;
    height: 2rem;
    color: var(--rep-inverse-text);
    background: #f8fafc1f;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }
  .rep-auth-feature h2,
  .rep-auth-feature h3 {
    margin: 0 0 0.2rem;
    font-size: 0.88rem;
    font-weight: 700;
  }
  .rep-auth-feature p {
    color: #f8fafcc7;
    margin: 0;
    font-size: 0.82rem;
  }
  .rep-auth-hero-footer {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin-top: auto;
    padding-top: 0.65rem;
    display: grid;
  }
  .rep-auth-stat {
    border-top: 1px solid #f8fafc2e;
    padding-top: 0.65rem;
  }
  .rep-auth-stat strong {
    font-size: 0.94rem;
    font-weight: 700;
    display: block;
  }
  .rep-auth-stat span {
    color: #f8fafcb8;
    font-size: 0.76rem;
  }
  .rep-auth-form-meta {
    border-bottom: 1px solid var(--rep-border);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.7rem;
    padding-bottom: 0.65rem;
    display: flex;
  }
  .rep-auth-form-badge {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    color: var(--rep-primary);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.75rem;
    font-size: 0.76rem;
    font-weight: 700;
    display: inline-flex;
  }
  .rep-auth-heading {
    gap: 0.3rem;
    display: grid;
  }
  .rep-auth-heading h2 {
    margin: 0;
    font-size: clamp(1.2rem, 1.8vw, 1.8rem);
    line-height: 1.05;
  }
  .rep-auth-heading p {
    color: var(--rep-text-muted);
    margin: 0;
    font-size: 0.82rem;
  }
  .rep-auth-form-grid {
    gap: 0.7rem;
    display: grid;
  }
  .rep-auth-inline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
    display: grid;
  }
  .rep-auth-panel .btn {
    min-height: 36px;
    font-weight: 600;
  }
  .rep-auth-panel .btn-primary,
  .rep-auth-panel .btn-outline-primary,
  .rep-auth-panel .btn-outline-secondary {
    border-radius: 0.3rem;
  }
  .rep-auth-subtle {
    color: var(--rep-text-muted);
    font-size: 0.8rem;
  }
  .rep-auth-links {
    gap: 0.6rem;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
  }
  .rep-auth-links a {
    color: var(--rep-primary);
    font-weight: 600;
    text-decoration: none;
  }
  .rep-auth-links a:hover {
    color: var(--rep-primary-strong);
  }
  .rep-auth-agreement {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    gap: 0.45rem;
    padding: 1rem 1rem 0.2rem;
    display: grid;
  }
  .rep-auth-choice-group ul,
  .rep-auth-choice-group {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .rep-auth-choice-group > div,
  .rep-auth-choice-group li {
    margin-bottom: 0.5rem;
  }
  .rep-auth-choice-group label {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface);
    cursor: pointer;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.62rem 0.72rem;
    display: flex;
  }
  .rep-auth-choice-group input[type='radio'] {
    margin-top: 0.2rem;
  }
  .rep-auth-list {
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
  }
  .rep-auth-list li {
    border-bottom: 1px solid #f8fafc47;
    align-items: flex-start;
    gap: 0.5rem;
    padding-bottom: 0.5rem;
    display: flex;
  }
  .rep-auth-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }
  .rep-theme-btn {
    min-width: 78px;
  }
  .rep-brand-wordmark {
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.92rem;
    font-weight: 700;
  }
  .rep-layout-frame {
    width: min(1340px, 100%);
    margin: 0 auto;
  }
  .rep-page-shell {
    gap: 0.75rem;
    display: grid;
  }
  .summary-bar {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.8rem;
    padding: 0.75rem 0.8rem;
    display: flex;
  }
  .summary-bar h1,
  .summary-bar h2,
  .summary-bar h3 {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.2;
  }
  .summary-bar .subtitle {
    color: var(--rep-text-muted);
    margin: 0.2rem 0 0;
    font-size: 0.8rem;
  }
  .rep-panel {
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    box-shadow: var(--rep-shadow);
    border-radius: 0.3rem;
    overflow: hidden;
  }
  .glass-card {
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    box-shadow: var(--rep-shadow);
  }
  .rep-panel-body {
    padding: 0.95rem;
  }
  .rep-page-head {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.55rem;
    display: flex;
  }
  .rep-page-kicker {
    align-items: center;
    gap: var(--rep-space-2);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    color: var(--rep-primary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.35rem 0.7rem;
    font-size: 0.68rem;
    font-weight: 700;
    display: inline-flex;
  }
  .rep-page-title {
    color: var(--rep-text);
    margin: 0;
    font-size: clamp(1.3rem, 1.4vw, 2rem);
    line-height: 1.08;
  }
  .rep-page-copy {
    margin: var(--rep-space-2) 0 0;
    max-width: 64ch;
    color: var(--rep-text-muted);
    font-size: 1rem;
  }
  .rep-action-row {
    gap: var(--rep-space-2);
    flex-wrap: wrap;
    display: flex;
  }
  .rep-action-row .btn {
    border-radius: 0.3rem;
  }
  .rep-metric-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.6rem;
    display: grid;
  }
  .rep-metric-card {
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    grid-column: span 4;
    padding: 0.65rem;
  }
  .rep-metric-eyebrow {
    color: var(--rep-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.7rem;
  }
  .rep-metric-value {
    margin-top: var(--rep-space-2);
    color: var(--rep-text);
    font-size: 0.88rem;
    font-weight: 700;
  }
  .rep-grid {
    gap: 0.6rem;
    display: grid;
  }
  .rep-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rep-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rep-card {
    background: var(--rep-surface);
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    height: 100%;
  }
  .rep-card-body {
    padding: 0.75rem;
  }
  .rep-card-title {
    color: var(--rep-text);
    margin: 0 0 0.55rem;
    font-size: 0.84rem;
    font-weight: 700;
  }
  .rep-card-copy {
    color: var(--rep-text-muted);
    margin: 0;
    font-size: 0.8rem;
  }
  .rep-field-grid {
    gap: 0.8rem;
    display: grid;
  }
  .rep-field-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rep-form-shell {
    gap: 0.9rem;
    display: grid;
  }
  .rep-form-section {
    gap: 0.65rem;
    padding-top: 0.15rem;
    display: grid;
  }
  .rep-form-section-title {
    color: var(--rep-text);
    margin: 0;
    font-size: 0.88rem;
    font-weight: 700;
  }
  .rep-form-section-copy {
    color: var(--rep-text-muted);
    margin: 0;
    font-size: 0.84rem;
  }
  .rep-form-field {
    gap: 0.45rem;
    display: grid;
  }
  .rep-form-field .form-label,
  .rep-form-field-label {
    color: var(--rep-text);
    margin: 0;
    font-size: 0.8rem;
    font-weight: 600;
  }
  .rep-form-help {
    color: var(--rep-text-muted);
    margin: 0;
    font-size: 0.76rem;
  }
  .rep-form-error {
    color: var(--rep-danger);
    font-size: 0.76rem;
  }
  .rep-form-field input:not([type='checkbox']):not([type='radio']),
  .rep-form-field select,
  .rep-form-field textarea,
  .rep-auth-form input:not([type='checkbox']):not([type='radio']),
  .rep-auth-form select,
  .rep-auth-form textarea {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface);
    width: 100%;
    min-height: 42px;
    color: var(--rep-text);
    padding: 0.68rem 0.8rem;
    transition:
      border-color 0.18s,
      box-shadow 0.18s,
      background-color 0.18s;
  }
  .rep-form-field textarea,
  .rep-auth-form textarea {
    min-height: 104px;
  }
  .rep-form-field input:focus,
  .rep-form-field select:focus,
  .rep-form-field textarea:focus,
  .rep-auth-form input:focus,
  .rep-auth-form select:focus,
  .rep-auth-form textarea:focus {
    border-color: var(--rep-primary);
    outline: none;
    box-shadow: 0 0 0 4px #1f4b991f;
  }
  [data-bs-theme='dark'] .rep-form-field input:focus,
  [data-bs-theme='dark'] .rep-form-field select:focus,
  [data-bs-theme='dark'] .rep-form-field textarea:focus,
  [data-bs-theme='dark'] .rep-auth-form input:focus,
  [data-bs-theme='dark'] .rep-auth-form select:focus,
  [data-bs-theme='dark'] .rep-auth-form textarea:focus {
    box-shadow: 0 0 0 4px #7aa2f72e;
  }
  .rep-is-invalid {
    border-color: var(--rep-danger) !important;
  }
  .rep-badge {
    border-radius: 0.3rem;
    border: 1px solid var(--rep-border);
    background: var(--rep-surface-2);
    color: var(--rep-text);
    align-items: center;
    gap: 0.35rem;
    padding: 0.22rem 0.45rem;
    font-size: 0.8125rem;
    font-weight: 600;
    display: inline-flex;
  }
  .rep-badge-info {
    color: var(--rep-primary);
  }
  .rep-toolbar {
    border-bottom: 1px solid var(--rep-border);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem;
    display: flex;
  }
  .rep-search {
    width: min(100%, 320px);
    position: relative;
  }
  .rep-search input {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface);
    width: 100%;
    min-height: 40px;
    color: var(--rep-text);
    padding: 0.62rem 0.8rem 0.62rem 2.4rem;
  }
  .rep-search i {
    color: var(--rep-text-muted);
    position: absolute;
    top: 50%;
    left: 0.95rem;
    transform: translateY(-50%);
  }
  .rep-table-wrap {
    border-radius: 0.3rem;
    overflow-x: auto;
  }
  .rep-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
  }
  .rep-table th,
  .rep-table td {
    border-bottom: 1px solid var(--rep-border);
    vertical-align: middle;
    padding: 0.82rem 0.9rem;
  }
  .rep-table thead th {
    color: #5e6278;
    letter-spacing: 0.04em;
    text-transform: none;
    white-space: nowrap;
    background: var(--rep-surface);
    border-top: 1px solid var(--rep-border);
    font-size: 0.73rem;
    font-weight: 600;
  }
  .rep-col-actions {
    white-space: nowrap;
    text-align: right;
  }
  .rep-table tbody tr:hover {
    background: #f9f9f9;
  }
  .rep-table tr.is-selected {
    background: var(--rep-primary);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .rep-table tr.is-selected {
      background: color-mix(in srgb, var(--rep-primary) 7%, transparent);
    }
  }
  .rep-table th button {
    color: inherit;
    font: inherit;
    background: 0 0;
    border: 0;
    align-items: center;
    gap: 0.45rem;
    padding: 0;
    display: inline-flex;
  }
  .rep-table th button:hover,
  .rep-table [data-sort-direction='asc'] button,
  .rep-table [data-sort-direction='desc'] button {
    color: var(--rep-primary);
  }
  .rep-data-table-toolbar {
    border-bottom: 1px solid var(--rep-border);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem 1.1rem;
    display: flex;
  }
  .rep-data-table-summary {
    color: var(--rep-text);
    font-size: 1rem;
    font-weight: 600;
  }
  .rep-data-table-controls {
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    display: flex;
  }
  .rep-data-table-search {
    width: min(250px, 100%);
  }
  .rep-data-table-filter {
    min-width: 150px;
    min-height: 38px;
  }
  .rep-user-cell {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.5rem;
    display: grid;
  }
  .rep-user-cell-meta {
    min-width: 0;
  }
  .rep-user-name {
    color: var(--rep-text);
    font-size: 0.86rem;
    font-weight: 700;
  }
  .rep-status-pill {
    border: 1px solid var(--rep-border);
    border-radius: 999px;
    align-items: center;
    gap: 0.3rem;
    min-height: 26px;
    padding: 0.2rem 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    display: inline-flex;
  }
  .rep-status-pill:before {
    content: '';
    background: currentColor;
    border-radius: 0.3rem;
    width: 6px;
    height: 6px;
  }
  .rep-status-pill-success {
    color: #15803d;
    background: #f0fdf4;
    border-color: #86efac;
  }
  .rep-status-pill-warning {
    color: #b45309;
    background: #fffbeb;
    border-color: #fcd34d;
  }
  .rep-status-pill-danger {
    color: #b91c1c;
    background: #fef2f2;
    border-color: #fca5a5;
  }
  .rep-row-actions {
    position: relative;
  }
  .rep-row-actions-toggle {
    min-width: 30px;
    min-height: 30px;
    padding: 0;
  }
  .rep-row-actions-menu {
    z-index: 1200;
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface);
    min-width: 170px;
    box-shadow: var(--rep-shadow);
    padding: 0.3rem;
    display: none;
    position: absolute;
    top: calc(100% + 0.25rem);
    right: 0;
  }
  .rep-row-actions-menu.show {
    display: block;
  }
  .rep-row-actions-link {
    border-radius: 0.3rem;
    width: 100%;
    min-height: 30px;
    color: var(--rep-text);
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
    text-decoration: none;
    display: flex;
  }
  .rep-row-actions-link:hover {
    background: var(--rep-surface-2);
    color: var(--rep-primary);
  }
  .rep-list-avatar {
    background: var(--rep-surface-2);
    width: 2.2rem;
    height: 2.2rem;
    color: var(--rep-primary);
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    display: inline-flex;
  }
  .rep-inline-meta {
    color: var(--rep-text-muted);
    font-size: 0.78rem;
  }
  .rep-empty-state {
    text-align: center;
    color: var(--rep-text-muted);
    padding: 2rem 1rem;
  }
  .rep-empty-state i {
    margin-bottom: var(--rep-space-2);
    font-size: 1.5rem;
    display: block;
  }
  .rep-pagination {
    justify-content: end;
    padding: 0.8rem;
    display: flex;
  }
  .rep-pagination-inner,
  .rep-pagination-links,
  .rep-pagination-size-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .rep-pagination-inner {
    width: 100%;
    justify-content: space-between;
    gap: 0.75rem;
  }
  .rep-pagination-left:empty {
    display: none;
  }
  .rep-pagination-right {
    margin-inline-start: auto;
  }
  .rep-pagination-size-form .form-select {
    width: 5.5rem;
    min-height: var(--rep-btn-height, 2.625rem);
  }
  .rep-page-link {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface);
    min-width: 34px;
    min-height: 34px;
    color: var(--rep-text);
    justify-content: center;
    align-items: center;
    padding: 0.38rem 0.72rem;
    text-decoration: none;
    display: inline-flex;
  }
  .rep-page-link.is-active,
  .rep-page-link:hover {
    border-color: var(--rep-primary);
    color: var(--rep-primary);
  }
  .rep-breadcrumb {
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
  }
  .rep-breadcrumb a {
    color: var(--rep-primary);
    text-decoration: none;
  }
  .rep-breadcrumb .is-current {
    color: var(--rep-text-muted);
  }
  .rep-auth-panel {
  }
  .rep-auth-list p {
    color: #f8fafce0;
  }
  .rep-note {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    padding: 0.75rem;
  }

  .rep-consent-gate {
    border: 1px solid color-mix(in srgb, var(--rep-border) 86%, #bfdbfe 14%);
    border-radius: 0.3rem;
    background: linear-gradient(180deg, color-mix(in srgb, var(--rep-surface) 92%, #eff6ff 8%), var(--rep-surface));
    gap: 0.75rem;
    margin-top: 0.6rem;
    padding: 0.85rem 0.9rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .rep-consent-gate__icon {
    border: 1px solid color-mix(in srgb, var(--rep-primary) 22%, var(--rep-border));
    border-radius: 0.3rem;
    background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface));
    width: 34px;
    height: 34px;
    color: var(--rep-primary);
    align-items: center;
    justify-content: center;
    display: inline-flex;
  }

  .rep-consent-gate__icon i {
    font-size: 0.92rem;
  }

  .rep-consent-gate__content {
    min-width: 0;
  }

  .rep-consent-gate__title {
    margin: 0;
    color: var(--rep-text);
    font-size: 0.84rem;
    font-weight: 700;
  }

  .rep-consent-gate__copy {
    margin: 0.2rem 0 0.45rem 0;
    color: var(--rep-text-muted);
    font-size: 0.78rem;
    line-height: 1.45;
  }

  .rep-consent-gate__check {
    margin: 0;
    color: var(--rep-text);
    gap: 0.5rem;
    align-items: flex-start;
    font-size: 0.79rem;
    font-weight: 600;
    display: flex;
  }

  .rep-consent-gate__check input[type='checkbox'] {
    margin-top: 0.08rem;
  }

  .rep-consent-gate__hint {
    margin: 0.35rem 0 0 0;
    color: var(--rep-text-muted);
    font-size: 0.73rem;
  }

  @media (max-width: 767.98px) {
    .rep-consent-gate {
      grid-template-columns: 1fr;
      padding: 0.8rem;
    }
  }

  .rep-verification-delivery-alert {
    border: 1px solid #fecaca !important;
    border-radius: 0.3rem;
    background: #fef2f2 !important;
    color: #7f1d1d !important;
    padding: 0.75rem 0.9rem;
  }

  .rep-verification-delivery-alert .rep-alert-icon {
    color: #dc2626 !important;
    margin-top: 0.1rem;
  }

  .rep-verification-delivery-alert strong {
    color: #991b1b !important;
    font-weight: 700;
  }

  [data-bs-theme='dark'] .rep-verification-delivery-alert {
    border-color: #7f1d1d !important;
    background: #3f0c1b !important;
    color: #fecaca !important;
  }

  [data-bs-theme='dark'] .rep-verification-delivery-alert .rep-alert-icon {
    color: #f87171 !important;
  }

  [data-bs-theme='dark'] .rep-verification-delivery-alert strong {
    color: #fda4af !important;
  }
  .rep-captcha-row {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.55rem;
    display: grid;
  }
  .rep-captcha-value {
    min-width: 0;
  }
  .rep-topbar-chip {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    min-height: 34px;
    color: var(--rep-primary);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.65rem;
    font-size: 0.72rem;
    font-weight: 700;
    display: inline-flex;
  }
  .rep-footer {
    padding: 0.65rem 0.9rem;
  }
  .rep-modal-list {
    gap: 0.65rem;
    display: grid;
  }
  .rep-modal-list-item {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    padding: 0.65rem 0.75rem;
  }
  .rep-summary-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.8rem;
    display: grid;
  }
  .rep-summary-card {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface);
    grid-column: span 4;
    gap: 0.4rem;
    padding: 0.8rem;
    display: grid;
  }
  .rep-summary-card-title {
    color: var(--rep-text-muted);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
  }
  .rep-summary-card-value {
    color: var(--rep-text);
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
  }
  .rep-summary-card-copy {
    color: var(--rep-text-muted);
    margin: 0;
    font-size: 0.76rem;
  }
  .rep-form-divider {
    padding-bottom: var(--rep-space-3);
    border-bottom: 1px solid var(--rep-border);
  }
  .rep-list-compact {
    gap: var(--rep-space-2);
    color: var(--rep-text-muted);
    margin: 0;
    padding-left: 1rem;
    display: grid;
  }
  .rep-list-compact li {
    line-height: 1.45;
  }
  @media (max-width: 991.98px) {
    .rep-shell {
      min-height: auto;
    }
    .rep-auth-panel {
      grid-template-columns: 1fr;
    }
    .rep-auth-form,
    .rep-auth-hero {
      padding: 1rem;
    }
    .rep-auth-hero-footer,
    .rep-auth-inline-grid,
    .rep-grid-2,
    .rep-grid-3,
    .rep-field-grid-2 {
      grid-template-columns: 1fr;
    }
    .rep-metric-card,
    .rep-summary-card {
      grid-column: span 12;
    }
  }
  .rep-app-body {
    min-height: 100vh;
    overflow: hidden;
  }
  body {
    overflow-x: hidden;
  }
  * {
    scrollbar-width: thin;
    scrollbar-color: var(--rep-scroll-thumb, #a8b5c7) transparent;
  }
  ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }
  ::-webkit-scrollbar-track {
    background: 0 0;
  }
  ::-webkit-scrollbar-thumb {
    background: var(--rep-scroll-thumb, #a8b5c7);
    border-radius: 999px;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--rep-scroll-thumb-hover, #7e90a8);
  }
  #spinner {
    opacity: 0;
    visibility: hidden;
    z-index: 2000;
    background: color-mix(in srgb, var(--rep-surface) 90%, #eef3fb 10%);
    transition:
      opacity 0.3s,
      visibility 0s linear 0.3s;
  }
  #spinner.show {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s;
  }
  [data-bs-theme='dark'] #spinner {
    background: color-mix(in srgb, #0f172a 92%, #020617 8%);
  }
  .rep-spinner-shell {
    width: 108px;
    height: 108px;
    border-radius: 999px;
    position: relative;
    display: grid;
    place-items: center;
    border: 1px solid var(--rep-border);
    background: var(--rep-surface);
  }
  .rep-spinner-ring {
    position: absolute;
    inset: 8px;
    border-radius: 999px;
    border: 0;
  }
  .rep-spinner-logo-wrap {
    width: 64px;
    height: 64px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--rep-surface) 92%, var(--rep-primary) 8%);
    border: 1px solid color-mix(in srgb, var(--rep-primary) 18%, var(--rep-border));
  }
  .rep-spinner-logo {
    width: 46px;
    height: auto;
    display: block;
  }
  [data-bs-theme='dark'] .rep-spinner-shell {
    background: color-mix(in srgb, var(--rep-surface) 86%, #0b1220 14%);
  }
  [data-bs-theme='dark'] .rep-spinner-logo-wrap {
    background: color-mix(in srgb, var(--rep-surface) 80%, #111827 20%);
    border-color: rgba(96, 165, 250, 0.3);
  }
  @media (prefers-reduced-motion: reduce) {
    #spinner { transition: none; }
  }
  .sidebar {
    background: var(--rep-surface);
    border-right: 1px solid var(--rep-border);
    width: var(--rep-sidebar-width);
    transition: margin-left 0.25s;
  }
  .rep-topbar {
    background: var(--rep-surface);
    border-bottom: 1px solid var(--rep-border);
    min-height: var(--rep-header-height);
  }
  .rep-app-shell {
    grid-template-columns: var(--rep-sidebar-width) minmax(0, 1fr);
    min-height: calc(100vh - var(--rep-header-height));
    display: grid;
  }
  .rep-sidebar {
    overscroll-behavior: contain;
    align-content: start;
    gap: 0.7rem;
    min-height: calc(100vh - var(--rep-header-height));
    padding: 0.55rem;
    display: grid;
    overflow-y: auto;
  }
  .rep-sidebar-head {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    padding: 0.65rem 0.7rem;
  }
  .rep-sidebar-head-copy {
    gap: 0.25rem;
    display: grid;
  }
  .rep-sidebar-head-kicker {
    color: var(--rep-accent);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.68rem;
    font-weight: 700;
  }
  .rep-sidebar-head-title {
    color: var(--rep-text);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.2;
  }
  .rep-sidebar-head-meta {
    color: var(--rep-text-muted);
    font-size: 0.7rem;
    line-height: 1.35;
  }
  .rep-sidebar-nav {
    align-content: start;
    gap: 0.6rem;
    display: grid;
  }
  .rep-sidebar-section {
    border: 1px solid var(--rep-border);
    background: var(--rep-surface);
    border-radius: 0.3rem;
    align-content: start;
    gap: 0.2rem;
    padding: 0.45rem;
    display: grid;
  }
  .rep-sidebar-label {
    color: var(--rep-text-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.35rem;
    padding-inline: 0.15rem;
    font-size: 0.68rem;
    font-weight: 700;
  }
  .rep-sidebar-link {
    border-radius: 0.3rem;
    min-height: 36px;
    color: var(--rep-text);
    border: 1px solid #0000;
    grid-template-columns: 1.6rem minmax(0, 1fr);
    align-items: center;
    gap: 0.6rem;
    padding: 0.36rem 0.48rem;
    text-decoration: none;
    display: grid;
  }
  .content {
    min-width: 0;
  }
  .rep-sidebar-link:hover,
  .rep-sidebar-link.is-active,
  .rep-sidebar-link:focus-visible {
    border-color: var(--rep-border);
    background: var(--rep-surface-2);
    color: var(--rep-primary);
  }
  .rep-sidebar-link:focus-visible {
    box-shadow: 0 0 0 2px var(--rep-primary);
    outline: 0;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .rep-sidebar-link:focus-visible {
      box-shadow: 0 0 0 2px color-mix(in srgb, var(--rep-primary) 26%, transparent);
    }
  }
  .rep-sidebar-link-icon {
    width: 1.6rem;
    height: 1.6rem;
    color: inherit;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }
  .rep-sidebar-link-icon i {
    font-size: 0.92rem;
  }
  .rep-sidebar-link-text {
    min-width: 0;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
  }
  .rep-topbar-shell {
    justify-content: space-between;
    align-items: center;
    gap: 0.55rem;
    min-height: 58px;
    padding: 0 0.35rem;
    display: flex;
  }
  .rep-topbar-brand-wrap,
  .rep-topbar-actions {
    align-items: center;
    gap: 0.4rem;
    display: flex;
  }
  .rep-topbar-brand {
    color: var(--rep-text);
    align-items: center;
    gap: 0.55rem;
    text-decoration: none;
    display: inline-flex;
  }
  .rep-topbar-brand img {
    object-fit: contain;
    width: auto;
    max-width: 132px;
    max-height: 32px;
    display: block;
  }
  .rep-topbar-brand-copy {
    gap: 0.1rem;
    display: grid;
  }
  .rep-topbar-brand-meta {
    color: var(--rep-text-muted);
    font-size: 0.65rem;
    line-height: 1.1;
  }
  .rep-icon-btn {
    min-width: 32px;
    padding-inline: 0.55rem;
  }
  .rep-user-trigger {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface);
    min-width: 0;
    min-height: 34px;
    color: var(--rep-text);
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.6rem;
    padding: 0.3rem 0.4rem;
    text-decoration: none;
    display: grid;
  }
  .rep-user-trigger:hover {
    border-color: var(--rep-primary);
    color: var(--rep-text);
  }
  .rep-user-trigger-avatar {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    width: 1.7rem;
    height: 1.7rem;
    color: var(--rep-primary);
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }
  .rep-user-trigger-copy {
    min-width: 0;
    display: grid;
  }
  .rep-user-trigger-name {
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.1;
    overflow: hidden;
  }
  .rep-user-trigger-meta {
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--rep-text-muted);
    font-size: 0.64rem;
    line-height: 1.1;
    overflow: hidden;
  }
  .rep-user-trigger-caret {
    color: var(--rep-text-muted);
    font-size: 0.72rem;
  }
  .sidebar .dropdown-item {
    color: var(--rep-text-muted);
    border-radius: 0.3rem;
    padding: 0.45rem 0.7rem;
  }
  .sidebar .dropdown-item:hover,
  .sidebar .dropdown-item.active {
    background: var(--rep-surface-2);
    color: var(--rep-primary);
  }
  .notification-dropdown-menu {
    border: 1px solid var(--rep-border);
    min-width: 280px;
    max-width: calc(100vw - 2rem);
    max-height: 65vh;
    overflow-y: auto;
  }
  .rep-notification-head {
    border-bottom: 1px solid var(--rep-border);
    background: var(--rep-surface);
    padding: 0.55rem 0.65rem;
  }
  .rep-notification-list {
    padding: 0.2rem;
  }
  .rep-notification-item {
    border-bottom: 1px solid var(--rep-border);
    color: var(--rep-text);
    padding: 0.55rem 0.6rem;
    text-decoration: none;
  }
  .rep-notification-item:hover {
    background: var(--rep-surface-2);
  }
  .notification-icon {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    background: var(--rep-surface-2);
    width: 1.7rem;
    height: 1.7rem;
    color: var(--rep-primary);
  }
  .rep-notification-time {
    border: 1px solid var(--rep-border);
    border-radius: 0.3rem;
    min-height: 20px;
    color: var(--rep-text-muted);
    align-items: center;
    padding: 0.12rem 0.32rem;
    font-size: 0.64rem;
    display: inline-flex;
  }
  .rep-notification-foot {
    border-top: 1px solid var(--rep-border);
    background: var(--rep-surface);
    padding: 0.4rem;
  }
  .rep-content-area {
    grid-template-rows: 1fr auto;
    min-width: 0;
    min-height: calc(100vh - 58px);
    display: grid;
  }
  .rep-content-scroll {
    min-width: 0;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
  }
  .rep-content-inner {
    padding: 1rem 1rem 0.9rem;
  }
  .rep-public-body .rep-topbar-shell {
    min-height: 58px;
    padding-inline: 0.4rem;
  }
  .rep-public-body {
    overflow: auto;
  }
  .rep-public-body .rep-main {
    min-height: calc(100vh - 106px);
  }
  .rep-public-topbar .rep-topbar-brand {
    gap: 0.6rem;
  }
  .rep-public-topbar .rep-brand-wordmark {
    font-size: 0.96rem;
  }
  .rep-public-topbar .rep-topbar-brand-meta {
    font-size: 0.68rem;
  }
  @media (max-width: 991.98px) {
    .rep-app-shell {
      grid-template-columns: 1fr;
    }
    .sidebar {
      z-index: 1040;
      margin-left: calc(var(--rep-sidebar-width) * -1);
      position: fixed;
      top: var(--rep-header-height);
      bottom: 0;
      left: 0;
    }
    .sidebar.show {
      margin-left: 0;
    }
    .sidebar.open {
      margin-left: calc(var(--rep-sidebar-width) * -1);
    }
    .rep-topbar-shell {
      padding-inline: 0.6rem;
    }
    .rep-topbar-brand-meta,
    .rep-user-trigger-meta {
      display: none;
    }
    .rep-user-trigger {
      grid-template-columns: auto auto;
    }
    .rep-user-trigger-copy {
      display: none;
    }
    .rep-content-inner {
      padding: 0.45rem;
    }
  }
  @media (min-width: 992px) {
    .sidebar {
      height: calc(100vh - var(--rep-header-height));
      margin-left: 0;
      position: sticky;
      top: var(--rep-header-height);
    }
    .sidebar.open {
      margin-left: calc(var(--rep-sidebar-width) * -1);
    }
  }
}
@layer utilities {
  .\@container {
    container-type: inline-size;
  }
  .collapse {
    visibility: collapse;
  }
  .visible {
    visibility: visible;
  }
  .\!sticky {
    position: sticky !important;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .start-50 {
    inset-inline-start: calc(var(--spacing) * 50);
  }
  .start-100 {
    inset-inline-start: calc(var(--spacing) * 100);
  }
  .end-0 {
    inset-inline-end: calc(var(--spacing) * 0);
  }
  .col-12 {
    grid-column: 12;
  }
  .container {
    width: 100%;
  }
  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }
  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }
  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }
  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }
  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }
  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }
  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }
  .ms-1 {
    margin-inline-start: calc(var(--spacing) * 1);
  }
  .ms-2 {
    margin-inline-start: calc(var(--spacing) * 2);
  }
  .me-2 {
    margin-inline-end: calc(var(--spacing) * 2);
  }
  .mt-0 {
    margin-top: calc(var(--spacing) * 0);
  }
  .\!hidden {
    display: none !important;
  }
  .\!table {
    display: table !important;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .table {
    display: table;
  }
  .table-caption {
    display: table-caption;
  }
  .table-cell {
    display: table-cell;
  }
  .h-100 {
    height: calc(var(--spacing) * 100);
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .flex-grow-1 {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .flex-nowrap {
    flex-wrap: nowrap;
  }
  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
  .rounded {
    border-radius: 0.3rem;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .align-middle {
    vertical-align: middle;
  }
  .text-nowrap {
    text-wrap: nowrap;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .opacity-50 {
    opacity: 0.5;
  }
  .shadow,
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,)
      var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,)
      var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .\!filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,)
      var(--tw-sepia,) var(--tw-drop-shadow,) !important;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,)
      var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property:
      color,
      background-color,
      border-color,
      outline-color,
      text-decoration-color,
      fill,
      stroke,
      --tw-gradient-from,
      --tw-gradient-via,
      --tw-gradient-to,
      opacity,
      box-shadow,
      transform,
      translate,
      scale,
      rotate,
      filter,
      -webkit-backdrop-filter,
      backdrop-filter,
      display,
      visibility,
      content-visibility,
      overlay,
      pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  [data-bs-theme='dark'] .btn-outline-secondary,
  [data-bs-theme='dark'] .btn-outline-primary {
    color: var(--rep-text);
    border-color: var(--rep-border);
  }
  [data-bs-theme='dark'] .btn-outline-secondary:hover,
  [data-bs-theme='dark'] .btn-outline-primary:hover {
    color: var(--rep-inverse-text);
    background: var(--rep-primary);
    border-color: var(--rep-primary);
  }
  [data-bs-theme='dark'] .dropdown-menu {
    background: var(--rep-surface);
    border-color: var(--rep-border);
  }
  [data-bs-theme='dark'] .dropdown-item {
    color: var(--rep-text);
  }
  [data-bs-theme='dark'] .dropdown-item:hover,
  [data-bs-theme='dark'] .dropdown-item:focus {
    background: var(--rep-surface-2);
    color: var(--rep-primary);
  }
  [data-bs-theme='dark'] .alert-danger {
    color: #ffd7d7;
    background: #b91c1c29;
    border-color: #f8717159;
  }
  [data-bs-theme='dark'] ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }
  [data-bs-theme='dark'] ::-webkit-scrollbar-track {
    background: 0 0;
  }
  [data-bs-theme='dark'] ::-webkit-scrollbar-thumb {
    background: var(--rep-scroll-thumb, #52647b);
    border-radius: 999px;
  }
  [data-bs-theme='dark'] ::-webkit-scrollbar-thumb:hover {
    background: var(--rep-scroll-thumb-hover, #7c91aa);
  }
  .d-none {
    display: none !important;
  }
  .d-block {
    display: block !important;
  }
  .d-inline-flex {
    display: inline-flex !important;
  }
  .d-flex {
    display: flex !important;
  }
  .d-grid {
    display: grid !important;
  }
  .flex-column {
    flex-direction: column !important;
  }
  .flex-wrap {
    flex-wrap: wrap !important;
  }
  .flex-grow-1 {
    flex: auto !important;
  }
  .justify-content-between {
    justify-content: space-between !important;
  }
  .justify-content-center {
    justify-content: center !important;
  }
  .justify-content-end {
    justify-content: flex-end !important;
  }
  .align-items-center {
    align-items: center !important;
  }
  .align-items-start {
    align-items: flex-start !important;
  }
  .align-items-stretch {
    align-items: stretch !important;
  }
  .text-center {
    text-align: center !important;
  }
  .text-end {
    text-align: end !important;
  }
  .text-start {
    text-align: start !important;
  }
  .fw-bold {
    font-weight: 700 !important;
  }
  .fw-semibold {
    font-weight: 600 !important;
  }
  .fw-medium {
    font-weight: 500 !important;
  }
  .small {
    font-size: 0.82rem !important;
  }
  .h3 {
    font-size: 1.75rem !important;
  }
  .h4 {
    font-size: 1.45rem !important;
  }
  .h5 {
    font-size: 1.2rem !important;
  }
  .h6 {
    font-size: 1rem !important;
  }
  .display-6 {
    font-size: clamp(2rem, 4vw, 3rem) !important;
  }
  .w-100 {
    width: 100% !important;
  }
  .vh-100,
  .min-vh-100 {
    min-height: 100vh !important;
  }
  .overflow-hidden {
    overflow: hidden !important;
  }
  .overflow-auto {
    overflow: auto !important;
  }
  .position-fixed {
    position: fixed !important;
  }
  .position-absolute {
    position: absolute !important;
  }
  .top-0 {
    top: 0 !important;
  }
  .top-50 {
    top: 50% !important;
  }
  .start-0 {
    left: 0 !important;
  }
  .start-50 {
    left: 50% !important;
  }
  .start-100 {
    left: 100% !important;
  }
  .end-0 {
    right: 0 !important;
  }
  .translate-middle {
    transform: translate(-50%, -50%) !important;
  }
  .translate-middle-y {
    transform: translateY(-50%) !important;
  }
  .me-1 {
    margin-right: 0.25rem !important;
  }
  .me-2 {
    margin-right: 0.5rem !important;
  }
  .me-3 {
    margin-right: 1rem !important;
  }
  .me-auto {
    margin-right: auto !important;
  }
  .ms-2 {
    margin-left: 0.5rem !important;
  }
  .ms-auto {
    margin-left: auto !important;
  }
  .mx-auto {
    margin-inline: auto !important;
  }
  .mb-0 {
    margin-bottom: 0 !important;
  }
  .mb-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-3 {
    margin-bottom: 1rem !important;
  }
  .mb-4 {
    margin-bottom: 1.5rem !important;
  }
  .mt-1 {
    margin-top: 0.25rem !important;
  }
  .mt-2 {
    margin-top: 0.5rem !important;
  }
  .mt-3 {
    margin-top: 1rem !important;
  }
  .mt-4 {
    margin-top: 1.5rem !important;
  }
  .mt-auto {
    margin-top: auto !important;
  }
  .my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .p-0 {
    padding: 0 !important;
  }
  .p-2 {
    padding: 0.5rem !important;
  }
  .p-3 {
    padding: 1rem !important;
  }
  .p-4 {
    padding: 1.5rem !important;
  }
  .p-5 {
    padding: 2rem !important;
  }
  .px-0 {
    padding-inline: 0 !important;
  }
  .px-3 {
    padding-inline: 1rem !important;
  }
  .px-4 {
    padding-inline: 1.5rem !important;
  }
  .py-1 {
    padding-block: 0.25rem !important;
  }
  .py-3 {
    padding-block: 1rem !important;
  }
  .py-4 {
    padding-block: 1.5rem !important;
  }
  .py-5 {
    padding-block: 2rem !important;
  }
  .pt-4 {
    padding-top: 1.5rem !important;
  }
  .gap-1 {
    gap: 0.25rem !important;
  }
  .gap-2 {
    gap: 0.5rem !important;
  }
  .gap-3 {
    gap: 1rem !important;
  }
  .gap-4 {
    gap: 1.5rem !important;
  }
  .g-0 {
    gap: 0 !important;
  }
  .g-3 {
    gap: 1rem !important;
  }
  .g-4 {
    gap: 1.5rem !important;
  }
  @media (min-width: 768px) {
    .d-md-flex {
      display: flex !important;
    }
    .text-md-start {
      text-align: start !important;
    }
    .text-md-end {
      text-align: end !important;
    }
  }
  @media (min-width: 992px) {
    .d-lg-grid {
      display: grid !important;
    }
    .d-lg-inline-flex {
      display: inline-flex !important;
    }
    .px-lg-4 {
      padding-inline: 1.5rem !important;
    }
    .py-lg-5 {
      padding-block: 2rem !important;
    }
    .p-lg-4 {
      padding: 1.5rem !important;
    }
  }
  .rep-focus-ring:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: #3080ff66;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .rep-focus-ring:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--color-blue-500) 40%, transparent);
    }
  }
  .rep-focus-ring:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }
}
.searchable-select .dropdown-menu {
  --ss-surface: var(--rep-surface);
  --ss-surface-2: var(--rep-surface-2);
  --ss-border: var(--rep-border);
  --ss-text: var(--rep-text);
  --ss-muted: var(--rep-text-muted);
  box-sizing: border-box;
  width: 100%;
  max-height: 320px;
  overflow-y: auto;
  padding: 0.35rem;
  background: var(--ss-surface);
  border: 1px solid var(--ss-border);
  color: var(--ss-text);
}
.searchable-select.dropdown-open {
  position: relative;
  z-index: 1400;
}
.rep-card.dropdown-open,
.rep-panel.dropdown-open,
.rep-card-body.dropdown-open,
.rep-panel-body.dropdown-open,
.rep-form-section.dropdown-open {
  overflow: visible !important;
}
.searchable-select .dropdown-menu.dropdown-menu-up {
  top: auto !important;
  bottom: calc(100% + 0.35rem) !important;
}
.searchable-select .ss-search {
  z-index: 1;
  background: var(--ss-surface);
  color: var(--ss-text);
  margin-bottom: 0.4rem;
  position: sticky;
  top: 0;
  border: 1px solid var(--ss-border);
}

/* Clean REP form controls: remove heavy default borders */
.rep-form-field .form-control,
.rep-form-field .form-select,
.rep-field-control .form-control,
.rep-field-control .form-select {
  border: 0 !important;
}
.searchable-select .ss-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.searchable-select .btn.form-select.ss-btn-placeholder {
  color: var(--rep-text-muted) !important;
}
.searchable-select .btn.form-select.ss-btn-placeholder .bi {
  color: var(--rep-text-muted) !important;
}
.searchable-select .btn.form-select {
  width: 100%;
  min-width: 0;
  min-height: var(--rep-btn-height, 2.625rem);
  height: auto !important;
  white-space: normal;
  gap: 0.5rem;
}
.searchable-select .ss-selected-label {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
.searchable-select .ss-item {
  cursor: pointer;
  white-space: normal;
  overflow-wrap: anywhere;
  padding: 0.44rem 0.58rem;
  border-bottom: 1px solid var(--ss-border);
  line-height: 1.32;
  color: var(--ss-text);
}
.searchable-select .ss-item[data-value=''] {
  color: var(--rep-text-muted);
}
.searchable-select .ss-item[aria-disabled='true'] {
  color: var(--rep-text-muted);
  cursor: not-allowed;
}
.searchable-select .ss-item:hover,
.searchable-select .ss-item.active {
  background-color: #0d6efd1a;
}
.searchable-select .ss-item:last-child {
  border-bottom: 0;
}
.searchable-select .ss-group-label {
  position: sticky;
  top: 2.05rem;
  z-index: 1;
  background: var(--ss-surface);
  border-top: 1px solid var(--ss-border);
  border-bottom: 1px solid var(--ss-border);
  margin-top: 0.1rem;
  margin-bottom: 0.1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.searchable-select .ss-muted {
  color: var(--ss-muted);
}
[data-bs-theme='dark'] .searchable-select .dropdown-menu {
  --ss-surface: var(--rep-surface);
  --ss-surface-2: var(--rep-surface-2);
  --ss-border: var(--rep-border);
  --ss-text: var(--rep-text);
  --ss-muted: var(--rep-text-muted);
}
[data-bs-theme='dark'] .searchable-select .ss-search {
  background: var(--ss-surface);
  color: var(--ss-text);
}
[data-bs-theme='dark'] .searchable-select .ss-search::placeholder {
  color: var(--ss-muted);
}
.rep-auth-page {
  place-items: center;
  min-height: calc(100vh - 88px);
  padding: 0.8rem 0.55rem 1rem;
  display: grid;
}
.rep-auth-card {
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  width: min(430px, 100%);
  padding: 1rem;
  box-shadow: 0 6px 16px #02061714;
}
.rep-auth-card-head {
  text-align: center;
  gap: 0.2rem;
  margin-bottom: 0.8rem;
  display: grid;
}
.rep-auth-card-title {
  color: var(--rep-text);
  letter-spacing: -0.01em;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
}
.rep-auth-card-form {
  gap: 0.6rem;
  display: grid;
}
.rep-auth-form-row {
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  display: flex;
}
.rep-auth-form-check {
  align-items: center;
  gap: 0.5rem;
  display: flex;
}
.rep-auth-card .form-control,
.rep-auth-card .form-select {
  min-height: 38px;
  font-size: 0.98rem;
}
.rep-password-wrap {
  position: relative;
}
.rep-password-toggle {
  min-width: 30px;
  min-height: 30px;
  color: var(--rep-text-muted);
  background: 0 0;
  border: 0;
  position: absolute;
  top: 50%;
  right: 0.25rem;
  transform: translateY(-50%);
}
.rep-captcha-row {
  grid-template-columns: auto minmax(0, 1fr);
}
.rep-auth-link {
  color: var(--rep-primary);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
}
.rep-auth-link:hover {
  color: var(--rep-primary-strong);
  text-decoration: underline;
}
.rep-auth-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  display: grid;
}
.rep-auth-choice-group {
  margin: 0;
  padding: 0;
  list-style: none;
}
.rep-auth-choice-group ul {
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rep-auth-choice-group label {
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  background: var(--rep-surface-2);
  cursor: pointer;
  align-items: center;
  gap: 0.45rem;
  min-height: 30px;
  padding: 0.32rem 0.5rem;
  font-size: 0.84rem;
  display: flex;
}
.rep-auth-choice-group input[type='radio'] {
  margin: 0;
}
@media (max-width: 767.98px) {
  .rep-auth-grid-2 {
    grid-template-columns: 1fr;
  }
}
.user-groups-panel .table-responsive {
  background: #fff;
}
.user-groups-table thead th {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.75rem;
}
.user-groups-table tbody tr:hover {
  background: #0d6efd0d;
}
.user-groups-table tbody td {
  vertical-align: middle;
}
.user-groups-table .btn-outline-primary {
  border-radius: 999px;
  padding: 0.25rem 0.9rem;
}
#userGroupPermissionsModal .modal-body {
  background: var(--rep-surface);
}
#userGroupPermissionsModal .modal-dialog {
  max-height: min(78vh, 620px);
}
#userGroupPermissionsModal .modal-content {
  max-height: min(78vh, 620px);
}
#userGroupPermissionsModal .modal-body {
  max-height: calc(min(78vh, 620px) - 86px);
  overflow-y: auto;
}
#userGroupPermissionsModal #userGroupPermissionsList {
  max-height: calc(min(78vh, 620px) - 150px);
  overflow-y: auto;
  background: var(--rep-surface);
}
@media (max-width: 767.98px) {
  #userGroupPermissionsModal .modal-dialog {
    max-height: 84vh;
  }
  #userGroupPermissionsModal .modal-content {
    max-height: 84vh;
  }
  #userGroupPermissionsModal .modal-body {
    max-height: calc(84vh - 84px);
  }
  #userGroupPermissionsModal #userGroupPermissionsList {
    max-height: calc(84vh - 146px);
  }
}
.rep-page-shell .rep-note {
  padding: 0.7rem;
}
.rep-page-shell .rep-value {
  font-size: 0.92rem;
}
.rep-page-shell .rep-form-help {
  font-size: 0.8125rem;
}
.rep-results-hero {
  border: 1px solid color-mix(in srgb, var(--rep-border) 86%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--rep-primary) 7%, transparent), transparent 48%),
    linear-gradient(180deg, var(--rep-surface), var(--rep-surface));
}
.rep-results-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.rep-results-section {
  border: 1px solid color-mix(in srgb, var(--rep-border) 88%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-surface-2) 44%, transparent), var(--rep-surface));
}
.rep-public-body .rep-results-hero .rep-stat-card-2-label {
  color: color-mix(in srgb, var(--rep-text-muted) 82%, var(--rep-text) 18%);
  font-weight: 750;
  letter-spacing: 0.01em;
}
.rep-public-body .rep-results-hero .rep-stat-card-2-category {
  color: color-mix(in srgb, var(--rep-text-muted) 74%, var(--rep-primary) 26%);
}
.rep-capacity-strip {
  border: 1px solid color-mix(in srgb, var(--rep-border) 84%, transparent);
  border-radius: var(--rep-radius-md);
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-primary) 4%, transparent), var(--rep-surface));
  padding: 0.75rem;
}
.rep-capacity-strip-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.65rem;
}
.rep-capacity-strip-title {
  font-weight: 700;
  color: var(--rep-text);
}
.rep-capacity-strip-note {
  font-size: 0.78rem;
  color: var(--rep-text-muted);
}
.rep-capacity-strip-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}
.rep-capacity-metric {
  border: 1px solid var(--rep-border);
  border-radius: var(--rep-radius-sm);
  padding: 0.55rem 0.6rem;
  display: grid;
  gap: 0.12rem;
}
.rep-capacity-metric-label {
  font-size: 0.75rem;
  color: var(--rep-text-muted);
}
.rep-capacity-metric-value {
  font-size: 1.18rem;
  font-weight: 700;
  color: var(--rep-text);
  line-height: 1.1;
}
.rep-capacity-metric-info {
  background: color-mix(in srgb, var(--rep-info) 8%, var(--rep-surface));
}
.rep-capacity-metric-success {
  background: color-mix(in srgb, var(--rep-success) 9%, var(--rep-surface));
}
.rep-capacity-metric-warning {
  background: color-mix(in srgb, var(--rep-warning) 11%, var(--rep-surface));
}
.rep-capacity-metric-danger {
  background: color-mix(in srgb, var(--rep-danger) 10%, var(--rep-surface));
}
.rep-review-capacity-strip {
  border: 1px solid color-mix(in srgb, var(--rep-primary) 22%, var(--rep-border)) !important;
  background:
    radial-gradient(120% 180% at 0% 0%, color-mix(in srgb, var(--rep-primary) 10%, transparent), transparent 56%),
    linear-gradient(180deg, color-mix(in srgb, var(--rep-surface-2) 70%, transparent), var(--rep-surface)) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--rep-primary) 8%, transparent);
}
.rep-review-capacity-head .rep-capacity-strip-title {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.rep-review-capacity-head .rep-capacity-strip-note {
  font-weight: 600;
  color: color-mix(in srgb, var(--rep-warning) 76%, var(--rep-text));
}
.rep-review-capacity-grid {
  gap: 0.65rem;
}
.rep-review-capacity-metric {
  border: 1px solid color-mix(in srgb, var(--rep-border) 84%, transparent) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--rep-text) 7%, transparent);
}
.rep-review-capacity-metric .rep-capacity-metric-label {
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.rep-review-capacity-metric .rep-capacity-metric-value {
  font-size: 1.32rem;
  font-weight: 800;
}
.rep-review-readonly-card {
  border: 1px solid color-mix(in srgb, var(--rep-info) 34%, var(--rep-border)) !important;
  border-radius: var(--rep-radius-md);
  background: linear-gradient(95deg, color-mix(in srgb, var(--rep-info) 12%, transparent), transparent 42%), var(--rep-surface);
  padding: 0.72rem 0.78rem;
}
.rep-review-readonly-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.35rem;
}
.rep-review-readonly-copy {
  color: var(--rep-text);
  font-weight: 600;
  line-height: 1.45;
}
@media (max-width: 767.98px) {
  .rep-capacity-strip-grid {
    grid-template-columns: 1fr;
  }
}
.rep-public-body {
  background: var(--rep-bg);
  position: relative;
  isolation: isolate;
}
.rep-public-topbar {
  z-index: 1050;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: var(--rep-surface);
  position: sticky;
  top: 0;
}

.rep-public-bg-layer {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: auto;
  overflow: hidden;
}

.rep-public-bg-canvas {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 0.9;
  filter: none;
  pointer-events: auto;
}

.rep-public-body .rep-main,
.rep-public-body .rep-footer {
  position: relative;
  z-index: 1;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-public-topbar {
    background: color-mix(in srgb, var(--rep-surface) 88%, transparent);
  }
}
.rep-public-brand {
  gap: 0.65rem;
}
.rep-public-actions {
  gap: 0.45rem;
}
.rep-auth-page {
  min-height: calc(100vh - 120px);
  padding: 1.1rem 0.7rem 1.2rem;
}
.rep-auth-layout {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
  gap: 0.9rem;
  width: min(1040px, 100%);
  margin-inline: auto;
  display: grid;
}
.rep-auth-aside {
  border-radius: 0.3rem;
  border: 1px solid var(--rep-border);
  align-content: start;
  gap: 0.65rem;
  padding: 1rem;
  display: grid;
}
.rep-auth-aside-badge {
  border: 1px solid var(--rep-border);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  width: fit-content;
  color: var(--rep-primary);
  background: var(--rep-surface-2);
  border-radius: 999px;
  align-items: center;
  padding: 0.34rem 0.62rem;
  font-size: 0.66rem;
  font-weight: 700;
  display: inline-flex;
}
.rep-auth-aside-title {
  letter-spacing: -0.02em;
  margin: 0;
  font-size: clamp(1.25rem, 1.8vw, 1.9rem);
  line-height: 1.05;
}
.rep-auth-aside-copy {
  color: var(--rep-text-muted);
  margin: 0;
  font-size: 0.83rem;
  line-height: 1.48;
}
.rep-auth-aside-list {
  gap: 0.5rem;
  margin: 0.1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rep-auth-aside-list li {
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  background: var(--rep-surface-2);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.5rem;
  padding: 0.45rem 0.5rem;
  font-size: 0.79rem;
  display: grid;
}
.rep-auth-aside-list i {
  color: var(--rep-success);
  margin-top: 0.05rem;
}
.rep-auth-card {
  border-radius: 0.3rem;
  width: 100%;
  padding: 0.95rem;
}
.rep-auth-card-head {
  text-align: left;
  margin-bottom: 0.65rem;
}
.rep-auth-card-title {
  font-size: clamp(1.22rem, 1.7vw, 1.7rem);
  line-height: 1.08;
}
.rep-auth-card-subtitle {
  font-size: 0.79rem;
}
.rep-password-toggle {
  width: 30px;
  height: 30px;
}
@media (max-width: 991.98px) {
  .rep-auth-layout,
  .rep-auth-layout-register {
    grid-template-columns: 1fr;
  }
  .rep-auth-aside {
    order: 2;
  }
}
@media (max-width: 767.98px) {
  .rep-auth-page {
    padding: 0.65rem 0.45rem 0.9rem;
  }
  .rep-auth-card,
  .rep-auth-aside {
    padding: 0.75rem;
  }
  .rep-auth-grid-2 {
    grid-template-columns: 1fr;
  }
}
.rep-public-body,
.rep-app-body {
  --type-h1: clamp(1.5rem, 1.2rem + 1.4vw, 2rem);
  --type-h2: clamp(1.3rem, 1.1rem + 1vw, 1.65rem);
  --type-h3: clamp(1.12rem, 1rem + 0.5vw, 1.35rem);
  --type-h4: clamp(1.02rem, 0.96rem + 0.3vw, 1.16rem);
  --type-h5: 1rem;
  --type-h6: 0.9375rem;
  --type-body: clamp(0.9375rem, 0.9rem + 0.15vw, 1rem);
  --type-small: 0.875rem;
  --type-xs: 0.8125rem;
}
html.rep-theme-switching *,
html.rep-theme-switching :before,
html.rep-theme-switching :after {
  transition: none !important;
  animation: none !important;
}
h1 {
  font-size: var(--type-h1);
  line-height: 1.2;
}
h2 {
  font-size: var(--type-h2);
  line-height: 1.25;
}
h3 {
  font-size: var(--type-h3);
  line-height: 1.3;
}
h4 {
  font-size: var(--type-h4);
  line-height: 1.35;
}
h5 {
  font-size: var(--type-h5);
  line-height: 1.2;
}
h6 {
  font-size: var(--type-h6);
  line-height: 1.4;
}
p,
label,
input,
select,
textarea {
  font-size: var(--type-body);
}
small {
  font-size: var(--type-small);
}
.rep-public-body,
.rep-app-body {
  font-family: 'Inter', var(--rep-font-sans), 'Segoe UI', sans-serif;
}
.rep-public-body,
.rep-app-body,
:root {
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Segoe UI', system-ui, sans-serif;
  --rep-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Segoe UI', system-ui, sans-serif;
  --primary: #4338ca;
  --primary-strong: #3730a3;
  --rep-primary: var(--primary);
  --rep-primary-strong: var(--primary-strong);
}
[data-bs-theme='dark'],
[data-bs-theme='dark'] .rep-public-body,
[data-bs-theme='dark'] .rep-app-body {
  --primary: #a5b4fc;
  --primary-strong: #c7d2fe;
  --rep-primary: var(--primary);
  --rep-primary-strong: var(--primary-strong);
}
html,
body {
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    SF Pro Text,
    SF Pro Display,
    Segoe UI,
    system-ui,
    sans-serif;
}
:root,
[data-bs-theme='dark'] {
}

.rep-app-body,
.rep-public-body {
  --header-height: var(--rep-header-height);
}
.rep-public-topbar {
  border-bottom: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-public-topbar {
    border-bottom: 1px solid color-mix(in srgb, var(--rep-border) 78%, transparent);
  }
}
.rep-public-topbar {
  background: var(--rep-surface);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-public-topbar {
    background: color-mix(in srgb, var(--rep-surface) 82%, transparent);
  }
}
.rep-public-topbar {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.app-header {
  --app-header-height: var(--header-height);
  z-index: var(--bs-zindex-sticky, 1020);
  will-change: transform;
  backface-visibility: hidden;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  position: sticky;
  top: 0;
  transform: translateZ(0);
  box-shadow: 0 1px 2px #0f172a0a;
}
[data-bs-theme='dark'] .app-header {
  background: var(--rep-surface);
  border-bottom-color: var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .app-header {
    border-bottom-color: color-mix(in srgb, var(--rep-border) 88%, transparent);
  }
}
.app-header .rep-topbar-shell,
.app-header__shell {
  min-height: var(--app-header-height);
  gap: 0.55rem;
  padding-inline: 0.45rem;
}
.app-header .rep-layout-frame {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}
.app-header__left {
  flex: 1;
  align-items: center;
  gap: 0.62rem;
  min-width: 0;
  display: flex;
}
.app-header__brand {
  min-width: 0;
  color: var(--rep-text);
  align-items: center;
  gap: 0.52rem;
  text-decoration: none;
  display: inline-flex;
}
.app-header__logo {
  object-fit: contain;
  width: auto;
  max-width: 122px;
  max-height: 34px;
}
.app-header__divider {
  background: var(--rep-border);
  align-self: stretch;
  width: 1px;
}
@supports (color: color-mix(in lab, red, red)) {
  .app-header__divider {
    background: color-mix(in srgb, var(--rep-border) 86%, transparent);
  }
}
.app-header__brand .rep-topbar-brand-copy,
.app-header__brand-copy {
  gap: 0.08rem;
  min-width: 0;
  display: grid;
}
.app-header__title {
  color: var(--rep-primary);
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1;
}
.app-header__actions {
  flex-shrink: 0;
  align-items: center;
  gap: 0.42rem;
  display: flex;
}
.header-action-btn {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  height: 36px;
  min-height: 36px;
  color: var(--rep-text);
  border-radius: 0.3rem;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  padding-inline: 0.72rem;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  transition:
    border-color 0.12s,
    background-color 0.12s,
    color 0.12s,
    box-shadow 0.12s;
  display: inline-flex;
}
.header-action-btn:hover,
.header-action-btn:focus-visible {
  border-color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .header-action-btn:hover,
  .header-action-btn:focus-visible {
    border-color: color-mix(in srgb, var(--rep-primary) 58%, var(--rep-border));
  }
}
.header-action-btn:hover,
.header-action-btn:focus-visible {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .header-action-btn:hover,
  .header-action-btn:focus-visible {
    background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface));
  }
}
.header-action-btn:hover,
.header-action-btn:focus-visible {
  color: var(--rep-primary);
  outline: none;
}
.header-action-btn i {
  font-size: 0.98rem;
}
.app-header__resource-btn span {
  white-space: nowrap;
}
.rep-icon-btn.header-action-btn {
  width: 36px;
  min-width: 36px;
  padding: 0;
}
.user-menu-trigger {
  grid-template-columns: auto auto;
  align-items: center;
  gap: 0.34rem;
  height: 36px;
  min-height: 36px;
  padding: 0.18rem 0.42rem;
  display: grid;
  border-radius: 999px !important;
}
.user-menu-trigger .rep-user-trigger-avatar {
  background: var(--rep-primary);
  justify-content: center;
  align-items: center;
  width: 1.58rem;
  height: 1.58rem;
  display: inline-flex;
  border-radius: 999px !important;
}
@supports (color: color-mix(in lab, red, red)) {
  .user-menu-trigger .rep-user-trigger-avatar {
    background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface));
  }
}
.user-menu-trigger .rep-user-trigger-avatar {
  border: 1px solid var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .user-menu-trigger .rep-user-trigger-avatar {
    border: 1px solid color-mix(in srgb, var(--rep-primary) 24%, var(--rep-border));
  }
}
.user-menu-trigger .rep-user-trigger-name {
  font-size: 0.82rem;
}
.user-menu-trigger .rep-user-trigger-meta {
  font-size: 0.7rem;
}
.notification-badge {
  border: 2px solid var(--rep-surface);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  box-shadow: 0 0 0 1px #ef444473;
  color: #fff !important;
  background: #ef4444 !important;
  border-radius: 999px !important;
}
.rep-icon-btn.header-action-btn,
#notificationDropdownToggle,
#notificationDropdownToggle i,
.rep-user-trigger-avatar,
.rep-user-trigger-avatar i {
  border-radius: 999px !important;
}
.app-header .sidebar-toggler {
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
}
.rep-app-body .sidebar {
  top: var(--header-height);
  z-index: 10;
}
.rep-app-body .rep-app-shell .sidebar {
  height: calc(100dvh - var(--header-height));
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position, transform;
  backface-visibility: hidden;
  overflow: hidden auto;
  transform: translateZ(0);
}
.rep-app-body .rep-sidebar {
  height: auto;
  min-height: auto;
}
.rep-app-body .rep-sidebar .rep-sidebar-link-text {
  color: var(--rep-text-muted) !important;
}
[data-bs-theme='dark'] .rep-app-body .rep-sidebar .rep-sidebar-link-text {
  color: color-mix(in srgb, var(--rep-text) 92%, #e8eef9) !important;
}
[data-bs-theme='dark'] .rep-app-body .rep-sidebar .rep-sidebar-label {
  color: color-mix(in srgb, var(--rep-text) 82%, #dbe7ff) !important;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-app-body .rep-sidebar .rep-sidebar-link-text {
    color: color-mix(in srgb, var(--rep-text-muted) 90%, #667a96) !important;
  }
  [data-bs-theme='dark'] .rep-app-body .rep-sidebar .rep-sidebar-link-text {
    color: color-mix(in srgb, var(--rep-text) 92%, #e8eef9) !important;
  }
  [data-bs-theme='dark'] .rep-app-body .rep-sidebar .rep-sidebar-label {
    color: color-mix(in srgb, var(--rep-text) 82%, #dbe7ff) !important;
  }
}
.rep-app-body .rep-sidebar .rep-sidebar-link:hover,
.rep-app-body .rep-sidebar .rep-sidebar-link:focus-visible {
  color: var(--rep-primary) !important;
  background: var(--rep-primary) !important;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-app-body .rep-sidebar .rep-sidebar-link:hover,
  .rep-app-body .rep-sidebar .rep-sidebar-link:focus-visible {
    background: color-mix(in srgb, var(--rep-primary) 14%, var(--rep-surface)) !important;
  }
}
.rep-app-body .rep-sidebar .rep-sidebar-link:hover,
.rep-app-body .rep-sidebar .rep-sidebar-link:focus-visible {
  box-shadow:
    inset 0 0 0 1px var(--rep-primary),
    0 0 0 1px var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-app-body .rep-sidebar .rep-sidebar-link:hover,
  .rep-app-body .rep-sidebar .rep-sidebar-link:focus-visible {
    box-shadow:
      inset 0 0 0 1px color-mix(in srgb, var(--rep-primary) 30%, transparent),
      0 0 0 1px color-mix(in srgb, var(--rep-primary) 12%, transparent);
  }
}
.rep-app-body .rep-sidebar .rep-sidebar-link.is-active {
  color: var(--rep-primary-strong) !important;
  background: var(--rep-primary) !important;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-app-body .rep-sidebar .rep-sidebar-link.is-active {
    background: color-mix(in srgb, var(--rep-primary) 20%, var(--rep-surface)) !important;
  }
}
.rep-app-body .rep-sidebar .rep-sidebar-link.is-active {
  box-shadow:
    inset 3px 0 0 var(--rep-primary),
    0 0 0 1px var(--rep-primary),
    0 4px 12px var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-app-body .rep-sidebar .rep-sidebar-link.is-active {
    box-shadow:
      inset 3px 0 0 color-mix(in srgb, var(--rep-primary) 90%, #fff),
      0 0 0 1px color-mix(in srgb, var(--rep-primary) 34%, transparent),
      0 4px 12px color-mix(in srgb, var(--rep-primary) 18%, transparent);
  }
}
.rep-summary-head .rep-panel-body {
  gap: 0.55rem;
  display: grid;
}
.rep-page-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.8rem;
  display: flex;
}
.rep-page-head-main {
  gap: 0.25rem;
  display: grid;
}
.rep-page-title-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  display: flex;
}
.rep-page-head-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  display: inline-flex;
}
.rep-dashboard-head-identity {
  border: 1px solid var(--rep-border-soft);
  background: var(--rep-surface-muted);
  gap: 0.38rem;
  /* min-width: 220px; */
  padding: 0.5rem 0.62rem;
  display: grid;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-dashboard-head-identity {
    background: color-mix(in srgb, var(--rep-surface-muted) 56%, var(--rep-surface-card));
  }
}
.rep-dashboard-head-identity-top {
  justify-content: space-between;
  align-items: center;
  gap: 0.4rem;
  display: flex;
}
.rep-dashboard-head-role {
  letter-spacing: 0.03em;
  color: var(--rep-primary);
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  display: inline-flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-dashboard-head-role {
    color: color-mix(in srgb, var(--rep-primary) 78%, var(--rep-text));
  }
}
.rep-dashboard-head-identity-meta {
  flex-wrap: wrap;
  gap: 0.3rem;
  display: flex;
}
.rep-dashboard-head-completion {
  border: 1px solid var(--rep-primary);
  align-items: center;
  gap: 0.24rem;
  min-height: 20px;
  padding: 0.12rem 0.4rem;
  display: inline-flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-dashboard-head-completion {
    border: 1px solid color-mix(in srgb, var(--rep-primary) 36%, var(--rep-border-soft));
  }
}
.rep-dashboard-head-completion {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-dashboard-head-completion {
    background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface-card));
  }
}
.rep-dashboard-head-completion {
  color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-dashboard-head-completion {
    color: color-mix(in srgb, var(--rep-primary) 70%, var(--rep-text));
  }
}
.rep-dashboard-head-completion {
  font-size: 0.68rem;
  font-weight: 700;
}
.rep-status-chip {
  border: 1px solid var(--rep-border);
  min-height: 24px;
  color: var(--rep-text-muted);
  background: var(--rep-surface-2);
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.46rem;
  font-size: 0.875rem;
  font-weight: 600;
  display: inline-flex;
}
.rep-status-chip-sm {
  min-height: 24px;
  padding: 0.2rem 0.45rem;
  font-size: 0.8125rem;
}
.rep-status-chip-pending,
.rep-status-chip-under-review,
.rep-status-chip-submitted,
.rep-status-chip-draft {
  color: var(--rep-state-warning-text);
  background: var(--rep-state-warning-bg);
  border-color: var(--rep-state-warning-border);
}
.rep-status-chip-verified,
.rep-status-chip-approved,
.rep-status-chip-active,
.rep-status-chip-completed,
.rep-status-chip-refund-completed,
.rep-status-chip-read {
  color: var(--rep-state-success-text);
  background: var(--rep-state-success-bg);
  border-color: var(--rep-state-success-border);
}
.rep-status-chip-rejected,
.rep-status-chip-closed,
.rep-status-chip-expired,
.rep-status-chip-not-shortlisted {
  color: var(--rep-state-danger-text);
  background: var(--rep-state-danger-bg);
  border-color: var(--rep-state-danger-border);
}
.rep-status-chip-open,
.rep-status-chip-new,
.rep-status-chip-shortlisted,
.rep-status-chip-unread {
  color: var(--rep-state-info-text);
  background: var(--rep-state-info-bg);
  border-color: var(--rep-state-info-border);
}
.rep-status-chip-payment-pending,
.rep-status-chip-refund-initiated,
.rep-status-chip-warning {
  color: var(--rep-state-warning-text);
  background: var(--rep-state-warning-bg);
  border-color: var(--rep-state-warning-border);
}
.rep-status-chip-pending-email-verification,
.rep-status-chip-pending-mobile-verification,
.rep-status-chip-pending-kyc-submission,
.rep-status-chip-submitted---pending-review {
  color: var(--rep-state-warning-text);
  background: var(--rep-state-warning-bg);
  border-color: var(--rep-state-warning-border);
}
.rep-status-chip-tone-success {
  box-shadow: inset 0 0 0 1px var(--rep-state-success-border);
}
.rep-status-chip-tone-warning {
  box-shadow: inset 0 0 0 1px var(--rep-state-warning-border);
}
.rep-status-chip-tone-danger {
  box-shadow: inset 0 0 0 1px var(--rep-state-danger-border);
}
.rep-status-chip-tone-info {
  box-shadow: inset 0 0 0 1px var(--rep-state-info-border);
}
.rep-stat-card-2 {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  gap: 0.45rem;
  min-height: 110px;
  padding: 0.65rem 0.75rem;
  display: grid;
}
.rep-stat-card-2-link .rep-stat-card-2-anchor {
  color: inherit;
  gap: 0.45rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.rep-stat-card-2-head {
  align-items: center;
  gap: 0.4rem;
  display: flex;
}
.rep-stat-card-2-icon {
  width: 1.45rem;
  height: 1.45rem;
  color: var(--rep-accent);
  justify-content: center;
  align-items: center;
  display: inline-flex;
}
.rep-stat-card-2-label {
  color: var(--rep-text-muted);
  font-size: 0.76rem;
  font-weight: 600;
}
.rep-stat-card-2-value {
  color: var(--rep-text);
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.1;
}
.rep-stat-card-2-trend {
  color: var(--rep-text-muted);
  font-size: 0.74rem;
}
.rep-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.65rem;
  display: grid;
}
.rep-stat-card-2-warning {
  background: linear-gradient(#fffdf5 0, #fff 85%);
  border-left: 3px solid #f59e0b;
}
.rep-stat-card-2-success {
  background: linear-gradient(#f5fff8 0, #fff 85%);
  border-left: 3px solid #22c55e;
}
.rep-stat-card-2-danger {
  background: linear-gradient(#fff6f6 0, #fff 85%);
  border-left: 3px solid #ef4444;
}
.rep-stat-card-2-info {
  background: linear-gradient(#f5f9ff 0, #fff 85%);
  border-left: 3px solid #3b82f6;
}
.rep-stat-card-2-primary {
  border-left: 3px solid var(--rep-primary);
  background: linear-gradient(var(--rep-accent-soft) 0, var(--rep-surface-card) 85%);
}
.rep-stat-card-2-link:hover {
  transition:
    box-shadow 0.2s,
    transform 0.2s;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px #2563eb14;
}
.rep-card {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  border-radius: 0.3rem;
  overflow: hidden;
}
.rep-card-head {
  border-bottom: 1px solid var(--rep-border);
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.62rem 0.75rem;
  display: flex;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.rep-card-title {
  color: var(--rep-text);
  margin: 0;
  font-size: 0.94rem;
  font-weight: 700;
}
.rep-card-subtitle {
  color: var(--rep-text-muted);
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
}
.rep-detail-item {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface-2);
  min-width: 0;
  align-content: start;
  gap: 0.24rem;
  padding: 0.5rem 0.55rem;
  display: grid;
}
.rep-detail-label {
  color: var(--rep-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: 0.72rem;
  font-weight: 600;
}
.rep-detail-value {
  color: var(--rep-text);
  overflow-wrap: anywhere;
  font-size: 0.84rem;
  font-weight: 600;
}
.btn-ghost {
  color: var(--rep-primary-strong);
  background: 0 0;
  border: 1px solid #0000;
}
.btn-ghost:hover {
  border-color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .btn-ghost:hover {
    border-color: color-mix(in srgb, var(--rep-primary) 28%, transparent);
  }
}
.btn-ghost:hover {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .btn-ghost:hover {
    background: color-mix(in srgb, var(--rep-primary) 10%, transparent);
  }
}
.btn-ghost:hover {
  color: var(--rep-primary-strong);
}
.rep-filter-bar {
  gap: 0.45rem;
  display: grid;
}
.rep-filter-controls {
  flex-wrap: wrap;
  gap: 0.4rem;
  display: flex;
}
.rep-filter-search {
  flex: 260px;
  min-width: min(100%, 280px);
  position: relative;
}
.rep-filter-search .form-control {
  padding-right: 2rem;
}
.rep-filter-clear {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--rep-text-muted);
  background: 0 0;
  border: 0;
  position: absolute;
  top: 50%;
  right: 0.28rem;
  transform: translateY(-50%);
}
.rep-filter-meta {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.45rem;
  display: flex;
}
.rep-filter-chips {
  flex-wrap: wrap;
  gap: 0.3rem;
  display: flex;
}
.rep-filter-chip {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface-2);
  min-height: 22px;
  color: var(--rep-text-muted);
  align-items: center;
  padding: 0.14rem 0.45rem;
  font-size: 0.7rem;
  font-weight: 600;
  display: inline-flex;
}
.rep-filter-count {
  color: var(--rep-text-muted);
  font-size: 0.74rem;
}
.rep-live-search-feedback {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  flex-basis: 100%;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
.rep-live-search-status {
  color: var(--rep-text-muted);
  font-size: 0.8125rem;
}
.rep-live-search-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  min-width: 0;
}
.rep-live-search-chip {
  gap: 0.375rem;
  max-width: 100%;
  min-height: 2rem;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.rep-live-search-chip .bi,
.rep-live-search-chip [aria-hidden='true'] {
  font-size: 0.75rem;
  flex-shrink: 0;
}
.rep-live-search-error {
  color: var(--rep-danger);
}
.rep-filter-count-chip {
  border: 1px solid var(--rep-border-soft);
  align-items: center;
  min-height: 2rem;
  padding: 0.375rem 0.75rem;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
  display: inline-flex;
}
.rep-filter-count-chip {
  background: var(--rep-state-info-bg);
  color: var(--rep-state-info-text);
  font-weight: 700;
}
.rep-result-count > .bi {
  font-size: 1rem;
}
.rep-data-table-toolbar {
  position: relative;
  border-bottom: 1px solid var(--rep-border);
  gap: 0.58rem;
  margin-bottom: 0.65rem;
  padding: 0.1rem 0.3rem 0.7rem;
  display: grid;
}
.rep-data-table-summary {
  color: var(--rep-text-muted);
  align-items: center;
  gap: 0.38rem;
  font-size: 0.78rem;
  font-weight: 600;
  display: inline-flex;
}
.rep-data-table-summary-dot {
  background: var(--rep-primary);
  border-radius: 999px;
  width: 0.48rem;
  height: 0.48rem;
}
.rep-data-table-controls {
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 180px) auto;
  align-items: center;
  gap: 0.45rem;
  display: grid;
}
.rep-data-table-search {
  width: 100%;
  min-width: 0;
}
.rep-data-table-filter {
  width: 100%;
}
.rep-table-shell {
  gap: 0.55rem;
  display: grid;
}
.rep-panel.rep-table-shell {
  align-content: start;
}
.rep-table-wrap {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  overflow: auto;
}
.rep-table-advanced {
  border-collapse: collapse;
  width: 100%;
}
.rep-table-advanced thead th {
  background: var(--rep-surface-2);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-table-advanced thead th {
    background: color-mix(in srgb, var(--rep-surface-2) 84%, #fff);
  }
}
.rep-table-advanced thead th {
  border-bottom: 1px solid var(--rep-border);
  color: var(--rep-text);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  padding: 0.62rem;
  font-size: 0.77rem;
  font-weight: 700;
}
.rep-table-advanced thead th button {
  color: inherit;
  font: inherit;
  background: 0 0;
  border: 0;
  align-items: center;
  gap: 0.3rem;
  padding: 0;
  display: inline-flex;
}
.rep-table-advanced tbody td {
  border-bottom: 1px solid var(--rep-border);
  color: var(--rep-text);
  vertical-align: middle;
  padding: 0.58rem 0.62rem;
  font-size: 0.82rem;
}
.rep-table-advanced tbody tr:hover td {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-table-advanced tbody tr:hover td {
    background: color-mix(in srgb, var(--rep-primary) 4%, var(--rep-surface));
  }
}
.rep-timeline {
  gap: 0.62rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rep-timeline-item {
  grid-template-columns: 1.6rem minmax(0, 1fr);
  gap: 0.55rem;
  display: grid;
}
.rep-timeline-dot {
  border: 1px solid var(--rep-border);
  width: 1.45rem;
  height: 1.45rem;
  color: var(--rep-primary);
  background: var(--rep-surface-2);
  justify-content: center;
  align-items: center;
  display: inline-flex;
}
.rep-timeline-card {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  padding: 0.48rem 0.58rem;
}
.rep-timeline-meta {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.45rem;
  display: flex;
}
.rep-timeline-meta strong {
  color: var(--rep-text);
  font-size: 0.8rem;
}
.rep-timeline-meta small,
.rep-timeline-actor {
  color: var(--rep-text-muted);
  font-size: 0.72rem;
}
.rep-timeline-card p {
  color: var(--rep-text);
  margin: 0.25rem 0;
  font-size: 0.78rem;
}
.rep-stepper {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}
.rep-stepper-vertical {
  grid-template-columns: 1fr;
}
.rep-stepper-item {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface-2);
  grid-template-columns: 1.45rem minmax(0, 1fr);
  gap: 0.45rem;
  padding: 0.38rem 0.48rem;
  display: grid;
}
.rep-stepper-index {
  background: var(--rep-surface);
  width: 1.35rem;
  height: 1.35rem;
  color: var(--rep-text-muted);
  border: 1px solid var(--rep-border);
  justify-content: center;
  align-items: center;
  font-size: 0.7rem;
  font-weight: 700;
  display: inline-flex;
}
.rep-stepper-index i {
  font-size: 0.82rem;
  line-height: 1;
}
.rep-stepper-copy strong {
  color: var(--rep-text);
  font-size: 0.78rem;
  display: block;
}
.rep-stepper-copy small {
  color: var(--rep-text-muted);
  font-size: 0.7rem;
}
.rep-stepper-completed .rep-stepper-index {
  color: #166534;
  background: #ecfdf3;
  border-color: #86efac;
}
.rep-stepper-current .rep-stepper-index {
  color: #1e3a8a;
  background: #eff6ff;
  border-color: #93c5fd;
}
.rep-stepper-rejected .rep-stepper-index {
  color: #9f1239;
  background: #fff1f2;
  border-color: #fda4af;
}
.rep-stepper-completed {
  border-left: 2px solid #22c55e;
}
.rep-stepper-current {
  border-left: 2px solid #3b82f6;
}
.rep-stepper-pending {
  border-left: 2px solid #e2e8f0;
}
.rep-stepper-rejected {
  border-left: 2px solid #ef4444;
}
.rep-alert-stack {
  gap: 0.75rem;
  display: grid;
}
.alert,
.rep-alert,
.rep-alert-item {
  border: 0;
  background: var(--rep-surface-2);
  color: var(--rep-text);
  padding: 0.875rem 1rem;
  font-size: 0.9375rem;
  border-radius: 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.alert.alert-success,
.rep-alert.rep-alert-success,
.rep-alert-item.rep-alert-success {
  color: var(--rep-state-success-text);
  background: var(--rep-state-success-bg);
  border-color: var(--rep-state-success-border);
}
.alert.alert-warning,
.rep-alert.rep-alert-warning,
.rep-alert-item.rep-alert-warning {
  color: var(--rep-state-warning-text);
  background: var(--rep-state-warning-bg);
  border-color: var(--rep-state-warning-border);
}
.alert.alert-danger,
.rep-alert.rep-alert-danger,
.rep-alert.rep-alert-error,
.rep-alert-item.rep-alert-error,
.rep-alert-item.rep-alert-danger {
  color: var(--rep-state-danger-text);
  background: var(--rep-state-danger-bg);
  border-color: var(--rep-state-danger-border);
}
.alert.alert-info,
.rep-alert.rep-alert-info,
.rep-alert-item.rep-alert-info {
  color: var(--rep-state-info-text);
  background: var(--rep-state-info-bg);
  border-color: var(--rep-state-info-border);
}
/* Inline notices share the same state colours and keep nearby actions readable. */
.rep-notice-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 1rem;
  padding: 1.25rem;
  position: relative;
}
.rep-notice-alert-icon { line-height: 1.5; }
.rep-notice-alert-copy { min-width: 0; }
.rep-notice-alert-message { white-space: pre-line; }
.rep-notice-alert-title { display: block; margin-bottom: .5rem; }
.rep-notice-alert + .rep-action-row { margin-top: 1.25rem !important; }
@media (min-width: 576px) {
  .rep-notice-alert > .rep-field-help .rep-help-content {
    inset-inline-start: auto;
    inset-inline-end: 0;
    inset-block-start: calc(100% + .25rem);
    width: min(26rem, 100%);
  }
}
@media (max-width: 575.98px) {
  .rep-notice-alert > .rep-field-help[open] { grid-column: 1 / -1; width: 100%; min-width: 0; }
  .rep-notice-alert:has(> .rep-field-help[open]) > .rep-notice-alert-copy { padding-inline-end: 3.4rem; }
  .rep-notice-alert > .rep-field-help[open] > .rep-help-trigger { position: absolute; inset-block-start: .72rem; inset-inline-end: .8rem; }
}
:where(.rep-panel-body, .rep-card-body) > :is(.alert, .rep-alert):not(:first-child),
:where(.rep-panel-body, .rep-card-body) > :is(.alert, .rep-alert) + :where(.rep-action-row, .rep-form-actions, .rep-form-shell, .rep-form-section, .rep-panel, form, p) {
  margin-block-start: .75rem;
}
:where(.rep-panel-body, .rep-card-body) > :where(p, .rep-prose, .rep-field-grid) + .rep-action-row,
:where(.rep-panel-body, .rep-card-body) > .rep-form-section:not(:first-child),
:where(.rep-panel-body, .rep-card-body) > .rep-form-section + :where(p, .rep-field-grid) {
  margin-block-start: .75rem;
}
.rep-empty-state {
  text-align: center;
  justify-items: center;
  gap: 0.36rem;
  padding: 1.05rem 0.9rem;
  display: grid;
}
.rep-empty-state-icon-wrap {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface-2);
  width: 2.25rem;
  height: 2.25rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-empty-state-icon-wrap {
    background: color-mix(in srgb, var(--rep-surface-2) 78%, #fff);
  }
}
.rep-empty-state-icon-wrap {
  color: var(--rep-primary);
  justify-content: center;
  align-items: center;
  font-size: 1.04rem;
  display: inline-flex;
}
.rep-empty-state-title {
  color: var(--rep-text);
  font-size: 0.95rem;
  font-weight: 700;
}
.rep-empty-state-copy {
  color: var(--rep-text-muted);
  max-width: 36ch;
  font-size: 0.8rem;
}
.rep-empty-state-actions {
  margin-top: 0.12rem;
}
@media (max-width: 767.98px) {
  .rep-page-head-actions,
  .rep-page-head-actions .btn {
    width: 100%;
  }
  .rep-dashboard-head-identity {
    width: 100%;
    min-width: 0;
  }
  .rep-data-table-controls {
    grid-template-columns: 1fr;
  }
}
.rep-app-body {
  overflow: hidden;
}
.rep-app-body .rep-app-shell,
.rep-app-body .rep-content-area {
  height: calc(100dvh - var(--header-height));
  min-height: calc(100dvh - var(--header-height));
}
.rep-app-body .rep-content-scroll {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
  backface-visibility: hidden;
  height: 100%;
  min-height: 0;
  overflow: hidden auto;
  transform: translateZ(0);
}
.rep-app-body .rep-content-scroll.is-loading .rep-content-inner {
  opacity: 0.82;
  transition: opacity 0.12s linear;
}
.rep-layout-frame {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
.rep-public-actions .btn,
.rep-public-actions .rep-topbar-chip {
  letter-spacing: 0.02em;
  border-radius: 0.3rem;
  min-height: 36px;
  font-size: 0.77rem;
}
.rep-public-actions .btn {
  padding-inline: 0.95rem;
  font-weight: 700;
}
.rep-public-actions .rep-theme-btn {
  min-width: 84px;
}
.rep-public-actions .header-action-btn {
  height: 36px;
  min-height: 36px;
}
.rep-main-auth {
  align-items: center;
  min-height: calc(100vh - 114px);
  padding-block: clamp(0.8rem, 2vh, 1.4rem);
  display: grid;
}
.rep-footer {
  width: 100%;
  margin-top: auto;
  padding-block: 0.62rem;
}
.rep-footer small {
  font-size: var(--type-xs);
}
.rep-alert-ribbon {
  z-index: 2000;
  pointer-events: none;
  gap: 0.45rem;
  width: min(460px, 100vw - 1rem);
  display: grid;
  position: fixed;
  top: 1rem;
  left: auto;
  right: 1rem;
}
.rep-alert-toast {
  opacity: 0;
  pointer-events: auto;
  border: 0;
  border-radius: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.68rem;
  margin: 0;
  padding: 0.78rem 0.84rem;
  transition:
    opacity 0.22s,
    transform 0.22s;
  display: grid;
  transform: translateY(-10px);
  box-shadow: 0 8px 24px #0f172a2e;
}
.rep-alert-toast.show {
  opacity: 1;
  transform: translateY(0);
}
.rep-alert-toast.hiding {
  opacity: 0;
  transform: translateY(-8px);
}
.rep-alert-icon {
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  font-size: 1rem;
  display: inline-flex;
}
.rep-alert-message {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.5;
}
.rep-alert-close {
  width: 1.55rem;
  height: 1.55rem;
  color: inherit;
  opacity: 0.75;
  background: 0 0;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}
.rep-alert-close:hover,
.rep-alert-close:focus-visible {
  opacity: 1;
  background: currentColor;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-alert-close:hover,
  .rep-alert-close:focus-visible {
    background: color-mix(in srgb, currentColor 10%, transparent);
  }
}
.rep-alert-close i {
  font-size: 0.72rem;
}
.rep-alert-toast-success {
  color: var(--rep-state-success-text);
  background: var(--rep-state-success-bg);
  border-color: var(--rep-state-success-border);
}
.rep-alert-toast-success .rep-alert-icon {
  color: var(--rep-state-success-text);
}
.rep-alert-toast-info {
  color: var(--rep-state-info-text);
  background: var(--rep-state-info-bg);
  border-color: var(--rep-state-info-border);
}
.rep-alert-toast-info .rep-alert-icon {
  color: var(--rep-state-info-text);
}
.rep-alert-toast-warning {
  color: var(--rep-state-warning-text);
  background: var(--rep-state-warning-bg);
  border-color: var(--rep-state-warning-border);
}
.rep-alert-toast-warning .rep-alert-icon {
  color: var(--rep-state-warning-text);
}
.rep-alert-toast-danger {
  color: var(--rep-state-danger-text);
  background: var(--rep-state-danger-bg);
  border-color: var(--rep-state-danger-border);
}
.rep-alert-toast-danger .rep-alert-icon {
  color: var(--rep-state-danger-text);
}
.rep-auth-page {
  width: 100%;
  min-height: unset;
  padding: 0;
}
.rep-auth-layout,
.rep-auth-layout-register {
  grid-template-columns: minmax(360px, 1fr) minmax(520px, 1.2fr);
  gap: clamp(0.9rem, 1.4vw, 1.3rem);
  width: 100%;
  max-width: 1480px;
  margin-inline: auto;
  display: grid;
}

.rep-global-tooltip {
  position: absolute;
  z-index: 1320;
  pointer-events: none;
  opacity: 0;
  transform: translateY(2px);
  transition:
    opacity 0.14s ease,
    transform 0.14s ease;
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  background: color-mix(in srgb, var(--rep-surface) 90%, var(--rep-text) 10%);
  color: var(--rep-text);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
  padding: 0.28rem 0.44rem;
  font-size: 0.69rem;
  font-weight: 500;
  line-height: 1.35;
  max-width: 220px;
  white-space: normal;
  word-break: break-word;
}

.rep-global-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.rep-global-tooltip[aria-hidden='true'] {
  display: none;
}

[data-bs-theme='dark'] .rep-global-tooltip {
  border-color: color-mix(in srgb, var(--rep-border) 76%, #93c5fd 24%);
  background: color-mix(in srgb, var(--rep-surface) 86%, #020617 14%);
  color: #e2e8f0;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.42);
}
.rep-auth-layout-register {
  grid-template-columns: minmax(360px, 0.95fr) minmax(580px, 1.25fr);
}
.rep-auth-aside,
.rep-auth-card {
  border: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside,
  .rep-auth-card {
    border: 1px solid color-mix(in srgb, var(--rep-border) 90%, transparent);
  }
}
.rep-auth-aside,
.rep-auth-card {
  border-radius: 0.3rem;
  box-shadow: 0 12px 34px #0f172a17;
}
.rep-auth-aside {
  background: linear-gradient(165deg, var(--rep-primary), transparent 35%), var(--rep-surface);
  padding: clamp(1rem, 1.4vw, 1.35rem);
  overflow: hidden;
  position: relative;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside {
    background: linear-gradient(140deg, color-mix(in srgb, var(--rep-primary) 20%, transparent), transparent 70%), var(--rep-surface);
  }
}
.rep-auth-aside {
  grid-template-rows: auto auto auto 1fr auto;
  gap: 0.9rem;
  display: grid;
}
.rep-auth-aside::before {
  content: '';
  position: absolute;
  inset: -18% auto auto 58%;
  width: 18rem;
  height: 18rem;
  border-radius: 999px;
  background: radial-gradient(circle, color-mix(in srgb, var(--rep-primary) 18%, transparent), transparent 68%);
  pointer-events: none;
}
.rep-auth-aside::after {
  content: '';
  position: absolute;
  inset: auto auto -22% -10%;
  width: 14rem;
  height: 14rem;
  border-radius: 999px;
  background: radial-gradient(circle, color-mix(in srgb, var(--rep-accent) 15%, transparent), transparent 70%);
  pointer-events: none;
}
.rep-auth-aside > * {
  position: relative;
  z-index: 1;
}
.rep-auth-card {
  padding: clamp(1rem, 1.25vw, 1.25rem);
}
.rep-auth-card-head {
  border-bottom: 1px solid var(--rep-border);
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
  padding-bottom: 0.65rem;
  display: flex;
}
.rep-auth-card-title {
  font-size: var(--type-h2);
  color: var(--rep-primary);
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  line-height: 1.02;
  display: inline-flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-card-title {
    color: color-mix(in srgb, var(--rep-primary) 72%, var(--rep-text));
  }
}
.rep-auth-card-title {
  letter-spacing: -0.02em;
}
.rep-auth-card-title i {
  color: var(--rep-primary);
  font-size: 1.12rem;
}
.rep-auth-card-subtitle {
  color: var(--rep-text-muted);
  margin: 0;
  font-size: 0.82rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-card-subtitle {
    color: color-mix(in srgb, var(--rep-text-muted) 88%, #64748b);
  }
}
.rep-auth-card-subtitle {
  line-height: 1.5;
  white-space: normal;
}
.rep-login-guard {
  border: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-login-guard {
    border: 1px solid color-mix(in srgb, var(--rep-border) 88%, transparent);
  }
}
.rep-login-guard {
  background: var(--rep-surface-2);
  border-radius: 0.3rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-login-guard {
    background: color-mix(in srgb, var(--rep-surface-2) 65%, transparent);
  }
}
.rep-login-guard {
  gap: 0.4rem;
  margin-bottom: 0.72rem;
  padding: 0.62rem 0.72rem;
  display: grid;
}
.rep-login-guard.is-locked {
  border-color: var(--rep-danger);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-login-guard.is-locked {
    border-color: color-mix(in srgb, var(--rep-danger) 35%, var(--rep-border));
  }
}
.rep-login-guard.is-locked {
  background: var(--rep-danger);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-login-guard.is-locked {
    background: color-mix(in srgb, var(--rep-danger) 8%, var(--rep-surface));
  }
}
.rep-login-guard-row {
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  display: flex;
}
.rep-login-guard-timer {
  border-top: 1px dashed var(--rep-border);
  padding-top: 0.3rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-login-guard-timer {
    border-top: 1px dashed color-mix(in srgb, var(--rep-border) 80%, transparent);
  }
}
.rep-login-guard-timer.is-hidden {
  display: none;
}
.rep-login-guard-label {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--rep-text-muted);
  font-size: 0.76rem;
  font-weight: 600;
}
.rep-login-guard-value {
  color: var(--rep-text);
  font-size: 0.84rem;
  font-weight: 600;
}
.rep-login-guard.is-locked .rep-login-guard-value {
  color: var(--rep-danger);
}
.rep-auth-card-form {
  gap: 0.74rem;
}
.rep-auth-card .form-control,
.rep-auth-card .form-select {
  border-radius: 0.3rem;
  min-height: 44px;
  font-size: 0.92rem;
}
.rep-auth-card .form-control:focus,
.rep-auth-card .form-select:focus {
  border-color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-card .form-control:focus,
  .rep-auth-card .form-select:focus {
    border-color: color-mix(in srgb, var(--rep-primary) 72%, #fff);
  }
}
.rep-auth-card .form-control:focus,
.rep-auth-card .form-select:focus {
  box-shadow: 0 0 0 4px var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-card .form-control:focus,
  .rep-auth-card .form-select:focus {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rep-primary) 17%, transparent);
  }
}
.rep-form-field-label {
  font-size: var(--type-small);
  color: var(--rep-text-muted);
  display: block;
}
.rep-form-field-label i {
  color: var(--rep-primary);
  font-size: 0.8rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-form-field-label i {
    color: color-mix(in srgb, var(--rep-primary) 78%, #1d4ed8);
  }
}
.rep-auth-form-row .rep-form-help {
  font-size: 0.74rem;
}
.rep-form-help {
  color: var(--rep-text-muted);
  margin: 0.32rem 0 0;
  font-size: 0.76rem;
}
.rep-mobile-group {
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 0.55rem;
  display: grid;
}
.rep-mobile-country .form-control,
.rep-mobile-number .form-control {
  width: 100%;
}
.rep-auth-grid-2 {
  align-items: start;
}
.rep-auth-grid-2 > .rep-form-field {
  flex-direction: column;
  justify-content: flex-start;
  display: flex;
}
.rep-date-wrap {
  position: relative;
}
.rep-date-wrap .rep-date-input {
  padding-right: 2.5rem;
}
.rep-date-wrap input[type='date']::-webkit-calendar-picker-indicator {
  opacity: 0;
  pointer-events: none;
}
.rep-date-wrap input[type='date'] {
  appearance: none;
  -webkit-appearance: none;
}
.rep-date-icon {
  color: var(--rep-text-muted);
  cursor: pointer;
  background: 0 0;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 1.9rem;
  height: 1.9rem;
  display: inline-flex;
  position: absolute;
  top: 50%;
  right: 0.72rem;
  transform: translateY(-50%);
}
.rep-date-icon:hover,
.rep-date-icon:focus-visible {
  color: var(--rep-primary);
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-date-icon:hover,
  .rep-date-icon:focus-visible {
    background: color-mix(in srgb, var(--rep-primary) 10%, transparent);
  }
}
.rep-calendar {
  border: 1px solid var(--rep-border);
  width: min(300px, 92vw);
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-calendar {
    border: 1px solid color-mix(in srgb, var(--rep-border) 90%, transparent);
  }
}
.rep-calendar {
  background: var(--rep-surface);
  z-index: 30;
  border-radius: 0.3rem;
  padding: 0.6rem;
  box-shadow: 0 16px 34px #0f172a29;
}
.rep-calendar-head {
  justify-content: space-between;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
  display: flex;
}
.rep-calendar.rep-calendar-floating {
  position: fixed;
  inset: auto;
  top: var(--rep-calendar-top, 8px);
  left: var(--rep-calendar-left, 8px);
  width: var(--rep-calendar-width, 300px);
  max-width: calc(100vw - 16px);
  max-height: var(--rep-calendar-height, calc(100dvh - 16px));
  margin: 0;
  overflow: auto;
  z-index: 12000;
  color: var(--rep-text);
}
.rep-calendar-day:disabled { opacity: .4; cursor: not-allowed; }
.rep-calendar-controls {
  flex: 1;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.25rem;
  display: grid;
}
.rep-calendar-select {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  min-height: 1.75rem;
  color: var(--rep-text);
  border-radius: 0.3rem;
  padding-inline: 0.35rem;
  font-size: 0.74rem;
}
.rep-calendar-nav {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  width: 1.75rem;
  height: 1.75rem;
  color: var(--rep-text-muted);
  border-radius: 0.3rem;
}
.rep-calendar-nav:hover {
  color: var(--rep-primary);
  border-color: var(--rep-primary);
}
.rep-calendar-week {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.2rem;
  margin-bottom: 0.3rem;
  display: grid;
}
.rep-calendar-week span {
  text-align: center;
  color: var(--rep-text-muted);
  font-size: 0.68rem;
  font-weight: 700;
}
.rep-calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.2rem;
  display: grid;
}
.rep-calendar-pad {
  min-height: 2rem;
}
.rep-calendar-day {
  min-height: 2rem;
  color: var(--rep-text);
  background: 0 0;
  border: 1px solid #0000;
  border-radius: 0.3rem;
  font-size: 0.8rem;
}
.rep-calendar-day:hover {
  border-color: var(--rep-primary);
  color: var(--rep-primary);
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-calendar-day:hover {
    background: color-mix(in srgb, var(--rep-primary) 10%, transparent);
  }
}
.rep-auth-form-check {
  border-radius: 0.3rem;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  padding: 0.3rem 0.2rem;
  display: flex;
}
.rep-auth-form-check-start {
  align-items: center;
  gap: 0.45rem;
  display: inline-flex;
}
.rep-auth-form-check .form-check-label {
  font-size: 0.84rem;
}
.rep-auth-form-check-end {
  color: var(--rep-text-muted);
  font-size: 0.74rem;
  line-height: 1.35;
  white-space: normal;
  text-align: right;
}
.rep-auth-form-check-end .rep-auth-link {
  color: var(--rep-primary);
  text-underline-offset: 2px;
  font-weight: 700;
  text-decoration: underline;
}
.rep-auth-form-check-end .rep-auth-link:hover,
.rep-auth-form-check-end .rep-auth-link:focus-visible {
  color: var(--rep-primary-strong);
}
.rep-auth-route-help {
  max-width: none;
}
.rep-auth-primary-cta {
  min-height: 3rem;
  border-radius: 0.75rem;
  letter-spacing: 0.01em;
  font-size: 0.96rem;
  font-weight: 800;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--rep-primary) 20%, transparent);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.rep-auth-primary-cta:hover,
.rep-auth-primary-cta:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px color-mix(in srgb, var(--rep-primary) 24%, transparent);
}
.rep-auth-signup-line {
  color: var(--rep-text-muted);
  font-size: 0.8rem;
  line-height: 1.35;
  text-align: center;
}
.rep-auth-signup-link {
  color: var(--rep-primary);
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
}
.rep-auth-signup-link:hover,
.rep-auth-signup-link:focus-visible {
  color: var(--rep-primary-strong);
  text-decoration: underline;
}
.rep-captcha-panel {
  border: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-captcha-panel {
    border: 1px solid color-mix(in srgb, var(--rep-border) 88%, transparent);
  }
}
.rep-captcha-panel {
  border-radius: 0.3rem;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 0.56rem;
  padding: 0.56rem;
  display: grid;
}
.rep-captcha-line {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.56rem;
  display: grid;
}
.rep-captcha-question-wrap {
  border: 1px dashed var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-captcha-question-wrap {
    border: 1px dashed color-mix(in srgb, var(--rep-border) 80%, transparent);
  }
}
.rep-captcha-question-wrap {
  background: var(--rep-surface-2);
  border-radius: 0.3rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-captcha-question-wrap {
    background: color-mix(in srgb, var(--rep-surface-2) 72%, transparent);
  }
}
.rep-captcha-question-wrap {
  min-height: 42px;
  padding: 0.45rem 0.62rem;
  display: grid;
}
.rep-captcha-question-label {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--rep-text-muted);
  font-size: 0.68rem;
  font-weight: 600;
}
.rep-captcha-question {
  color: var(--rep-text);
  font-size: 1.05rem;
  font-weight: 700;
}
.rep-captcha-refresh {
  min-height: 40px;
  padding-inline: 0.75rem;
}
.rep-captcha-refresh.is-loading {
  opacity: 0.7;
}
.rep-captcha-input-wrap {
  grid-column: 1/-1;
}
.rep-captcha-input-wrap .form-control {
  min-height: 42px;
}
.rep-password-toggle {
  width: 34px;
  height: 34px;
  color: var(--rep-text-muted);
  border-radius: 0.3rem;
  right: 0.42rem;
}
.rep-password-toggle:hover {
  color: var(--rep-primary);
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-password-toggle:hover {
    background: color-mix(in srgb, var(--rep-primary) 10%, transparent);
  }
}
.rep-auth-card .btn-primary {
  border-radius: 0.3rem;
  min-height: 44px;
  font-size: 1rem;
}
.rep-auth-aside-title {
  font-size: var(--type-h2);
  font-family: 'Inter', var(--rep-font-sans), 'Segoe UI', sans-serif;
  font-feature-settings:
    'ss01' 1,
    'cv02' 1,
    'cv03' 1;
  text-rendering: geometricPrecision;
  letter-spacing: -0.02em;
  color: var(--rep-primary);
  margin: 0;
  font-weight: 700;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-title {
    color: color-mix(in srgb, var(--rep-primary) 45%, var(--rep-text));
  }
}
.rep-auth-aside-copy {
  max-width: 48ch;
  color: var(--rep-text-muted);
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-copy {
    color: color-mix(in srgb, var(--rep-text-muted) 92%, #64748b);
  }
}
.rep-auth-aside-list li {
  border-radius: 0.3rem;
  padding: 0.62rem 0.72rem;
  font-size: 0.86rem;
}
.rep-auth-aside-badge {
  border: 1px solid var(--rep-primary);
  align-items: center;
  gap: 0.38rem;
  width: fit-content;
  padding: 0.36rem 0.64rem;
  display: inline-flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-badge {
    border: 1px solid color-mix(in srgb, var(--rep-primary) 26%, var(--rep-border));
  }
}
.rep-auth-aside-badge {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-badge {
    background: color-mix(in srgb, var(--rep-primary) 6%, var(--rep-surface));
  }
}
.rep-auth-aside-badge {
  color: var(--rep-primary);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.72rem;
  font-weight: 700;
}
.rep-auth-aside-badge i {
  font-size: 0.76rem;
}
.rep-auth-aside-list-modern {
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  display: grid;
}
.rep-auth-aside-list-modern li {
  border: 1px solid var(--rep-border);
  grid-template-columns: 2.45rem minmax(0, 1fr);
  align-items: start;
  gap: 0.7rem;
  min-height: unset;
  padding: 0.75rem 0.82rem;
  box-shadow: none;
  display: grid;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-list-modern li {
    border: 1px solid color-mix(in srgb, var(--rep-border) 82%, transparent);
  }
}
.rep-auth-aside-list-modern li {
  background: var(--rep-surface-2);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-list-modern li {
    background: color-mix(in srgb, var(--rep-surface-2) 62%, transparent);
  }
}
.rep-auth-aside-icon {
  width: 2.45rem;
  height: 2.45rem;
  color: var(--rep-accent);
  background: var(--rep-accent-soft);
  justify-content: center;
  align-items: center;
  border-radius: 0.8rem;
  display: inline-flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-icon {
    background: color-mix(in srgb, var(--rep-accent) 11%, var(--rep-surface));
  }
}
.rep-auth-aside-icon {
  border: 1px solid var(--rep-accent);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-icon {
    border: 1px solid color-mix(in srgb, var(--rep-accent) 22%, transparent);
  }
}
.rep-auth-aside-icon i {
  font-size: 0.92rem;
}
.rep-auth-aside-content {
  gap: 0.16rem;
  display: grid;
}
.rep-auth-aside-content strong {
  color: var(--rep-primary);
  font-size: 0.85rem;
  font-weight: 800;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-content strong {
    color: color-mix(in srgb, var(--rep-primary) 58%, var(--rep-text));
  }
}
.rep-auth-aside-content strong {
  line-height: 1.22;
}
.rep-auth-aside-content small {
  color: var(--rep-text-muted);
  font-size: 0.74rem;
  line-height: 1.35;
}
.rep-auth-aside-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.48rem;
  margin-top: 0.2rem;
  display: grid;
}
.rep-auth-aside-metric {
  border: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-metric {
    border: 1px solid color-mix(in srgb, var(--rep-border) 78%, transparent);
  }
}
.rep-auth-aside-metric {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-metric {
    background: color-mix(in srgb, var(--rep-primary) 6%, var(--rep-surface));
  }
}
.rep-auth-aside-metric {
  gap: 0.08rem;
  padding: 0.5rem 0.54rem;
  display: grid;
}
.rep-auth-aside-metric-value {
  color: var(--rep-primary);
  font-size: 0.78rem;
  font-weight: 700;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-aside-metric-value {
    color: color-mix(in srgb, var(--rep-primary) 84%, #1d4ed8);
  }
}
.rep-auth-aside-metric-value {
  letter-spacing: 0.02em;
}
.rep-auth-aside-metric-label {
  color: var(--rep-text-muted);
  font-size: 0.72rem;
}
.rep-auth-public-links {
  margin-top: 0.3rem;
  display: grid;
  gap: 0.52rem;
}
.rep-auth-public-links-head {
  display: grid;
  gap: 0.14rem;
}
.rep-auth-public-links-kicker {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--rep-text-muted);
}
.rep-auth-public-links-head h3 {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--rep-text);
}
.rep-auth-public-links-grid {
  display: grid;
  gap: 0.45rem;
}
.rep-auth-public-link {
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  text-decoration: none;
  color: inherit;
  padding: 0.5rem 0.56rem;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 0.5rem;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    box-shadow 0.18s ease;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-public-link {
    border-color: color-mix(in srgb, var(--rep-border) 78%, transparent);
    background: color-mix(in srgb, var(--rep-primary) 3%, var(--rep-surface));
  }
}
.rep-auth-public-link-icon {
  width: 28px;
  height: 28px;
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rep-primary);
}
.rep-auth-public-link-copy {
  display: grid;
  gap: 0.12rem;
}
.rep-auth-public-link-copy strong {
  font-size: 0.79rem;
  line-height: 1.24;
  color: var(--rep-text);
}
.rep-auth-public-link-copy small {
  font-size: 0.7rem;
  color: var(--rep-text-muted);
  line-height: 1.34;
}
.rep-auth-public-link:hover,
.rep-auth-public-link:focus-visible {
  border-color: color-mix(in srgb, var(--rep-primary) 30%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--rep-primary) 20%, transparent);
}
[data-bs-theme='dark'] .rep-auth-public-link {
  background: color-mix(in srgb, var(--rep-surface-2) 88%, transparent);
}
[data-bs-theme='dark'] .rep-auth-public-link-icon {
  background: color-mix(in srgb, var(--rep-surface-2) 78%, transparent);
}
[data-bs-theme='dark'] .rep-auth-card-title {
  color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .rep-auth-card-title {
    color: color-mix(in srgb, var(--rep-primary) 76%, #dbeafe);
  }
}
[data-bs-theme='dark'] .rep-auth-aside-list-modern li {
  background: var(--rep-surface-2);
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .rep-auth-aside-list-modern li {
    background: color-mix(in srgb, var(--rep-surface-2) 72%, transparent);
  }
}
[data-bs-theme='dark'] .rep-auth-aside-metric {
  background: var(--rep-surface-2);
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .rep-auth-aside-metric {
    background: color-mix(in srgb, var(--rep-surface-2) 82%, transparent);
  }
}
.rep-auth-choice-group label {
  border-radius: 0.3rem;
  align-items: center;
  min-height: 42px;
  padding: 0.48rem 0.62rem;
  font-size: 0.8rem;
}
.rep-auth-choice-group input[type='radio']:checked + * {
  color: var(--rep-primary);
}
.rep-auth-errors {
  margin-bottom: 0.8rem;
}
@media (max-width: 1200px) {
  .rep-auth-layout,
  .rep-auth-layout-register {
    grid-template-columns: minmax(300px, 0.95fr) minmax(0, 1fr);
  }
}
@media (min-width: 992px) {
  .app-header .rep-topbar-shell,
  .app-header__shell {
    gap: 0.72rem;
    padding-inline: 0.58rem;
  }
  .app-header__logo {
    max-width: 138px;
    max-height: 38px;
  }
  .app-header__title {
    font-size: 1.05rem;
  }
  .header-action-btn {
    border-radius: 0.3rem;
    height: 40px;
    min-height: 40px;
    padding-inline: 0.9rem;
    font-size: 0.84rem;
  }
  .rep-icon-btn.header-action-btn {
    width: 40px;
    min-width: 40px;
  }
  .user-menu-trigger {
    height: 40px;
    min-height: 40px;
  }
  .user-menu-trigger .rep-user-trigger-avatar {
    width: 1.76rem;
    height: 1.76rem;
  }
}
@media (max-width: 992px) {
  .rep-app-body,
  .rep-public-body {
    --header-height: 70px;
  }
  .rep-main-auth {
    padding-block: 0.7rem 1rem;
  }
  .app-header .rep-topbar-shell,
  .app-header__shell {
    padding-inline: 0.4rem;
  }
  .app-header__brand-copy,
  .app-header__divider {
    display: none !important;
  }
  .user-menu-trigger .rep-user-trigger-meta {
    display: none;
  }
  .app-header__title {
    font-size: 1rem;
  }
  .app-header__resource-btn {
    display: none !important;
  }
  .header-action-btn {
    border-radius: 0.3rem;
    height: 34px;
    min-height: 34px;
    padding-inline: 0.55rem;
  }
  .user-menu-trigger .rep-user-trigger-copy {
    display: none;
  }
  .user-menu-trigger {
    grid-template-columns: auto auto;
    width: 40px;
    min-width: 40px;
    padding: 0;
    visibility: visible !important;
    opacity: 1 !important;
    display: inline-grid !important;
  }
  .user-menu-trigger .rep-user-trigger-caret {
    display: none;
  }
  .app-header__actions .header-action-btn:not(.user-menu-trigger) {
    box-shadow: none;
    background: 0 0;
    border: 0;
    width: 32px;
    min-width: 32px;
    padding: 0;
  }
  .app-header__toggle,
  .app-header__actions .header-action-btn,
  .rep-public-actions .header-action-btn,
  .rep-public-actions .btn {
    box-shadow: none !important;
    background: 0 0 !important;
    border: 0 !important;
    outline: 0 !important;
  }
  .app-header__actions .header-action-btn .rep-user-trigger-copy {
    display: none !important;
  }
  .app-header__actions .rep-account-control,
  .app-header__actions .rep-account-control .user-menu-trigger {
    display: inline-grid !important;
  }
  .rep-app-body .sidebar {
    top: var(--header-height);
  }
  .rep-app-body .rep-app-shell .sidebar {
    height: calc(100dvh - var(--header-height));
  }
  .rep-public-actions .rep-topbar-chip {
    display: none !important;
  }
  .rep-auth-layout,
  .rep-auth-layout-register {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  .rep-auth-aside {
    order: 2;
  }
  .rep-auth-card {
    order: 1;
  }
  .rep-auth-choice-group ul,
  .rep-auth-aside-metrics {
    grid-template-columns: 1fr;
  }
  .rep-auth-card-head {
    flex-wrap: wrap;
  }
  .rep-auth-card-subtitle {
    white-space: normal;
  }
  .rep-auth-form-check {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .rep-auth-form-check-end {
    text-align: left;
    white-space: normal;
  }
  .rep-auth-signup-line {
    text-align: left;
  }
}
@media (max-width: 640px) {
  .app-header__logo {
    max-width: 112px;
    max-height: 30px;
  }
  .app-header__divider {
    display: none;
  }
  .app-header__brand-copy {
    display: none !important;
  }
  .app-header__brand {
    gap: 0.35rem;
  }
  .app-header__actions {
    gap: 0.4rem;
  }
  .app-header__actions .notification-badge {
    transform: translate(-20%, -28%) !important;
  }
  .rep-alert-ribbon {
    inset-inline: 0.5rem;
    width: auto;
    right: 0.5rem;
  }
  .rep-captcha-panel {
    grid-template-columns: 1fr;
  }
  .rep-captcha-refresh {
    width: 100%;
  }
  .rep-mobile-group {
    grid-template-columns: 1fr;
  }
  .rep-public-actions .btn {
    min-height: 34px;
    padding-inline: 0.72rem;
    font-size: 0.74rem;
  }
  .rep-public-actions .rep-public-nav-link {
    border-radius: 0.3rem;
    border: 1px solid var(--rep-border) !important;
    background: var(--rep-surface) !important;
    box-shadow: none !important;
    color: var(--rep-text) !important;
  }
  .rep-public-actions .rep-public-nav-link:hover,
  .rep-public-actions .rep-public-nav-link:focus-visible {
    border-color: color-mix(in srgb, var(--rep-primary) 28%, var(--rep-border)) !important;
    background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface)) !important;
    color: var(--rep-primary) !important;
  }
  @media (max-width: 767.98px) {
    .rep-public-actions .rep-public-nav-link span {
      display: none;
    }
    .rep-public-actions .rep-public-nav-link {
      min-width: 34px;
      width: 34px;
      justify-content: center;
      padding-inline: 0;
    }
  }
  .rep-auth-card,
  .rep-auth-aside {
    border-radius: 0.3rem;
    padding: 0.82rem;
  }
  .rep-auth-aside-list-modern li {
    grid-template-columns: 2.3rem minmax(0, 1fr);
    min-height: unset;
    padding: 0.7rem 0.76rem;
  }
  .rep-auth-aside-icon {
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 0.72rem;
  }
  .rep-auth-card .form-control,
  .rep-auth-card .form-select {
    min-height: 41px;
    font-size: 0.88rem;
  }
}
.rep-auth-choice-group ul {
  grid-template-columns: 1fr !important;
  gap: 0.68rem !important;
}
.rep-auth-choice-group label {
  border-left: 3px solid #0000;
  min-height: 48px !important;
  font-size: 0.86rem !important;
}
.rep-auth-choice-group label:hover {
  border-left-color: var(--rep-primary);
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-choice-group label:hover {
    background: color-mix(in srgb, var(--rep-primary) 7%, var(--rep-surface-2));
  }
}
.rep-auth-choice-group label:has(input[type='radio']:checked) {
  border-left-color: var(--rep-primary);
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-choice-group label:has(input[type='radio']:checked) {
    background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface-2));
  }
}
.rep-auth-grid-2 .rep-form-field .rep-form-help {
  margin-bottom: 0.35rem;
}
.rep-terms-link {
  font-weight: 700;
  text-decoration: underline;
}
.rep-terms-modal,
.rep-terms-modal .modal-header,
.rep-terms-modal .modal-body,
.rep-terms-modal .modal-footer,
.rep-terms-modal .btn,
.rep-terms-modal .btn-close {
}
.rep-terms-modal .btn-close {
  opacity: 1;
  color: var(--rep-text) !important;
  border-color: var(--rep-border) !important;
}
.rep-terms-modal .btn-close:before {
  content: 'x';
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
}
.rep-terms-body {
  gap: 0.75rem;
  display: grid;
}
.rep-terms-list {
  gap: 0.4rem;
  margin: 0;
  padding-left: 1.15rem;
  display: grid;
}
.rep-terms-list li {
  color: var(--rep-text);
  font-size: 0.85rem;
}
.rep-flow-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 0.8rem;
  display: grid;
}
.rep-flow-step {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  min-height: 44px;
  color: var(--rep-text-muted);
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.6rem;
  font-size: 0.8rem;
  font-weight: 600;
  display: flex;
}
.rep-flow-step.active {
  color: var(--rep-primary);
  border-color: var(--rep-primary);
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-flow-step.active {
    background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface));
  }
}
.rep-flow-step.done {
  color: var(--rep-success);
  border-color: var(--rep-success);
  background: var(--rep-success);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-flow-step.done {
    background: color-mix(in srgb, var(--rep-success) 8%, var(--rep-surface));
  }
}
.rep-flow-dot {
  border: 1px solid;
  justify-content: center;
  align-items: center;
  width: 1.35rem;
  height: 1.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  display: inline-flex;
}
.rep-choice-card {
  gap: 0.45rem;
  display: grid;
}
.rep-choice-item {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface-2);
  border-left: 3px solid var(--rep-primary);
  align-items: flex-start;
  gap: 0.55rem;
  min-height: 48px;
  padding: 0.5rem 0.6rem;
  display: flex;
}
.rep-choice-content {
  gap: 0.12rem;
  display: grid;
}
.rep-choice-content strong {
  color: var(--rep-text);
  font-size: 0.86rem;
  line-height: 1.2;
}
.rep-choice-content small {
  color: var(--rep-text-muted);
  font-size: 0.76rem;
}
@media (max-width: 991.98px) {
  .rep-flow-strip {
    grid-template-columns: 1fr;
  }
}
.rep-alert-ribbon {
  left: 50% !important;
  right: auto !important;
  transform: translate(-50%) !important;
}
@media (max-width: 640px) {
  .rep-alert-ribbon {
    width: auto !important;
    left: 0.5rem !important;
    right: 0.5rem !important;
    transform: none !important;
  }
}
.rep-auth-page-register .rep-auth-layout-register-wide {
  max-width: 1520px;
  grid-template-columns: 1fr !important;
}
.rep-auth-page-register .rep-auth-card-register {
  width: 100%;
}
.rep-register-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: 'contact personal' 'security personal' 'preferences personal' 'actions actions';
  align-items: start;
  gap: 0.75rem;
  display: grid;
}
.rep-register-section {
  border: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-section {
    border: 1px solid color-mix(in srgb, var(--rep-border) 88%, transparent);
  }
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-section {
    background: color-mix(in srgb, var(--rep-surface-2) 56%, transparent);
  }
}
.rep-register-section {
  padding: 0.62rem;
}
.rep-register-section-title {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rep-text-muted);
  margin: 0 0 0.55rem;
  font-size: 0.84rem;
  font-weight: 700;
}
.rep-register-grid {
  gap: 0.65rem;
  display: grid;
}
.rep-register-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rep-register-actions {
  background: var(--rep-surface);
  grid-area: actions;
  padding-top: 0.2rem;
}
.rep-register-form > .rep-register-section:first-of-type {
  grid-area: contact;
}
.rep-register-form > .rep-register-section:nth-of-type(2) {
  grid-area: personal;
}
.rep-register-form > .rep-register-section:nth-of-type(3) {
  grid-area: security;
}
.rep-register-form > .rep-register-section:nth-of-type(4) {
  grid-area: preferences;
}
.rep-auth-page-register .rep-auth-layout-register-wide {
  max-width: 1320px;
}
.rep-auth-page-register .rep-auth-card-register {
  padding: 0.75rem;
}
@media (max-width: 991.98px) {
  .rep-register-form {
    grid-template-columns: 1fr;
    grid-template-areas: 'contact' 'personal' 'security' 'preferences' 'actions';
  }
  .rep-register-grid-2,
  .rep-register-grid-3 {
    grid-template-columns: 1fr;
  }
}
.rep-auth-page-register .rep-auth-layout-register-wide {
  margin-inline: auto;
  grid-template-columns: 1fr !important;
  max-width: 1160px !important;
}
.rep-register-book-card {
  padding: 0.85rem !important;
}
.rep-register-book-head {
  display: block;
}
.rep-register-book-head-main {
  gap: 0.42rem;
  display: grid;
}
.rep-register-book-signin {
  color: var(--rep-text-muted);
  align-items: center;
  gap: 0.42rem;
  font-size: 0.86rem;
  font-weight: 600;
  display: inline-flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-book-signin {
    color: color-mix(in srgb, var(--rep-text-muted) 82%, #64748b);
  }
}
.rep-register-book-signin {
  white-space: normal;
  width: fit-content;
  margin-top: 0.08rem;
}
.rep-register-action-signin {
  margin-top: 0;
}
.rep-register-book-signin i {
  color: var(--rep-primary);
  font-size: 0.86rem;
}
.rep-register-book-signin .rep-auth-link {
  text-underline-offset: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: underline;
}
.rep-register-head-separator {
  background: var(--rep-border);
  width: 100%;
  height: 1px;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-head-separator {
    background: color-mix(in srgb, var(--rep-border) 76%, transparent);
  }
}
.rep-register-head-separator {
  margin: 0.18rem 0 0.1rem;
}
.rep-auth-page-register .rep-auth-card-title {
  color: var(--rep-primary);
  font-size: clamp(1.35rem, 1.6vw, 1.72rem);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-page-register .rep-auth-card-title {
    color: color-mix(in srgb, var(--rep-primary) 72%, #0f172a);
  }
}
.rep-auth-page-register .rep-auth-card-subtitle {
  color: var(--rep-text-muted);
  font-size: 0.8rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-page-register .rep-auth-card-subtitle {
    color: color-mix(in srgb, var(--rep-text-muted) 88%, #64748b);
  }
}
.rep-auth-page-register .rep-auth-card-subtitle {
  margin-top: 0;
  line-height: 1.45;
}
.rep-register-book-form {
  gap: 0.72rem;
  display: grid;
}
.rep-register-book-body {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.82rem;
  display: grid;
}
.rep-register-book-column {
  align-content: start;
  gap: 0.65rem;
  display: grid;
}
.rep-register-book-right {
  border-left: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-book-right {
    border-left: 1px solid color-mix(in srgb, var(--rep-border) 80%, transparent);
  }
}
.rep-register-book-right {
  padding-left: 0.82rem;
}
.rep-register-section {
  border-color: var(--rep-border) !important;
  padding: 0.58rem !important;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-section {
    border-color: color-mix(in srgb, var(--rep-border) 72%, transparent) !important;
  }
}
.rep-register-section {
  background: var(--rep-surface-2) !important;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-section {
    background: color-mix(in srgb, var(--rep-surface-2) 35%, transparent) !important;
  }
}
.rep-register-grid-1 {
  grid-template-columns: 1fr;
}
.rep-register-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rep-register-field-span-2 {
  grid-column: span 2;
}
.rep-auth-page-register .rep-auth-card .form-control,
.rep-auth-page-register .rep-auth-card .form-select {
  min-height: 40px;
}
.rep-register-section-title {
  border-bottom: 1px solid var(--rep-border);
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0.42rem;
  padding-bottom: 0.32rem;
  display: flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-section-title {
    border-bottom: 1px solid color-mix(in srgb, var(--rep-border) 72%, transparent);
  }
}
.rep-register-section-title {
  color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-section-title {
    color: color-mix(in srgb, var(--rep-primary) 72%, var(--rep-text));
  }
}
.rep-register-section-title {
  letter-spacing: 0.05em;
  font-size: 0.74rem;
}
.rep-register-section-title i {
  color: var(--rep-primary);
  font-size: 0.8rem;
}
.rep-form-field-label i {
  color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-form-field-label i {
    color: color-mix(in srgb, var(--rep-primary) 78%, #1d4ed8);
  }
}
.rep-auth-page-register .rep-mobile-group {
  grid-template-columns: 96px minmax(0, 1fr);
}
.rep-auth-choice-tiles ul {
  grid-template-columns: 1fr;
  gap: 0.62rem;
  display: grid;
}
.rep-auth-choice-tiles #id_account_type {
  gap: 0.62rem;
  display: grid;
}
.rep-auth-choice-tiles #id_account_type > div {
  display: block;
}
.rep-auth-choice-tiles label {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
  transition:
    border-color 0.16s,
    background-color 0.16s,
    box-shadow 0.16s;
  position: relative;
  min-height: 44px !important;
  padding-left: 2.1rem !important;
  padding-right: 0.8rem !important;
}
.rep-auth-choice-tiles label:before {
  color: var(--rep-text-muted);
  font-family: bootstrap-icons;
  font-size: 0.9rem;
  position: absolute;
  top: 50%;
  left: 0.65rem;
  transform: translateY(-50%);
}
.rep-auth-choice-tiles label:has(input[value='CANDIDATE']):before {
  content: '';
}
.rep-auth-choice-tiles label:has(input[value='VENDOR']):before,
.rep-auth-choice-tiles label:has(input[value='VENDOR_CONTACT']):before {
  content: '';
}
.rep-auth-choice-tiles label:has(input[value='BOTH']):before {
  content: '';
}
.rep-auth-choice-tiles label:has(input:checked) {
  border-color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-choice-tiles label:has(input:checked) {
    border-color: color-mix(in srgb, var(--rep-primary) 75%, var(--rep-border));
  }
}
.rep-auth-choice-tiles label:has(input:checked) {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-choice-tiles label:has(input:checked) {
    background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface));
  }
}
.rep-auth-choice-tiles label:has(input:checked) {
  box-shadow: 0 2px 8px var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-auth-choice-tiles label:has(input:checked) {
    box-shadow: 0 2px 8px color-mix(in srgb, var(--rep-primary) 18%, transparent);
  }
}
.rep-auth-choice-tiles label:has(input:checked):before {
  color: var(--rep-primary);
}
.rep-consent-box {
  border: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-consent-box {
    border: 1px solid color-mix(in srgb, var(--rep-border) 75%, transparent);
  }
}
.rep-consent-box {
  background: var(--rep-surface-2);
  padding: 0.55rem 0.6rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-consent-box {
    background: color-mix(in srgb, var(--rep-surface-2) 45%, transparent);
  }
}
.rep-password-strength {
  gap: 0.25rem;
  margin-top: 0.45rem;
  display: grid;
}
.rep-password-strength-bar {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface-2);
  height: 6px;
  display: block;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-password-strength-bar {
    background: color-mix(in srgb, var(--rep-surface-2) 70%, transparent);
  }
}
.rep-password-strength-fill {
  background: var(--rep-danger);
  width: 0%;
  height: 100%;
  display: block;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-password-strength-fill {
    background: color-mix(in srgb, var(--rep-danger) 80%, #fff);
  }
}
.rep-password-strength-fill {
  transition:
    width 0.18s,
    background-color 0.18s;
}
.rep-password-strength-text {
  color: var(--rep-text-muted);
  font-size: 0.74rem;
}
.rep-password-strength[data-strength='weak'] .rep-password-strength-fill {
  background: var(--rep-danger);
  width: 25%;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-password-strength[data-strength='weak'] .rep-password-strength-fill {
    background: color-mix(in srgb, var(--rep-danger) 88%, #fff);
  }
}
.rep-password-strength[data-strength='fair'] .rep-password-strength-fill {
  background: var(--rep-warning);
  width: 50%;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-password-strength[data-strength='fair'] .rep-password-strength-fill {
    background: color-mix(in srgb, var(--rep-warning) 82%, #fff);
  }
}
.rep-password-strength[data-strength='good'] .rep-password-strength-fill {
  background: var(--rep-primary);
  width: 75%;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-password-strength[data-strength='good'] .rep-password-strength-fill {
    background: color-mix(in srgb, var(--rep-primary) 80%, #fff);
  }
}
.rep-password-strength[data-strength='strong'] .rep-password-strength-fill {
  background: var(--rep-success);
  width: 100%;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-password-strength[data-strength='strong'] .rep-password-strength-fill {
    background: color-mix(in srgb, var(--rep-success) 85%, #fff);
  }
}
.rep-register-action-bar {
  border-top: 1px solid var(--rep-border);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-register-action-bar {
    border-top: 1px solid color-mix(in srgb, var(--rep-border) 88%, transparent);
  }
}
.rep-register-action-bar {
  justify-content: space-between;
  align-items: center;
  gap: 0.7rem;
  padding-top: 0.5rem;
  display: flex;
}
.rep-register-submit {
  min-width: 220px;
  min-height: 42px;
}
@media (max-width: 1024px) {
  .rep-auth-page-register .rep-auth-layout-register-wide {
    max-width: 980px !important;
  }
}
@media (max-width: 991.98px) {
  .rep-register-book-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .rep-register-book-body {
    grid-template-columns: 1fr;
  }
  .rep-register-book-right {
    border-left: 0;
    border-top: 1px solid var(--rep-border);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .rep-register-book-right {
      border-top: 1px solid color-mix(in srgb, var(--rep-border) 80%, transparent);
    }
  }
  .rep-register-book-right {
    padding-top: 0.8rem;
    padding-left: 0;
  }
  .rep-register-field-span-2 {
    grid-column: span 1;
  }
  .rep-register-action-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .rep-register-action-signin {
    width: 100%;
  }
  .rep-register-submit {
    width: 100%;
    min-width: 0;
  }
}
@media (max-width: 640px) {
  .rep-register-book-card {
    padding: 0.7rem !important;
  }
  .rep-register-section {
    padding: 0.6rem !important;
  }
  .rep-register-grid-2,
  .rep-auth-page-register .rep-mobile-group {
    grid-template-columns: 1fr;
  }
}
.rep-public-body .rep-auth-page .rep-auth-choice-group label,
.rep-public-body .rep-auth-page .rep-auth-choice-tiles label,
.rep-public-body .rep-auth-page .rep-auth-choice-tiles #id_account_type > div > label {
}
:root {
  --rep-surface-app: #f6f7f5;
  --rep-surface-header: #fff;
  --rep-surface-footer: #fff;
  --rep-surface-card: #fff;
  --rep-surface-muted: #f4f6f5;
  --rep-border-soft: #dae1e2;
  --rep-border-strong: #becbd0;
  --rep-shadow-card: 0 1px 2px #0f172a0f, 0 8px 20px #0f172a0a;
}
[data-bs-theme='dark'] {
  --rep-surface-app: #101522;
  --rep-surface-header: #172132;
  --rep-surface-footer: #172132;
  --rep-surface-card: #172132;
  --rep-surface-muted: #202c3b;
  --rep-border-soft: #394653;
  --rep-border-strong: #526171;
  --rep-shadow-card: 0 1px 2px #02061773, 0 10px 28px #0206177a;
}
.rep-app-body {
  color: var(--rep-text);
  background: var(--rep-surface-app) !important;
}
.rep-topbar,
.app-header {
  background: var(--rep-surface-header) !important;
  border-bottom: 1px solid var(--rep-border-soft) !important;
}
.rep-footer {
  background: var(--rep-surface-footer) !important;
  border-top: 1px solid var(--rep-border-soft) !important;
}
.rep-content-inner {
  padding: clamp(1.1rem, 1.8vw, 1.65rem);
  background: 0 0 !important;
}
.rep-content-area {
  background: var(--rep-surface-app) !important;
}
.rep-page-shell {
  gap: 1.22rem;
  display: grid;
}
.rep-panel,
.rep-card,
.rep-stat-card-2,
.rep-table-wrap,
.rep-empty-state,
.rep-data-table-toolbar,
.rep-stepper-item,
.rep-detail-item {
  background: var(--rep-surface-card) !important;
  border-color: var(--rep-border-soft) !important;
}
.rep-panel,
.rep-card,
.rep-stat-card-2,
.rep-table-wrap {
  box-shadow: var(--rep-shadow-card);
  border: 1px solid var(--rep-border-soft);
}
.rep-panel {
  border: 1px solid var(--rep-border-soft);
}
.rep-summary-head .rep-panel-body {
  gap: 0.55rem;
  padding: 0.82rem 1rem;
}
.rep-summary-head {
  border: 1px solid var(--rep-border-strong);
  background: linear-gradient(180deg, var(--rep-surface-muted) 0%, var(--rep-surface-card) 85%);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-summary-head {
    background: linear-gradient(180deg, color-mix(in srgb, var(--rep-surface-muted) 42%, var(--rep-surface-card)) 0%, var(--rep-surface-card) 85%);
  }
}
.rep-breadcrumb {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.rep-breadcrumb li {
  min-height: 1.32rem;
  color: var(--rep-text-muted);
  align-items: center;
  font-size: 0.74rem;
  display: inline-flex;
}
.rep-breadcrumb li:not(:last-child):after {
  content: '/';
  color: var(--rep-text-muted);
  margin-inline: 0.28rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-breadcrumb li:not(:last-child):after {
    color: color-mix(in srgb, var(--rep-text-muted) 62%, #94a3b8);
  }
}
.rep-breadcrumb a {
  color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-breadcrumb a {
    color: color-mix(in srgb, var(--rep-primary) 70%, var(--rep-text));
  }
}
.rep-breadcrumb a {
  border-bottom: 1px solid #0000;
  font-weight: 600;
  text-decoration: none;
}
.rep-breadcrumb a:hover,
.rep-breadcrumb a:focus-visible {
  border-bottom-color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-breadcrumb a:hover,
  .rep-breadcrumb a:focus-visible {
    border-bottom-color: color-mix(in srgb, var(--rep-primary) 54%, transparent);
  }
}
.rep-breadcrumb .is-current {
  color: var(--rep-text);
  font-weight: 600;
}
.rep-page-title {
  letter-spacing: -0.02em;
  margin: 0;
  font-size: clamp(1.16rem, 1.6vw, 1.38rem);
  line-height: 1.15;
  color: var(--rep-primary) !important;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-page-title {
    color: color-mix(in srgb, var(--rep-primary) 74%, var(--rep-text)) !important;
  }
}
.rep-page-title {
  font-weight: 750 !important;
}
.rep-page-copy {
  font-size: 0.82rem;
  line-height: 1.42;
  color: var(--rep-text-muted) !important;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-page-copy {
    color: color-mix(in srgb, var(--rep-text-muted) 84%, #64748b) !important;
  }
}
.rep-page-copy {
  margin: 0;
}
.rep-page-summary {
  color: var(--rep-text-muted);
  font-size: 0.74rem;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-page-summary {
    color: color-mix(in srgb, var(--rep-text-muted) 90%, #6b7c95);
  }
}
.rep-page-summary {
  margin-top: 0.04rem;
}
.rep-page-kicker {
  border: 1px solid color-mix(in srgb, var(--rep-warm-accent) 24%, var(--rep-border-soft));
  background: var(--rep-warm-accent-soft);
  align-items: center;
  width: fit-content;
  min-height: 1.28rem;
  padding-inline: 0.42rem;
  display: inline-flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-page-kicker {
    background: color-mix(in srgb, var(--rep-warm-accent) 9%, var(--rep-surface-card));
  }
}
.rep-page-kicker {
  color: var(--rep-warm-accent);
  letter-spacing: 0.03em;
  font-size: 0.68rem;
  font-weight: 700;
}
.rep-page-title-row {
  align-items: baseline;
}
@media (max-width: 991.98px) {
  .rep-summary-head .rep-panel-body {
    padding: 0.74rem 0.82rem;
  }
  .rep-page-title {
    font-size: 1.08rem;
  }
  .rep-page-copy {
    font-size: 0.78rem;
  }
}
.rep-card-head {
  border-bottom: 1px solid var(--rep-border-soft);
  background: var(--rep-surface-muted);
  padding: 0.95rem 1.05rem;
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.rep-card-title {
  letter-spacing: -0.01em;
  color: var(--rep-text);
  align-items: center;
  gap: 0.52rem;
  font-size: 1.1rem;
  font-weight: 700;
  display: inline-flex;
}
.rep-card-subtitle {
  color: var(--rep-text-muted);
  font-size: 0.86rem;
  line-height: 1.5;
}
.rep-title-icon {
  border: 1px solid var(--rep-border-soft);
  background: var(--rep-surface-card);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.55rem;
  height: 1.55rem;
  font-size: 0.82rem;
  display: inline-flex;
}
.rep-title-icon-primary {
  color: var(--rep-primary);
  background: var(--rep-accent-soft);
}
.rep-title-icon-info {
  color: var(--rep-state-info-text);
  background: var(--rep-state-info-bg);
}
.rep-title-icon-success {
  color: var(--rep-state-success-text);
  background: var(--rep-state-success-bg);
}
.rep-title-icon-warning {
  color: var(--rep-state-warning-text);
  background: var(--rep-state-warning-bg);
}
@keyframes rep-marquee-scroll {
  0% {
    transform: translate(0);
  }
  to {
    transform: translate(-100%);
  }
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-notification-filters .btn.is-active {
    background: color-mix(in srgb, var(--rep-primary) 11%, var(--rep-surface)) !important;
  }
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-notification-filters .btn.is-active {
    border-color: color-mix(in srgb, var(--rep-primary) 35%, var(--rep-border)) !important;
  }
}
.rep-card-body {
  padding: 1.08rem;
}
.rep-detail-item {
  padding: 0.7rem 0.78rem;
  background: var(--rep-surface-muted) !important;
  border: 1px solid var(--rep-border-soft) !important;
}
.rep-detail-label {
  font-size: 0.71rem;
}
.rep-detail-value {
  font-size: 0.9rem;
  font-weight: 650;
}
.rep-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 0.94rem;
}
.rep-stat-card-2 {
  border: 1px solid var(--rep-border-strong);
  background: linear-gradient(180deg, var(--rep-surface-muted) 0%, var(--rep-surface-card) 68%);
  flex-direction: column;
  gap: 0.62rem;
  min-height: 172px;
  padding: 0.9rem 0.95rem;
  display: flex;
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-stat-card-2 {
    background: linear-gradient(180deg, color-mix(in srgb, var(--rep-surface-muted) 38%, var(--rep-surface-card)) 0%, var(--rep-surface-card) 68%);
  }
}
.rep-stat-card-2-anchor {
  min-height: 0;
  min-width: 0;
  color: inherit;
  flex: 1;
  flex-direction: column;
  gap: 0.62rem;
  text-decoration: none;
  display: flex;
}
.rep-stat-card-2-top {
  border-bottom: 1px dashed var(--rep-border-soft);
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5rem;
  padding-bottom: 0.3rem;
  display: flex;
}
.rep-stat-card-2-top > .rep-status-chip {
  align-self: flex-start;
  margin-inline-start: auto;
}
.rep-stat-card-2-head {
  align-items: flex-start;
  gap: 0.45rem;
  min-width: 0;
  display: flex;
}
.rep-stat-card-2-head-copy {
  gap: 0.16rem;
  min-width: 0;
  display: grid;
}
.rep-stat-card-2-category {
  color: color-mix(in srgb, var(--rep-text) 78%, var(--rep-primary) 22%);
  text-transform: uppercase;
  letter-spacing: 0.045em;
  opacity: 1;
  font-size: 0.78rem;
  font-weight: 800;
}
.rep-stat-card-2-label {
  color: var(--rep-text);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.25;
  display: -webkit-box;
  overflow: hidden;
}
.rep-stat-card-2-body {
  flex: 1;
  align-content: center;
  gap: 0.28rem;
  padding-top: 0.1rem;
  display: grid;
}
.rep-stat-card-2-value {
  color: var(--rep-text);
  overflow-wrap: anywhere;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 1.75rem;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  line-height: 1.1;
  display: -webkit-box;
  overflow: hidden;
}
.rep-stat-card-2-value-text {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}
.rep-stat-card-2-value:not(.rep-stat-card-2-value-text) { text-align: end; }
.rep-stat-card-2-support {
  color: var(--rep-text-muted);
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.35;
}
.rep-stat-card-2-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
  min-height: 1.35rem;
  padding-top: 0.08rem;
  display: flex;
}
.rep-stat-card-2-footer {
  margin-top: auto;
  flex: 0 0 auto;
  border-top: 1px solid var(--rep-border-strong);
  justify-content: space-between;
  align-items: center;
  gap: 0.44rem;
  min-height: 1.6rem;
  padding-top: 0.48rem;
  display: flex;
}
.rep-stat-card-2-footer-text {
  color: var(--rep-text-muted);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 0.72rem;
  line-height: 1.3;
  display: -webkit-box;
  overflow: hidden;
}
.rep-stat-card-2-footer-action {
  color: var(--rep-primary);
  white-space: nowrap;
  align-items: center;
  gap: 0.12rem;
  font-size: 0.73rem;
  font-weight: 650;
  display: inline-flex;
}
.rep-stat-card-2-icon {
  background: var(--rep-stat-icon-bg, var(--rep-surface-muted));
  border: 1px solid var(--rep-border-soft);
  width: 1.72rem;
  height: 1.72rem;
  color: var(--rep-stat-icon-color, var(--rep-primary));
  flex: 0 0 1.72rem;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}
.rep-stat-card-2-info { --rep-stat-icon-color: var(--rep-state-info-text); --rep-stat-icon-bg: var(--rep-state-info-bg); }
.rep-stat-card-2-success { --rep-stat-icon-color: var(--rep-state-success-text); --rep-stat-icon-bg: var(--rep-state-success-bg); }
.rep-stat-card-2-warning { --rep-stat-icon-color: var(--rep-state-warning-text); --rep-stat-icon-bg: var(--rep-state-warning-bg); }
.rep-stat-card-2-danger { --rep-stat-icon-color: var(--rep-state-danger-text); --rep-stat-icon-bg: var(--rep-state-danger-bg); }
.rep-toolbar-export .bi-file-earmark-excel { color: var(--rep-state-success-text); }
.rep-stat-card-2 .rep-status-chip {
  white-space: nowrap;
  align-self: flex-start;
  max-width: 100%;
}
.rep-kpi-groups {
  gap: 1rem;
  display: grid;
}
.rep-kpi-group-grid {
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: stretch;
  display: grid;
}
.rep-kpi-group-grid > .rep-kpi-group-card {
  min-width: 0;
  height: auto;
  display: flex;
  flex-direction: column;
}
.rep-kpi-group-grid > .rep-kpi-group-card:only-child {
  grid-column: 1/-1;
}
.rep-kpi-group-card .rep-card-body {
  padding-top: 0.95rem;
}
.rep-kpi-group-grid > .rep-kpi-group-card > .rep-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.rep-kpi-group-grid .rep-stat-grid {
  flex: 1;
}
.rep-kpi-group-card .rep-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.9rem;
}
.rep-kpi-group-card .rep-stat-grid--count-1 {
  grid-template-columns: minmax(0, 1fr);
}
.rep-kpi-group-card .rep-stat-grid--count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 1200px) {
  .rep-kpi-group-grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
}
@media (min-width: 1400px) {
  .rep-kpi-group-card .rep-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rep-kpi-group-card .rep-stat-grid--count-1 {
    grid-template-columns: minmax(0, 1fr);
  }
  .rep-kpi-group-card .rep-stat-grid--count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .rep-kpi-group-grid {
    grid-template-columns: 1fr;
  }
  .rep-kpi-group-grid > .rep-kpi-group-card {
    grid-column: 1/-1;
  }
  .rep-kpi-group-card .rep-stat-grid--count-2 {
    grid-template-columns: 1fr;
  }
}
.rep-kpi-group-grid .rep-kpi-group-card .rep-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}
.rep-stepper {
  grid-template-columns: repeat(auto-fit, minmax(212px, 1fr));
  gap: 0.74rem;
}
.rep-stepper-item {
  border: 1px solid var(--rep-border-soft);
  padding: 0.65rem 0.72rem;
  background: var(--rep-surface-muted) !important;
}
.rep-stepper-copy strong {
  font-size: 0.84rem;
}
.rep-stepper-copy small {
  font-size: 0.75rem;
  line-height: 1.45;
}
.rep-data-table-toolbar {
  border-bottom: 1px solid var(--rep-border-soft);
  margin-bottom: 0.9rem;
  padding: 0.08rem 0.5rem 0.9rem;
}
.rep-data-table-controls {
  gap: 0.62rem;
}
.rep-table-wrap {
  border: 1px solid var(--rep-border-soft);
  background: var(--rep-surface-card) !important;
}
.rep-table-advanced thead th {
  background: var(--rep-surface-muted);
  border-bottom: 1px solid var(--rep-border-soft);
  letter-spacing: 0.02em;
  font-size: 0.81rem;
}
.rep-table-advanced tbody td {
  border-bottom: 1px solid var(--rep-border-soft);
  padding-top: 0.78rem;
  padding-bottom: 0.78rem;
  font-size: 0.84rem;
}
.rep-empty-state {
  padding: 1.45rem 1.1rem;
  background: var(--rep-surface-card) !important;
}
.rep-empty-state-icon-wrap {
  background: var(--rep-surface-muted);
  border: 1px solid var(--rep-border-soft);
}
.rep-status-chip-label {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  display: inline-block;
  overflow: hidden;
}
.rep-stat-card-2 .rep-status-chip {
  white-space: nowrap;
  max-width: min(60%, 180px);
}
.rep-stat-card-2 .rep-status-chip .rep-status-chip-label {
  max-width: 100%;
}
.rep-marquee-track {
  min-width: 100%;
  padding-right: 2rem;
  animation: 10s linear infinite rep-marquee-scroll;
  display: inline-block;
}
.rep-marquee:hover .rep-marquee-track {
  animation-play-state: paused;
}
.rep-notification-filters .btn.is-active {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-notification-filters .btn.is-active {
    background: color-mix(in srgb, var(--rep-primary) 11%, var(--rep-surface));
  }
}
.rep-notification-filters .btn.is-active {
  color: var(--rep-primary-strong);
  border-color: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-notification-filters .btn.is-active {
    border-color: color-mix(in srgb, var(--rep-primary) 35%, var(--rep-border));
  }
}
.rep-notification-row-unread > td {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-notification-row-unread > td {
    background: color-mix(in srgb, var(--rep-primary) 6%, var(--rep-surface-card));
  }
}
.rep-notification-row-unread > td:first-child {
  box-shadow: inset 3px 0 0 var(--rep-primary);
}
[data-bs-theme='dark'] .rep-notification-row-unread > td {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .rep-notification-row-unread > td {
    background: color-mix(in srgb, var(--rep-primary) 14%, var(--rep-surface-card));
  }
}
.rep-table tbody tr.rep-notification-row-unread:hover > td {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-table tbody tr.rep-notification-row-unread:hover > td {
    background: color-mix(in srgb, var(--rep-primary) 12%, var(--rep-surface-card));
  }
}
[data-bs-theme='dark'] .rep-table tbody tr.rep-notification-row-unread:hover > td {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .rep-table tbody tr.rep-notification-row-unread:hover > td {
    background: color-mix(in srgb, var(--rep-primary) 22%, var(--rep-surface-card));
  }
}
.rep-notification-item {
  border-bottom: 1px solid var(--rep-border-soft);
  background: var(--rep-surface-card);
  padding: 0.72rem 0.78rem;
  transition:
    background-color 0.14s,
    border-color 0.14s;
}
.rep-notification-item.unread {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-notification-item.unread {
    background: color-mix(in srgb, var(--rep-primary) 6%, var(--rep-surface-card));
  }
}
.rep-notification-item.unread {
  border-inline-start: 3px solid var(--rep-primary);
  padding-inline-start: calc(0.78rem - 3px);
}
.rep-notification-item:hover,
.rep-notification-item:focus-visible {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  .rep-notification-item:hover,
  .rep-notification-item:focus-visible {
    background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface-card));
  }
}
[data-bs-theme='dark'] .rep-notification-item {
  background: var(--rep-surface-card);
  border-bottom-color: var(--rep-border-soft);
}
[data-bs-theme='dark'] .rep-notification-item.unread {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .rep-notification-item.unread {
    background: color-mix(in srgb, var(--rep-primary) 16%, var(--rep-surface-card));
  }
}
[data-bs-theme='dark'] .rep-notification-item:hover,
[data-bs-theme='dark'] .rep-notification-item:focus-visible {
  background: var(--rep-primary);
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .rep-notification-item:hover,
  [data-bs-theme='dark'] .rep-notification-item:focus-visible {
    background: color-mix(in srgb, var(--rep-primary) 20%, var(--rep-surface-card));
  }
}
@media (max-width: 991.98px) {
  .rep-content-inner {
    padding: 0.95rem;
  }
  .rep-stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(176px, 1fr));
  }
}
.rep-page-shell,
.rep-grid,
.rep-grid-2,
.rep-panel,
.rep-card,
.rep-card-head,
.rep-card-body,
.rep-data-table-toolbar,
.rep-data-table-controls,
.rep-action-row {
  min-width: 0;
}
.rep-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem;
  display: grid;
}
.rep-grid-2:has(> .rep-detail-item) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}
.rep-detail-item .rep-status-chip {
  min-width: 0;
  max-width: 100%;
  justify-self: start;
}
.rep-detail-item .rep-status-chip-label {
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.rep-action-row {
  flex-wrap: wrap;
  gap: 0.5rem;
  display: flex;
}
.rep-action-row > .btn,
.rep-page-head-actions > .btn {
  max-width: 100%;
}
.rep-card-head {
  flex-wrap: wrap;
}
.rep-card-head .rep-action-row {
  justify-content: flex-start;
  width: 100%;
}
.rep-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
.rep-stepper {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
}
@media (max-width: 991.98px) {
  .rep-grid-2 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767.98px) {
  .rep-content-inner {
    padding: 0.8rem;
  }
  .rep-page-shell {
    gap: 0.85rem;
  }
  .rep-card-head,
  .rep-card-body,
  .rep-panel-body {
    padding-inline: 0.72rem !important;
  }
  .rep-data-table-controls {
    grid-template-columns: 1fr;
  }
  .rep-data-table-search,
  .rep-data-table-filter,
  .rep-data-table-controls .btn {
    width: 100%;
  }
  .rep-stat-grid,
  .rep-kpi-group-card .rep-stat-grid,
  .rep-stepper {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991.98px) {
  .rep-content-inner {
    padding-inline: 0.82rem !important;
  }
}
.app-header .notification-badge,
#notificationBadge,
.app-header .rep-user-trigger-avatar,
.app-header .rep-user-trigger-avatar i,
.app-header .rep-icon-btn,
.app-header .rep-icon-btn i,
.app-header .user-menu-trigger,
.app-header .user-menu-trigger .rep-user-trigger-caret {
  border-radius: 999px !important;
}
.app-header .notification-badge,
#notificationBadge {
  justify-content: center !important;
  align-items: center !important;
  width: auto !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 4px !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
}
#notificationDropdownToggle {
  position: relative;
  overflow: visible !important;
}
#notificationBadge {
  position: absolute;
  top: -3px !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  z-index: 1;
}
#notificationBadge.d-none {
  display: none !important;
}
@media (max-width: 991.98px) {
  .app-header__actions .rep-account-control {
    visibility: visible !important;
    opacity: 1 !important;
    display: inline-flex !important;
  }
  .app-header__actions .rep-account-control .user-menu-trigger {
    visibility: visible !important;
    opacity: 1 !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    display: inline-grid !important;
  }
  .app-header__actions .rep-account-control .rep-user-trigger-avatar {
    width: 1.55rem !important;
    height: 1.55rem !important;
  }
}
.rep-search {
  min-width: 0;
  position: relative;
}
.rep-search > i {
  color: var(--rep-text-muted);
  pointer-events: none;
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 0.7rem;
  transform: translateY(-50%);
}
.rep-search .form-control {
  padding-left: 2.15rem !important;
}
[data-bs-theme='dark'] .rep-table-advanced tbody tr:hover td,
[data-bs-theme='dark'] .rep-table tbody tr:hover td {
  background: var(--rep-primary) !important;
}
@supports (color: color-mix(in lab, red, red)) {
  [data-bs-theme='dark'] .rep-table-advanced tbody tr:hover td,
  [data-bs-theme='dark'] .rep-table tbody tr:hover td {
    background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface-card)) !important;
  }
}
[data-bs-theme='dark'] .rep-table-advanced tbody tr:hover td,
[data-bs-theme='dark'] .rep-table tbody tr:hover td {
  color: var(--rep-text) !important;
}
.rep-app-body .rep-app-shell {
  align-items: stretch;
  min-width: 0;
  display: flex !important;
}
.rep-app-body .rep-content-area {
  min-width: 0;
  flex: auto !important;
  width: auto !important;
}
.rep-app-body #sidebar.sidebar {
  flex: 0 0 246px;
  width: 246px;
  max-width: 246px;
  transition:
    width 0.2s,
    max-width 0.2s,
    flex-basis 0.2s;
}
.rep-app-body #sidebar.sidebar.open {
  flex-basis: 72px;
  width: 72px;
  max-width: 72px;
}
.rep-app-body #sidebar.sidebar.open .rep-sidebar-link-text,
.rep-app-body #sidebar.sidebar.open .rep-sidebar-label {
  opacity: 0;
  visibility: hidden;
  width: 0;
}
.app-header .dropdown-menu.dropdown-menu-end:not([popover]) {
  max-width: min(22rem, 100vw - 1rem);
  left: auto !important;
  right: 0 !important;
}
@media (max-width: 991.98px) {
  .app-header__actions {
    min-width: 0;
    gap: 0.2rem !important;
  }
  .app-header__actions .rep-account-control {
    visibility: visible !important;
    opacity: 1 !important;
    flex: none !important;
    display: inline-flex !important;
  }
  .app-header__actions .rep-account-control .user-menu-trigger {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    display: inline-grid !important;
  }
  .app-header__actions .rep-account-control .rep-user-trigger-avatar {
    justify-content: center !important;
    align-items: center !important;
    width: 1.55rem !important;
    height: 1.55rem !important;
    display: inline-flex !important;
  }
  .app-header__actions .rep-account-control .rep-user-trigger-avatar i {
    color: var(--rep-primary) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .app-header__actions .rep-theme-btn {
    width: 34px !important;
    min-width: 34px !important;
    padding-inline: 0 !important;
  }
}
@media (max-width: 767.98px) {
  #notificationDropdownMenu.dropdown-menu.dropdown-menu-end,
  .app-header .dropdown > .dropdown-menu.dropdown-menu-end {
    min-width: min(20rem, 100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    padding: 0.4rem !important;
  }
  #notificationDropdownMenu.dropdown-menu.dropdown-menu-end:not([popover]) {
    inset-inline: 50% auto !important;
    top: calc(var(--header-height) - 0.25rem) !important;
    position: fixed !important;
    transform: translate(-50%) !important;
  }
  .rep-content-inner {
    padding-inline: 0.9rem !important;
  }
}
.rep-stat-card-2-top {
  flex-wrap: wrap !important;
}
.rep-stat-card-2-top > .rep-status-chip {
  max-width: 100% !important;
  margin-inline-start: auto !important;
}
.rep-stat-card-2 .rep-status-chip {
  max-width: min(100%, 180px) !important;
}
.rep-marquee {
  white-space: nowrap !important;
  overflow: hidden !important;
}
.rep-marquee-track {
  min-width: auto !important;
  animation: none !important;
}
.rep-marquee.is-overflow .rep-marquee-track {
  min-width: 100% !important;
  animation: 8s linear infinite rep-marquee-scroll !important;
}
.rep-marquee.is-overflow:hover .rep-marquee-track {
  animation-play-state: paused !important;
}
[data-overflow-smart].is-overflow:not(.rep-marquee),
.rep-status-chip-label.is-overflow {
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: block !important;
  overflow: hidden !important;
}
@property --tw-rotate-x {
  syntax: '*';
  inherits: false;
}
@property --tw-rotate-y {
  syntax: '*';
  inherits: false;
}
@property --tw-rotate-z {
  syntax: '*';
  inherits: false;
}
@property --tw-skew-x {
  syntax: '*';
  inherits: false;
}
@property --tw-skew-y {
  syntax: '*';
  inherits: false;
}
@property --tw-border-style {
  syntax: '*';
  inherits: false;
  initial-value: solid;
}
@property --tw-shadow {
  syntax: '*';
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: '*';
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: '*';
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: '*';
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: '*';
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: '*';
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: '*';
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: '*';
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: '*';
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: '<length>';
  inherits: false;
  initial-value: 0;
}
@property --tw-ring-offset-color {
  syntax: '*';
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: '*';
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: '*';
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: '*';
  inherits: false;
}
@property --tw-brightness {
  syntax: '*';
  inherits: false;
}
@property --tw-contrast {
  syntax: '*';
  inherits: false;
}
@property --tw-grayscale {
  syntax: '*';
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: '*';
  inherits: false;
}
@property --tw-invert {
  syntax: '*';
  inherits: false;
}
@property --tw-opacity {
  syntax: '*';
  inherits: false;
}
@property --tw-saturate {
  syntax: '*';
  inherits: false;
}
@property --tw-sepia {
  syntax: '*';
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: '*';
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: '*';
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: '<percentage>';
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: '*';
  inherits: false;
}

/* Global overflow safety */
html,
body,
.rep-layout-frame,
.rep-app-shell,
.rep-content-area,
.rep-content-scroll,
.rep-content-inner,
.rep-page-shell {
  max-width: 100% !important;
}

body.rep-app-body,
body.rep-public-body {
  overflow-x: hidden !important;
}

/* Dashboard equal-height list cards + internal list scroll */
.rep-grid-2.rep-grid-equal-height {
  align-items: stretch !important;
}
.rep-grid-2.rep-grid-equal-height.rep-grid-single {
  grid-template-columns: 1fr !important;
}
.rep-grid-2.rep-grid-equal-height.rep-grid-single .rep-dashboard-list-card {
  height: auto !important;
  min-height: 0 !important;
}
.rep-grid-2.rep-grid-equal-height.rep-grid-single .rep-dashboard-list-card .rep-card-body,
.rep-grid-2.rep-grid-equal-height.rep-grid-single .rep-dashboard-list-card .rep-card-body-scroll {
  min-height: 0 !important;
}
.rep-completion-summary {
  cursor: pointer;
  color: var(--rep-primary);
  font-size: 0.78rem;
  font-weight: 600;
  list-style: none;
}
.rep-completion-details > summary::-webkit-details-marker {
  display: none;
}
.rep-expandable-details {
  border: 1px solid var(--rep-border);
  border-radius: 0.5rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-primary) 4%, var(--rep-surface)) 0%, var(--rep-surface) 100%);
  overflow: hidden;
}
.rep-expandable-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  color: var(--rep-text);
  font-weight: 600;
  font-size: 0.875rem;
  background: color-mix(in srgb, var(--rep-primary) 7%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--rep-primary) 18%, var(--rep-border));
}
.rep-expandable-summary::-webkit-details-marker {
  display: none;
}
.rep-expandable-summary-label::before {
  content: '\F282';
  font-family: 'bootstrap-icons';
  margin-right: 0.5rem;
  display: inline-block;
  transition: transform 0.24s ease;
  color: var(--rep-primary);
}
.rep-expandable-details[open] .rep-expandable-summary-label::before {
  transform: rotate(90deg);
}
.rep-expandable-summary-meta {
  font-weight: 500;
  font-size: 0.75rem;
  color: var(--rep-text-muted);
}
.rep-expandable-content {
  border-top: 1px solid var(--rep-border);
  padding: 0.375rem;
}
.rep-expandable-footer {
  display: flex;
  justify-content: flex-end;
  padding: 0.5rem 0.5rem 0.25rem;
  border-top: 1px dashed var(--rep-border);
  background: color-mix(in srgb, var(--rep-primary) 3%, transparent);
}
.rep-supporting-docs {
  margin-top: 1rem;
}
.rep-supporting-docs-grid {
  display: grid;
  gap: 0.875rem;
  grid-template-columns: 1fr;
}
.rep-supporting-doc-card {
  border: 1px solid var(--rep-border);
  border-radius: 0.5rem;
  background: var(--rep-surface);
  padding: 0.75rem;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}
.rep-supporting-doc-thumb {
  width: 56px;
  height: 56px;
  border-radius: 0.4rem;
  border: 1px solid var(--rep-border);
  background: var(--rep-surface-muted);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rep-supporting-doc-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rep-supporting-doc-icon {
  font-size: 1.35rem;
}
.rep-supporting-doc-icon-pdf {
  color: var(--rep-danger);
}
.rep-supporting-doc-icon-doc {
  color: var(--rep-info);
}
.rep-supporting-doc-icon-xls {
  color: var(--rep-success);
}
.rep-supporting-doc-icon-generic {
  color: var(--rep-text-muted);
}
.rep-supporting-doc-meta {
  min-width: 0;
}
.rep-supporting-doc-name {
  font-weight: 600;
  color: var(--rep-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rep-supporting-doc-sub {
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: var(--rep-text-muted);
  display: flex;
  gap: 0.35rem;
  align-items: center;
  min-width: 0;
}
.rep-supporting-doc-filename {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rep-supporting-doc-sep {
  opacity: 0.6;
}
.rep-supporting-doc-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 0.55rem;
  border-top: 1px dashed var(--rep-border);
}
@media (min-width: 768px) {
  .rep-supporting-docs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Global back-to-top component */
.rep-back-to-top {
  position: fixed;
  right: max(0.8rem, env(safe-area-inset-right));
  bottom: max(0.9rem, env(safe-area-inset-bottom));
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--rep-border) 86%, var(--rep-primary) 14%);
  background: color-mix(in srgb, var(--rep-surface) 92%, var(--rep-surface-2) 8%);
  color: var(--rep-text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px) scale(0.96);
  transition:
    opacity 0.18s ease,
    transform 0.2s ease,
    color 0.16s ease,
    border-color 0.16s ease,
    background-color 0.16s ease;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18);
  z-index: 1085;
}
.rep-back-to-top i {
  font-size: 1.06rem;
  line-height: 1;
}
.rep-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.rep-back-to-top:hover,
.rep-back-to-top:focus-visible {
  color: var(--rep-primary);
  border-color: color-mix(in srgb, var(--rep-primary) 34%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface));
  box-shadow: 0 14px 32px rgba(37, 99, 235, 0.2);
}
[data-bs-theme='dark'] .rep-back-to-top {
  border-color: color-mix(in srgb, #93c5fd 32%, var(--rep-border));
  background: color-mix(in srgb, #0f172a 80%, var(--rep-surface) 20%);
  color: #cbd5e1;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.42);
}
[data-bs-theme='dark'] .rep-back-to-top:hover,
[data-bs-theme='dark'] .rep-back-to-top:focus-visible {
  color: #ffffff;
  border-color: color-mix(in srgb, #60a5fa 48%, var(--rep-border));
  background: color-mix(in srgb, #60a5fa 18%, #0f172a 82%);
}
@media (max-width: 575.98px) {
  .rep-back-to-top {
    width: 2.48rem;
    height: 2.48rem;
    right: max(0.62rem, env(safe-area-inset-right));
    bottom: max(0.72rem, env(safe-area-inset-bottom));
  }
}

/* Footer refinement (global) */
.rep-app-body {
  --rep-footer-height: 2.75rem;
  --rep-footer-pad-x: 0.9rem;
  --rep-footer-pad-y: 0.36rem;
}

.rep-public-body {
  --rep-footer-height: 2.2rem;
  --rep-footer-pad-x: 0.9rem;
  --rep-footer-pad-y: 0.22rem;
}

.rep-footer {
  width: 100%;
  margin-top: auto;
  min-height: var(--rep-footer-height);
  padding: var(--rep-footer-pad-y) var(--rep-footer-pad-x) !important;
  display: flex;
  align-items: center;
}

.rep-footer-shell {
  min-height: var(--rep-footer-height);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.7rem;
  flex-wrap: wrap;
}
.rep-footer-copy,
.rep-footer-meta {
  margin: 0;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: var(--rep-text-muted);
  font-size: 0.78rem;
  font-weight: 500;
}
.rep-footer-copy {
  color: color-mix(in srgb, var(--rep-text) 62%, var(--rep-text-muted));
}
[data-bs-theme='dark'] .rep-footer-copy,
[data-bs-theme='dark'] .rep-footer-meta {
  color: color-mix(in srgb, #e2e8f0 66%, #94a3b8);
}
@media (max-width: 575.98px) {
  .rep-public-body,
  .rep-app-body {
    --rep-footer-height: 2.2rem;
    --rep-footer-pad-x: 0.65rem;
    --rep-footer-pad-y: 0.22rem;
  }

  .rep-footer-shell {
    justify-content: center;
    text-align: center;
    gap: 0.3rem;
  }
}

/* Public layout: prevent viewport clipping on mobile/zoom */
body.rep-public-body {
  min-height: 100vh;
  height: auto;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
}
body.rep-public-body .rep-main-auth {
  flex: 1 0 auto;
  overflow: visible;
  min-height: 0 !important;
  height: auto !important;
  padding-block: clamp(0.6rem, 1.6vh, 1rem);
}
body.rep-public-body .rep-footer {
  margin-top: auto;
  position: relative;
  z-index: 2;
}
body.rep-public-body .rep-auth-page {
  min-height: 0 !important;
  height: auto;
  padding-block: clamp(0.5rem, 1.2vh, 0.9rem);
}

.rep-public-panel-body {
  display: grid;
  gap: 0.9rem;
}

.rep-public-alert {
  border: 1px solid color-mix(in srgb, var(--rep-info) 32%, var(--rep-border));
  background: linear-gradient(120deg, color-mix(in srgb, var(--rep-info) 14%, var(--rep-surface)) 0%, var(--rep-surface) 100%);
  color: var(--rep-text);
  border-radius: 0.7rem;
  padding: 0.82rem 0.9rem;
  display: grid;
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: 0.58rem;
  align-items: start;
  font-size: 0.84rem;
  line-height: 1.45;
}

.rep-public-menu-grid {
  display: grid;
  gap: 0.72rem;
  grid-template-columns: minmax(0, 1fr);
}

.rep-public-info-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.52rem;
  border: 1px solid color-mix(in srgb, var(--rep-border) 84%, var(--rep-text-muted));
  border-radius: 0.82rem;
  padding: 0.9rem;
  background: var(--rep-surface-2);
  overflow: hidden;
  transition:
    border-color 180ms ease,
    background-color 180ms ease;
  min-height: 100%;
}

.rep-public-info-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--rep-primary), color-mix(in srgb, var(--rep-primary) 50%, var(--rep-info)));
  opacity: 0.9;
}

.rep-public-info-card:hover,
.rep-public-info-card:focus-within {
  border-color: color-mix(in srgb, var(--rep-primary) 36%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-surface-2) 88%, var(--rep-surface));
}

.rep-public-info-card h3 {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--rep-text);
  display: flex;
  align-items: center;
  gap: 0.46rem;
}

.rep-public-info-card h3 i {
  color: var(--rep-primary);
  font-size: 0.98rem;
}

.rep-public-info-card p {
  margin: 0;
  color: var(--rep-text-muted);
  font-size: 0.82rem;
  line-height: 1.48;
}

.rep-public-info-points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.28rem;
}

.rep-public-info-points li {
  color: color-mix(in srgb, var(--rep-text-muted) 82%, var(--rep-text));
  font-size: 0.75rem;
  line-height: 1.38;
  display: grid;
  grid-template-columns: 0.46rem minmax(0, 1fr);
  gap: 0.46rem;
  align-items: start;
}

.rep-public-info-points li::before {
  content: '';
  width: 0.34rem;
  height: 0.34rem;
  margin-top: 0.3rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--rep-primary) 72%, var(--rep-info));
}

.rep-public-info-actions {
  margin-top: auto;
  padding-top: 0.24rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.rep-public-info-actions .btn {
  width: 100%;
  justify-content: center;
}

.rep-public-panel-footer {
  padding-top: 0.3rem;
  border-top: 1px solid color-mix(in srgb, var(--rep-border) 84%, transparent);
  display: flex;
  justify-content: flex-end;
}

.rep-public-panel-footer .btn {
  min-width: clamp(12rem, 52vw, 14rem);
}

[data-bs-theme='dark'] .rep-public-alert {
  background: linear-gradient(120deg, color-mix(in srgb, var(--rep-info) 18%, var(--rep-surface-2)) 0%, var(--rep-surface) 100%);
}

[data-bs-theme='dark'] .rep-public-info-card {
  background: color-mix(in srgb, var(--rep-surface-2) 92%, black);
}

[data-bs-theme='dark'] .rep-public-bg-canvas {
  opacity: 0.86;
}

@media (max-width: 575.98px) {
  .rep-public-panel-body {
    gap: 0.74rem;
  }
  .rep-public-alert {
    padding: 0.72rem 0.76rem;
    gap: 0.5rem;
    font-size: 0.79rem;
  }
  .rep-public-info-card {
    border-radius: 0.68rem;
    padding: 0.74rem;
    gap: 0.44rem;
  }
  .rep-public-info-card h3 {
    font-size: 0.9rem;
  }
  .rep-public-info-card p {
    font-size: 0.77rem;
  }
  .rep-public-info-points li {
    font-size: 0.71rem;
  }
  .rep-public-info-actions .btn,
  .rep-public-panel-footer .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rep-public-info-card {
    transition: none;
  }
}

.rep-dashboard-list-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: clamp(28rem, 70vh, 34rem) !important;
}

.rep-dashboard-list-card .rep-card-head {
  flex: 0 0 auto !important;
}

.rep-dashboard-list-card .rep-card-body,
.rep-dashboard-list-card .rep-card-body-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.rep-dashboard-list-card .rep-data-table-toolbar {
  flex: 0 0 auto !important;
}

.rep-dashboard-list-card .rep-table-wrap,
.rep-dashboard-list-card .rep-table-wrap-scroll-y {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* Mobile-first behavior */
@media (max-width: 991.98px) {
  .rep-dashboard-list-card {
    height: auto !important;
    min-height: 0 !important;
  }

  .rep-dashboard-list-card .rep-table-wrap,
  .rep-dashboard-list-card .rep-table-wrap-scroll-y {
    max-height: none !important;
  }

  .rep-grid-2 {
    grid-template-columns: 1fr !important;
  }
}

/* Notification workspace: fixed controls with a separately scrolling list. */
.rep-notification-workspace { display: flex; flex: 1; flex-direction: column; min-height: 0; min-width: 0; }
.rep-notifications-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.25rem .75rem; }
#notificationDropdownMenu .rep-notification-filters { display: flex; flex-wrap: wrap; flex-shrink: 0; gap: .375rem; padding: 0 1.25rem 1rem; border-bottom: 1px solid var(--rep-border); }
#notificationDropdownMenu .rep-notification-list { display: flex; flex: 1; flex-direction: column; min-height: 0; overflow: hidden; padding: 0; }
#notificationDropdownMenu #notificationItems { display: grid; align-content: start; gap: .75rem; padding: 1rem 1.25rem; overflow: auto; min-height: 0; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
#notificationDropdownMenu .rep-notification-item { min-width: 0; padding: 1rem 1.25rem 1rem 1rem; border: 1px solid var(--rep-border); border-radius: .5rem; background: var(--rep-surface-card); color: var(--rep-text); text-decoration: none; }
#notificationDropdownMenu .rep-notification-item.unread { background: var(--rep-surface-2); }
#notificationDropdownMenu .rep-notification-item:hover { border-color: var(--rep-primary); }
#notificationDropdownMenu .rep-notification-item:focus-visible { outline: 2px solid var(--rep-primary); outline-offset: -2px; }
#notificationDropdownMenu .notification-title { font-size: .875rem; line-height: 1.5; color: var(--rep-text); overflow-wrap: anywhere; }
#notificationDropdownMenu .notification-desc { font-size: .8125rem; line-height: 1.55; overflow-wrap: anywhere; }
.rep-notification-copy { min-width: 0; }
.rep-notification-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .375rem 0; }
.rep-notifications-error { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin: 1rem 1.25rem 0; padding: .875rem; border: 1px solid var(--rep-border); background: var(--rep-surface-2); color: var(--rep-text); font-size: .8125rem; }
#notificationDropdownMenu .notification-icon { width: 2.25rem; height: 2.25rem; border: 0; background: var(--rep-surface); color: var(--rep-info); }
#notificationDropdownMenu [data-level='warning'] .notification-icon { color: var(--rep-warning); }
#notificationDropdownMenu [data-level='error'] .notification-icon { color: var(--rep-danger); }
#notificationDropdownMenu [data-level='success'] .notification-icon { color: var(--rep-success); }

:root {
  --rep-sidebar-expanded-width: 246px;
}

/* Sidebar collapse final override: hide fully on desktop, keep content fully visible */
@media (min-width: 992px) {
  .rep-app-body .rep-app-shell {
    display: grid !important;
    grid-template-columns: var(--rep-sidebar-expanded-width, 246px) minmax(0, 1fr) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    transition: none !important;
  }

  .rep-app-body .rep-app-shell.rep-sidebar-collapsed,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body .rep-app-shell {
    grid-template-columns: 0 minmax(0, 1fr) !important;
  }

  .rep-app-body #sidebar.sidebar {
    width: var(--rep-sidebar-expanded-width, 246px) !important;
    min-width: var(--rep-sidebar-expanded-width, 246px) !important;
    max-width: var(--rep-sidebar-expanded-width, 246px) !important;
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    will-change: transform, opacity !important;
    transition:
      transform 0.14s cubic-bezier(0.2, 0.8, 0.2, 1),
      opacity 0.14s linear !important;
  }

  .rep-app-body #sidebar.sidebar.open {
    width: var(--rep-sidebar-expanded-width, 246px) !important;
    min-width: var(--rep-sidebar-expanded-width, 246px) !important;
    max-width: var(--rep-sidebar-expanded-width, 246px) !important;
  }

  .rep-app-body .rep-app-shell.rep-sidebar-collapsed #sidebar.sidebar,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body .rep-app-shell #sidebar.sidebar {
    width: var(--rep-sidebar-expanded-width, 246px) !important;
    min-width: var(--rep-sidebar-expanded-width, 246px) !important;
    max-width: var(--rep-sidebar-expanded-width, 246px) !important;
    transform: translateX(-100%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  .rep-app-body .rep-content-area,
  .rep-app-body .rep-content-scroll,
  .rep-app-body .rep-content-inner,
  .rep-app-body #rep-page-region {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* Only the shell scroll area clips content; inner wrappers must not clip menus. */
.rep-app-body .rep-content-inner,
.rep-app-body #rep-page-region {
  overflow: visible;
}

/* Final shell scroll + sidebar stability overrides */
.rep-app-body {
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}
.rep-app-body > .app-header {
  flex-shrink: 0;
}
.rep-app-body > .rep-layout-frame {
  flex: 1 1 0;
  min-height: 0;
}
.rep-app-body .rep-app-shell,
.rep-app-body .rep-content-area {
  height: 100%;
  min-height: 0;
}
.rep-app-body .rep-app-shell {
  position: relative;
}
.rep-app-body .rep-content-area {
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .rep-app-body #sidebar.sidebar {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
  }
}
.rep-app-body .rep-content-scroll {
  scroll-padding-block: 1rem;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  min-height: 0 !important;
  height: auto;
  scrollbar-gutter: stable;
}

.rep-app-body #sidebar.sidebar {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
  height: 100%;
}

.rep-app-body #sidebar.sidebar::-webkit-scrollbar,
.rep-app-body .rep-content-scroll::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

.rep-app-body #sidebar.sidebar::-webkit-scrollbar-thumb,
.rep-app-body .rep-content-scroll::-webkit-scrollbar-thumb {
  background-color: var(--rep-scroll-thumb, #a8b5c7) !important;
  border-radius: 999px !important;
}

/* Global premium table system */
:root {
  --rep-table-border-color: color-mix(in srgb, var(--rep-border) 92%, #ffffff);
  --rep-table-border-strong-color: color-mix(in srgb, var(--rep-border) 78%, var(--rep-text-muted));
  --rep-table-header-bg: color-mix(in srgb, var(--rep-surface) 86%, var(--rep-surface-muted));
  --rep-table-hover-bg: color-mix(in srgb, var(--rep-primary) 6%, var(--rep-surface));
  --rep-table-hover-border: color-mix(in srgb, var(--rep-primary) 28%, var(--rep-border));
}

[data-bs-theme='dark'] {
  --rep-table-border-color: color-mix(in srgb, var(--rep-border) 88%, #111827);
  --rep-table-border-strong-color: color-mix(in srgb, var(--rep-border) 62%, #9ca3af);
  --rep-table-header-bg: color-mix(in srgb, var(--rep-surface) 75%, var(--rep-surface-muted));
  --rep-table-hover-bg: color-mix(in srgb, var(--rep-primary) 13%, var(--rep-surface));
  --rep-table-hover-border: color-mix(in srgb, var(--rep-primary) 36%, var(--rep-border));
}

.rep-table-wrap {
  border: 1px solid var(--rep-table-border-strong-color) !important;
  background: var(--rep-surface) !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}

.rep-table,
.rep-table-advanced {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.rep-table thead th,
.rep-table-advanced thead th {
  background: var(--rep-table-header-bg) !important;
  color: var(--rep-text) !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  border-bottom: 1px solid var(--rep-table-border-strong-color) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
}

.rep-table thead th + th,
.rep-table-advanced thead th + th {
  border-left: 1px solid var(--rep-table-border-color) !important;
}

.rep-table tbody td,
.rep-table-advanced tbody td {
  border-bottom: 1px solid var(--rep-table-border-color) !important;
  border-left: 1px solid var(--rep-table-border-color) !important;
  background: var(--rep-surface) !important;
  font-size: 0.875rem !important;
  transition:
    background-color 0.14s ease,
    border-color 0.14s ease,
    color 0.14s ease;
}

.rep-table tbody tr:nth-child(even) td,
.rep-table-advanced tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--rep-surface) 92%, var(--rep-surface-muted)) !important;
}

.rep-table tbody td:first-child,
.rep-table-advanced tbody td:first-child {
  border-left: 0 !important;
}

.rep-table tbody tr:hover td,
.rep-table-advanced tbody tr:hover td {
  background: var(--rep-table-hover-bg) !important;
  border-bottom-color: var(--rep-table-hover-border) !important;
}

.rep-table tbody tr:hover td + td,
.rep-table-advanced tbody tr:hover td + td {
  border-left-color: var(--rep-table-hover-border) !important;
}

.rep-table th[title],
.rep-table td[title],
.rep-table th[data-col-definition],
.rep-table td[data-cell-definition],
.rep-table-advanced th[title],
.rep-table-advanced td[title],
.rep-table-advanced th[data-col-definition],
.rep-table-advanced td[data-cell-definition] {
  cursor: help;
}

.rep-table-hover-hint {
  position: fixed;
  z-index: 1400;
  max-width: min(320px, calc(100vw - 1rem));
  padding: 0.42rem 0.58rem;
  border: 1px solid var(--rep-table-border-strong-color);
  background: var(--rep-surface);
  color: var(--rep-text);
  font-size: 0.74rem;
  line-height: 1.35;
  box-shadow: 0 8px 20px rgba(2, 6, 23, 0.16);
  pointer-events: none;
  overflow-wrap: anywhere;
}

.rep-table-hover-hint.d-none {
  display: none !important;
}

.rep-detail-item-full {
  grid-column: 1 / -1 !important;
}
@media (max-width: 575.98px) {
  .rep-detail-item-mobile-full { grid-column: 1 / -1; }
}

.rep-sort-head {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.6rem !important;
  min-width: 0 !important;
}

.rep-sort-label {
  display: inline-block !important;
  min-width: 0 !important;
  color: inherit !important;
  font-weight: 700 !important;
}

.rep-sort-trigger {
  width: 1.9rem !important;
  height: 1.9rem !important;
  min-width: 1.9rem !important;
  border: 0 !important;
  background: color-mix(in srgb, var(--rep-surface) 72%, var(--rep-surface-muted)) !important;
  border: 1px solid var(--rep-table-border-color) !important;
  color: var(--rep-text-muted) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.1rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition:
    color 0.12s ease,
    border-color 0.12s ease,
    background-color 0.12s ease !important;
}

.rep-sort-trigger:hover,
.rep-sort-trigger:focus-visible,
th[data-sort-direction='asc'] .rep-sort-trigger,
th[data-sort-direction='desc'] .rep-sort-trigger {
  color: var(--rep-primary) !important;
  border-color: var(--rep-primary) !important;
  background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface)) !important;
}

.rep-sort-trigger i {
  font-size: 0.96rem !important;
  line-height: 1 !important;
}

.rep-data-table-controls {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(140px, 220px) auto !important;
  align-items: center !important;
  gap: 0.62rem !important;
}

.rep-data-table-controls .btn {
  height: 2.35rem !important;
}

.rep-data-table-controls .form-control,
.rep-data-table-controls .form-select {
  height: 2.35rem !important;
}

.rep-table tbody tr td .btn.btn-sm,
.rep-table-advanced tbody tr td .btn.btn-sm {
  min-height: 1.9rem !important;
  padding: 0.35rem 0.62rem !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
}

.rep-table-wrap-lg {
  max-height: min(72vh, 760px) !important;
  overflow: auto !important;
}

.rep-notification-table thead th {
  font-size: 0.83rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.rep-notification-table tbody td {
  font-size: 0.9rem !important;
}

.rep-notification-table tbody td[data-column='notification'] .fw-semibold {
  font-size: 1.04rem !important;
  line-height: 1.35 !important;
}

.rep-notification-table .rep-badge {
  background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface)) !important;
  border: 1px solid color-mix(in srgb, var(--rep-primary) 22%, var(--rep-border)) !important;
  color: var(--rep-primary-strong) !important;
  font-weight: 650 !important;
}

[data-bs-theme='dark'] .rep-table tbody tr:nth-child(even) td,
[data-bs-theme='dark'] .rep-table-advanced tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--rep-surface) 88%, var(--rep-surface-muted)) !important;
}

[data-bs-theme='dark'] .rep-table thead th,
[data-bs-theme='dark'] .rep-table-advanced thead th {
  color: var(--rep-inverse-text) !important;
}

@media (max-width: 767.98px) {
  .rep-data-table-controls {
    grid-template-columns: 1fr !important;
  }
}

/* Shared icon baseline overrides vendor CSS without modifying vendored files. */
.bi::before,
[class*=" bi-"]::before,
[class^="bi-"]::before {
  vertical-align: -0.25em;
}

/* Balanced typography scale (avoids oversized headings on some pages) */
.rep-page-title {
  font-size: clamp(1.5rem, 1.12rem + 1.4vw, 1.9rem) !important;
  line-height: 1.2 !important;
}

.rep-page-copy {
  font-size: 0.875rem !important;
  line-height: 1.55 !important;
  font-weight: 400;
}

.rep-card-title {
  font-size: clamp(1.05rem, 0.98rem + 0.3vw, 1.2rem) !important;
  line-height: 1.35 !important;
}

.rep-card-subtitle {
  font-size: 0.8125rem !important;
  line-height: 1.5 !important;
  font-weight: 400;
  letter-spacing: normal;
}

/* Global search/filter component hardening */
.rep-filter-bar,
.rep-data-table-toolbar {
  width: 100% !important;
  min-width: 0 !important;
}

.rep-filter-controls,
.rep-data-table-controls {
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  gap: 0.72rem !important;
}

.rep-search,
.rep-data-table-search,
.rep-filter-search {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.rep-search .form-control {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding-left: 2.25rem !important;
  padding-right: 2.35rem !important;
  border-color: var(--rep-border-soft, var(--rep-border)) !important;
  background: var(--rep-surface-card, var(--rep-surface)) !important;
  transition:
    border-color 0.14s ease,
    box-shadow 0.14s ease,
    background-color 0.14s ease !important;
  will-change: border-color, box-shadow !important;
}

.rep-search > i {
  left: 0.75rem !important;
  color: var(--rep-text-muted) !important;
  font-size: 0.95rem !important;
}

.rep-filter-clear {
  position: absolute !important;
  inset-inline-end: 0.42rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1.65rem !important;
  height: 1.65rem !important;
  min-width: 1.65rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid transparent !important;
  background: color-mix(in srgb, var(--rep-surface) 70%, var(--rep-surface-muted)) !important;
  color: var(--rep-text-muted) !important;
  cursor: pointer !important;
  transition:
    color 0.12s ease,
    border-color 0.12s ease,
    background-color 0.12s ease,
    opacity 0.12s ease !important;
  will-change: opacity, color, background-color !important;
}

.rep-filter-clear:hover,
.rep-filter-clear:focus-visible {
  color: var(--rep-primary-strong) !important;
  border-color: color-mix(in srgb, var(--rep-primary) 32%, var(--rep-border)) !important;
  background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface)) !important;
}

.rep-filter-clear.d-none {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  display: inline-flex !important;
}

.rep-data-table-controls .form-select,
.rep-data-table-controls .btn,
.rep-filter-controls .form-select,
.rep-filter-controls .btn {
  max-width: 100% !important;
}

.rep-filter-meta {
  margin-top: 0.58rem !important;
  gap: 0.48rem !important;
  align-items: center !important;
  transition: opacity 0.12s ease !important;
}

.rep-filter-chip,
.rep-filter-count {
  transition:
    color 0.12s ease,
    background-color 0.12s ease,
    border-color 0.12s ease !important;
}

.rep-filter-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.4rem !important;
  min-width: 0 !important;
}

@media (max-width: 991.98px) {
  .rep-filter-controls,
  .rep-data-table-controls {
    grid-template-columns: 1fr !important;
  }
}

/* Global heading weight consistency */
.rep-page-title {
  font-weight: 800 !important;
  color: var(--rep-primary-strong) !important;
}

.rep-card-title {
  font-weight: 780 !important;
}

.rep-table thead th,
.rep-table-advanced thead th,
.rep-sort-label,
.rep-table thead th button,
.rep-table-advanced thead th button {
  font-weight: 800 !important;
  color: var(--rep-text) !important;
}

.rep-table thead th button,
.rep-table-advanced thead th button {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Row action menu visibility fix inside scrollable tables */
.rep-row-actions {
  position: relative !important;
  z-index: auto !important;
}

.rep-row-actions-menu {
  z-index: 1300 !important;
}

.rep-row-actions-menu.rep-row-actions-menu-up {
  top: auto !important;
  bottom: calc(100% + 0.35rem) !important;
}

.rep-table-wrap.rep-table-wrap-actions-open,
.rep-table-wrap-scroll-y.rep-table-wrap-actions-open {
  overflow-x: auto !important;
  overflow-y: auto !important;
}

/* Global card head alignment: content left, actions right */
.rep-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 0.8rem !important;
}

.rep-card-head-copy,
.rep-card-head > div:has(> .rep-card-title):has(> .rep-card-subtitle) {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: grid;
  align-content: start;
  gap: 0.25rem;
}

.rep-card-head .rep-action-row {
  width: auto !important;
  margin-inline-start: auto !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
}

/* Prevent table action menus from clipping at top and keep dropdown visible */
.rep-card-body,
.rep-panel-body {
  overflow: visible !important;
}

.rep-table-wrap {
  overflow-x: auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

.rep-table-wrap.rep-table-wrap-scroll-y {
  overflow-x: auto !important;
  overflow-y: auto !important;
}

.rep-table-wrap.rep-table-wrap-actions-open,
.rep-table-wrap-scroll-y.rep-table-wrap-actions-open {
  overflow-x: auto !important;
  overflow-y: auto !important;
}

.rep-row-actions-menu {
  z-index: 2000 !important;
}

/* Keep one stable sort icon style while sorting remains active */
.rep-sort-trigger i {
  font-size: 0.96rem !important;
}

.rep-sort-head {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.38rem !important;
}

.rep-sort-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.2rem !important;
  height: 1.2rem !important;
}

/* Mobile-first stacking for card actions */
@media (max-width: 767.98px) {
  .rep-card-head {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .rep-card-head .rep-action-row {
    width: 100% !important;
    justify-content: flex-start !important;
    margin-inline-start: 0 !important;
  }
}

/* Stable table sorting + row action overlay (authoritative override) */
.rep-sort-head {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.42rem !important;
}

.rep-sort-label {
  font-weight: 700 !important;
}

.rep-sort-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.35rem !important;
  height: 1.35rem !important;
  min-width: 1.35rem !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--rep-text-muted) !important;
  box-shadow: none !important;
}

.rep-sort-trigger i {
  font-size: 0.92rem !important;
  line-height: 1 !important;
}

th[data-sort-direction='asc'] .rep-sort-trigger,
th[data-sort-direction='desc'] .rep-sort-trigger,
.rep-sort-trigger:hover,
.rep-sort-trigger:focus-visible {
  color: var(--rep-primary) !important;
}

.rep-row-actions {
  position: relative !important;
  overflow: visible !important;
}

.rep-row-actions-menu {
  position: absolute !important;
  inset-inline-end: 0 !important;
  inset-block-start: calc(100% + 0.35rem) !important;
  min-width: 11rem !important;
  z-index: 2100 !important;
}

.rep-row-actions-menu.rep-row-actions-menu-floating {
  position: fixed !important;
  inset: auto !important;
  z-index: 3000 !important;
}

/* Keep overflow ownership only at wrapper level (mobile-safe) */
.rep-table-wrap {
  overflow-x: auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
.rep-table-wrap.rep-table-wrap-scroll-y {
  overflow-x: auto !important;
  overflow-y: auto !important;
}

.rep-json-preview {
  margin: 0;
  padding: 0.62rem 0.7rem;
  border: 1px solid var(--rep-border-soft);
  background: var(--rep-surface-card);
  color: var(--rep-text);
  font-size: 0.78rem;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Global page typography and shell spacing override */
.rep-page-shell {
  gap: 1rem;
  padding: clamp(0.75rem, 1.4vw, 1.25rem) !important;
}
.rep-page-title {
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  color: var(--rep-text) !important;
}
.rep-card-title,
.rep-form-section-title,
.rep-data-table-toolbar .rep-data-table-summary {
  font-weight: 650 !important;
  color: var(--rep-text) !important;
}
.rep-panel {
  margin-bottom: 1rem;
}
.rep-page-shell > .rep-panel {
  margin-bottom: 0;
}
.rep-card-subtitle,
.rep-page-copy,
.rep-form-section-copy {
  color: var(--rep-muted) !important;
}
@media (max-width: 991.98px) {
  .rep-page-shell {
    padding: 0.75rem !important;
  }
}

/* Global premium form system */
.rep-form-shell {
  display: grid;
  gap: var(--rep-space-5);
}
.rep-form-section {
  border: 1px solid var(--rep-border);
  background: var(--rep-surface, #fff);
  gap: var(--rep-space-4);
  padding: clamp(1rem, 1.5vw, 1.25rem);
}
.rep-form-section-title {
  margin: 0;
  font-size: clamp(1.05rem, 1rem + 0.2vw, 1.18rem);
  font-weight: 650;
  letter-spacing: -0.01em;
  line-height: 1.35;
  text-transform: none;
}
.rep-form-section-copy {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}
.rep-field-grid {
  display: grid;
  align-items: start;
  gap: 1rem 1.25rem;
}
.rep-field-grid-2 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 992px) {
  .rep-field-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.rep-form-field {
  display: grid;
  align-content: start;
  gap: var(--rep-space-2);
  min-width: 0;
}
.rep-form-field-label {
  font-size: 0.875rem;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
  color: var(--rep-text);
}
.rep-field-control {
  min-width: 0;
}
.rep-field-control .form-control,
.rep-field-control .form-select,
.rep-form-field .form-control,
.rep-form-field .form-select {
  min-height: 42px;
  border: 1px solid var(--rep-border);
  background: var(--rep-surface-soft, #f8fafc);
  color: var(--rep-text);
  font-size: 0.88rem;
  padding: 0.5rem 0.68rem;
}
.rep-field-control textarea.form-control,
.rep-form-field textarea.form-control {
  min-height: 84px;
  resize: vertical;
}
.rep-field-control .form-control:focus,
.rep-field-control .form-select:focus,
.rep-form-field .form-control:focus,
.rep-form-field .form-select:focus {
  border-color: color-mix(in srgb, var(--rep-primary) 62%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rep-primary) 16%, transparent);
  background: var(--rep-surface, #fff);
}
.rep-form-help,
.rep-toggle-help {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--rep-muted);
}
.rep-form-error {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--rep-state-danger-text);
}
.rep-form-error:not(:empty) {
  padding: .5rem .65rem;
  border-inline-start: 3px solid var(--rep-state-danger-border);
  border-radius: .25rem;
  background: var(--rep-state-danger-bg);
}
[data-bs-theme] .rep-form-field.rep-has-error .form-control,
[data-bs-theme] .rep-form-field.rep-has-error .form-select,
[data-bs-theme] .rep-field-control .form-control[aria-invalid='true'],
[data-bs-theme] .rep-field-control .form-select[aria-invalid='true'] {
  border-color: var(--rep-state-danger-border) !important;
}
.rep-form-field-toggle {
  border: 1px dashed var(--rep-border);
  background: var(--rep-surface-soft, #f8fafc);
  padding: 0.56rem 0.62rem;
}
.rep-toggle-control {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.6rem;
  align-items: center;
  cursor: pointer;
}
.rep-toggle-control > input[type='checkbox'] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.rep-toggle-track {
  width: 2.2rem;
  height: 1.2rem;
  border: 1px solid var(--rep-border);
  background: color-mix(in srgb, var(--rep-muted) 18%, transparent);
  display: inline-flex;
  align-items: center;
  padding: 0.1rem;
  transition:
    background 120ms ease,
    border-color 120ms ease;
}
.rep-toggle-knob {
  width: 0.86rem;
  height: 0.86rem;
  background: #fff;
  border: 1px solid var(--rep-border);
  transform: translateX(0);
  transition: transform 120ms ease;
}
.rep-toggle-copy {
  min-width: 0;
  display: grid;
  gap: 0.08rem;
}
.rep-toggle-title {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--rep-text);
}
.rep-toggle-control > input[type='checkbox']:checked + .rep-toggle-track {
  border-color: color-mix(in srgb, var(--rep-primary) 70%, transparent);
  background: color-mix(in srgb, var(--rep-primary) 28%, transparent);
}
.rep-toggle-control > input[type='checkbox']:checked + .rep-toggle-track .rep-toggle-knob {
  transform: translateX(0.95rem);
}
.rep-toggle-control > input[type='checkbox']:focus-visible + .rep-toggle-track {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rep-primary) 18%, transparent);
}
.rep-form-field:has(.rep-document-choices) {
  grid-column: 1 / -1;
}
.rep-document-choices {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}
.rep-numbered-source[hidden] {
  display: none !important;
}
.rep-numbered-editor {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}
.rep-numbered-editor > button {
  justify-self: start;
}
.rep-numbered-list {
  display: grid;
  gap: 0.6rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.rep-numbered-row {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr) 2.5rem;
  gap: 0.5rem;
  align-items: start;
}
.rep-numbered-index {
  padding-top: 0.7rem;
  color: var(--rep-primary);
  font-weight: 700;
  text-align: center;
}
.rep-numbered-row textarea.form-control {
  min-width: 0;
  min-height: 2.65rem;
  max-height: 14rem;
  field-sizing: content;
  resize: vertical;
}
.rep-numbered-row > button {
  min-height: 2.6rem;
  padding: 0.35rem;
  font-size: 1.25rem;
}
.rep-document-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 0.65rem;
}
.rep-document-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
  min-height: 3rem;
  padding: 0.8rem;
  margin: 0;
  border: 1px solid var(--rep-border);
  border-radius: 0.5rem;
  background: var(--rep-surface);
  color: var(--rep-text);
  cursor: pointer;
}
.rep-document-choice:hover,
.rep-document-choice:has(input:checked) {
  border-color: var(--rep-primary);
  background: color-mix(in srgb, var(--rep-primary) 7%, var(--rep-surface));
}
.rep-document-choice:focus-within {
  outline: 2px solid var(--rep-primary);
  outline-offset: 2px;
}
.rep-document-choice > input[type='checkbox'] {
  appearance: auto;
  position: static;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 1.15rem;
  margin: 0.1rem 0 0;
  accent-color: var(--rep-primary);
  cursor: pointer;
}
.rep-document-choice-label {
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.rep-document-choice:has(input:disabled) {
  cursor: default;
  opacity: 0.65;
}
.rep-form-actions,
.rep-action-row {
  display: flex;
  gap: var(--rep-space-3);
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 767.98px) {
  .rep-form-actions .btn,
  .rep-action-row .btn {
    width: 100%;
  }
}

/* Checkbox/table control polish */
.rep-cell-checkbox {
  width: 3rem;
}
.rep-table .form-check-input {
  width: 1rem;
  height: 1rem;
  border: 1px solid var(--rep-border);
  background-color: var(--rep-surface, #fff);
}
.rep-table .form-check-input:checked {
  background-color: var(--rep-primary);
  border-color: var(--rep-primary);
}
.rep-table .form-check-input:focus {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--rep-primary) 20%, transparent);
}

/* Premium thin separators and users-module rhythm */
.rep-panel .rep-card-head {
  border-bottom: 1px solid var(--rep-border);
}
.rep-panel .rep-card-body,
.rep-panel .rep-panel-body {
  padding: clamp(1rem, 1.5vw, 1.5rem);
}
.rep-table thead th {
  border-bottom: 1px solid var(--rep-border);
}
.rep-table tbody td {
  border-top: 1px solid color-mix(in srgb, var(--rep-border) 80%, transparent);
}

/* Global page header back control */
.rep-page-head-actions-back {
  margin-left: auto;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  flex-wrap: wrap;
  display: flex;
}
.rep-page-head-actions-back .rep-page-kicker {
  margin: 0;
}
.rep-page-head-actions-back .rep-dashboard-head-identity,
.rep-page-back-btn {
  border: 1px solid color-mix(in srgb, var(--rep-primary) 24%, var(--rep-border-soft));
  background: var(--rep-surface-card);
  border-radius: 0;
  min-height: 2.1rem;
  box-shadow: none;
}
.rep-page-head-actions-back .rep-dashboard-head-identity {
  padding: 0.24rem 0.56rem;
}
.rep-page-head-actions-back .rep-dashboard-head-identity .rep-dashboard-head-identity-top {
  margin: 0;
}
.rep-page-head-actions-back .rep-dashboard-head-role {
  color: color-mix(in srgb, var(--rep-primary) 78%, var(--rep-text));
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
[data-bs-theme='light'] .rep-page-head-actions-back .rep-dashboard-head-identity {
  border-color: var(--rep-primary);
  background: var(--rep-primary);
}
[data-bs-theme='light'] .rep-page-head-actions-back .rep-dashboard-head-role,
[data-bs-theme='light'] .rep-page-head-actions-back .rep-dashboard-head-role i {
  color: #fff;
}
.rep-dashboard-role-badge .rep-status-chip {
  border-color: var(--rep-action-primary) !important;
  background: var(--rep-action-primary) !important;
  color: #fff !important;
}
.rep-dashboard-role-badge .rep-status-chip .rep-status-chip-label {
  color: #fff !important;
}

/* Authoritative project font mapping: Inter across application and public pages. */
:root {
  --rep-font-family-primary: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-sans: var(--rep-font-family-primary);
  --rep-font-sans: var(--rep-font-family-primary);
  --default-font-family: var(--rep-font-family-primary);
}
html,
body,
.rep-app-body,
.rep-public-body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
small,
label,
a,
button,
input,
select,
textarea,
th,
td {
  font-family: var(--rep-font-family-primary) !important;
}
.rep-page-back-btn {
  color: color-mix(in srgb, var(--rep-primary) 78%, var(--rep-text));
  margin-left: 0;
  padding: 0.24rem 0.56rem 0.24rem 0.44rem;
  gap: 0.38rem;
  align-items: center;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  display: inline-flex;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}
.rep-page-back-btn:hover,
.rep-page-back-btn:focus-visible {
  border-color: var(--rep-primary);
  background: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface-card));
  color: var(--rep-primary);
}
.rep-page-back-icon-wrap {
  display: inline-flex;
}
.rep-page-back-btn i {
  font-size: 0.9rem;
  line-height: 1;
}
@media (min-width: 768px) {
  .rep-page-head-actions-back {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
  }
}
@media (max-width: 767.98px) {
  .rep-page-head-actions-back {
    flex-direction: column;
    width: 100%;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.45rem;
  }
  .rep-page-head-actions-back .rep-page-kicker,
  .rep-page-head-actions-back .rep-dashboard-head-identity {
    width: 100%;
  }
  .rep-page-back-btn {
    margin-left: auto;
  }
}

/* Global table fixes: action menu anchor, checkbox alignment, themed headers */
.rep-table-wrap,
.rep-table-wrap-scroll-y {
  overflow-x: auto !important;
}
.rep-table-wrap.rep-table-wrap-scroll-y {
  overflow-y: auto !important;
}
.rep-row-actions {
  position: relative !important;
  display: inline-flex;
  justify-content: flex-end;
  width: auto;
  vertical-align: middle;
}
.rep-row-actions-menu {
  position: absolute !important;
  top: calc(100% + 0.35rem) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 1065 !important;
  min-width: 12rem;
  max-width: min(18rem, calc(100vw - 1rem));
}
.rep-row-actions-menu.rep-row-actions-menu-up {
  top: auto !important;
  bottom: calc(100% + 0.35rem) !important;
}
.rep-row-actions-menu.rep-row-actions-menu-floating {
  position: fixed !important;
  inset: auto !important;
}
.rep-cell-checkbox {
  width: 2.8rem !important;
  min-width: 2.8rem !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.rep-table .form-check-input,
.rep-table-advanced .form-check-input {
  margin: 0 auto !important;
  display: block;
}
.rep-table thead th,
.rep-table-advanced thead th {
  background: color-mix(in srgb, var(--rep-primary) 6%, var(--rep-surface)) !important;
  color: color-mix(in srgb, var(--rep-primary) 58%, var(--rep-text)) !important;
  font-weight: 700 !important;
  border-bottom-color: color-mix(in srgb, var(--rep-primary) 22%, var(--rep-border)) !important;
}
.rep-sort-label,
.rep-table thead th button,
.rep-table-advanced thead th button {
  color: inherit !important;
  font-weight: 700 !important;
}
.rep-sort-trigger {
  color: color-mix(in srgb, var(--rep-primary) 65%, var(--rep-text)) !important;
}
.rep-sort-trigger i {
  font-size: 0.92rem;
}
.rep-table [data-sort-direction='asc'] .rep-sort-trigger,
.rep-table [data-sort-direction='desc'] .rep-sort-trigger,
.rep-table-advanced [data-sort-direction='asc'] .rep-sort-trigger,
.rep-table-advanced [data-sort-direction='desc'] .rep-sort-trigger {
  color: var(--rep-primary) !important;
}

/* Global help-text + validator text readability */
.rep-form-help,
.rep-form-help * {
  font-size: 0.72rem !important;
  line-height: 1.35 !important;
  color: var(--rep-muted, #64748b) !important;
}
.rep-form-help ul,
.rep-form-help ol,
ul.helptext,
ol.helptext {
  margin: 0.2rem 0 0 !important;
  padding-left: 1rem !important;
}
.rep-form-help li,
ul.helptext li,
ol.helptext li {
  margin: 0.08rem 0 !important;
  font-size: 0.71rem !important;
  color: var(--rep-muted, #64748b) !important;
}
[data-bs-theme='dark'] .rep-form-help,
[data-bs-theme='dark'] .rep-form-help *,
[data-bs-theme='dark'] ul.helptext li,
[data-bs-theme='dark'] ol.helptext li {
  color: color-mix(in srgb, #cbd5e1 85%, var(--rep-text)) !important;
}

/* Checkbox / radio visibility globally */
.form-check-input {
  border: 1px solid color-mix(in srgb, var(--rep-primary) 34%, var(--rep-border)) !important;
  background-color: var(--rep-surface, #fff) !important;
}
.form-check-input[type='radio'] {
  border-radius: 0.3rem;
}
.form-check-input:checked {
  background-color: var(--rep-success, #16a34a) !important;
  border-color: var(--rep-success, #16a34a) !important;
}
.form-check-input:focus {
  box-shadow: 0 0 0 0.18rem color-mix(in srgb, var(--rep-primary) 20%, transparent) !important;
}
[data-bs-theme='dark'] .form-check-input {
  background-color: color-mix(in srgb, var(--rep-surface) 78%, #0f172a) !important;
  border-color: color-mix(in srgb, var(--rep-border) 80%, #94a3b8) !important;
}
[data-bs-theme='dark'] .form-check-input:checked {
  background-color: #22c55e !important;
  border-color: #22c55e !important;
}

/* Toggle component semantic colors */
.rep-form-field-toggle .rep-toggle-title {
  color: color-mix(in srgb, var(--rep-text) 88%, #475569) !important;
}
.rep-toggle-control > input[type='checkbox'] + .rep-toggle-track {
  background: color-mix(in srgb, var(--rep-muted) 26%, transparent) !important;
  border-color: color-mix(in srgb, var(--rep-muted) 30%, var(--rep-border)) !important;
}
.rep-toggle-control > input[type='checkbox'] + .rep-toggle-track .rep-toggle-knob {
  background: color-mix(in srgb, #f8fafc 92%, var(--rep-surface)) !important;
  border-color: color-mix(in srgb, var(--rep-muted) 38%, var(--rep-border)) !important;
}
.rep-toggle-control > input[type='checkbox']:checked + .rep-toggle-track {
  background: color-mix(in srgb, var(--rep-success, #16a34a) 26%, transparent) !important;
  border-color: var(--rep-success, #16a34a) !important;
}
.rep-toggle-control > input[type='checkbox']:checked + .rep-toggle-track .rep-toggle-knob {
  border-color: var(--rep-success, #16a34a) !important;
}
[data-bs-theme='dark'] .rep-toggle-control > input[type='checkbox'] + .rep-toggle-track {
  background: color-mix(in srgb, #334155 55%, transparent) !important;
  border-color: color-mix(in srgb, #64748b 70%, var(--rep-border)) !important;
}
[data-bs-theme='dark'] .rep-toggle-control > input[type='checkbox'] + .rep-toggle-track .rep-toggle-knob {
  background: #e2e8f0 !important;
  border-color: #94a3b8 !important;
}
[data-bs-theme='dark'] .rep-toggle-control > input[type='checkbox']:checked + .rep-toggle-track {
  background: color-mix(in srgb, #22c55e 36%, transparent) !important;
  border-color: #22c55e !important;
}

/* Final guardrail: enforce visible selection controls across themes */
:root {
  --rep-control-off-bg: color-mix(in srgb, var(--rep-muted, #64748b) 20%, transparent);
  --rep-control-off-border: color-mix(in srgb, var(--rep-muted, #64748b) 34%, var(--rep-border, #cbd5e1));
  --rep-control-on-bg: var(--rep-success, #16a34a);
  --rep-control-on-border: var(--rep-success, #16a34a);
  --rep-muted: var(--rep-text-muted, #64748b);
  --rep-surface-soft: #f8fafc;
  --rep-type-label: 0.875rem;
  --rep-type-help: 0.8125rem;
  --rep-type-body: 0.9375rem;
  --rep-fw-body: 500;
  --rep-fw-strong: 700;
}
[data-bs-theme='dark'] {
  --rep-surface-soft: color-mix(in srgb, #1e293b 68%, var(--rep-surface, #0f172a));
}

/* Premium form typography + dark-surface consistency */
.rep-page-shell,
.rep-page-shell input,
.rep-page-shell select,
.rep-page-shell textarea,
.rep-page-shell button {
  font-family:
    var(--rep-font-sans),
    'Inter',
    -apple-system,
    BlinkMacSystemFont,
    'SF Pro Text',
    'Segoe UI',
    system-ui,
    sans-serif !important;
}
.rep-form-field-label {
  font-size: var(--rep-type-label) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.rep-form-field-toggle {
  background: var(--rep-surface-soft) !important;
  border-color: color-mix(in srgb, var(--rep-border) 84%, transparent) !important;
}
.rep-toggle-title {
  font-size: var(--rep-type-body) !important;
  font-weight: 600 !important;
}
.rep-toggle-help {
  font-size: var(--rep-type-help) !important;
  color: var(--rep-text-muted) !important;
}
.rep-form-help,
.rep-form-help *,
.rep-form-field > ul:not(.errorlist),
.rep-form-field > ul:not(.errorlist) li {
  font-size: var(--rep-type-help) !important;
  line-height: 1.35 !important;
  color: var(--rep-text-muted) !important;
  font-weight: 500 !important;
}
[data-bs-theme='dark'] .rep-form-field > ul:not(.errorlist),
[data-bs-theme='dark'] .rep-form-field > ul:not(.errorlist) li {
  color: color-mix(in srgb, #cbd5e1 88%, var(--rep-text)) !important;
}

/* Final guardrail: helper text must stay visible and compact */
.rep-form-help,
.rep-toggle-help,
.rep-form-field > .rep-form-help,
.rep-form-field > ul:not(.errorlist),
.rep-form-field > ol:not(.errorlist),
ul.helptext,
ol.helptext {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 0.28rem !important;
  font-size: var(--rep-type-help) !important;
  line-height: 1.36 !important;
  color: var(--rep-text-muted) !important;
}
.rep-form-field > ul:not(.errorlist),
.rep-form-field > ol:not(.errorlist),
ul.helptext,
ol.helptext {
  list-style: disc !important;
  padding-left: 1rem !important;
}
.rep-form-field > ul:not(.errorlist) li,
.rep-form-field > ol:not(.errorlist) li,
ul.helptext li,
ol.helptext li {
  list-style: inherit !important;
  margin: 0.08rem 0 !important;
  color: inherit !important;
}
[data-bs-theme='dark'] .rep-form-help,
[data-bs-theme='dark'] .rep-toggle-help,
[data-bs-theme='dark'] .rep-form-field > .rep-form-help,
[data-bs-theme='dark'] .rep-form-field > ul:not(.errorlist),
[data-bs-theme='dark'] .rep-form-field > ol:not(.errorlist),
[data-bs-theme='dark'] ul.helptext,
[data-bs-theme='dark'] ol.helptext {
  color: color-mix(in srgb, #dbe7fb 84%, var(--rep-text)) !important;
}
.form-check-input,
input[type='checkbox'].form-check-input,
input[type='radio'].form-check-input {
  accent-color: var(--rep-control-on-bg);
  background-color: var(--rep-surface, #fff) !important;
  border-color: var(--rep-control-off-border) !important;
}
.form-check-input:checked,
input[type='checkbox'].form-check-input:checked,
input[type='radio'].form-check-input:checked {
  background-color: var(--rep-control-on-bg) !important;
  border-color: var(--rep-control-on-border) !important;
}
.rep-toggle-control > input[type='checkbox'] + .rep-toggle-track {
  background-color: var(--rep-control-off-bg) !important;
  border-color: var(--rep-control-off-border) !important;
}
.rep-toggle-control > input[type='checkbox']:checked + .rep-toggle-track {
  background-color: color-mix(in srgb, var(--rep-control-on-bg) 26%, transparent) !important;
  border-color: var(--rep-control-on-border) !important;
}
[data-bs-theme='dark'] .form-check-input,
[data-bs-theme='dark'] input[type='checkbox'].form-check-input,
[data-bs-theme='dark'] input[type='radio'].form-check-input {
  color-scheme: dark;
  background-color: color-mix(in srgb, #1e293b 68%, var(--rep-surface, #0f172a)) !important;
  border-color: color-mix(in srgb, #94a3b8 74%, var(--rep-border, #334155)) !important;
}
[data-bs-theme='dark'] .form-check-input:checked,
[data-bs-theme='dark'] input[type='checkbox'].form-check-input:checked,
[data-bs-theme='dark'] input[type='radio'].form-check-input:checked {
  background-color: #22c55e !important;
  border-color: #22c55e !important;
}
[data-bs-theme='dark'] .rep-toggle-control > input[type='checkbox'] + .rep-toggle-track {
  background-color: color-mix(in srgb, #334155 58%, transparent) !important;
  border-color: color-mix(in srgb, #94a3b8 68%, var(--rep-border, #334155)) !important;
}
[data-bs-theme='dark'] .rep-toggle-control > input[type='checkbox']:checked + .rep-toggle-track {
  background-color: color-mix(in srgb, #22c55e 34%, transparent) !important;
  border-color: #22c55e !important;
}
[data-bs-theme='dark'] .rep-toggle-control > input[type='checkbox']:disabled + .rep-toggle-track + .rep-toggle-copy .rep-toggle-title,
[data-bs-theme='dark'] .rep-toggle-control > input[type='checkbox']:disabled + .rep-toggle-track + .rep-toggle-copy .rep-toggle-help,
.rep-toggle-control > input[type='checkbox']:disabled + .rep-toggle-track + .rep-toggle-copy .rep-toggle-title,
.rep-toggle-control > input[type='checkbox']:disabled + .rep-toggle-track + .rep-toggle-copy .rep-toggle-help {
  opacity: 1 !important;
  color: color-mix(in srgb, var(--rep-text) 76%, var(--rep-text-muted)) !important;
}

.rep-table-wrap,
.rep-table-wrap-scroll-y,
.table-responsive {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.rep-table,
.rep-table-advanced {
  width: max(100%, max-content);
  min-width: 100%;
  table-layout: auto;
}

.rep-table th,
.rep-table td,
.rep-table-advanced th,
.rep-table-advanced td {
  white-space: nowrap;
}

.rep-table[data-permissions-table],
.rep-table-advanced[data-permissions-table] {
  width: max(100%, max-content);
  min-width: max-content;
}

/* Shared register columns: readable text and enough room for complete actions. */
[data-table-root],
[data-table-root] > .rep-card-body,
.rep-table-shell > .rep-card-body {
  min-width: 0;
  max-width: 100%;
}
[data-table-root] .rep-table-wrap {
  min-width: 0;
  max-width: 100%;
  overscroll-behavior-x: contain;
}
[data-table-root] .rep-table {
  width: 100%;
  table-layout: auto;
}
[data-table-root] .rep-table-advanced {
  min-width: 56rem;
}
@media (min-width: 992px) {
  [data-table-root] .rep-table > thead > tr > th:first-child,
  [data-table-root] .rep-table > tbody > tr > td:first-child:not([colspan]) {
    position: sticky !important;
    left: 0;
    z-index: 3 !important;
    box-shadow: 1px 0 0 var(--rep-border);
  }
  [data-table-root] .rep-table > thead > tr > th:first-child {
    z-index: 4 !important;
  }
}
[data-table-root] .rep-table > :is(thead, tbody) > tr > :is(th, td) {
  padding: 0.875rem 1rem;
  vertical-align: middle;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
[data-table-root] .rep-table > tbody > tr > td {
  border-top: 0;
}
[data-table-root] .rep-table > thead > tr > th {
  overflow-wrap: normal;
  min-width: 7rem;
}
[data-table-root] .rep-table .rep-col-description {
  min-width: 12rem;
}
[data-table-root] .rep-table .rep-col-name {
  min-width: 9rem;
}
[data-table-root] .rep-table .rep-col-status {
  width: 1%;
  min-width: 7rem;
}
[data-table-root] .rep-table .rep-col-access { width: 1%; white-space: nowrap; }
.rep-table .rep-col-access .rep-status-chip { flex: 0 0 auto; max-width: none; }
.rep-table .rep-col-access .rep-role-list .rep-status-chip-label { white-space: nowrap !important; }
[data-table-root] .rep-table .rep-col-type {
  width: 6.5rem;
  min-width: 6.5rem;
  white-space: nowrap;
  overflow-wrap: normal;
}
[data-table-root] .rep-table .rep-col-date {
  width: 1%;
  min-width: 8rem;
}
[data-table-root] .rep-table .rep-col-actions {
  min-width: 5rem;
  width: 5rem;
  white-space: nowrap;
  text-align: center;
}
.rep-table-scroll-hint {
  display: none;
  margin: 0 0 0.4rem;
  color: var(--rep-text-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}
.rep-table-scroll-hint.is-visible {
  display: block;
}
@media (max-width: 767.98px) {
  [data-table-root] .rep-table > :is(thead, tbody) > tr > :is(th, td) {
    padding: 0.875rem 1rem;
  }
}
.rep-table .rep-col-actions .btn,
.rep-table .rep-action-row .btn {
  white-space: nowrap;
  overflow-wrap: normal;
  width: auto;
  flex: 0 0 auto;
}
.rep-table .rep-action-row {
  gap: 0.5rem;
}
.rep-col-actions > .btn + .btn,
.rep-col-actions > .btn + .rep-row-actions {
  margin-inline-start: 0.5rem;
}
@media (min-width: 1280px) {
  [data-table-root] .rep-table .rep-col-description {
    width: 18rem;
  }
  [data-table-root] .rep-table .rep-col-name {
    width: 14rem;
  }
  [data-table-root] .rep-table .rep-col-status {
    width: 8rem;
  }
  [data-table-root] .rep-table .rep-col-date {
    width: 9rem;
  }
}

/* Shared accessibility text: retain accessible names without visual spacing. */
.rep-skip-link {
  position: fixed;
  inset-block-start: .5rem;
  inset-inline-start: .5rem;
  z-index: 11000;
}
.visually-hidden:not(:focus):not(:active) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Shared list controls: equal filter columns, then actions and result count. */
.rep-data-table-toolbar {
  width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  padding: 0 0 0.75rem !important;
  margin: 0 !important;
}
.rep-data-table-toolbar .rep-toolbar-flow {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end !important;
  gap: 0.75rem !important;
  min-width: 0 !important;
}
.rep-data-table-toolbar .rep-toolbar-filters {
  display: grid !important;
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  align-items: end;
  gap: 0.75rem;
  min-width: 0;
}
.rep-data-table-toolbar .rep-toolbar-filters:has(> .rep-toolbar-filter-field:only-child) {
  max-width: 20rem;
}
.rep-data-table-toolbar .rep-toolbar-filters:has(> .rep-toolbar-filter-field:nth-child(2):last-child) {
  max-width: 40rem;
}
.rep-data-table-toolbar .rep-toolbar-actions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.rep-data-table-toolbar .rep-data-table-search,
.rep-data-table-toolbar .searchable-select,
.rep-data-table-toolbar .rep-data-table-filter {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
}
.rep-data-table-toolbar .rep-data-table-search .form-control,
.rep-data-table-toolbar .rep-data-table-filter,
.rep-data-table-toolbar .rep-toolbar-actions .btn {
  height: var(--rep-btn-height) !important;
  min-height: var(--rep-btn-height) !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}
.rep-data-table-toolbar .rep-toolbar-actions .btn {
  width: auto !important;
  min-width: 0;
  padding: 0 0.65rem !important;
  flex: 0 0 auto;
}
.rep-data-table-toolbar .rep-toolbar-meta-inline {
  display: flex !important;
  align-items: center;
  align-self: center;
  justify-content: flex-end;
  gap: 0.4rem;
  flex-wrap: wrap;
  margin: 0;
}
.rep-data-table-toolbar .rep-data-table-summary {
  margin: 0;
}
.rep-data-table-toolbar .rep-live-search-feedback {
  grid-column: 1 / -1;
  min-width: 0;
}
.rep-data-table-toolbar .rep-live-search-feedback:has(.rep-live-search-chips:empty):not(:has(.rep-live-search-error)),
.rep-data-table-toolbar .rep-live-search-chips:empty {
  display: none;
}
.rep-live-search-ready:not(.rep-live-search-failed) .rep-search-submit {
  display: none !important;
}
@media (max-width: 575.98px) {
  .rep-data-table-toolbar .rep-toolbar-flow {
    grid-template-columns: minmax(0, 1fr);
  }
  .rep-data-table-toolbar .rep-toolbar-meta-inline {
    justify-content: flex-start;
  }
}
/* Form builder: one question at a time, with a compact navigable outline. */
.rep-form-field-answers {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.rep-field-grid > .rep-form-field-answers {
  grid-column: 1 / -1;
}
.rep-form-field-answers > legend {
  float: none;
  width: auto;
  margin-bottom: 0.5rem;
}
.rep-answer-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  min-width: 0;
}
.rep-answer-choice {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  padding: 0.6rem 0.8rem;
  margin: 0;
  border: 1px solid var(--rep-border);
  border-radius: var(--rep-radius-md);
  background: var(--rep-surface);
  color: var(--rep-text);
  cursor: pointer;
  overflow-wrap: anywhere;
}
.rep-answer-choice:has(input:checked) {
  border-color: var(--rep-primary);
  background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface));
  color: var(--rep-primary-strong);
}
.rep-answer-choice:focus-within {
  outline: 2px solid var(--rep-primary);
  outline-offset: 2px;
}
.rep-answer-choice input[type='radio'],
.rep-answer-choice input[type='checkbox'] {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  min-height: 0;
  margin: 0;
  accent-color: var(--rep-primary);
}
.rep-answer-picker {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}
.rep-answer-picker-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.rep-answer-picker-search {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.rep-answer-picker-count {
  flex: 0 0 auto;
  color: var(--rep-text-muted);
  font-size: 0.8125rem;
}
.rep-answer-picker-options {
  max-height: clamp(14rem, 40vh, 22rem);
  overflow-y: auto;
  overscroll-behavior-y: contain;
  align-content: flex-start;
  padding: 0.25rem;
  border: 1px solid var(--rep-border);
  border-radius: var(--rep-radius-md);
}
.rep-answer-picker-options > fieldset {
  flex: 1 0 100%;
}
.rep-answer-picker-options .rep-answer-choice {
  max-width: 100%;
}
.rep-answer-picker [hidden] {
  display: none !important;
}
.rep-answer-scale,
.rep-answer-rating {
  gap: 0.5rem;
}
.rep-answer-scale .rep-answer-choice,
.rep-answer-rating .rep-answer-choice {
  flex-direction: column;
  justify-content: center;
  min-width: 3.1rem;
  gap: 0.35rem;
}
.rep-rating-symbol {
  font-size: 1.5rem;
  color: #a16207;
  line-height: 1.2;
}
.rep-scale-labels {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.6rem;
  color: var(--rep-text-muted);
  font-size: 0.875rem;
}
.rep-scale-labels > span {
  overflow-wrap: anywhere;
}
.rep-answer-grid {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}
.rep-answer-grid-row {
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--rep-border);
  border-radius: var(--rep-radius-md);
  background: var(--rep-surface-2);
}
.rep-answer-grid-heading {
  float: none;
  width: auto;
  padding: 0 0.25rem;
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.rep-duration-input {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  max-width: 28rem;
}
.rep-duration-part {
  min-width: 0;
}
.rep-duration-part label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.875rem;
  color: var(--rep-text-muted);
}
.rep-duration-part input {
  width: 100%;
  min-width: 0;
}
.modal.rep-modal-shell.rep-builder-preview-modal {
  padding: 0;
  overflow: hidden;
}
.modal.rep-builder-preview-modal .modal-dialog {
  width: calc(100% - 1rem);
  max-width: none;
  height: calc(100dvh - 1rem);
  max-height: none;
  margin: 0.5rem;
}
.modal.rep-builder-preview-modal .modal-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: none;
  background: var(--rep-bg);
}
.modal.rep-builder-preview-modal .modal-header {
  flex: 0 0 auto;
  gap: 0.75rem;
}
.modal.rep-builder-preview-modal .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: clamp(0.5rem, 2vw, 1.5rem);
}
.rep-builder-preview-modal .rep-builder-preview {
  max-width: 76rem;
  margin-inline: auto;
}
.rep-preview-question-list {
  display: grid;
  gap: 1rem;
}
.rep-preview-question {
  min-width: 0;
  margin: 0;
}
.rep-preview-question.is-dragging {
  opacity: 0.55;
  outline: 2px dashed var(--rep-primary, #2563eb);
}
.rep-preview-question-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--rep-border);
  padding-bottom: 0.75rem;
}
.rep-preview-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-inline-start: auto;
}
.rep-preview-question-head:has(.rep-preview-drag) {
  cursor: grab;
  touch-action: none;
}
.rep-preview-drag {
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.rep-preview-drag:active {
  cursor: grabbing;
}
.rep-builder-preview.is-arranging {
  user-select: none;
  cursor: grabbing;
}
.rep-builder-preview [data-preview-publish] {
  margin-top: 1rem;
}
@media (max-width: 575.98px) {
  .modal.rep-builder-preview-modal .modal-dialog {
    margin: 0;
    width: 100%;
    height: 100dvh;
  }
  .rep-builder-preview-modal .modal-content {
    border-radius: 0;
  }
  .rep-preview-order-actions {
    margin-inline-start: 0;
    flex-basis: 100%;
  }
}
.rep-builder-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
}
.rep-builder-toolbar nav.rep-action-row {
  display: flex;
  flex-wrap: wrap;
}
.rep-builder-toolbar nav.rep-action-row > .btn {
  width: auto !important;
  flex: 1 1 auto;
}
.rep-builder-remove[open] {
  flex-basis: 100%;
  padding: 0.75rem;
  border: 1px solid var(--rep-border);
  border-radius: 0.5rem;
}
.rep-builder-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.rep-builder-layout > * {
  min-width: 0;
}
.rep-builder-question-list {
  list-style: none;
  margin: 0.75rem 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
  max-height: 15rem;
  overflow-y: auto;
}
.rep-builder-question {
  border: 1px solid var(--rep-border);
  border-radius: 0.5rem;
  background: var(--rep-surface);
}
.rep-builder-question.is-active {
  border-color: var(--rep-primary, #2563eb);
  background: color-mix(in srgb, var(--rep-primary, #2563eb) 7%, var(--rep-surface));
}
.rep-builder-question-link {
  display: flex;
  align-items: start;
  gap: 0.65rem;
  padding: 0.85rem;
  color: var(--rep-text);
  text-decoration: none;
}
.rep-builder-question-link > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rep-builder-question-link strong {
  display: block;
  font-size: 0.875rem;
}
.rep-builder-question-number {
  display: grid;
  place-items: center;
  min-width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--rep-primary, #2563eb) 12%, var(--rep-surface));
  color: var(--rep-primary, #2563eb);
  font-size: 0.75rem;
  font-weight: 700;
}
.rep-builder-question-link small,
.rep-builder-library-choice small {
  display: block;
  margin-top: 0.25rem;
  color: var(--rep-text-muted);
  font-size: 0.75rem;
}
.rep-builder-editor {
  border-top: 4px solid var(--rep-primary, #2563eb);
  scroll-margin-top: 6rem;
}
.rep-builder-question-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid var(--rep-border);
}
.rep-builder-library {
  display: grid;
  gap: 0.6rem;
  max-height: 22rem;
  overflow-y: auto;
  margin: 0.75rem 0;
}
.rep-builder-library-choice {
  display: flex;
  align-items: start;
  gap: 0.65rem;
  padding: 0.5rem;
  font-size: 0.85rem;
  overflow-wrap: anywhere;
}
.rep-builder-library-choice input {
  flex-shrink: 0;
}
.rep-builder-editor [hidden] {
  display: none !important;
}
@media (min-width: 1100px) {
  .rep-builder-layout {
    grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr);
  }
  .rep-builder-question-list {
    max-height: 65vh;
  }
}
/* Page introductions stay spacious; list controls below remain compact. */
.rep-data-table-toolbar.rep-toolbar-labelled .rep-toolbar-flow {
  align-items: flex-end !important;
}
.rep-toolbar-filter-field {
  display: grid;
  gap: 0.375rem;
  min-width: 0;
}
.rep-toolbar-filter-field > label,
.rep-toolbar-filter-field > .rep-field-label-row > label {
  margin: 0;
  color: var(--rep-text);
  font-size: 0.875rem;
  font-weight: 600;
}
.rep-data-table-toolbar .rep-toolbar-filter-field .rep-data-table-filter,
.rep-data-table-toolbar .rep-toolbar-filter-field .rep-data-table-search {
  width: 100% !important;
}
.rep-data-table-toolbar .searchable-select > .btn {
  height: var(--rep-btn-height) !important;
  min-height: var(--rep-btn-height) !important;
}
.rep-data-table-toolbar .ss-selected-label {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rep-table-readable-headings th {
  white-space: normal !important;
}
.rep-table-readable-headings .rep-sort-label-wrap,
.rep-table-readable-headings .rep-sort-label-text {
  white-space: normal !important;
  overflow: visible;
  overflow-wrap: normal;
  word-break: normal;
}
.rep-table-readable-headings .rep-sort-trigger {
  flex-shrink: 0;
}
.rep-table-readable-headings td[data-column='title'],
.rep-table-readable-headings td[data-column='ref'],
.rep-table-readable-headings td[data-column='appointment'] {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rep-summary-head .rep-panel-body {
  padding: clamp(1rem, 2vw, 1.5rem);
  gap: 0.75rem;
}
.rep-summary-head .rep-page-head {
  align-items: center;
  gap: 1rem 1.5rem;
}
.rep-summary-head .rep-page-head-main {
  flex: 1 1 20rem;
  min-width: 0;
  gap: 0.6rem;
}
.rep-summary-head .rep-page-title {
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.rep-summary-head .rep-page-copy {
  font-size: 0.875rem;
  line-height: 1.6;
  max-width: 76ch;
}
.rep-summary-head .rep-page-head-actions-back {
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  width: auto;
  gap: 0.75rem;
}
.rep-summary-head .rep-page-kicker {
  width: auto;
}
.rep-summary-head .rep-page-back-btn {
  min-height: 2.625rem;
  padding: 0.5rem 0.75rem;
}
.rep-page-shell:has(.rep-data-table-toolbar) > .rep-summary-head {
  margin-bottom: 0.5rem;
}
.rep-page-shell:has(.rep-data-table-toolbar) {
  gap: 0.5rem;
}
.rep-page-shell:has(.rep-data-table-toolbar) .rep-card-head {
  padding-block: 0.5rem;
}
.rep-page-shell:has(.rep-data-table-toolbar) .rep-card-head-copy {
  display: grid;
  align-items: start;
  gap: 0.25rem;
}
.rep-page-shell:has(.rep-data-table-toolbar) .rep-card-title,
.rep-page-shell:has(.rep-data-table-toolbar) .rep-card-subtitle {
  margin: 0;
}
form.rep-action-row:has(input[name='search']) .form-control,
form.rep-action-row:has(input[name='search']) .form-select {
  width: auto;
  flex: 1 1 9rem;
  min-width: 0;
}
@media (min-width: 768px) {
  .rep-data-table-toolbar .searchable-select {
    flex: 0 1 19rem !important;
  }
  .rep-data-table-toolbar .rep-data-table-search {
    flex: 0 1 12rem !important;
  }
  .rep-data-table-toolbar .rep-data-table-filter {
    flex: 0 1 11rem !important;
  }
  form.rep-action-row:has(input[name='search']) .form-control,
  form.rep-action-row:has(input[name='search']) .form-select {
    flex: 0 1 12rem;
  }
}

.rep-kpi-chip-row {
  width: 100%;
  gap: 0.45rem;
  flex-wrap: wrap;
  align-items: center;
}

.rep-kpi-chip-row .rep-status-chip {
  max-width: 100%;
}

.rep-kpi-chip-row .rep-status-chip-label {
  white-space: nowrap;
}

/* Sidebar scroll fix: single scroll owner for smooth wheel/touch scrolling */
.rep-app-body #sidebar.sidebar {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  pointer-events: auto !important;
}

.rep-app-body #sidebar.sidebar .rep-sidebar {
  overflow: visible !important;
  overscroll-behavior: auto !important;
  min-height: 100% !important;
  padding-bottom: 1.1rem !important;
}

.rep-app-body #sidebar.sidebar .rep-sidebar-nav {
  padding-bottom: 0.95rem !important;
}

@media (max-width: 991.98px) {
  .rep-app-body #sidebar.sidebar .rep-sidebar {
    padding-bottom: 1.45rem !important;
  }
  .rep-app-body #sidebar.sidebar .rep-sidebar-nav {
    padding-bottom: 1.2rem !important;
  }
}

/* Shared semantic colours: alerts, badges, workflow actions and dashboard cards. */
[data-bs-theme] .rep-table.rep-table-advanced tbody tr > td.rep-table-cell-danger,
[data-bs-theme] .rep-table tbody tr:hover > td.rep-table-cell-danger {
  background: var(--rep-state-danger-bg) !important;
  color: var(--rep-state-danger-text) !important;
}
.rep-log-filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: end;
}
.rep-log-filters .rep-field { min-width: 0; margin: 0; }
.rep-log-filters .rep-action-row { align-self: end; }
.rep-log-search { grid-column: 1 / -1; }
[data-bs-theme='dark'] .rep-log-filters input[type='date'] { color-scheme: dark; }
.rep-table.rep-log-table { table-layout: auto; }
[data-table-root] .rep-table.rep-log-table th,
[data-table-root] .rep-table.rep-log-table td { white-space: normal; overflow-wrap: normal; vertical-align: top; }
.rep-log-table th:nth-child(2),
.rep-log-table td:nth-child(2),
.rep-log-table td:nth-child(2) .rep-status-chip-label { white-space: nowrap !important; }
.rep-log-message {
  margin: 0 0 .5rem;
  padding: 0;
  color: inherit;
  background: transparent;
  font: .8125rem/1.6 ui-monospace, SFMono-Regular, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.rep-log-details { margin-top: .65rem; }
.rep-log-details summary { cursor: pointer; color: var(--rep-text); font-weight: 600; }
.rep-log-details[open] .rep-log-message { margin-top: .65rem; padding: .75rem; background: var(--rep-surface-2); }
.rep-log-incident-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rep-log-incident-filters .rep-action-row { grid-column: 1 / -1; justify-content: flex-end; }
.rep-log-category, .rep-log-more { grid-column: 1 / -1; }
.rep-log-more { min-width: 0; }
.rep-log-more summary { cursor: pointer; font-weight: 600; font-size: .8125rem; }
.rep-log-more summary span { display: inline-block; margin-left: .5rem; font-weight: 400; }
.rep-log-advanced-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding-top: 1rem; }
.rep-log-category-links { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.rep-log-category-links .btn { display: inline-flex; align-items: center; justify-content: space-between; gap: .65rem; }
.rep-log-category-links strong,
.rep-log-incidents td:last-child { font-variant-numeric: tabular-nums; }
.rep-log-badges { display: flex; align-items: flex-start; flex-direction: column; gap: .5rem; }
.rep-log-issue-title { display: block; font-size: .9375rem; line-height: 1.5; }
.rep-log-incidents { min-inline-size: 42rem; }
.rep-log-issue-explanation { margin: .35rem 0 .8rem; color: var(--rep-text-muted); font-size: .8125rem; line-height: 1.55; }
.rep-log-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem 1rem; margin: .75rem 0 0; }
.rep-log-context > div { min-width: 0; }
.rep-log-context dt { font-size: .6875rem; font-weight: 600; color: var(--rep-text-muted); margin-bottom: .15rem; }
.rep-log-context dd { font-size: .8125rem; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.rep-log-context dd > span { display: block; }
.rep-log-reading-guide { margin: 0 0 1rem; }
@media (min-width: 75rem) {
  .rep-log-filters { grid-template-columns: 1fr .8fr 1fr 1fr 1.5fr auto; }
  .rep-log-search { grid-column: auto; }
  .rep-log-incident-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rep-log-incident-filters .rep-log-category { grid-column: auto; }
  .rep-log-incident-filters .rep-log-search { grid-column: 1 / -1; }
  .rep-log-advanced-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
  .rep-log-context { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 359px) {
  .rep-log-filters { grid-template-columns: minmax(0, 1fr); }
  .rep-log-incident-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
:root {
  --rep-state-info-text: #1e40af;
  --rep-state-info-bg: #eff6ff;
  --rep-state-info-border: #3b82f6;
  --rep-state-success-text: #14532d;
  --rep-state-success-bg: #dcfce7;
  --rep-state-success-border: #15803d;
  --rep-state-warning-text: #713f12;
  --rep-state-warning-bg: #fef3c7;
  --rep-state-warning-border: #a16207;
  --rep-state-danger-text: #991b1b;
  --rep-state-danger-bg: #fef2f2;
  --rep-state-danger-border: #dc2626;
  --rep-action-success: #15803d;
  --rep-action-success-hover: #166534;
  --rep-action-warning: #b45309;
  --rep-action-warning-hover: #92400e;
  --rep-action-danger: #b91c1c;
  --rep-action-danger-hover: #991b1b;
  --rep-focus-ring: #4338ca;
}
[data-bs-theme='dark'] {
  --rep-state-info-text: #dbeafe;
  --rep-state-info-bg: #172e4c;
  --rep-state-info-border: #60a5fa;
  --rep-state-success-text: #d1fae5;
  --rep-state-success-bg: #064e3b;
  --rep-state-success-border: #34d399;
  --rep-state-warning-text: #fff3c4;
  --rep-state-warning-bg: #422d10;
  --rep-state-warning-border: #fbbf24;
  --rep-state-danger-text: #fecaca;
  --rep-state-danger-bg: #451a1a;
  --rep-state-danger-border: #f87171;
  --rep-focus-ring: #a5b4fc;
}

.rep-badge,
.rep-status-pill,
.rep-status-chip {
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 0.375rem;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}

.rep-badge {
  background: #f8fafc !important;
  color: #334155 !important;
  border-color: #cbd5e1 !important;
}

.rep-badge-info,
.rep-status-chip.rep-status-chip-tone-info,
.rep-status-pill-info,
.rep-status-chip-info,
.rep-status-chip-open,
.rep-status-chip-new,
.rep-status-chip-shortlisted,
.rep-status-chip-unread {
  color: var(--rep-state-info-text) !important;
  background: var(--rep-state-info-bg) !important;
  border-color: var(--rep-state-info-border) !important;
}

.rep-badge-success,
.rep-status-chip.rep-status-chip-tone-success,
.rep-status-pill-success,
.rep-status-chip-passed,
.rep-status-chip-published,
.rep-status-chip-selected,
.rep-status-chip-success,
.rep-status-chip-verified,
.rep-status-chip-approved,
.rep-status-chip-active,
.rep-status-chip-completed,
.rep-status-chip-read {
  color: var(--rep-state-success-text) !important;
  background: var(--rep-state-success-bg) !important;
  border-color: var(--rep-state-success-border) !important;
}

.rep-badge-warning,
.rep-status-chip.rep-status-chip-tone-warning,
.rep-status-pill-warning,
.rep-status-chip-pending,
.rep-status-chip-submitted_pending_review,
.rep-status-chip-under-review,
.rep-status-chip-submitted,
.rep-status-chip-draft,
.rep-status-chip-payment-pending,
.rep-status-chip-warning {
  color: var(--rep-state-warning-text) !important;
  background: var(--rep-state-warning-bg) !important;
  border-color: var(--rep-state-warning-border) !important;
}

.rep-badge-danger,
.rep-status-chip.rep-status-chip-tone-danger,
.rep-status-pill-danger,
.rep-status-chip-failed,
.rep-status-chip-cancelled,
.rep-status-chip-canceled,
.rep-status-chip-rejected,
.rep-status-chip-closed,
.rep-status-chip-expired,
.rep-status-chip-not-shortlisted {
  color: var(--rep-state-danger-text) !important;
  background: var(--rep-state-danger-bg) !important;
  border-color: var(--rep-state-danger-border) !important;
}

.rep-form-field .form-control,
.rep-form-field .form-select,
.rep-field-control .form-control,
.rep-field-control .form-select {
  border: 1px solid #cbd5e1 !important;
  background: var(--rep-surface) !important;
  color: #0f172a !important;
  box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.9) !important;
  transition:
    border-color 0.14s ease,
    box-shadow 0.14s ease,
    background-color 0.14s ease !important;
}

.rep-form-field .form-control::placeholder,
.rep-form-field .form-select::placeholder,
.rep-field-control .form-control::placeholder,
.rep-field-control .form-select::placeholder {
  color: #64748b !important;
}

.rep-form-field .form-control:focus,
.rep-form-field .form-select:focus,
.rep-field-control .form-control:focus,
.rep-field-control .form-select:focus {
  border-color: var(--rep-primary) !important;
  background: #ffffff !important;
  box-shadow:
    0 0 0 3px rgba(37, 99, 235, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

.rep-form-help,
.rep-toggle-help {
  color: #64748b !important;
}

[data-bs-theme='dark'] .rep-badge:not(.rep-badge-success):not(.rep-badge-warning):not(.rep-badge-danger):not(.rep-badge-info) {
  background: #1e293b !important;
  color: #cbd5e1 !important;
  border-color: #475569 !important;
}

[data-bs-theme='dark'] .rep-form-field .form-control,
[data-bs-theme='dark'] .rep-form-field .form-select,
[data-bs-theme='dark'] .rep-field-control .form-control,
[data-bs-theme='dark'] .rep-field-control .form-select {
  border-color: #475569 !important;
  background: #0f172a !important;
  color: #e2e8f0 !important;
}

[data-bs-theme='dark'] .rep-form-field .form-control:focus,
[data-bs-theme='dark'] .rep-form-field .form-select:focus,
[data-bs-theme='dark'] .rep-field-control .form-control:focus,
[data-bs-theme='dark'] .rep-field-control .form-select:focus {
  border-color: #60a5fa !important;
  background: #111827 !important;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.22) !important;
}

/* Premium button system (authoritative, no bootstrap-outline look) */
:root {
  --rep-btn-height: 2.625rem;
  --rep-btn-radius: 0.5rem;
  --rep-btn-font: 0.87rem;
  --rep-btn-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
  --rep-btn-shadow-hover: 0 2px 5px rgba(15, 23, 42, 0.12);
}

.btn,
.rep-toolbar-btn,
.header-action-btn {
  min-height: var(--rep-btn-height) !important;
  height: var(--rep-btn-height) !important;
  border-radius: var(--rep-btn-radius);
  font-size: var(--rep-btn-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  padding-inline: 0.5rem !important;
  border-width: 1px !important;
  border-style: solid !important;
  transition:
    transform 0.14s ease,
    box-shadow 0.14s ease,
    background-color 0.14s ease,
    border-color 0.14s ease,
    color 0.14s ease !important;
}

/* Text actions may wrap; icon and toolbar controls keep their compact dimensions. */
.btn {
  height: auto !important;
  border-width: 0 !important;
  padding: 0.625rem 1rem !important;
  line-height: 1.4;
  gap: var(--rep-space-2);
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.btn:hover,
.rep-toolbar-btn:hover,
.header-action-btn:hover {
  transform: none;
  box-shadow: var(--rep-btn-shadow-hover) !important;
}

.btn:active,
.rep-toolbar-btn:active,
.header-action-btn:active {
  transform: none;
}

.btn:focus-visible,
.rep-toolbar-btn:focus-visible,
.header-action-btn:focus-visible {
  outline: 2px solid var(--rep-focus-ring) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--rep-focus-ring) 18%, transparent) !important;
}

.btn-primary {
  color: #fff !important;
  border-color: var(--rep-action-primary) !important;
  background: var(--rep-action-primary) !important;
  box-shadow: var(--rep-btn-shadow) !important;
}

.btn-primary:hover,
.btn-primary:focus-visible {
  color: #fff !important;
  border-color: var(--rep-action-primary-hover) !important;
  background: var(--rep-action-primary-hover) !important;
  box-shadow: var(--rep-btn-shadow-hover) !important;
}

.btn-secondary {
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
}

.btn-secondary:hover,
.btn-secondary:focus-visible {
  color: #0f172a !important;
  border-color: #94a3b8 !important;
  background: #f1f5f9 !important;
}

.btn-danger {
  color: #fff !important;
  border-color: var(--rep-action-danger) !important;
  background: var(--rep-action-danger) !important;
  box-shadow: var(--rep-btn-shadow) !important;
}

.btn-danger:hover,
.btn-danger:focus-visible {
  color: #fff !important;
  border-color: var(--rep-action-danger-hover) !important;
  background: var(--rep-action-danger-hover) !important;
  box-shadow: var(--rep-btn-shadow-hover) !important;
}

.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-danger,
.btn-outline-info,
.btn-info {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
  box-shadow: var(--rep-btn-shadow) !important;
}

.btn-outline-primary {
  color: var(--rep-primary-strong) !important;
  border-color: var(--rep-border-strong) !important;
  background: var(--rep-surface-muted) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible {
  color: var(--rep-primary-strong) !important;
  border-color: var(--rep-primary-strong) !important;
  background: var(--rep-surface-muted) !important;
}

.btn-outline-secondary {
  color: var(--rep-text) !important;
  border-color: var(--rep-border-strong) !important;
  background: var(--rep-surface-muted) !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible {
  color: var(--rep-text) !important;
  border-color: var(--rep-text-muted) !important;
  background: var(--rep-surface-muted) !important;
}

.rep-data-table-toolbar [data-filter-reset],
.rep-data-table-toolbar .btn-outline-secondary[data-filter-reset] {
  color: #334155 !important;
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
}

.rep-data-table-toolbar [data-filter-reset]:hover,
.rep-data-table-toolbar [data-filter-reset]:focus-visible {
  color: #0f172a !important;
  border-color: #94a3b8 !important;
  background: #e2e8f0 !important;
  box-shadow: var(--rep-btn-shadow-hover) !important;
}

.btn-outline-danger {
  color: var(--rep-state-danger-text) !important;
  border-color: var(--rep-state-danger-border) !important;
  background: var(--rep-state-danger-bg) !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus-visible {
  color: #fff !important;
  border-color: var(--rep-action-danger) !important;
  background: var(--rep-action-danger) !important;
}

.btn-outline-info,
.btn-info {
  color: var(--rep-state-info-text) !important;
  border-color: var(--rep-state-info-border) !important;
  background: var(--rep-state-info-bg) !important;
}

.btn-outline-info:hover,
.btn-outline-info:focus-visible,
.btn-info:hover,
.btn-info:focus-visible {
  color: var(--rep-state-info-text) !important;
  border-color: var(--rep-state-info-border) !important;
  background: color-mix(in srgb, var(--rep-state-info-border) 18%, var(--rep-state-info-bg)) !important;
}

.btn-outline-success,
.btn-outline-warning {
  color: var(--rep-state-success-text) !important;
  border-color: var(--rep-state-success-border) !important;
  background: var(--rep-state-success-bg) !important;
}
.btn-outline-warning {
  color: var(--rep-state-warning-text) !important;
  border-color: var(--rep-state-warning-border) !important;
  background: var(--rep-state-warning-bg) !important;
}
.btn-outline-success:hover,
.btn-outline-success:focus-visible {
  color: #fff !important;
  border-color: var(--rep-action-success) !important;
  background: var(--rep-action-success) !important;
}
.btn-outline-warning:hover,
.btn-outline-warning:focus-visible {
  color: #fff !important;
  border-color: var(--rep-action-warning) !important;
  background: var(--rep-action-warning) !important;
}

.btn-success {
  color: #fff !important;
  border-color: var(--rep-action-success) !important;
  background: var(--rep-action-success) !important;
  box-shadow: var(--rep-btn-shadow) !important;
}

.btn-success:hover,
.btn-success:focus-visible {
  color: #fff !important;
  border-color: var(--rep-action-success-hover) !important;
  background: var(--rep-action-success-hover) !important;
  box-shadow: var(--rep-btn-shadow-hover) !important;
}

.btn-warning {
  color: #ffffff !important;
  border-color: var(--rep-action-warning) !important;
  background: var(--rep-action-warning) !important;
  box-shadow: var(--rep-btn-shadow) !important;
}

.btn-warning:hover,
.btn-warning:focus-visible {
  color: #ffffff !important;
  border-color: var(--rep-action-warning-hover) !important;
  background: var(--rep-action-warning-hover) !important;
  box-shadow: var(--rep-btn-shadow-hover) !important;
}

.btn:disabled,
.rep-toolbar-btn:disabled,
.header-action-btn:disabled,
.btn.disabled {
  opacity: 0.62 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

.btn.rep-workflow-action:disabled {
  opacity: 1 !important;
  cursor: default !important;
}

form[aria-busy='true'] .btn:disabled {
  opacity: 1 !important;
  cursor: progress !important;
}

.btn-sm {
  height: auto !important;
  min-height: 2.2rem !important;
  font-size: 0.82rem !important;
  padding-inline: 0.78rem !important;
}

.btn-lg {
  height: auto !important;
  min-height: 2.75rem !important;
  font-size: 0.94rem !important;
  padding-inline: 1.1rem !important;
}

[data-bs-theme='dark'] .btn-outline-primary,
[data-bs-theme='dark'] .btn-outline-secondary {
  background: #111827 !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}

[data-bs-theme='dark'] .btn-outline-primary:hover,
[data-bs-theme='dark'] .btn-outline-primary:focus-visible,
[data-bs-theme='dark'] .btn-outline-secondary:hover,
[data-bs-theme='dark'] .btn-outline-secondary:focus-visible {
  background: #1e293b !important;
  border-color: #475569 !important;
  color: #f8fafc !important;
}

[data-bs-theme='dark'] .btn-outline-primary {
  color: var(--rep-primary) !important;
  border-color: var(--rep-primary) !important;
  background: color-mix(in srgb, var(--rep-primary) 18%, var(--rep-surface)) !important;
}
[data-bs-theme='dark'] .btn-outline-primary:hover,
[data-bs-theme='dark'] .btn-outline-primary:focus-visible {
  color: var(--rep-primary-strong) !important;
  border-color: var(--rep-primary-strong) !important;
  background: color-mix(in srgb, var(--rep-primary) 25%, var(--rep-surface)) !important;
}

[data-bs-theme='dark'] .btn-outline-secondary {
  color: #cbd5e1 !important;
  border-color: #475569 !important;
  background: #1e293b !important;
}

[data-bs-theme='dark'] .rep-data-table-toolbar [data-filter-reset],
[data-bs-theme='dark'] .rep-data-table-toolbar .btn-outline-secondary[data-filter-reset] {
  color: #cbd5e1 !important;
  border-color: #475569 !important;
  background: #1e293b !important;
}

[data-bs-theme='dark'] .rep-data-table-toolbar [data-filter-reset]:hover,
[data-bs-theme='dark'] .rep-data-table-toolbar [data-filter-reset]:focus-visible {
  color: #f8fafc !important;
  border-color: #64748b !important;
  background: #334155 !important;
}

.rep-table .rep-cell-checkbox,
.rep-table-advanced .rep-cell-checkbox {
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  text-align: center;
}

/* Authoritative searchable-select overflow safety */
.rep-card.dropdown-open,
.rep-panel.dropdown-open,
.rep-card-body.dropdown-open,
.rep-panel-body.dropdown-open,
.rep-form-section.dropdown-open {
  overflow: visible !important;
}

/* Authoritative form field border reset */
.rep-form-field .form-control,
.rep-form-field .form-select,
.rep-field-control .form-control,
.rep-field-control .form-select {
  border: 0.5px solid var(--rep-border) !important;
  background: var(--rep-surface) !important;
  color: var(--rep-text) !important;
  box-shadow: inset 0 0 0 color-mix(in srgb, #ffffff 78%, transparent) !important;
}

/* Theme-switch safe form/button surfaces + global thin border system */
html.rep-theme-switching .rep-form-field .form-control,
html.rep-theme-switching .rep-form-field .form-select,
html.rep-theme-switching .rep-field-control .form-control,
html.rep-theme-switching .rep-field-control .form-select,
html.rep-theme-switching form .searchable-select .btn.form-select,
html.rep-theme-switching form .searchable-select .dropdown-menu,
html.rep-theme-switching form .searchable-select .ss-search,
html.rep-theme-switching form .searchable-select .ss-group-label {
  background: var(--rep-surface) !important;
  color: var(--rep-text) !important;
  border-color: var(--rep-border) !important;
}

[data-bs-theme='dark'] form .searchable-select .btn.form-select,
[data-bs-theme='dark'] form .searchable-select .dropdown-menu,
[data-bs-theme='dark'] form .searchable-select .ss-search,
[data-bs-theme='dark'] form .searchable-select .ss-group-label,
[data-bs-theme='dark'] form .form-control,
[data-bs-theme='dark'] form .form-select,
[data-bs-theme='dark'] .rep-form-field .form-control,
[data-bs-theme='dark'] .rep-form-field .form-select,
[data-bs-theme='dark'] .rep-field-control .form-control,
[data-bs-theme='dark'] .rep-field-control .form-select {
  background: var(--rep-surface) !important;
  color: var(--rep-text) !important;
  border-color: var(--rep-border) !important;
}

.form-control,
.form-select,
.rep-form-field .form-control,
.rep-form-field .form-select,
.rep-field-control .form-control,
.rep-field-control .form-select {
  border-width: 0.5px !important;
}

.form-control:hover,
.form-control:focus,
.form-select:hover,
.form-select:focus,
.rep-form-field .form-control:hover,
.rep-form-field .form-control:focus,
.rep-form-field .form-select:hover,
.rep-form-field .form-select:focus,
.rep-field-control .form-control:hover,
.rep-field-control .form-control:focus,
.rep-field-control .form-select:hover,
.rep-field-control .form-select:focus {
  border-width: 0.5px !important;
}

.rep-form-field .form-control:hover,
.rep-form-field .form-select:hover,
.rep-field-control .form-control:hover,
.rep-field-control .form-select:hover {
  border-color: color-mix(in srgb, var(--rep-primary) 24%, var(--rep-border)) !important;
}

.rep-form-field .form-control:focus,
.rep-form-field .form-select:focus,
.rep-field-control .form-control:focus,
.rep-field-control .form-select:focus {
  border: 0.5px solid color-mix(in srgb, var(--rep-primary) 48%, var(--rep-border)) !important;
  background: var(--rep-surface) !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--rep-primary) 14%, transparent) !important;
}

/* Premium Navbar Component (app header only) */
:root {
  --rep-header-h: 72px;
  --rep-header-bg: #ffffff;
  --rep-header-surface: #ffffff;
  --rep-header-border: rgba(15, 23, 42, 0.1);
  --rep-header-text: #0f172a;
  --rep-header-muted: #64748b;
  --rep-header-hover: #e6f5f1;
  --rep-header-active: #d5eee7;
  --rep-brand-blue: #4338ca;
  --rep-brand-cyan: #0f766e;
}
[data-bs-theme='dark'] {
  --rep-header-bg: #0f172a;
  --rep-header-surface: #0f172a;
  --rep-header-border: rgba(148, 163, 184, 0.16);
  --rep-header-text: #f8fafc;
  --rep-header-muted: #94a3b8;
  --rep-header-hover: #133b39;
  --rep-header-active: #1b4e49;
  --rep-brand-blue: #a5b4fc;
  --rep-brand-cyan: #5eead4;
}
.rep-topbar.app-header {
  min-height: var(--rep-header-h);
  background: var(--rep-header-bg);
  border-bottom: 1px solid var(--rep-header-border);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  z-index: 1030;
}
.rep-topbar .rep-topbar-shell {
  min-height: var(--rep-header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.7rem 0.9rem;
}
.rep-topbar .app-header__divider,
.rep-topbar .brand-sep {
  width: 1.5px;
  height: 42px;
  margin: 0 0.75rem;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.28), rgba(15, 23, 42, 0.06));
}
[data-bs-theme='dark'] .rep-topbar .app-header__divider,
[data-bs-theme='dark'] .rep-topbar .brand-sep {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.08));
  box-shadow:
    0 0 10px rgba(96, 165, 250, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.rep-topbar .header-action-btn,
.rep-topbar .topbar-icon,
.rep-topbar .rep-icon-btn,
.rep-topbar .rep-theme-btn,
.rep-topbar .rep-user-trigger {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border: 1px solid var(--rep-header-border);
  border-radius: 999px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  color: var(--rep-header-muted);
  background: var(--rep-header-surface);
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  transition:
    color 0.14s ease,
    background-color 0.14s ease,
    border-color 0.14s ease,
    box-shadow 0.14s ease;
}
.rep-topbar .header-action-btn:hover,
.rep-topbar .header-action-btn:focus-visible,
.rep-topbar .topbar-icon:hover,
.rep-topbar .rep-icon-btn:hover,
.rep-topbar .rep-theme-btn:hover,
.rep-topbar .rep-user-trigger:hover {
  color: var(--rep-brand-blue);
  background: var(--rep-header-hover);
  border-color: color-mix(in srgb, var(--rep-brand-blue) 30%, var(--rep-header-border));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--rep-brand-blue) 16%, transparent);
}
.rep-topbar .header-action-btn:active,
.rep-topbar .header-action-btn.show,
.rep-topbar .rep-user-trigger.show {
  color: var(--rep-brand-blue);
  background: var(--rep-header-active);
}
[data-bs-theme='dark'] .rep-topbar .header-action-btn,
[data-bs-theme='dark'] .rep-topbar .topbar-icon,
[data-bs-theme='dark'] .rep-topbar .rep-icon-btn,
[data-bs-theme='dark'] .rep-topbar .rep-theme-btn,
[data-bs-theme='dark'] .rep-topbar .rep-user-trigger {
  color: #cbd5e1;
  background: #111827;
  border-color: rgba(148, 163, 184, 0.24);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.04) inset,
    0 6px 18px rgba(0, 0, 0, 0.24);
}
[data-bs-theme='dark'] .rep-topbar .header-action-btn:hover,
[data-bs-theme='dark'] .rep-topbar .topbar-icon:hover,
[data-bs-theme='dark'] .rep-topbar .rep-icon-btn:hover,
[data-bs-theme='dark'] .rep-topbar .rep-theme-btn:hover,
[data-bs-theme='dark'] .rep-topbar .rep-user-trigger:hover {
  color: #ffffff;
  border-color: rgba(96, 165, 250, 0.45);
  background: #1e293b;
  box-shadow:
    0 0 0 2px rgba(96, 165, 250, 0.18),
    0 0 20px rgba(96, 165, 250, 0.2);
}
.rep-topbar .rep-theme-btn [data-theme-label] {
  display: none !important;
}
.rep-topbar .rep-user-trigger {
  width: auto;
  min-width: 42px;
  padding: 0 0.35rem;
}
.rep-account-control { display: flex; align-items: center; flex: 0 0 auto; }
.rep-topbar .rep-user-trigger-avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 30% 20%, #99f6e4, transparent 34%), linear-gradient(135deg, #0f766e, #4338ca);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}
.rep-topbar .rep-user-trigger-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rep-topbar .rep-user-trigger-caret {
  font-size: 0.72rem;
  color: var(--rep-header-muted);
  margin-left: 0.1rem;
}
.rep-topbar .dropdown-menu {
  border: 1px solid var(--rep-header-border);
  border-radius: 0.3rem;
  padding: 0.45rem;
  background: var(--rep-header-surface);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
}
[data-bs-theme='dark'] .rep-topbar .dropdown-menu {
  background: #0f172a;
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.03) inset;
}
.rep-topbar .dropdown-item {
  border-radius: 0.3rem;
  padding: 0.62rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-weight: 500;
  color: var(--rep-header-text);
  transition:
    background-color 0.14s ease,
    color 0.14s ease;
}
.rep-topbar .dropdown-item:hover {
  color: var(--rep-brand-blue);
  background: var(--rep-header-hover);
}
.rep-topbar .dropdown-item.text-danger:hover {
  color: #dc2626 !important;
  background: rgba(220, 38, 38, 0.09);
}
.rep-topbar .notification-badge,
.rep-topbar .topbar-badge {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 700;
  border: 2px solid var(--rep-header-surface);
  box-shadow: 0 6px 16px rgba(220, 38, 38, 0.25);
}
.rep-topbar .rep-user-menu .rep-user-trigger-avatar {
  width: 36px;
  height: 36px;
}
.rep-topbar .rep-brand-block {
  display: inline-flex;
  align-items: center;
  gap: 0.62rem;
}
.rep-topbar .rep-brand-chip {
  height: 40px;
  padding: 0 0.8rem;
  border-radius: 0.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, #0f766e 0%, #4338ca 100%);
  box-shadow:
    0 4px 12px rgba(15, 118, 110, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
  position: relative;
  overflow: hidden;
}
.rep-topbar .rep-brand-chip::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 8%, rgba(255, 255, 255, 0.62) 48%, transparent 88%);
  transform: translateX(-140%);
  animation: rep-brand-shimmer 3.8s cubic-bezier(0.42, 0, 0.2, 1) infinite;
  will-change: transform, opacity;
}
.rep-topbar:hover .rep-brand-chip::before {
  animation-duration: 1.8s;
  opacity: 1;
  filter: brightness(1.18);
}
[data-bs-theme='dark'] .rep-topbar .rep-brand-chip::before {
  background: linear-gradient(120deg, transparent 8%, rgba(255, 255, 255, 0.72) 50%, transparent 88%);
  animation-duration: 4.2s;
}
@keyframes rep-brand-shimmer {
  0% {
    transform: translateX(-150%);
    opacity: 0;
  }
  6% {
    opacity: 0.28;
  }
  16% {
    transform: translateX(150%);
    opacity: 0.72;
  }
  27% {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  46% {
    opacity: 0.2;
  }
  54% {
    transform: translateX(150%);
    opacity: 0.64;
  }
  69% {
    opacity: 0;
  }
  100% {
    transform: translateX(150%);
    opacity: 0;
  }
}
.rep-topbar .rep-brand-copy {
  display: inline-flex;
  flex-direction: column;
  min-width: 0;
}
.rep-topbar .rep-brand-title {
  font-size: 0.99rem;
  font-weight: 750;
  line-height: 1.4;
  color: var(--rep-header-text);
  white-space: nowrap;
}
.rep-topbar .rep-brand-title span {
  color: var(--rep-brand-blue);
}
.rep-topbar .rep-brand-meta {
  font-size: 0.72rem;
  font-weight: 450;
  color: var(--rep-header-muted);
  white-space: nowrap;
}
[data-bs-theme='dark'] .rep-topbar .rep-brand-title {
  color: #f8fafc;
  text-shadow: 0 0 18px rgba(255, 255, 255, 0.04);
}
[data-bs-theme='dark'] .rep-topbar .rep-brand-chip {
  background: linear-gradient(135deg, #0f766e 0%, #4f46e5 100%);
  box-shadow:
    0 0 14px rgba(94, 234, 212, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
@media (max-width: 767.98px) {
  .rep-topbar .rep-brand-meta,
  .rep-topbar .rep-brand-title {
    display: none !important;
  }
  .rep-topbar .rep-brand-chip {
    height: 30px;
    padding: 0 0.7rem;
    font-size: 0.8rem;
  }
}
@media (max-width: 575.98px) {
  .rep-topbar .rep-topbar-shell {
    padding: 0.55rem 0.65rem;
  }
  .rep-topbar .header-action-btn,
  .rep-topbar .topbar-icon,
  .rep-topbar .rep-icon-btn,
  .rep-topbar .rep-theme-btn {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }
  .rep-topbar .rep-user-trigger {
    min-width: 38px;
    height: 38px;
    padding: 0 0.25rem;
  }
  .rep-topbar .rep-user-trigger-avatar {
    width: 30px;
    height: 30px;
  }
  .rep-topbar .rep-user-trigger-caret,
  .rep-topbar .rep-brand-title,
  .rep-topbar .rep-brand-meta {
    display: none !important;
  }
  .rep-topbar .dropdown-menu {
    max-width: calc(100vw - 1rem);
  }
}
@media (max-width: 359.98px) {
  .rep-topbar .rep-topbar-shell {
    gap: 0.25rem;
    padding-inline: 0.4rem;
  }
  .rep-topbar .app-header__left,
  .rep-topbar .app-header__actions {
    gap: 0.15rem;
  }
  .rep-topbar .app-header__logo {
    max-width: 96px;
  }
}

.rep-profile-hero-card {
  position: relative;
  overflow: hidden;
  border: 0.5px solid var(--rep-header-border, rgba(15, 23, 42, 0.1));
  border-radius: 0.3rem;
  padding: 2rem;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, #ffffff, #f8fafc);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
}

.rep-profile-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(37, 99, 235, 0.13), transparent 28%), radial-gradient(circle at 82% 10%, rgba(124, 58, 237, 0.12), transparent 26%);
  pointer-events: none;
}

.rep-profile-identity {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.rep-avatar-upload {
  position: relative;
  flex: 0 0 auto;
}

.rep-avatar-preview {
  width: 104px;
  height: 104px;
  border-radius: 999px !important;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  border: 3px solid #fff;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.14);
}

.rep-avatar-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rep-avatar-fallback {
  color: #fff;
  font-size: 2.1rem;
  line-height: 1;
}

.rep-avatar-edit-btn {
  position: absolute;
  right: 2px;
  bottom: 8px;
  width: 34px;
  height: 34px;
  border-radius: 999px !important;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #4f46e5);
  border: 2px solid #fff;
  box-shadow: 0 4px 10px rgba(37, 99, 235, 0.18);
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease;
  padding: 0;
}

.rep-avatar-edit-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(37, 99, 235, 0.22);
}

.rep-avatar-edit-btn[data-has-avatar='1'] {
  background: linear-gradient(135deg, #ef4444, #dc2626);
}

.rep-profile-kicker {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #2563eb;
  margin-bottom: 0.3rem;
}

.rep-profile-copy h2 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0f172a;
}
.rep-profile-copy { min-width: 0; overflow-wrap: anywhere; }

.rep-profile-copy p {
  margin: 0.25rem 0 0.8rem;
  color: #64748b;
  font-weight: 500;
}

.rep-profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.rep-profile-tag {
  padding: 0.32rem 0.65rem;
  border-radius: 999px !important;
  font-size: 0.72rem;
  font-weight: 700;
  color: #2563eb;
  background: rgba(37, 99, 235, 0.09);
  border: 0.5px solid rgba(37, 99, 235, 0.16);
}

.rep-profile-tag.success {
  color: #059669;
  background: rgba(5, 150, 105, 0.1);
  border-color: rgba(5, 150, 105, 0.18);
}

.rep-profile-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.rep-profile-detail-card {
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  background: var(--rep-surface-2);
  padding: 0.72rem 0.78rem;
  min-width: 0;
}

.rep-profile-detail-card-full {
  grid-column: 1 / -1;
}

.rep-profile-detail-label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--rep-text-muted);
  margin-bottom: 0.28rem;
}

.rep-profile-detail-value {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--rep-text);
  overflow-wrap: anywhere;
}

[data-bs-theme='dark'] .rep-profile-hero-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(30, 41, 59, 0.9));
  border-color: rgba(148, 163, 184, 0.2);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.24);
}

[data-bs-theme='dark'] .rep-profile-copy h2 {
  color: #f8fafc;
}
[data-bs-theme='dark'] .rep-profile-copy p {
  color: #94a3b8;
}
[data-bs-theme='dark'] .rep-avatar-preview {
  border-color: rgba(15, 23, 42, 1);
}
[data-bs-theme='dark'] .rep-profile-detail-card {
  border-color: rgba(148, 163, 184, 0.2);
  background: color-mix(in srgb, var(--rep-surface) 88%, #0b1220 12%);
}
[data-bs-theme='dark'] .rep-profile-detail-value {
  color: #e2e8f0;
}

@media (max-width: 575.98px) {
  .rep-profile-hero-card {
    padding: 1rem;
  }
  .rep-profile-identity {
    gap: .875rem;
    align-items: flex-start;
  }
  .rep-avatar-preview {
    width: 64px;
    height: 64px;
  }
  .rep-profile-copy h2 {
    font-size: 1.05rem;
  }
  .rep-profile-tags {
    gap: .35rem;
  }
  .rep-profile-detail-grid {
    grid-template-columns: 1fr;
    gap: 0.62rem;
  }
}

/* Profile + navbar avatar final consistency overrides */
.rep-topbar .rep-user-trigger-avatar,
.rep-topbar .rep-user-menu .rep-user-trigger-avatar,
.rep-avatar-preview {
  overflow: hidden !important;
}

.rep-topbar .rep-user-trigger-avatar img,
.rep-topbar .rep-user-menu .rep-user-trigger-avatar img,
.rep-avatar-preview img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: 50% 38% !important;
}

.rep-topbar .rep-user-trigger-avatar {
  width: 34px !important;
  height: 34px !important;
}

.rep-topbar .rep-user-menu .rep-user-trigger-avatar {
  width: 38px !important;
  height: 38px !important;
}

.rep-avatar-initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

[data-avatar-full] {
  cursor: zoom-in;
}

.rep-avatar-modal-content {
  border: 0.5px solid var(--rep-border, rgba(15, 23, 42, 0.14));
  border-radius: 0.3rem;
  overflow: hidden;
  background: var(--rep-surface, #fff);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
}

.rep-avatar-modal-body {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: color-mix(in srgb, var(--rep-surface, #fff) 92%, #000 8%);
}

#repAvatarPreviewImage {
  width: min(78vw, 520px);
  height: min(78vw, 520px);
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
  border-radius: 0.3rem;
  background: var(--rep-surface-card, #f8fafc);
}

[data-bs-theme='dark'] .rep-avatar-modal-content {
  border-color: rgba(148, 163, 184, 0.24);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
}

.rep-dashboard-profile {
  position: relative;
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  column-gap: 1.25rem;
  row-gap: 1.25rem;
  align-items: start;
}
.rep-dashboard-profile-photo {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 85px;
  padding: 0;
  border: 1px solid var(--rep-border);
  border-radius: .5rem;
  overflow: hidden;
  background: var(--rep-surface-2);
  color: var(--rep-primary);
}
button.rep-dashboard-profile-photo { cursor: zoom-in; }
.rep-dashboard-profile-photo:focus-visible { outline: 2px solid var(--rep-primary); outline-offset: 3px; }
.rep-dashboard-profile-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 38%;
  display: block;
}

.rep-dashboard-profile-fallback { font-size: 2rem; font-weight: 700; }
.rep-dashboard-profile-identity { grid-column: 2; grid-row: 1; display: flex; flex-wrap: wrap; align-items: center; align-content: start; gap: .625rem; min-width: 0; padding-inline-end: 11rem; }
.rep-dashboard-profile-name { margin: 0; font-size: 1.375rem; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.rep-dashboard-profile-identity .rep-status-chip {
  min-height: 22px;
  font-size: .75rem;
  line-height: 1.25;
  padding: .125rem .375rem;
  gap: .25rem;
}
.rep-dashboard-profile-checklist {
  grid-column: 1 / -1;
  grid-row: 3;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.rep-dashboard-profile-checklist > summary {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  padding: .25rem 0;
  text-align: end;
  max-width: 11rem;
}
.rep-dashboard-profile-checklist > summary:hover { text-decoration: underline; }
.rep-dashboard-profile-checklist > summary:focus-visible { outline: 2px solid var(--rep-primary); outline-offset: 3px; }
.rep-dashboard-completion-panel { padding: .5rem; }
@supports (interpolate-size: allow-keywords) {
  .rep-dashboard-profile-checklist { interpolate-size: allow-keywords; }
  .rep-dashboard-profile-checklist::details-content {
    block-size: 0;
    overflow: clip;
    transition: block-size .18s ease, content-visibility .18s allow-discrete;
  }
  .rep-dashboard-profile-checklist[open]::details-content { block-size: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .rep-dashboard-profile-checklist::details-content { transition: none; }
}
.rep-completion-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: .5rem; }
.rep-dashboard-profile .rep-detail-item.rep-completion-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .375rem .5rem; padding: .375rem .5rem; }
.rep-completion-item .rep-detail-label { font-size: .6875rem; line-height: 1.35; }
.rep-completion-item > .rep-status-chip { min-height: 20px; padding: .125rem .375rem; font-size: .6875rem; }
.rep-completion-item > .small { grid-column: 1 / -1; font-size: .75rem; }
.rep-dashboard-profile-grid {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  min-width: 0;
  margin: 0;
}
.rep-dashboard-profile-grid dt,
.rep-dashboard-profile-grid dd { margin: 0; }
.rep-dashboard-profile-grid .rep-detail-item { gap: .4rem; min-width: 0; }
.rep-dashboard-profile-grid .rep-detail-value { overflow-wrap: anywhere; }
@media (min-width: 768px) {
  .rep-dashboard-profile-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rep-dashboard-profile-email { grid-column: span 2; }
}
.rep-role-list { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
@media (max-width: 575.98px) {
  .rep-dashboard-profile { grid-template-columns: 90px minmax(0, 1fr); gap: .875rem; }
  .rep-dashboard-profile-photo { grid-row: 1; }
  .rep-dashboard-profile-identity { align-self: center; padding-inline-end: 0; }
  .rep-dashboard-profile-checklist > summary { position: static; margin-inline-start: auto; }
  .rep-dashboard-completion-panel { margin-top: .5rem; }
  .rep-dashboard-profile-grid { grid-column: 1 / -1; }
}

/* Avatar initial alignment and profile-only preview trigger */
.rep-topbar .rep-user-trigger-avatar .rep-avatar-initial,
.rep-topbar .rep-user-menu .rep-user-trigger-avatar .rep-avatar-initial,
.rep-avatar-preview .rep-avatar-fallback {
  width: 100%;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center;
}

.rep-topbar .rep-user-trigger-avatar .rep-avatar-initial,
.rep-topbar .rep-user-menu .rep-user-trigger-avatar .rep-avatar-initial {
  font-size: 0.82rem;
  font-weight: 800;
}

[data-profile-avatar-preview] {
  cursor: zoom-in;
}

.rep-avatar-modal {
  background: rgba(2, 6, 23, 0.62);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.rep-avatar-modal .modal-dialog {
  width: min(94vw, 760px);
  max-width: 760px;
  margin: 1rem auto;
}

.rep-avatar-modal-content {
  border: 0.5px solid var(--rep-border, rgba(15, 23, 42, 0.14));
  border-radius: 0.3rem;
  overflow: hidden;
  background: var(--rep-surface, #fff);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.22);
}

.rep-avatar-modal .modal-header {
  padding: 0.85rem 1rem;
  border-bottom: 0.5px solid var(--rep-border, rgba(15, 23, 42, 0.12));
}

.rep-avatar-modal-body {
  padding: 0.9rem;
  background: linear-gradient(180deg, rgba(148, 163, 184, 0.08), rgba(148, 163, 184, 0.02));
}

#repAvatarPreviewImage {
  width: 100%;
  height: auto;
  max-height: min(76vh, 720px);
  object-fit: contain;
  border-radius: 0.3rem;
  background: var(--rep-surface-card, #f8fafc);
}

@media (max-width: 575.98px) {
  .rep-avatar-modal .modal-dialog {
    width: calc(100vw - 0.8rem);
    max-width: calc(100vw - 0.8rem);
    margin: 0.4rem auto;
  }

  .rep-avatar-modal .modal-header {
    padding: 0.72rem 0.8rem;
  }

  .rep-avatar-modal-body {
    padding: 0.6rem;
  }
}

.rep-external-modal {
  background: rgba(2, 6, 23, 0.58);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.rep-external-modal .modal-dialog {
  width: min(92vw, 520px);
  max-width: 520px;
  margin: 1rem auto;
}

.rep-external-modal-content {
  border: 0.5px solid var(--rep-border, rgba(15, 23, 42, 0.14));
  border-radius: 0.3rem;
  overflow: hidden;
  background: var(--rep-surface, #fff);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.22);
}

.rep-external-modal .modal-header {
  padding: 0.82rem 1rem;
  border-bottom: 0.5px solid var(--rep-border, rgba(15, 23, 42, 0.12));
}

.rep-external-modal-icon {
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rep-primary, #2563eb);
  background: rgba(37, 99, 235, 0.12);
}

.rep-external-modal-body {
  padding: 0.95rem 1rem;
  color: var(--rep-text, #0f172a);
}

.rep-external-modal .modal-footer {
  border-top: 0.5px solid var(--rep-border, rgba(15, 23, 42, 0.12));
  padding: 0.72rem 1rem;
}

[data-bs-theme='dark'] .rep-external-modal-content {
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.45);
}

@media (max-width: 575.98px) {
  .rep-external-modal .modal-dialog {
    width: calc(100vw - 0.7rem);
    max-width: calc(100vw - 0.7rem);
    margin: 0.35rem auto;
  }

  .rep-external-modal .modal-header,
  .rep-external-modal-body,
  .rep-external-modal .modal-footer {
    padding-inline: 0.78rem;
  }
}

/* Sidebar heading + icon refinement */
.rep-sidebar-section {
  --rep-nav-tone: var(--rep-primary);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.25rem 0.35rem 0.4rem;
}
.rep-sidebar-section + .rep-sidebar-section {
  border-top: 1px solid color-mix(in srgb, var(--rep-border) 65%, transparent);
  padding-top: 0.65rem;
}
.rep-sidebar-section--overview { --rep-nav-tone: #4338ca; }
.rep-sidebar-section--forms { --rep-nav-tone: #6d28d9; }
.rep-sidebar-section--recruitment { --rep-nav-tone: #1d4ed8; }
.rep-sidebar-section--vendors,
.rep-sidebar-section--help { --rep-nav-tone: #0f766e; }
.rep-sidebar-section--compliance { --rep-nav-tone: #be123c; }
.rep-sidebar-section--activity { --rep-nav-tone: #b45309; }
.rep-sidebar-section--administration,
.rep-sidebar-section--account { --rep-nav-tone: #475569; }

.rep-sidebar-label {
  position: relative;
  display: block;
  margin: 0.25rem 0.35rem 0.4rem;
  padding: 0.15rem 0 0.4rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.065em;
  text-transform: uppercase;
  color: var(--rep-text-muted);
}

.rep-sidebar-label::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--rep-nav-tone) 35%, transparent), color-mix(in srgb, var(--rep-border) 30%, transparent), transparent);
}

.rep-sidebar-link {
  min-height: 2.55rem;
  padding: 0.38rem 0.5rem;
}

.rep-sidebar-link-icon {
  width: 1.7rem;
  height: 1.7rem;
  border: 0;
  border-radius: 0.5rem;
  background: color-mix(in srgb, var(--rep-nav-tone) 12%, var(--rep-surface));
  color: var(--rep-nav-tone);
}

.rep-sidebar-link-icon i {
  font-size: 0.9rem;
  font-weight: 700;
}

.rep-sidebar-link-text {
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
}

.rep-sidebar-link:hover .rep-sidebar-link-icon,
.rep-sidebar-link.is-active .rep-sidebar-link-icon {
  background: color-mix(in srgb, var(--rep-nav-tone) 18%, var(--rep-surface));
  color: var(--rep-nav-tone);
}

[data-bs-theme='dark'] .rep-sidebar-label::after {
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--rep-nav-tone) 42%, transparent),
    color-mix(in srgb, var(--rep-border) 40%, transparent),
    transparent
  );
}

[data-bs-theme='dark'] .rep-sidebar-section {
  background: transparent;
  box-shadow: none;
}
[data-bs-theme='dark'] .rep-sidebar-section--overview { --rep-nav-tone: #a5b4fc; }
[data-bs-theme='dark'] .rep-sidebar-section--forms { --rep-nav-tone: #c4b5fd; }
[data-bs-theme='dark'] .rep-sidebar-section--recruitment { --rep-nav-tone: #93c5fd; }
[data-bs-theme='dark'] .rep-sidebar-section--vendors,
[data-bs-theme='dark'] .rep-sidebar-section--help { --rep-nav-tone: #5eead4; }
[data-bs-theme='dark'] .rep-sidebar-section--compliance { --rep-nav-tone: #fda4af; }
[data-bs-theme='dark'] .rep-sidebar-section--activity { --rep-nav-tone: #fcd34d; }
[data-bs-theme='dark'] .rep-sidebar-section--administration,
[data-bs-theme='dark'] .rep-sidebar-section--account { --rep-nav-tone: #cbd5e1; }

[data-bs-theme='dark'] .rep-sidebar-link-icon {
  background: color-mix(in srgb, var(--rep-nav-tone) 14%, var(--rep-surface));
}
.rep-app-body .rep-sidebar .rep-sidebar-link:hover,
.rep-app-body .rep-sidebar .rep-sidebar-link:focus-visible,
.rep-app-body .rep-sidebar .rep-sidebar-link.is-active {
  border-color: transparent !important;
  background: color-mix(in srgb, var(--rep-nav-tone) 11%, var(--rep-surface)) !important;
  color: var(--rep-text) !important;
  box-shadow: inset 2px 0 0 var(--rep-nav-tone) !important;
}
.rep-app-body .rep-sidebar .rep-sidebar-link.is-active .rep-sidebar-link-text {
  color: var(--rep-text) !important;
}

/* Stronger, filled header actions (app + public) */
.app-header .app-header__actions .header-action-btn,
.rep-topbar .rep-topbar-actions .header-action-btn {
  border: 0.5px solid color-mix(in srgb, var(--rep-primary) 22%, var(--rep-border));
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-primary) 14%, #fff), color-mix(in srgb, var(--rep-primary) 6%, #fff));
  color: color-mix(in srgb, var(--rep-primary-strong) 88%, #0f172a);
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.12);
}

.app-header .app-header__actions .header-action-btn i,
.rep-topbar .rep-topbar-actions .header-action-btn i {
  font-size: 1rem;
  font-weight: 800;
  color: currentColor;
}

.app-header .app-header__actions .app-header__resource-btn,
.rep-topbar .rep-topbar-actions .app-header__resource-btn {
  padding-inline: 0.72rem;
  min-width: 0;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.app-header .app-header__actions .header-action-btn:hover,
.app-header .app-header__actions .header-action-btn:focus-visible,
.rep-topbar .rep-topbar-actions .header-action-btn:hover,
.rep-topbar .rep-topbar-actions .header-action-btn:focus-visible {
  color: var(--rep-primary-strong);
  border-color: color-mix(in srgb, var(--rep-primary) 40%, var(--rep-border));
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-primary) 20%, #fff), color-mix(in srgb, var(--rep-primary) 10%, #fff));
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.18);
}

.app-header .app-header__actions .header-action-btn:active,
.app-header .app-header__actions .header-action-btn.show,
.rep-topbar .rep-topbar-actions .header-action-btn:active,
.rep-topbar .rep-topbar-actions .header-action-btn.show {
  box-shadow: 0 4px 10px rgba(37, 99, 235, 0.16);
  transform: translateY(0);
}

[data-bs-theme='dark'] .app-header .app-header__actions .header-action-btn,
[data-bs-theme='dark'] .rep-topbar .rep-topbar-actions .header-action-btn {
  border-color: rgba(96, 165, 250, 0.34);
  background: linear-gradient(180deg, rgba(37, 99, 235, 0.34), rgba(30, 41, 59, 0.95));
  color: #e2e8f0;
  box-shadow: 0 8px 22px rgba(2, 6, 23, 0.45);
}

[data-bs-theme='dark'] .app-header .app-header__actions .header-action-btn:hover,
[data-bs-theme='dark'] .app-header .app-header__actions .header-action-btn:focus-visible,
[data-bs-theme='dark'] .rep-topbar .rep-topbar-actions .header-action-btn:hover,
[data-bs-theme='dark'] .rep-topbar .rep-topbar-actions .header-action-btn:focus-visible {
  color: #ffffff;
  border-color: rgba(96, 165, 250, 0.56);
  background: linear-gradient(180deg, rgba(59, 130, 246, 0.44), rgba(30, 41, 59, 0.98));
  box-shadow:
    0 0 0 3px rgba(96, 165, 250, 0.14),
    0 10px 28px rgba(2, 6, 23, 0.55);
}

/* Header actions: clean premium, low-gradient, bold icon emphasis */
.app-header .app-header__actions .header-action-btn,
.rep-topbar .rep-topbar-actions .header-action-btn {
  background: color-mix(in srgb, var(--rep-surface) 90%, var(--rep-accent) 10%) !important;
  border: 0.5px solid color-mix(in srgb, var(--rep-border) 70%, var(--rep-accent) 30%) !important;
  color: var(--rep-accent) !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
}

.app-header .app-header__actions .header-action-btn i,
.rep-topbar .rep-topbar-actions .header-action-btn i {
  font-size: 1.08rem !important;
  font-weight: 900 !important;
  text-shadow: 0 0 0.01px currentColor;
}

.app-header .app-header__actions .header-action-btn:hover,
.app-header .app-header__actions .header-action-btn:focus-visible,
.rep-topbar .rep-topbar-actions .header-action-btn:hover,
.rep-topbar .rep-topbar-actions .header-action-btn:focus-visible {
  background: color-mix(in srgb, var(--rep-surface) 84%, var(--rep-accent) 16%) !important;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--rep-accent) 12%, transparent) !important;
}

[data-bs-theme='dark'] .app-header .app-header__actions .header-action-btn,
[data-bs-theme='dark'] .rep-topbar .rep-topbar-actions .header-action-btn {
  background: color-mix(in srgb, var(--rep-surface) 86%, var(--rep-accent) 14%) !important;
  border-color: color-mix(in srgb, var(--rep-accent) 34%, var(--rep-border)) !important;
  box-shadow: 0 4px 14px rgba(2, 6, 23, 0.36) !important;
}

[data-bs-theme='dark'] .app-header .app-header__actions .header-action-btn:hover,
[data-bs-theme='dark'] .app-header .app-header__actions .header-action-btn:focus-visible,
[data-bs-theme='dark'] .rep-topbar .rep-topbar-actions .header-action-btn:hover,
[data-bs-theme='dark'] .rep-topbar .rep-topbar-actions .header-action-btn:focus-visible {
  background: color-mix(in srgb, var(--rep-surface) 80%, var(--rep-primary) 20%) !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.22) !important;
}

/* Compact header actions keep equal circles on phones and tablets. */
@media (max-width: 1199.98px) {
  .rep-topbar .rep-topbar-actions .rep-theme-btn,
  .rep-topbar .rep-topbar-actions .rep-icon-btn,
  .rep-topbar .rep-topbar-actions .rep-user-trigger,
  .rep-topbar .rep-topbar-actions .user-menu-trigger,
  .rep-topbar .rep-topbar-actions .rep-account-control .user-menu-trigger,
  .rep-topbar .rep-topbar-actions .header-action-btn:not(.app-header__resource-btn) {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    flex: 0 0 38px;
    box-sizing: border-box;
    padding: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .rep-topbar .rep-topbar-actions .rep-user-trigger-avatar {
    width: 30px !important;
    height: 30px !important;
  }
  .rep-topbar .rep-topbar-actions .rep-user-trigger-caret { display: none !important; }

  .rep-topbar .rep-topbar-actions .app-header__resource-btn {
    border-radius: 0.3rem !important;
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 0.6rem !important;
  }
}

/* Mobile: icon-only topbar actions (no outer circle/border) */
@media (max-width: 767.98px) {
  .rep-topbar .rep-topbar-actions .rep-theme-btn,
  .rep-topbar .rep-topbar-actions .rep-icon-btn,
  .rep-topbar .rep-topbar-actions .rep-user-trigger,
  .rep-topbar .rep-topbar-actions .user-menu-trigger,
  .rep-topbar .rep-topbar-actions .header-action-btn:not(.app-header__resource-btn) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .rep-topbar .rep-topbar-actions .rep-theme-btn:hover,
  .rep-topbar .rep-topbar-actions .rep-icon-btn:hover,
  .rep-topbar .rep-topbar-actions .rep-user-trigger:hover,
  .rep-topbar .rep-topbar-actions .user-menu-trigger:hover,
  .rep-topbar .rep-topbar-actions .header-action-btn:not(.app-header__resource-btn):hover {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .rep-topbar .rep-topbar-actions .rep-user-trigger-avatar {
    border: 0 !important;
    box-shadow: none !important;
  }
}

/* Full desktop header retains its wider profile trigger. */
@media (min-width: 1200px) {
  .rep-topbar .rep-topbar-actions .rep-user-trigger,
  .rep-topbar .rep-topbar-actions .user-menu-trigger {
    min-height: 41px !important;
  }
}

/* Global reusable modal component */
.rep-modal {
  background: rgba(2, 6, 23, 0.56);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.rep-modal .modal-dialog {
  width: min(92vw, 680px);
  max-width: 680px;
  margin: 1rem auto;
}

.rep-modal .modal-dialog.modal-lg {
  width: min(94vw, 960px);
  max-width: 960px;
}

.rep-modal .modal-dialog.modal-xl {
  width: min(96vw, 1180px);
  max-width: 1180px;
}

.rep-modal-content {
  border: 0.5px solid color-mix(in srgb, var(--rep-border) 84%, #cbd5e1 16%);
  border-radius: 0.85rem !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-surface) 96%, #fff 4%), var(--rep-surface));
  box-shadow: 0 20px 52px rgba(15, 23, 42, 0.24);
  overflow: hidden;
}

.rep-modal-header {
  padding: 0.82rem 1rem;
  border-bottom: 0.5px solid var(--rep-border);
  background: color-mix(in srgb, var(--rep-surface-2) 72%, var(--rep-surface));
}

.rep-modal-title {
  margin: 0;
  color: var(--rep-text);
  font-size: 0.94rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.rep-modal-body {
  padding: 0.95rem 1rem;
  color: var(--rep-text);
}

.rep-modal-footer {
  padding: 0.75rem 1rem;
  border-top: 0.5px solid var(--rep-border);
  background: color-mix(in srgb, var(--rep-surface) 78%, var(--rep-surface-2) 22%);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

[data-bs-theme='dark'] .rep-modal-content {
  border-color: rgba(148, 163, 184, 0.28);
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-surface) 88%, #0b1220 12%), var(--rep-surface));
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.52);
}

[data-bs-theme='dark'] .rep-modal-header {
  background: color-mix(in srgb, var(--rep-surface-2) 76%, #0b1220);
}

[data-bs-theme='dark'] .rep-modal-footer {
  background: color-mix(in srgb, var(--rep-surface) 76%, #0b1220 24%);
}

@media (max-width: 575.98px) {
  .rep-modal .modal-dialog,
  .rep-modal .modal-dialog.modal-lg,
  .rep-modal .modal-dialog.modal-xl {
    width: calc(100vw - 0.7rem);
    max-width: calc(100vw - 0.7rem);
    margin: 0.35rem auto;
  }

  .rep-modal-header,
  .rep-modal-body,
  .rep-modal-footer {
    padding-left: 0.78rem;
    padding-right: 0.78rem;
  }

  .rep-modal-footer {
    flex-wrap: wrap;
    justify-content: stretch;
  }

  .rep-modal-footer > .btn,
  .rep-modal-footer > a.btn {
    flex: 1 1 auto;
  }
}

/* --------------------------------------------------------------------------
   REP Global Modal System (Reusable, responsive, theme-aligned)
   -------------------------------------------------------------------------- */
:root {
  --rep-modal-backdrop: color-mix(in srgb, var(--rep-text) 38%, transparent);
  --rep-modal-max: 42rem;
  --rep-modal-max-lg: 60rem;
  --rep-modal-max-xl: 74rem;
  --rep-modal-radius: 0.8rem;
  --rep-modal-head-bg: color-mix(in srgb, var(--rep-surface-2) 72%, var(--rep-surface));
  --rep-modal-foot-bg: color-mix(in srgb, var(--rep-surface) 76%, var(--rep-surface-2) 24%);
  --rep-modal-shadow: 0 22px 54px rgba(15, 23, 42, 0.24);
}

[data-bs-theme='dark'] {
  --rep-modal-backdrop: rgba(2, 6, 23, 0.72);
  --rep-modal-head-bg: color-mix(in srgb, var(--rep-surface-2) 76%, #0b1220);
  --rep-modal-foot-bg: color-mix(in srgb, var(--rep-surface) 74%, #0b1220 26%);
  --rep-modal-shadow: 0 26px 60px rgba(0, 0, 0, 0.56);
}

html.rep-modal-open,
body.rep-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}
body.rep-modal-open .rep-content-scroll,
body.rep-modal-open #sidebar.sidebar {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.rep-modal,
.modal.rep-modal-shell,
.modal.rep-avatar-modal,
.modal.rep-external-modal {
  z-index: 1400;
  background: var(--rep-modal-backdrop);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  padding: 1rem;
  opacity: 0;
  transition: opacity 0.18s ease;
}

.rep-modal.open,
.modal.rep-modal-shell.open,
.modal.rep-avatar-modal.open,
.modal.rep-external-modal.open {
  display: block;
}

.rep-modal.is-visible,
.modal.rep-modal-shell.is-visible,
.modal.rep-avatar-modal.is-visible,
.modal.rep-external-modal.is-visible {
  opacity: 1;
}

.rep-modal .modal-dialog,
.rep-modal-shell .modal-dialog,
.rep-avatar-modal .modal-dialog,
.rep-external-modal .modal-dialog,
#modal .modal-dialog {
  width: min(92vw, var(--rep-modal-max));
  max-width: var(--rep-modal-max);
  margin: 1rem auto;
  transform: translateY(8px) scale(0.992);
  opacity: 0.94;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
}

.rep-modal.is-visible .modal-dialog,
.rep-modal-shell.is-visible .modal-dialog,
.rep-avatar-modal.is-visible .modal-dialog,
.rep-external-modal.is-visible .modal-dialog,
#modal.open .modal-dialog {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.rep-modal .modal-dialog.modal-lg,
.rep-modal-shell .modal-dialog.modal-lg,
#modal .modal-dialog.modal-lg {
  width: min(94vw, var(--rep-modal-max-lg));
  max-width: var(--rep-modal-max-lg);
}

.rep-modal .modal-dialog.modal-xl,
.rep-modal-shell .modal-dialog.modal-xl,
#modal .modal-dialog.modal-xl {
  width: min(96vw, var(--rep-modal-max-xl));
  max-width: var(--rep-modal-max-xl);
}

.rep-modal-content,
.rep-modal-shell .modal-content,
.rep-modal .modal-content,
#modal .modal-content {
  border: 0.5px solid color-mix(in srgb, var(--rep-border) 84%, #cbd5e1 16%);
  border-radius: var(--rep-modal-radius) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-surface) 97%, #fff 3%), var(--rep-surface));
  box-shadow: var(--rep-modal-shadow);
  overflow: hidden;
  width: 100%;
}

.rep-modal-header,
.rep-modal .modal-header,
.rep-modal-shell .modal-header,
#modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.88rem 1rem;
  border-bottom: 0.5px solid var(--rep-border);
  background: var(--rep-modal-head-bg);
}

.rep-modal-title,
.rep-modal .modal-title,
.rep-modal-shell .modal-title,
#modal .modal-title {
  margin: 0;
  color: var(--rep-text);
  font-size: 0.96rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.25;
}

.rep-modal-body,
.rep-modal .modal-body,
.rep-modal-shell .modal-body,
#modal .modal-body {
  padding: 1rem;
  color: var(--rep-text);
  font-size: 0.9rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.rep-modal-footer,
.rep-modal .modal-footer,
.rep-modal-shell .modal-footer,
#modal .modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 0.5px solid var(--rep-border);
  background: var(--rep-modal-foot-bg);
}

.rep-modal .btn-close,
.rep-modal-shell .btn-close,
#modal .btn-close {
  border-radius: 0.45rem !important;
  border: 0.5px solid var(--rep-border);
  width: 2rem;
  height: 2rem;
  background: var(--rep-surface);
  color: var(--rep-text-muted);
}

.rep-modal .btn-close:hover,
.rep-modal-shell .btn-close:hover,
#modal .btn-close:hover {
  color: var(--rep-text);
  border-color: color-mix(in srgb, var(--rep-primary) 30%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-surface) 84%, var(--rep-primary) 16%);
}

@media (max-width: 991.98px) {
  .rep-modal .modal-dialog,
  .rep-modal-shell .modal-dialog,
  .rep-avatar-modal .modal-dialog,
  .rep-external-modal .modal-dialog,
  #modal .modal-dialog {
    width: min(96vw, var(--rep-modal-max));
    margin: 0.65rem auto;
  }
}

@media (max-width: 575.98px) {
  .rep-modal,
  .modal.rep-modal-shell,
  .modal.rep-avatar-modal,
  .modal.rep-external-modal {
    padding: 0.38rem;
  }

  .rep-modal .modal-dialog,
  .rep-modal-shell .modal-dialog,
  .rep-avatar-modal .modal-dialog,
  .rep-external-modal .modal-dialog,
  #modal .modal-dialog,
  .rep-modal .modal-dialog.modal-lg,
  .rep-modal .modal-dialog.modal-xl {
    width: calc(100vw - 0.76rem);
    max-width: calc(100vw - 0.76rem);
    margin: 0.25rem auto;
  }

  .rep-modal-header,
  .rep-modal-body,
  .rep-modal-footer,
  .rep-modal .modal-header,
  .rep-modal .modal-body,
  .rep-modal .modal-footer,
  .rep-modal-shell .modal-header,
  .rep-modal-shell .modal-body,
  .rep-modal-shell .modal-footer,
  #modal .modal-header,
  #modal .modal-body,
  #modal .modal-footer {
    padding-left: 0.78rem;
    padding-right: 0.78rem;
  }

  .rep-modal-footer,
  .rep-modal .modal-footer,
  .rep-modal-shell .modal-footer,
  #modal .modal-footer {
    flex-wrap: wrap;
    justify-content: stretch;
  }

  .rep-modal-footer > .btn,
  .rep-modal-footer > a.btn,
  .rep-modal .modal-footer > .btn,
  .rep-modal .modal-footer > a.btn,
  .rep-modal-shell .modal-footer > .btn,
  .rep-modal-shell .modal-footer > a.btn,
  #modal .modal-footer > .btn,
  #modal .modal-footer > a.btn {
    flex: 1 1 auto;
  }
}

/* --------------------------------------------------------------------------
   Modal hardening for heavy/dynamic CRUD content
   -------------------------------------------------------------------------- */
.rep-modal,
.rep-modal-shell,
.rep-avatar-modal,
.rep-external-modal,
#modal {
  --rep-modal-vspace: clamp(0.4rem, 1.2vh, 1rem);
  --rep-modal-max-h: calc(100dvh - (var(--rep-modal-vspace) * 2));
}

.rep-modal .modal-dialog,
.rep-modal-shell .modal-dialog,
.rep-avatar-modal .modal-dialog,
.rep-external-modal .modal-dialog,
#modal .modal-dialog {
  max-height: var(--rep-modal-max-h);
  display: flex;
}

.rep-modal-content,
.rep-modal .modal-content,
.rep-modal-shell .modal-content,
#modal .modal-content {
  max-height: var(--rep-modal-max-h);
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.rep-modal-header,
.rep-modal .modal-header,
.rep-modal-shell .modal-header,
#modal .modal-header {
  position: sticky;
  top: 0;
  z-index: 2;
}

.rep-modal-body,
.rep-modal .modal-body,
.rep-modal-shell .modal-body,
#modal .modal-body {
  min-height: 0;
  max-height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
}

.rep-modal-footer,
.rep-modal .modal-footer,
.rep-modal-shell .modal-footer,
#modal .modal-footer {
  position: sticky;
  bottom: 0;
  z-index: 2;
}

/* Content utilities inside modal body */
.rep-modal-body .rep-table-wrap,
.rep-modal .modal-body .rep-table-wrap,
.rep-modal-shell .modal-body .rep-table-wrap,
#modal .modal-body .rep-table-wrap {
  max-width: 100%;
  overflow: auto;
}

.rep-modal-body .rep-table,
.rep-modal .modal-body .rep-table,
.rep-modal-shell .modal-body .rep-table,
#modal .modal-body .rep-table,
.rep-modal-body .table,
.rep-modal .modal-body .table,
.rep-modal-shell .modal-body .table,
#modal .modal-body .table {
  width: 100%;
}

.rep-modal-body form,
.rep-modal .modal-body form,
.rep-modal-shell .modal-body form,
#modal .modal-body form {
  min-width: 0;
}

.rep-modal-body .row,
.rep-modal-body [class*='col-'],
.rep-modal .modal-body .row,
.rep-modal .modal-body [class*='col-'],
.rep-modal-shell .modal-body .row,
.rep-modal-shell .modal-body [class*='col-'],
#modal .modal-body .row,
#modal .modal-body [class*='col-'] {
  min-width: 0;
}

.rep-modal-body .dropdown-menu,
.rep-modal .modal-body .dropdown-menu,
.rep-modal-shell .modal-body .dropdown-menu,
#modal .modal-body .dropdown-menu {
  max-width: min(92vw, 40rem);
}

.rep-modal-body .form-control,
.rep-modal-body .form-select,
.rep-modal .modal-body .form-control,
.rep-modal .modal-body .form-select,
.rep-modal-shell .modal-body .form-control,
.rep-modal-shell .modal-body .form-select,
#modal .modal-body .form-control,
#modal .modal-body .form-select {
  width: 100%;
  min-width: 0;
}

/* Ensure very large modal variants still fit viewport */
.rep-modal .modal-dialog.modal-xl,
.rep-modal-shell .modal-dialog.modal-xl,
#modal .modal-dialog.modal-xl {
  max-height: var(--rep-modal-max-h);
}

/* Mobile: full usable height and safe bottom buttons */
@media (max-width: 575.98px) {
  .rep-modal,
  .rep-modal-shell,
  .rep-avatar-modal,
  .rep-external-modal,
  #modal {
    --rep-modal-vspace: 0.28rem;
  }

  .rep-modal .modal-dialog,
  .rep-modal-shell .modal-dialog,
  .rep-avatar-modal .modal-dialog,
  .rep-external-modal .modal-dialog,
  #modal .modal-dialog {
    max-height: var(--rep-modal-max-h);
    margin: var(--rep-modal-vspace) auto;
  }

  .rep-modal-content,
  .rep-modal .modal-content,
  .rep-modal-shell .modal-content,
  #modal .modal-content {
    max-height: var(--rep-modal-max-h);
  }

  .rep-modal-body,
  .rep-modal .modal-body,
  .rep-modal-shell .modal-body,
  #modal .modal-body {
    -webkit-overflow-scrolling: touch;
  }
}

/* Modal color visibility + semantic icon tones + radius cap */
:root {
  --rep-modal-radius: 0.3rem;
}

.rep-modal-content,
.rep-modal .modal-content,
.rep-modal-shell .modal-content,
#modal .modal-content,
.rep-external-modal-content,
.rep-avatar-modal-content {
  border-radius: 0.3rem !important;
}

.rep-modal .modal-header,
.rep-modal .modal-body,
.rep-modal .modal-footer,
.rep-modal-shell .modal-header,
.rep-modal-shell .modal-body,
.rep-modal-shell .modal-footer,
#modal .modal-header,
#modal .modal-body,
#modal .modal-footer {
  border-radius: 0 !important;
}

.rep-modal .btn-close,
.rep-modal-shell .btn-close,
#modal .btn-close {
  border: 0.5px solid color-mix(in srgb, var(--rep-danger) 42%, var(--rep-border));
  color: var(--rep-danger) !important;
  background: color-mix(in srgb, var(--rep-danger) 8%, var(--rep-surface));
  border-radius: 0.3rem !important;
}

.rep-modal .btn-close:hover,
.rep-modal-shell .btn-close:hover,
#modal .btn-close:hover {
  color: #ffffff !important;
  border-color: var(--rep-danger) !important;
  background: var(--rep-danger) !important;
}

.rep-modal .btn-close:focus-visible,
.rep-modal-shell .btn-close:focus-visible,
#modal .btn-close:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rep-danger) 24%, transparent) !important;
}

/* Semantic icon tones for any modal use */
.rep-modal-icon,
.rep-status-icon {
  width: 1.55rem;
  height: 1.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.3rem;
  border: 0.5px solid var(--rep-border);
}

.rep-modal-icon--danger,
.rep-status-icon--danger {
  color: var(--rep-danger);
  border-color: color-mix(in srgb, var(--rep-danger) 34%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-danger) 12%, var(--rep-surface));
}

.rep-modal-icon--success,
.rep-status-icon--success {
  color: var(--rep-success);
  border-color: color-mix(in srgb, var(--rep-success) 34%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-success) 12%, var(--rep-surface));
}

.rep-modal-icon--warning,
.rep-status-icon--warning {
  color: var(--rep-warning);
  border-color: color-mix(in srgb, var(--rep-warning) 36%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-warning) 14%, var(--rep-surface));
}

.rep-modal-icon--info,
.rep-status-icon--info,
.rep-external-modal-icon {
  color: var(--rep-primary);
  border-color: color-mix(in srgb, var(--rep-primary) 34%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-primary) 12%, var(--rep-surface));
  border-radius: 0.3rem;
}

/* Modal separators + primary title emphasis */
.rep-modal-title,
.rep-modal .modal-title,
.rep-modal-shell .modal-title,
#modal .modal-title,
.rep-external-modal .modal-title,
.rep-avatar-modal .modal-title {
  color: var(--rep-primary) !important;
  font-weight: 800;
}

.rep-modal-header,
.rep-modal .modal-header,
.rep-modal-shell .modal-header,
#modal .modal-header {
  border-bottom: 0 !important;
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--rep-primary) 26%, var(--rep-border));
}

.rep-modal-footer,
.rep-modal .modal-footer,
.rep-modal-shell .modal-footer,
#modal .modal-footer {
  border-top: 0 !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--rep-primary) 18%, var(--rep-border));
}

.rep-modal-body,
.rep-modal .modal-body,
.rep-modal-shell .modal-body,
#modal .modal-body {
  background-image: linear-gradient(to bottom, color-mix(in srgb, var(--rep-primary) 4%, transparent), transparent 28%);
}

[data-bs-theme='dark'] .rep-modal-title,
[data-bs-theme='dark'] .rep-modal .modal-title,
[data-bs-theme='dark'] .rep-modal-shell .modal-title,
[data-bs-theme='dark'] #modal .modal-title,
[data-bs-theme='dark'] .rep-external-modal .modal-title,
[data-bs-theme='dark'] .rep-avatar-modal .modal-title {
  color: color-mix(in srgb, var(--rep-primary) 82%, #cbd5e1) !important;
}

/* Modal header icon/title separation polish */
.rep-modal-title .rep-modal-icon {
  margin-right: 0.1rem;
}

.rep-modal-header .rep-modal-title {
  position: relative;
}

.rep-modal-header .rep-modal-title::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 0.4rem;
  background: linear-gradient(90deg, color-mix(in srgb, var(--rep-primary) 30%, var(--rep-border)), transparent);
}

/* Terms and conditions premium list */
.rep-terms-list-premium {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.5rem;
}

.rep-terms-list-premium li {
  color: var(--rep-text);
  line-height: 1.52;
  padding: 0.25rem 0.35rem 0.25rem 0.15rem;
  border-left: 2px solid color-mix(in srgb, var(--rep-primary) 26%, transparent);
  background: color-mix(in srgb, var(--rep-surface-2) 52%, transparent);
}

[data-bs-theme='dark'] .rep-terms-list-premium li {
  background: color-mix(in srgb, var(--rep-surface-2) 36%, transparent);
}

/* Modal title icon sizing (non-compact) */
.rep-modal-title {
  gap: 0.55rem !important;
}

.rep-modal-title .rep-modal-icon {
  width: 1.9rem;
  height: 1.9rem;
  min-width: 1.9rem;
  border-radius: 0.3rem;
  margin-right: 0;
}

.rep-modal-title .rep-modal-icon i {
  font-size: 1rem;
}

/* Remove title underline separator */
.rep-modal-header .rep-modal-title::after {
  content: none !important;
  display: none !important;
}

/* Terms list: proper numbering bullets */
.rep-terms-list-numbered {
  margin: 0.35rem 0 0;
  padding-left: 1.2rem;
  list-style: decimal;
  display: block;
}

.rep-terms-list-numbered li {
  margin-bottom: 0.45rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rep-text);
  line-height: 1.55;
}

/* Global required field marker */
.rep-required-mark {
  color: var(--rep-danger);
  font-weight: 800;
  margin-left: 0.24rem;
  margin-right: 0.16rem;
  font-size: 0.95em;
  vertical-align: super;
}

.rep-required-note {
  display: none;
  color: var(--rep-text-muted);
  font-weight: 600;
  margin-left: 0;
  font-size: 0.88em;
  text-transform: lowercase;
  letter-spacing: 0;
  line-height: 1;
  opacity: 0.95;
}

.rep-form-field-label .rep-required-mark,
.rep-toggle-title .rep-required-mark,
label .rep-required-mark {
  color: var(--rep-danger);
}

.rep-form-field-label .rep-required-note,
.rep-toggle-title .rep-required-note,
label .rep-required-note {
  color: var(--rep-text-muted);
}

[data-bs-theme='dark'] .rep-required-mark {
  color: color-mix(in srgb, var(--rep-danger) 88%, #fecaca);
}

[data-bs-theme='dark'] .rep-required-note {
  color: color-mix(in srgb, var(--rep-text-muted) 92%, #cbd5e1);
}

/* Global premium file input */
.rep-field-control input[type='file'].form-control,
input[type='file'].form-control {
  min-height: 2.55rem;
  padding: 0.28rem 0.34rem;
  border: 0.5px solid var(--rep-border);
  border-radius: 0.3rem;
  background: color-mix(in srgb, var(--rep-surface) 90%, var(--rep-surface-2) 10%);
  color: var(--rep-text);
  font-weight: 600;
  line-height: 1.15;
}

.rep-field-control input[type='file'].form-control::file-selector-button,
input[type='file'].form-control::file-selector-button {
  margin-right: 0.62rem;
  border: 0.5px solid color-mix(in srgb, var(--rep-primary) 28%, var(--rep-border));
  border-radius: 0.3rem;
  height: 1.95rem;
  padding: 0 0.78rem;
  background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface));
  color: var(--rep-primary-strong);
  font-weight: 700;
  cursor: pointer;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

.rep-field-control input[type='file'].form-control:hover,
input[type='file'].form-control:hover {
  border-color: color-mix(in srgb, var(--rep-primary) 30%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-surface) 84%, var(--rep-primary) 16%);
}

.rep-field-control input[type='file'].form-control:hover::file-selector-button,
input[type='file'].form-control:hover::file-selector-button {
  border-color: color-mix(in srgb, var(--rep-primary) 40%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-primary) 14%, var(--rep-surface));
  color: var(--rep-primary);
}

.rep-field-control input[type='file'].form-control:focus,
input[type='file'].form-control:focus,
.rep-field-control input[type='file'].form-control:focus-visible,
input[type='file'].form-control:focus-visible {
  border-color: var(--rep-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rep-primary) 18%, transparent);
  outline: 0;
}

.rep-field-control input[type='file'].form-control.rep-has-file,
input[type='file'].form-control.rep-has-file {
  border-color: color-mix(in srgb, var(--rep-success) 42%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-success) 8%, var(--rep-surface));
}

.rep-field-control input[type='file'].form-control.rep-is-invalid,
input[type='file'].form-control.rep-is-invalid,
.rep-field-control input[type='file'].form-control:invalid,
input[type='file'].form-control:invalid {
  border-color: color-mix(in srgb, var(--rep-danger) 46%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-danger) 8%, var(--rep-surface));
}

[data-bs-theme='dark'] .rep-field-control input[type='file'].form-control,
[data-bs-theme='dark'] input[type='file'].form-control {
  background: color-mix(in srgb, var(--rep-surface) 88%, #0b1220 12%);
}

[data-bs-theme='dark'] .rep-field-control input[type='file'].form-control::file-selector-button,
[data-bs-theme='dark'] input[type='file'].form-control::file-selector-button {
  border-color: rgba(96, 165, 250, 0.35);
  background: color-mix(in srgb, var(--rep-primary) 20%, var(--rep-surface));
  color: #dbeafe;
}

.rep-file-meta {
  margin-top: 0.34rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--rep-text-muted);
}
.rep-file-meta:empty {
  display: none;
}

/* --------------------------------------------------------------------------
   Auth OTP flow polish
   -------------------------------------------------------------------------- */
/* Paired sign-in panels share their desktop dimensions and stack on mobile. */
.rep-auth-page-login .rep-auth-layout {
  max-width: 70rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}
.rep-auth-page-login :is(.rep-auth-card, .rep-auth-aside) {
  min-width: 0;
  padding: clamp(1rem, 1.5vw, 1.25rem);
}
.rep-auth-page-login .rep-auth-aside {
  grid-template-rows: auto auto auto 1fr;
  align-content: start;
  gap: 0.875rem;
}
.rep-auth-page-login .rep-auth-aside-list-modern {
  align-content: center;
}
.rep-auth-page-login .rep-auth-card-head {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
}
.rep-auth-page-login :is(.rep-auth-card-title, .rep-auth-aside-title) {
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.rep-auth-page-login .rep-auth-card-title > span {
  font-size: inherit;
  line-height: inherit;
}
.rep-auth-page-login .rep-form-field-label {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
}
.rep-auth-page-login :is(.rep-auth-aside-copy, .rep-auth-card-subtitle, .rep-auth-aside-content small) {
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (min-width: 576px) {
  .rep-auth-page-login .rep-captcha-panel {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: center;
  }
  .rep-auth-page-login .rep-captcha-input-wrap {
    grid-column: auto;
    min-width: 0;
  }
}
@media (max-width: 991.98px) {
  .rep-auth-page-login .rep-auth-layout {
    grid-template-columns: minmax(0, 1fr);
    max-width: 36rem;
  }
  .rep-auth-page-login .rep-auth-card {
    order: 1;
  }
  .rep-auth-page-login .rep-auth-aside {
    order: 2;
  }
}
@media (max-width: 575.98px) {
  .rep-auth-page-login .rep-auth-card :is(.form-control, .form-select) {
    font-size: 1rem;
  }
}

.rep-portal-auth-hero {
  display: grid;
  gap: 0.55rem;
  padding: 0.95rem 1rem;
  border: 0.5px solid color-mix(in srgb, var(--rep-primary) 20%, var(--rep-border));
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface)),
    color-mix(in srgb, var(--rep-info) 6%, var(--rep-surface))
  );
  border-radius: 0.8rem;
}

.rep-portal-auth-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  padding: 0.34rem 0.6rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rep-primary-strong);
  background: color-mix(in srgb, var(--rep-primary) 12%, var(--rep-surface));
}

.rep-portal-auth-copy {
  margin: 0;
  color: var(--rep-text-muted);
  font-size: 0.93rem;
  line-height: 1.55;
}

.rep-portal-auth-hero-staff {
  border-color: color-mix(in srgb, var(--rep-warning) 26%, var(--rep-border));
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--rep-warning) 9%, var(--rep-surface)),
    color-mix(in srgb, var(--rep-primary) 6%, var(--rep-surface))
  );
}

.rep-auth-mobile-stack {
  display: grid;
  grid-template-columns: minmax(4.6rem, 5.2rem) 0.2rem minmax(0, 1fr);
  align-items: stretch;
  gap: 0.65rem;
}

.rep-auth-mobile-code .form-control,
.rep-auth-mobile-number .form-control {
  height: 3.35rem;
  border-radius: 0.9rem !important;
  font-weight: 800;
  font-size: 1.02rem;
  text-align: center;
}

.rep-auth-mobile-number .form-control {
  letter-spacing: 0.04em;
}

.rep-auth-page-register .rep-auth-mobile-stack-register {
  grid-template-columns: 4.4rem 0.18rem minmax(0, 1fr);
  gap: 0.52rem;
}

.rep-auth-page-register .rep-auth-mobile-stack-register .form-control,
.rep-auth-page-register .rep-auth-mobile-stack-register .form-select {
  height: 3rem;
  min-height: 3rem;
  border-radius: 0.78rem !important;
  font-size: 0.95rem;
}

.rep-auth-mobile-separator {
  width: 1px;
  justify-self: center;
  align-self: center;
  height: 2rem;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--rep-primary) 30%, var(--rep-border)), transparent);
}

.rep-inline-verify-card {
  display: grid;
  gap: 0.6rem;
  padding: 0.68rem;
  border: 0.5px solid color-mix(in srgb, var(--rep-border) 86%, transparent);
  border-radius: 0.8rem;
  background: color-mix(in srgb, var(--rep-surface) 92%, var(--rep-surface-2) 8%);
}

.rep-inline-verify-card-compact {
  gap: 0.52rem;
}

.rep-inline-verify-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  justify-content: space-between;
}

.rep-inline-verify-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  color: var(--rep-text-muted);
  background: color-mix(in srgb, var(--rep-surface-2) 72%, var(--rep-surface));
}

.rep-inline-verify-badge.is-verified {
  color: var(--rep-success);
  background: color-mix(in srgb, var(--rep-success) 10%, var(--rep-surface));
}

.rep-inline-verify-help {
  color: var(--rep-text-muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.rep-inline-verify-card .btn.btn-sm {
  min-height: 2rem;
  padding: 0.35rem 0.7rem;
  border-radius: 0.68rem;
  font-size: 0.74rem;
  font-weight: 700;
}

.rep-inline-otp-panel {
  display: grid;
  gap: 0.7rem;
  padding-top: 0.1rem;
}

.rep-inline-otp-head,
.rep-inline-otp-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
}

.rep-inline-otp-title {
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--rep-text-muted);
}

.rep-inline-otp-message {
  font-size: 0.82rem;
  color: var(--rep-text-muted);
}

.rep-inline-otp-message.is-error {
  color: var(--rep-danger);
  font-weight: 700;
}

.rep-inline-otp-message.is-success {
  color: var(--rep-success);
  font-weight: 700;
}

.rep-registration-otp-shell {
  display: grid;
  gap: 0.9rem;
}

.rep-registration-otp-copy {
  margin: 0;
  color: var(--rep-text-muted);
  line-height: 1.55;
}

.rep-registration-otp-meta {
  display: grid;
  gap: 0.35rem;
}

.rep-registration-otp-timer {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--rep-text-muted);
}

.rep-otp-widget {
  position: relative;
  display: grid;
  gap: 0.7rem;
}

.rep-otp-widget > .form-control {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.001;
  z-index: 2;
  cursor: text;
  color: transparent;
  caret-color: transparent;
  pointer-events: auto;
}

.rep-otp-boxes {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.55rem;
  position: relative;
  z-index: 1;
}

.rep-otp-box {
  min-height: 3.25rem;
  border: 0.5px solid color-mix(in srgb, var(--rep-primary) 18%, var(--rep-border));
  border-radius: 0.9rem;
  background: color-mix(in srgb, var(--rep-surface) 90%, var(--rep-primary) 10%);
  color: var(--rep-text);
  font-size: 1.18rem;
  font-weight: 900;
  line-height: 1;
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    background-color 0.16s ease,
    box-shadow 0.16s ease;
}

.rep-otp-box.is-filled {
  border-color: color-mix(in srgb, var(--rep-success) 34%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-success) 8%, var(--rep-surface));
}

.rep-otp-box.is-active {
  border-color: var(--rep-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rep-primary) 18%, transparent);
  transform: translateY(-1px);
}

@media (max-width: 575.98px) {
  .rep-auth-mobile-stack {
    grid-template-columns: 4.4rem 0.2rem minmax(0, 1fr);
    gap: 0.45rem;
  }

  .rep-auth-mobile-code .form-control,
  .rep-auth-mobile-number .form-control,
  .rep-otp-box {
    min-height: 3rem;
    height: 3rem;
    font-size: 1rem;
  }

  .rep-otp-boxes {
    gap: 0.4rem;
  }
}

.rep-uppercase-input {
  text-transform: uppercase;
}

.modal.rep-doc-modal {
  padding: 0;
  overflow: hidden;
}

.modal.rep-doc-modal .modal-dialog {
  width: 100%;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  max-height: none;
  margin: 0;
}

.rep-doc-modal .rep-doc-modal-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  border-radius: 0;
  border: 1px solid var(--rep-border);
  background: var(--rep-surface);
}

.rep-doc-modal .modal-header,
.rep-doc-modal .modal-footer {
  flex: 0 0 auto;
  gap: 0.75rem;
}

.rep-doc-modal .modal-title {
  min-width: 0;
  overflow-wrap: anywhere;
}

.rep-doc-modal .btn-close {
  flex-shrink: 0;
}

.rep-doc-modal .rep-doc-modal-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  scrollbar-gutter: auto;
  background: color-mix(in srgb, var(--rep-surface) 94%, var(--rep-surface-2) 6%);
}

.rep-doc-preview-document { min-width: 0; min-height: 0; height: 100%; overflow: hidden; }
.rep-doc-modal.has-review-context .rep-doc-modal-body { grid-template-rows: auto minmax(0, 1fr); }
.rep-doc-preview-context { min-width: 0; max-height: 42dvh; overflow: auto; border-bottom: 1px solid var(--rep-border-soft); background: var(--rep-surface-card); }
.rep-doc-preview-context[hidden] { display: none !important; }
.rep-doc-preview-context > summary { position: sticky; top: 0; z-index: 1; padding: .7rem 1rem; cursor: pointer; font-size: .85rem; font-weight: 650; color: var(--rep-text); background: var(--rep-surface-card); }
.rep-doc-preview-context [data-doc-review-context-body] { padding: .25rem 1rem 1rem; }
.rep-review-identity-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .8rem; }
.rep-review-identity-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .6rem; margin: 0; }
.rep-review-identity-grid > * { min-width: 0; }
@media (min-width: 576px) {
  .rep-review-identity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .rep-review-identity-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rep-doc-modal.has-review-context.review-context-open .rep-doc-modal-body { grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .rep-doc-preview-context { max-height: 100%; border-right: 1px solid var(--rep-border-soft); border-bottom: 0; }
}
.rep-doc-preview-context .rep-review-identity-grid { grid-template-columns: minmax(0, 1fr); }

.rep-pdf-preview { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.rep-pdf-toolbar { display: flex; flex-wrap: wrap; flex: 0 0 auto; align-items: center; justify-content: center; gap: .5rem; padding: .6rem; border-bottom: 1px solid var(--rep-border); background: var(--rep-surface-card); color: var(--rep-text); }
.rep-pdf-toolbar .btn { min-width: 2.75rem; min-height: 2.75rem; }
.rep-pdf-toolbar [data-pdf-page-status] { text-align: center; min-width: 7rem; font-size: .875rem; }
.rep-doc-modal .rep-pdf-toolbar .form-select { width: 7.25rem; flex: 0 0 auto; min-height: 2.75rem; }
.rep-pdf-pages { flex: 1 1 auto; min-height: 0; overflow: auto; scrollbar-gutter: stable; padding: .75rem; overscroll-behavior: contain; background: var(--rep-surface); }
.rep-pdf-pages canvas { display: block; margin: 0 auto; background: #fff; box-shadow: 0 1px 5px #0002; }
.rep-pdf-text { margin-top: .75rem; padding: .65rem; color: var(--rep-text); background: var(--rep-surface-card); }
.rep-pdf-text summary { cursor: pointer; font-weight: 600; }
.rep-pdf-text [data-pdf-text] { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: .75rem; }
#repDocPreviewImage { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; background: var(--rep-surface-card); }

.rep-doc-preview-fallback {
  height: 100%;
  border: 1px dashed var(--rep-border);
  border-radius: 0.3rem;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 1rem;
}

.rep-office-preview {
  height: 100%;
  overflow: auto;
  padding: clamp(1rem, 3vw, 2.5rem);
  color: var(--rep-text);
  background: var(--rep-surface);
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.rep-office-preview p { white-space: pre-wrap; margin: 0 0 .8rem; }
.rep-office-preview .rep-office-align-center { text-align: center; }
.rep-office-preview .rep-office-align-right { text-align: right; }
.rep-office-preview .rep-office-align-both { text-align: justify; }
.rep-office-preview .rep-table-wrap { margin: 1rem 0; }
.rep-office-preview .rep-table { width: 100%; min-width: 38rem; table-layout: auto; }
.rep-office-preview .rep-table td { padding: .65rem; border: 1px solid var(--rep-border); vertical-align: top; }
.rep-office-preview .rep-table td p:last-child { margin-bottom: 0; }

@media (min-width: 576px) {
  .modal.rep-doc-modal .modal-dialog {
    width: calc(100% - 2rem);
    height: calc(100vh - 2rem);
    height: calc(100dvh - 2rem);
    margin: 1rem;
  }

  .rep-doc-modal .rep-doc-modal-content {
    border-radius: 0.3rem;
  }
}

/* Premium multi-select (avoid default Django select look) */
.rep-field-control select.rep-form-select-multi.form-select {
  min-height: 10.5rem;
  padding: 0.45rem;
  border-radius: 0.3rem !important;
  background-image: none !important;
  line-height: 1.25;
}
.rep-field-control select.rep-form-select-multi.form-select option {
  padding: 0.38rem 0.45rem;
  border-radius: 0.22rem;
}
.rep-field-control select.rep-form-select-multi.form-select option:checked {
  color: #ffffff;
  background: linear-gradient(180deg, rgba(37, 99, 235, 0.95), rgba(29, 78, 216, 0.95));
}
[data-bs-theme='dark'] .rep-field-control select.rep-form-select-multi.form-select option:checked {
  background: linear-gradient(180deg, rgba(59, 130, 246, 0.85), rgba(37, 99, 235, 0.85));
}

/* Vendor unlock request inline action polish */
.rep-unlock-request-form {
  max-width: 32rem;
}
.rep-unlock-reason-input.form-control {
  min-width: 16rem;
  border-radius: 0.3rem !important;
}
.rep-unlock-request-btn.btn {
  border-radius: 0.3rem !important;
  white-space: nowrap;
}
@media (max-width: 575.98px) {
  .rep-unlock-request-form {
    width: 100%;
  }
  .rep-unlock-reason-input.form-control {
    min-width: 0;
    flex: 1 1 auto;
  }
}

/* Structured record widget polish */
.rep-form-field-full {
  grid-column: 1 / -1;
}
.rep-draft-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding: .65rem .75rem;
}
.rep-draft-status > p {
  flex: 1 1 9rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.rep-table-widget-head {
  border-bottom: 1px solid var(--rep-border);
  padding-bottom: 0.55rem;
  justify-content: space-between;
  gap: 0.75rem;
}
.rep-table-shell[data-table-field] {
  border: 1px solid color-mix(in srgb, var(--rep-border) 90%, var(--rep-text-muted));
  border-radius: 0.3rem;
  padding: 0.7rem;
  min-width: 0;
  background: color-mix(in srgb, var(--rep-surface) 95%, var(--rep-surface-2) 5%);
}
.rep-table-shell[data-table-field] .rep-table-wrap {
  border-radius: 0.3rem;
  border: 1px solid var(--rep-border);
  overflow: visible !important;
  background: var(--rep-surface);
}
.rep-table-shell[data-table-field] [data-table-grid] {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  display: var(--rep-record-table-display, table);
  border-collapse: separate;
  border-spacing: 0;
}
.rep-table-shell[data-table-field] [data-table-grid] thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--rep-surface-2);
  color: var(--rep-text);
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: none;
  border-bottom: 1px solid var(--rep-border);
}
.rep-table-shell[data-table-field] [data-table-grid] th,
.rep-table-shell[data-table-field] [data-table-grid] td {
  padding: var(--rep-record-cell-padding, 0.55rem 0.6rem);
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
  border-bottom: var(--rep-record-cell-border, 1px) solid var(--rep-border);
}
.rep-table-shell[data-table-field] [data-table-grid] tbody tr:last-child td {
  border-bottom: 0;
}
.rep-table-shell[data-table-field] [data-table-grid] thead {
  display: var(--rep-record-head-display, table-header-group);
}
.rep-table-shell[data-table-field] [data-table-grid] tbody {
  display: var(--rep-record-body-display, table-row-group);
  gap: 1rem;
}
.rep-table-shell[data-table-field] .rep-table-record {
  display: var(--rep-record-row-display, table-row);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 1rem 1.25rem;
  padding: var(--rep-record-padding, 0);
  border-bottom: var(--rep-record-border, 0) solid var(--rep-border);
}
.rep-table-shell[data-table-field] .rep-table-record-field,
.rep-table-shell[data-table-field] .rep-table-record-actions {
  display: var(--rep-record-cell-display, table-cell);
}
.rep-table-shell[data-table-field] .rep-table-record-heading {
  display: var(--rep-record-label-display, none);
  grid-column: 1 / -1;
  color: var(--rep-primary);
  font-size: 0.9375rem;
  font-weight: 700;
  text-align: left;
}
.rep-table-cell-label {
  display: var(--rep-record-label-display, none);
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.4;
  font-weight: 600;
  color: var(--rep-text);
}
.rep-table-shell[data-table-field] .rep-table-record-actions {
  grid-column: 1 / -1;
  text-align: right;
}
.rep-table-shell[data-table-field] .rep-table-record-field[hidden] {
  display: none;
}
.rep-table-shell[data-table-field] .rep-table-record-field-inactive {
  display: var(--rep-record-placeholder-display, table-cell);
}
.rep-table-shell[data-table-field] .rep-table-record-field-inactive > * {
  display: none !important;
}
.rep-table-guidance {
  margin-block: 0.75rem 1rem;
}
.rep-table-guidance ul {
  margin-block: 0.375rem 0;
  padding-inline-start: 1.25rem;
}
.rep-table-widget-cards {
  --rep-record-table-display: block;
  --rep-record-placeholder-display: none;
  --rep-record-head-display: none;
  --rep-record-body-display: grid;
  --rep-record-row-display: grid;
  --rep-record-cell-display: block;
  --rep-record-label-display: block;
  --rep-record-cell-padding: 0;
  --rep-record-cell-border: 0;
  --rep-record-padding: 1rem;
  --rep-record-border: 1px;
}
@media (max-width: 1199.98px) {
  .rep-table-shell[data-table-field] {
    --rep-record-table-display: block;
    --rep-record-placeholder-display: none;
    --rep-record-head-display: none;
    --rep-record-body-display: grid;
    --rep-record-row-display: grid;
    --rep-record-cell-display: block;
    --rep-record-label-display: block;
    --rep-record-cell-padding: 0;
    --rep-record-cell-border: 0;
    --rep-record-padding: 0.875rem;
    --rep-record-border: 1px;
  }
}

/* Global consistency: all data-table headers stay left aligned */
.rep-table thead th,
.rep-table-advanced thead th,
.rep-table-shell thead th {
  text-align: left !important;
  vertical-align: middle;
}

.rep-table thead th > button,
.rep-table-advanced thead th > button {
  width: 100%;
  text-align: left;
  justify-content: flex-start;
}

/* Restore semantic list visibility for content-area prose */
.rep-content-inner ul:not([class]),
.rep-content-inner ol:not([class]) {
  margin: 0.5rem 0 0.75rem 1.1rem;
  padding: 0;
}

.rep-content-inner ul:not([class]) {
  list-style: disc;
}

.rep-content-inner ol:not([class]) {
  list-style: decimal;
}

.rep-content-inner ul:not([class]) li,
.rep-content-inner ol:not([class]) li {
  margin: 0.22rem 0;
}
.rep-table-cell-input.form-control {
  min-height: 2.625rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.rep-table-cell-check.form-check-input {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
}
.rep-table-row-remove.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 2rem;
}
.rep-table-shell[data-table-field] .rep-col-actions {
  width: 8rem;
}
.rep-table-widget-empty-row td {
  text-align: center;
}
.rep-table-widget-empty-row td {
  background: color-mix(in srgb, var(--rep-surface) 92%, var(--rep-surface-2) 8%);
}
[data-bs-theme='dark'] .rep-table-shell[data-table-field] {
  background: color-mix(in srgb, var(--rep-surface) 86%, #0b1220 14%);
}

/* Careers apply page advanced section rhythm */
.rep-apply-panel {
  border-radius: 0.3rem;
}
.rep-apply-panel .rep-card-head {
  border-bottom: 1px solid var(--rep-border);
  background: color-mix(in srgb, var(--rep-surface) 92%, var(--rep-surface-2) 8%);
}

/* Notification dates remain readable without competing with the message. */
#notificationDropdownMenu .rep-notification-time {
  padding: 0;
  border: 0;
  font-size: .75rem;
  line-height: 1.5;
  color: var(--rep-text-muted);
  white-space: normal;
}
.rep-structured-widget {
  border: 1px solid color-mix(in srgb, var(--rep-border) 88%, var(--rep-text-muted));
  border-radius: 0.3rem;
  padding: 0.75rem;
  background: var(--rep-surface);
  background: color-mix(in srgb, var(--rep-surface) 96%, var(--rep-surface-2) 4%);
}
.rep-structured-widget + .rep-structured-widget {
  margin-top: 0.8rem;
}
@media (max-width: 767.98px) {
  .rep-structured-widget .rep-action-row {
    align-items: stretch !important;
  }
  .rep-structured-widget .rep-table-widget-head {
    flex-direction: column;
  }
  .rep-structured-widget [data-table-add] {
    width: 100%;
    justify-content: center;
  }
}

/* Global row-actions menu: premium, responsive, consistent */
.rep-row-actions-menu {
  min-width: 12.5rem !important;
  max-width: min(20rem, calc(100vw - 1rem)) !important;
  padding: 0.28rem !important;
  border: 1px solid color-mix(in srgb, var(--rep-border) 88%, var(--rep-primary) 12%) !important;
  border-radius: 0.3rem !important;
  background: var(--rep-surface) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14) !important;
  overflow: hidden !important;
}

[data-bs-theme='dark'] .rep-row-actions-menu {
  border-color: color-mix(in srgb, var(--rep-border) 74%, #93c5fd 26%) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.46) !important;
}

.rep-row-actions-link {
  display: flex !important;
  align-items: center !important;
  gap: 0.52rem !important;
  width: 100% !important;
  padding: 0.5rem 0.62rem !important;
  border-radius: 0.24rem !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: var(--rep-text) !important;
}

.rep-row-actions-link + .rep-row-actions-link {
  border-top: 1px solid color-mix(in srgb, var(--rep-border) 82%, transparent) !important;
}

.rep-row-actions-link i {
  width: 1rem !important;
  text-align: center !important;
  font-size: 0.9rem !important;
  color: var(--rep-text-muted) !important;
}

.rep-row-actions-link:hover,
.rep-row-actions-link:focus-visible {
  color: var(--rep-primary) !important;
  background: color-mix(in srgb, var(--rep-primary) 8%, transparent) !important;
  text-decoration: none !important;
}

.rep-row-actions-link:hover i,
.rep-row-actions-link:focus-visible i {
  color: var(--rep-primary) !important;
}

@media (max-width: 575.98px) {
  .rep-row-actions-menu {
    min-width: 11rem !important;
    max-width: calc(100vw - 0.75rem) !important;
    padding: 0.24rem !important;
  }

  .rep-row-actions-link {
    padding: 0.52rem 0.56rem !important;
    font-size: 0.8rem !important;
  }
}

/* Shared side panels: SOP, account and notifications. */
.rep-sop-panel {
  position: fixed;
  inset: 0;
  overflow: hidden;
  z-index: 1085;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease;
}

.rep-sop-panel.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.2s ease;
}
body.rep-sop-open .rep-back-to-top {
  visibility: hidden;
  pointer-events: none;
}

.rep-sop-panel__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, 0.36);
  opacity: 0;
  transition: opacity 0.18s ease;
}

.rep-sop-panel__sheet {
  position: absolute;
  top: 0;
  right: 0;
  width: min(var(--rep-panel-width, 34rem), 100vw);
  height: 100%;
  background: var(--rep-surface-card);
  border-left: 1px solid var(--rep-border);
  box-shadow: -10px 0 30px rgba(15, 23, 42, 0.16);
  display: flex;
  flex-direction: column;
  transform: translateX(102%);
  transition: transform 0.28s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.rep-sop-panel.is-open .rep-sop-panel__backdrop {
  opacity: 1;
}

.rep-sop-panel.is-open .rep-sop-panel__sheet {
  transform: translateX(0);
}

.rep-sop-panel__head {
  flex-shrink: 0;
  padding: var(--rep-space-5);
  border-bottom: 1px solid var(--rep-border);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  background: var(--rep-surface);
  background: linear-gradient(180deg, color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface)), var(--rep-surface));
}

.rep-sop-panel__title {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--rep-primary);
  letter-spacing: -0.01em;
}

.rep-sop-panel__subtitle {
  margin: 0.5rem 0 0;
  color: var(--rep-text-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

.rep-sop-panel__body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: var(--rep-space-5);
  background: color-mix(in srgb, var(--rep-surface) 96%, var(--rep-surface-2) 4%);
}

.rep-sop-panel__section + .rep-sop-panel__section {
  margin-top: var(--rep-space-4);
}

.rep-sop-panel__section h3 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
  color: var(--rep-text);
  display: flex;
  align-items: center;
  gap: 0.42rem;
}

.rep-sop-panel__section h3 i {
  color: var(--rep-primary);
}

.rep-sop-panel__section ul,
.rep-sop-panel__section ol {
  margin: 0;
  padding-inline-start: 1.5rem;
  color: var(--rep-text);
  font-size: inherit;
  line-height: 1.7;
}

.rep-sop-panel__section li + li {
  margin-top: var(--rep-space-3);
}

.rep-sop-panel__kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.7rem;
}

.rep-sop-kpi {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  padding: 0.32rem 0.52rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--rep-text);
  background: var(--rep-surface);
}

.rep-sop-kpi i {
  color: var(--rep-primary);
}

.rep-sop-card {
  border: 1px solid var(--rep-border);
  border-radius: 0.3rem;
  padding: var(--rep-space-4);
  background: var(--rep-surface);
}

.rep-sop-panel__foot {
  border-top: 1px solid var(--rep-border);
  padding: var(--rep-space-4) var(--rep-space-5);
  display: flex;
  flex-wrap: wrap;
  gap: var(--rep-space-3);
  flex-shrink: 0;
  justify-content: flex-end;
  background: var(--rep-surface);
}

body.rep-sop-open { overflow: hidden; }
body.rep-sop-open .rep-content-scroll { overflow: hidden !important; }
.rep-side-panel { height: 100%; height: 100dvh; }
.rep-side-panel .rep-sop-panel__sheet { max-width: 100%; color: var(--rep-text); }
.rep-side-panel .rep-sop-panel__backdrop { border: 0; padding: 0; width: 100%; height: 100%; cursor: default; }
.rep-side-panel-heading { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.rep-side-panel-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.5rem; height: 2.5rem; border-radius: .5rem; background: var(--rep-surface-2); color: var(--rep-primary); }
.rep-side-panel-close { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.75rem; height: 2.75rem; padding: 0; background: var(--rep-surface); border: 1px solid var(--rep-border); border-radius: .375rem; color: var(--rep-text); }
.rep-side-panel-close:hover { background: var(--rep-surface-2); color: var(--rep-primary); }
.rep-side-panel :is(button, a):focus-visible { outline: 2px solid var(--rep-primary); outline-offset: 2px; }
.rep-side-panel .rep-sop-panel__body { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.rep-account-panel { --rep-panel-width: 28rem; }
.rep-notifications-panel { --rep-panel-width: 36rem; }
.rep-side-panel .rep-notifications-body { display: flex; padding: 0; overflow: hidden; }
.rep-account-identity { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--rep-border); border-radius: .5rem; background: var(--rep-surface-2); }
.rep-account-avatar { display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; flex-shrink: 0; overflow: hidden; border-radius: .5rem; background: var(--rep-surface); color: var(--rep-primary); font-size: 1.75rem; font-weight: 700; }
.rep-account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rep-account-identity-copy { min-width: 0; }
.rep-account-identity h3 { margin: 0 0 .25rem; font-size: 1rem; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.rep-account-identity p { margin: 0 0 .625rem; font-size: .8125rem; line-height: 1.5; color: var(--rep-text-muted); overflow-wrap: anywhere; }
.rep-account-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1rem; margin: 1.25rem 0; }
.rep-account-facts dt { color: var(--rep-text-muted); font-size: .75rem; margin-bottom: .375rem; }
.rep-account-facts dd { margin: 0; font-size: .875rem; font-weight: 600; overflow-wrap: anywhere; }
.rep-account-section + .rep-account-section { margin-top: 1.5rem; }
.rep-account-section h3 { font-size: .8125rem; color: var(--rep-text-muted); font-weight: 600; margin: 0 0 .625rem; }
.rep-account-actions { border-top: 1px solid var(--rep-border); }
.rep-account-action { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; align-items: center; gap: .875rem; min-height: 4.5rem; padding: .875rem .25rem; color: var(--rep-text); border-bottom: 1px solid var(--rep-border); text-decoration: none; transition: background-color .16s ease, color .16s ease; }
.rep-account-action:hover { background: var(--rep-surface-2); color: var(--rep-primary); }
.rep-account-action strong { display: block; font-size: .875rem; line-height: 1.5; }
.rep-account-action small { display: block; margin-top: .125rem; font-size: .75rem; line-height: 1.5; color: var(--rep-text-muted); }
.rep-account-action > .bi-chevron-right { font-size: .75rem; color: var(--rep-text-muted); transition: transform .18s ease; }
.rep-account-action:hover > .bi-chevron-right { transform: translateX(.2rem); }
.rep-account-action-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: .5rem; background: var(--rep-surface-2); color: var(--rep-info); }
.rep-account-action-icon--success { color: var(--rep-success); }
.rep-account-action-icon--warning { color: var(--rep-warning); }
.rep-account-theme { width: 100%; border: 1px solid var(--rep-border); border-radius: .5rem; padding: .875rem; background: var(--rep-surface); text-align: start; }
.rep-account-theme-label { font-size: .75rem; font-weight: 600; color: var(--rep-primary); }
.rep-account-footer form, .rep-account-footer .btn, .rep-notifications-footer .btn { width: 100%; }
.rep-account-footer, .rep-notifications-footer { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
@media (max-width: 575.98px) {
  .rep-notifications-toolbar { padding-inline: 1rem; }
  #notificationDropdownMenu .rep-notification-filters, #notificationDropdownMenu #notificationItems { padding-inline: 1rem; }
  .rep-account-avatar { width: 64px; height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .rep-sop-panel, .rep-sop-panel.is-open, .rep-sop-panel__sheet, .rep-sop-panel__backdrop, .rep-account-action, .rep-account-action > .bi-chevron-right { transition: none; }
}

[data-bs-theme='dark'] .rep-sop-panel__backdrop {
  background: rgba(2, 6, 23, 0.58);
}

[data-bs-theme='dark'] .rep-sop-panel__sheet {
  box-shadow: -14px 0 34px rgba(0, 0, 0, 0.52);
}

[data-bs-theme='dark'] .rep-sop-panel__head {
  background: linear-gradient(180deg, color-mix(in srgb, #1d4ed8 18%, var(--rep-surface)), var(--rep-surface));
}

@media (max-width: 575.98px) {
  .rep-sop-panel__sheet {
    width: 100vw;
  }
  .rep-sop-panel__head,
  .rep-sop-panel__body,
  .rep-sop-panel__foot {
    padding: var(--rep-space-4);
  }
  .rep-sop-panel__foot > .btn {
    flex: 1 1 100%;
  }
}

.rep-audit-trail-scroll {
  max-height: 430px !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
}

.rep-quick-actions-card {
  overflow: hidden;
}
.rep-quick-actions-card .rep-detail-value {
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 767.98px) {
  .rep-quick-actions-card .rep-grid.rep-grid-2 {
    grid-template-columns: 1fr !important;
  }
  .rep-quick-actions-card .rep-quick-actions-row {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch;
  }
  .rep-quick-actions-card .rep-quick-actions-row > .btn,
  .rep-quick-actions-card .rep-quick-actions-row > form,
  .rep-quick-actions-card .rep-quick-actions-row > form .btn {
    width: 100%;
  }
}

/* Quick Actions card mobile hard-fix */
#job-quick-actions-card,
#job-quick-actions-card .rep-card-body,
#job-quick-actions-card .rep-detail-value,
#job-quick-actions-card .rep-quick-check-row,
#job-quick-actions-card .rep-table-wrap {
  min-width: 0 !important;
}
#job-quick-actions-card .rep-detail-value {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
#job-quick-actions-card .rep-quick-actions-row {
  flex-wrap: wrap !important;
  row-gap: 0.5rem !important;
  column-gap: 0.5rem !important;
}
#job-quick-actions-card .rep-quick-actions-row > form {
  max-width: 100% !important;
}
@media (max-width: 991.98px) {
  #job-quick-actions-card .rep-quick-actions-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-quick-check-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #job-quick-actions-card .rep-quick-actions-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #job-quick-actions-card .rep-quick-actions-row > .btn,
  #job-quick-actions-card .rep-quick-actions-row > a.btn,
  #job-quick-actions-card .rep-quick-actions-row > form,
  #job-quick-actions-card .rep-quick-actions-row > form .btn {
    width: 100% !important;
  }
  #job-quick-actions-card .rep-table-wrap {
    overflow-x: auto !important;
  }
}

/* Quick actions mobile clipping fix */
#job-quick-actions-card {
  overflow: visible !important;
}
#job-quick-actions-card .rep-detail-value {
  white-space: normal !important;
}
#job-quick-actions-card .rep-quick-check-row .rep-status-chip {
  max-width: 100% !important;
}
@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-quick-check-row {
    align-items: flex-start !important;
  }
}

/* Quick actions full mobile containment fix */
#job-quick-actions-card,
#job-quick-actions-card * {
  box-sizing: border-box;
}
#job-quick-actions-card .rep-card-body,
#job-quick-actions-card .rep-quick-actions-grid,
#job-quick-actions-card .rep-detail-item,
#job-quick-actions-card .rep-detail-value,
#job-quick-actions-card .rep-detail-label {
  min-width: 0 !important;
}
#job-quick-actions-card .rep-detail-item {
  width: 100% !important;
}
#job-quick-actions-card .rep-detail-value,
#job-quick-actions-card .rep-detail-label,
#job-quick-actions-card .rep-table-wrap,
#job-quick-actions-card .alert {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
#job-quick-actions-card .rep-quick-check-row {
  width: 100% !important;
  flex-wrap: wrap !important;
}
#job-quick-actions-card .rep-quick-check-row .rep-status-chip {
  flex: 0 0 auto !important;
  max-width: 100% !important;
}
#job-quick-actions-card .rep-table-wrap {
  overflow-x: auto !important;
}
@media (max-width: 991.98px) {
  #job-quick-actions-card .rep-quick-actions-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }
}
@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-card-body {
    padding: 0.75rem !important;
  }
  #job-quick-actions-card .rep-quick-check-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #job-quick-actions-card .rep-quick-actions-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    align-items: stretch !important;
  }
  #job-quick-actions-card .rep-quick-actions-row > a.btn,
  #job-quick-actions-card .rep-quick-actions-row > form,
  #job-quick-actions-card .rep-quick-actions-row > form .btn {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Quick actions robust mobile-first layout */
#job-quick-actions-card {
  overflow: visible !important;
}
#job-quick-actions-card .rep-qa-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 0.75rem !important;
}
#job-quick-actions-card .rep-qa-item {
  min-width: 0 !important;
  width: 100% !important;
}
#job-quick-actions-card .rep-qa-item.rep-detail-item-full {
  grid-column: 1 / -1 !important;
}
#job-quick-actions-card .rep-detail-label,
#job-quick-actions-card .rep-detail-value {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
#job-quick-actions-card .rep-quick-check-row {
  width: 100% !important;
}
#job-quick-actions-card .rep-quick-check-row .rep-status-chip {
  flex-shrink: 0 !important;
}
#job-quick-actions-card .rep-table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
}
#job-quick-actions-card .rep-table {
  min-width: 640px !important;
}
#job-quick-actions-card .rep-quick-actions-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}
#job-quick-actions-card .rep-quick-actions-row > a.btn,
#job-quick-actions-card .rep-quick-actions-row > form {
  flex: 0 0 auto !important;
  max-width: 100% !important;
}
@media (max-width: 991.98px) {
  #job-quick-actions-card .rep-qa-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-card-body {
    padding: 0.75rem !important;
  }
  #job-quick-actions-card .rep-quick-check-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #job-quick-actions-card .rep-quick-actions-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #job-quick-actions-card .rep-quick-actions-row > a.btn,
  #job-quick-actions-card .rep-quick-actions-row > form,
  #job-quick-actions-card .rep-quick-actions-row > form .btn {
    width: 100% !important;
  }
  #job-quick-actions-card .rep-table {
    min-width: 560px !important;
  }
}

/* Restore desktop behavior; mobile-only fix for Quick actions recent change log */
@media (min-width: 768px) {
  #job-quick-actions-card .rep-qa-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
  #job-quick-actions-card .rep-quick-actions-row {
    flex-direction: row !important;
    align-items: center !important;
  }
  #job-quick-actions-card .rep-quick-actions-row > a.btn,
  #job-quick-actions-card .rep-quick-actions-row > form,
  #job-quick-actions-card .rep-quick-actions-row > form .btn {
    width: auto !important;
  }
}

@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-card-body,
  #job-quick-actions-card .rep-qa-grid,
  #job-quick-actions-card .rep-qa-item,
  #job-quick-actions-card .rep-detail-item,
  #job-quick-actions-card .rep-detail-value {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  #job-quick-actions-card .rep-qa-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #job-quick-actions-card .rep-detail-item:has(.rep-table-wrap) {
    overflow: visible !important;
  }
  #job-quick-actions-card .rep-table-wrap,
  #job-quick-actions-card .rep-table-wrap.rep-table-wrap-scroll-y {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #job-quick-actions-card .rep-table,
  #job-quick-actions-card .rep-table.rep-table-advanced {
    min-width: 620px !important;
  }
  #job-quick-actions-card .rep-quick-actions-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #job-quick-actions-card .rep-quick-actions-row > a.btn,
  #job-quick-actions-card .rep-quick-actions-row > form,
  #job-quick-actions-card .rep-quick-actions-row > form .btn {
    width: 100% !important;
  }
}

/* Quick actions: conflict-safe responsive rules */
#job-quick-actions-card .rep-qa-recent-log,
#job-quick-actions-card .rep-qa-recent-log .rep-detail-value,
#job-quick-actions-card .rep-qa-recent-log-wrap {
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 768px) {
  #job-quick-actions-card .rep-qa-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #job-quick-actions-card .rep-quick-actions-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
  }
  #job-quick-actions-card .rep-quick-actions-row > a.btn,
  #job-quick-actions-card .rep-quick-actions-row > form,
  #job-quick-actions-card .rep-quick-actions-row > form .btn {
    width: auto;
  }
}

@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-qa-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  #job-quick-actions-card .rep-qa-recent-log-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  #job-quick-actions-card .rep-qa-recent-log-wrap .rep-table {
    min-width: 620px;
  }
  #job-quick-actions-card .rep-quick-actions-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  #job-quick-actions-card .rep-quick-actions-row > a.btn,
  #job-quick-actions-card .rep-quick-actions-row > form,
  #job-quick-actions-card .rep-quick-actions-row > form .btn {
    width: 100%;
  }
}

/* Quick actions checklist: desktop single-line, mobile stacked */
#job-quick-actions-card .rep-quick-check-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}
#job-quick-actions-card .rep-quick-check-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
#job-quick-actions-card .rep-quick-check-badge {
  flex: 0 0 auto;
  margin-left: auto;
}
@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-quick-check-row {
    flex-direction: column;
    align-items: flex-start;
  }
  #job-quick-actions-card .rep-quick-check-badge {
    margin-left: 0;
    margin-top: 0.25rem;
  }
}

/* Final quick-actions responsive corrections */
#job-quick-actions-card .rep-qa-recent-log,
#job-quick-actions-card .rep-qa-recent-log .rep-detail-value {
  min-width: 0 !important;
  max-width: 100% !important;
  grid-template-columns: minmax(0, 1fr);
  overflow: visible !important;
}
#job-quick-actions-card .rep-qa-recent-log-wrap {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 24rem;
  overflow-x: auto !important;
  overflow-y: auto !important;
}
#job-quick-actions-card .rep-qa-recent-log-wrap .rep-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed;
}
#job-quick-actions-card .rep-qa-recent-log-wrap :is(th, td) {
  white-space: normal;
  overflow-wrap: anywhere;
  vertical-align: top;
  line-height: 1.5;
}

@media (min-width: 768px) {
  #job-quick-actions-card .rep-quick-check-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 0.75rem !important;
  }
  #job-quick-actions-card .rep-quick-check-label {
    min-width: 0 !important;
    margin: 0 !important;
  }
  #job-quick-actions-card .rep-quick-check-badge {
    justify-self: end !important;
    margin: 0 !important;
  }
}

@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-quick-check-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #job-quick-actions-card .rep-quick-check-badge {
    margin-top: 0.25rem !important;
  }
}

/* Quick actions checklist premium styling */
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-row {
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 0.65rem !important;
  background: color-mix(in srgb, var(--rep-surface) 92%, #ffffff) !important;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-row-success {
  border-color: color-mix(in srgb, #16a34a 45%, var(--rep-border)) !important;
  background: color-mix(in srgb, #16a34a 7%, var(--rep-surface)) !important;
}
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-row-pending {
  border-color: color-mix(in srgb, #dc2626 45%, var(--rep-border)) !important;
  background: color-mix(in srgb, #dc2626 6%, var(--rep-surface)) !important;
}
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-row:hover {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--rep-primary) 22%, transparent);
}
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-label {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-weight: 600;
}
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-icon {
  width: 1.1rem;
  text-align: center;
  flex: 0 0 1.1rem;
}
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-row-success .rep-quick-check-icon {
  color: #15803d;
}
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-row-pending .rep-quick-check-icon {
  color: #b91c1c;
}
#job-quick-actions-card .rep-qa-checklist .rep-quick-check-text {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 767.98px) {
  #job-quick-actions-card .rep-qa-checklist .rep-quick-check-label {
    align-items: flex-start;
  }
}

/* FINAL public glass override: keep at end to win cascade */
body.rep-public-body .rep-topbar.rep-public-topbar.app-header {
  background: rgba(255, 255, 255, 0.36) !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.09) !important;
  -webkit-backdrop-filter: saturate(125%) blur(10px) !important;
  backdrop-filter: saturate(125%) blur(4px) !important;
}

body.rep-public-body .rep-footer {
  background: rgba(255, 255, 255, 0.3) !important;
  border-top: 1px solid rgba(148, 163, 184, 0.08) !important;
  -webkit-backdrop-filter: saturate(120%) blur(9px) !important;
  backdrop-filter: saturate(120%) blur(4px) !important;
}

[data-bs-theme='dark'] body.rep-public-body .rep-topbar.rep-public-topbar.app-header {
  background: rgba(15, 23, 42, 0.28) !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.11) !important;
}

[data-bs-theme='dark'] body.rep-public-body .rep-footer {
  background: rgba(15, 23, 42, 0.24) !important;
  border-top: 1px solid rgba(148, 163, 184, 0.1) !important;
}

@supports (color: color-mix(in srgb, white, black)) {
  body.rep-public-body .rep-topbar.rep-public-topbar.app-header {
    background: color-mix(in srgb, var(--rep-surface-header) 34%, transparent) !important;
  }
  body.rep-public-body .rep-footer {
    background: color-mix(in srgb, var(--rep-surface-footer) 28%, transparent) !important;
  }
}

/* Guided forms reuse the existing form sections, actions and colour tokens. */
.rep-guided-ready [data-form-step][hidden],
.rep-guided-ready [data-guided-actions][hidden],
.rep-guided-navigation [hidden] {
  display: none !important;
}
/* Google Material Web 2.5.0: shared, locally bundled circular activity. */
md-circular-progress {
  --md-circular-progress-size: 32px;
  --md-circular-progress-four-color-active-indicator-one-color: #4285f4;
  --md-circular-progress-four-color-active-indicator-two-color: #ea4335;
  --md-circular-progress-four-color-active-indicator-three-color: #fbbc05;
  --md-circular-progress-four-color-active-indicator-four-color: #34a853;
  flex: 0 0 auto;
}
.rep-activity-indicator {
  display: inline-flex;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}
.rep-activity-indicator[hidden] { display: none; }
.rep-activity-indicator-sm { width: 24px; height: 24px; flex-basis: 24px; }
.rep-activity-indicator-sm md-circular-progress { --md-circular-progress-size: 24px; }
.rep-spinner-ring md-circular-progress { --md-circular-progress-size: 90px; }
.rep-guided-progress {
  gap: 0.65rem;
  border-color: color-mix(in srgb, var(--rep-primary) 35%, var(--rep-border));
  background: color-mix(in srgb, var(--rep-primary) 5%, var(--rep-surface));
}
.rep-guided-progress .rep-form-section-title:focus-visible {
  outline: 2px solid var(--rep-primary);
  outline-offset: 4px;
}
.rep-guided-meter {
  --rep-progress-color: var(--rep-primary);
  display: block;
  width: 100%;
  height: 0.4rem;
  border: 0;
  border-radius: 1rem;
  overflow: hidden;
  background: var(--rep-border);
  accent-color: var(--rep-progress-color);
}
.rep-guided-meter::-webkit-progress-bar {
  background: var(--rep-border);
}
.rep-guided-meter::-webkit-progress-value {
  background: var(--rep-progress-color);
  transition: width 0.28s ease-out;
}
.rep-guided-meter::-moz-progress-bar {
  background: var(--rep-progress-color);
  transition: width 0.28s ease-out;
}
.rep-guided-meter.rep-progress-active {
  animation: rep-progress-working 1.6s ease-in-out infinite;
}
.rep-guided-meter.rep-progress-complete {
  --rep-progress-color: var(--rep-state-success-text);
}
@keyframes rep-progress-working {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.68; }
}
@media (prefers-reduced-motion: reduce) {
  .rep-guided-meter.rep-progress-active { animation: none; }
  .rep-guided-meter::-webkit-progress-value { transition: none; }
  .rep-guided-meter::-moz-progress-bar { transition: none; }
}
.rep-guided-navigation {
  padding-block: 0.25rem;
  justify-content: space-between;
}
.rep-guided-navigation,
.rep-guided-ready [data-guided-actions] {
  scroll-margin-block: 1rem;
}
.rep-guided-ready .rep-form-error.rep-error-cleared {
  visibility: hidden;
}
.rep-guided-navigation .btn:last-child {
  margin-inline-start: auto;
}
.rep-form-field {
  position: relative;
}
.rep-field-label-row {
  display: flex;
  min-height: 1.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 0;
}
.rep-field-label-row > label,
.rep-field-label-row > .rep-field-label {
  min-width: 0;
}
.rep-field-help {
  flex: 0 0 auto;
  width: fit-content;
  margin: 0;
  font-size: 0.75rem;
}
.rep-help-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0.3rem;
  color: var(--rep-primary);
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
  font-weight: 600;
  font-size: 0.9rem;
}
.rep-help-trigger::-webkit-details-marker {
  display: none;
}
.rep-help-trigger:hover,
.rep-help-trigger:focus-visible,
.rep-field-help[open] > .rep-help-trigger {
  border-color: var(--rep-border);
  background: var(--rep-surface);
}
.rep-help-trigger:focus-visible {
  outline: 2px solid var(--rep-primary);
  outline-offset: 2px;
}
.rep-field-help .rep-help-content {
  position: absolute;
  z-index: 60;
  inset-inline: 0;
  width: auto;
  margin-top: 0;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--rep-border);
  border-radius: 0.45rem;
  background: var(--rep-surface, #fff);
  color: var(--rep-text);
  box-shadow: 0 0.3rem 1rem rgb(0 0 0 / 0.12);
  white-space: pre-line;
  overflow-wrap: anywhere;
  font-size: 0.8rem;
  line-height: 1.5;
}
.rep-guide > *,
.rep-guide article > *,
.rep-guide .rep-panel-body {
  min-width: 0;
  max-width: 100%;
}
.rep-guide .rep-panel-body {
  padding: clamp(1rem, 2.5vw, 1.75rem);
}
/* Shared reading rhythm for chapter pages and both SOP panels. */
.rep-prose {
  font-size: 0.9375rem;
  line-height: 1.75;
  overflow-wrap: break-word;
}
/* Recruitment reading layout: full-width text, compact facts and touch-sized actions. */
.rep-notice-panel,
.rep-candidate-notice > *,
.rep-job-requirement {
  min-width: 0;
}
.rep-candidate-notice > section[id] {
  scroll-margin-top: 6rem;
}
.rep-notice-panel .rep-card-body {
  padding: clamp(1rem, 2.5vw, 1.75rem);
}
.rep-recruitment-text {
  font-weight: 400;
  color: var(--rep-text);
}
.rep-notice-section + .rep-notice-section {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rep-border);
}
.rep-recruitment-text .rep-notice-heading {
  padding: 0.75rem 1rem;
  border-inline-start: 3px solid var(--rep-primary);
  border-radius: 0.25rem;
  background: var(--rep-surface-2);
  font-size: 1rem;
  font-weight: 700;
}
.rep-recruitment-text h4 {
  margin: 1.25rem 0 0.75rem;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.5;
}
.rep-notice-section > :first-child {
  margin-top: 0;
}
.rep-notice-section > :last-child {
  margin-bottom: 0;
}
.rep-notice-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  margin: 0;
}
.rep-notice-facts dt,
.rep-job-facts dt {
  color: var(--rep-text-muted);
  font-size: 0.8125rem;
  font-weight: 500;
}
.rep-notice-facts dd,
.rep-job-facts dd {
  margin: 0.35rem 0 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.rep-notice-actions {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--rep-border);
}
.rep-application-checklist {
  margin-block: 1rem;
  padding: 1rem;
  border: 1px solid var(--rep-border);
  border-radius: 0.5rem;
  background: var(--rep-surface-2);
}
.rep-application-checklist > summary {
  font-weight: 600;
  cursor: pointer;
  min-height: 32px;
}
.rep-application-checklist[open] > summary {
  margin-bottom: 0.75rem;
}
.rep-recruitment-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.rep-recruitment-job {
  min-width: 0;
  border-top: 3px solid var(--rep-primary);
}
.rep-recruitment-job .rep-card-body {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.rep-job-facts {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}
.rep-recruitment-job .rep-action-row {
  margin-top: auto;
}
.rep-candidate-notice .btn {
  min-height: 44px;
  white-space: normal;
}
.rep-candidate-notice .rep-card-title {
  overflow-wrap: anywhere;
}
.rep-notice-document {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
}
.rep-notice-document > div {
  min-width: 0;
}
.rep-notice-document + .rep-notice-document {
  border-top: 1px solid var(--rep-border);
}
.rep-notice-document:first-child {
  padding-top: 0;
}
.rep-notice-document:last-child {
  padding-bottom: 0;
}
.rep-job-requirements .rep-field-grid {
  gap: 1.5rem;
}
.rep-requirement-label {
  font-size: 0.9375rem;
  line-height: 1.5;
  font-weight: 700;
  margin: 0 0 0.5rem;
}
.rep-requirement-value {
  margin: 0;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.rep-job-requirement.rep-detail-item-full + .rep-job-requirement.rep-detail-item-full {
  padding-top: 1.25rem;
  border-top: 1px solid var(--rep-border);
}
@media (min-width: 768px) {
  .rep-notice-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .rep-recruitment-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .rep-candidate-notice .rep-action-row {
    width: 100%;
    gap: 0.5rem;
  }
  .rep-candidate-notice .rep-action-row .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
}
.rep-prose :where(p, li, dt, dd) {
  font-size: inherit;
}
.rep-prose :where(p, ol, ul, dl) {
  margin-block: 1rem;
  line-height: 1.75;
}
.rep-prose :where(ol, ul) {
  padding-inline-start: 1.5rem;
}
.rep-prose ol {
  list-style: decimal outside;
}
.rep-prose ul {
  list-style: disc outside;
}
.rep-prose li + li {
  margin-top: 0.75rem;
}
.rep-prose li::marker {
  color: var(--rep-primary);
  font-weight: 600;
}
.rep-prose :where(h2, h3) {
  line-height: 1.5;
  margin-block: 1.5rem 0.75rem;
}
.rep-prose :where(h2, h3):first-child {
  margin-top: 0;
}
.rep-prose > :first-child {
  margin-top: 0;
}
.rep-prose > :last-child {
  margin-bottom: 0;
}
.rep-prose .rep-form-section + .rep-form-section {
  margin-top: var(--rep-space-3);
}
.rep-prose .rep-form-section > :last-child:not(summary) {
  margin-bottom: 0;
}
.rep-guide-index {
  margin-top: 1rem;
}
.rep-guide-role summary {
  cursor: pointer;
  font-weight: 600;
  padding-block: 0.5rem;
}
.rep-guide-role .rep-action-row {
  margin-top: 0.75rem;
}
.rep-guide-index summary {
  cursor: pointer;
  padding-block: 0.65rem;
  font-weight: 600;
}
.rep-guide-chapters {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.rep-guide-chapters a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem;
  border: 1px solid var(--bs-border-color, #dbe3ef);
  border-radius: 0.5rem;
}
.rep-guide-chapters a[aria-current] {
  background: var(--bs-primary-bg-subtle, #edf4ff);
  font-weight: 600;
}
.rep-guide-chapter-label {
  margin-block: 0.25rem 0.75rem;
  font-weight: 600;
  color: var(--bs-secondary-color, #586b82);
}
.rep-guide-terms dt {
  font-weight: 700;
  margin-top: 1.25rem;
}
.rep-guide-terms dd {
  margin: 0.4rem 0 0;
}
.rep-guide-pagination {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}
.rep-guide .rep-form-section > summary {
  cursor: pointer;
  font-weight: 600;
}
@media (min-width: 768px) {
  .rep-guide-chapters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .rep-guide-pagination .btn {
    width: 100%;
    white-space: normal;
    text-align: start;
  }
}

.rep-form-field:has(> .rep-field-label-row .rep-field-help[open]),
.rep-form-field:has(> .rep-field-help[open]),
.rep-structured-widget:has(.rep-field-help[open]) {
  z-index: 61;
  overflow: visible;
}
@media (max-width: 575.98px) {
  .rep-help-trigger {
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
  }
  .rep-guided-navigation .btn {
    min-height: 2.75rem;
  }
  .rep-field-label-row:has(.rep-field-help[open]) {
    position: relative;
    display: block;
  }
  .rep-field-label-row:has(.rep-field-help[open]) > label {
    display: block;
    min-height: 2.75rem;
    padding-inline-end: 3.25rem;
  }
  .rep-field-label-row > .rep-field-help[open] {
    display: block;
    width: 100%;
  }
  .rep-field-label-row > .rep-field-help[open] > .rep-help-trigger {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
  }
  .rep-field-help .rep-help-content {
    position: static;
    margin-top: 0.2rem;
  }
  .rep-toolbar-filter-field:has(.rep-field-help[open]) {
    grid-column: 1 / -1;
  }
}

/* Prescribed CV: retain the source label/value rows within the shared form shell. */
.rep-prescribed-details {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.rep-prescribed-details > .rep-form-field:not(.rep-structured-widget) {
  min-width: 0;
  padding: 1rem 0;
  border-bottom: 1px solid var(--rep-border);
}
.rep-prescribed-details > .rep-form-field:last-child {
  border-bottom: 0;
}
.rep-prescribed-cv .rep-form-section-title {
  margin-bottom: 1rem;
}
.rep-prescribed-certification .rep-consent-check {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  line-height: 1.75;
}
.rep-prescribed-certification .rep-consent-check > input {
  flex: 0 0 auto;
  margin-top: 0.35rem;
}
.rep-prescribed-details > .rep-prescribed-certification {
  display: block;
  padding-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .rep-prescribed-details > .rep-form-field:not(.rep-prescribed-certification):not(.rep-structured-widget) {
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) minmax(0, 1fr);
    gap: 0.5rem 1.5rem;
    align-items: start;
  }
  .rep-prescribed-details > .rep-form-field:not(.rep-structured-widget) .rep-field-label-row {
    padding-top: 0.65rem;
  }
  .rep-prescribed-details > .rep-form-field:not(.rep-structured-widget) > .rep-form-error {
    grid-column: 2;
  }
}

/* Shared dark surfaces keep inputs and registers readable with the dark palette. */
[data-bs-theme='dark'] :is(.form-control, .form-select, .input-group-text) {
  background: var(--rep-surface-2) !important;
  border-color: var(--rep-border-strong) !important;
  color: var(--rep-text) !important;
}
[data-bs-theme='dark'] :is(.rep-table, .rep-table-advanced) tbody td {
  background: var(--rep-surface-card) !important;
  color: var(--rep-text) !important;
}
[data-bs-theme='dark'] :is(.rep-table, .rep-table-advanced) tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--rep-surface-card) 90%, var(--rep-surface-muted)) !important;
}
[data-bs-theme='dark'] .btn-outline-secondary:not(:disabled) {
  background: var(--rep-surface-2) !important;
  border-color: var(--rep-border-strong) !important;
  color: var(--rep-text) !important;
}

/* Form-management hierarchy: local Inter, generous grouping, quiet separators. */
.rep-form-management-page {
  gap: clamp(1rem, 1.6vw, 1.4rem);
}
.rep-form-management-page > .rep-panel,
.rep-form-workspace .rep-preview-question {
  border-color: color-mix(in srgb, var(--rep-border-soft) 70%, var(--rep-surface-card)) !important;
  box-shadow: 0 3px 16px color-mix(in srgb, var(--rep-text) 5%, transparent);
}
.rep-form-overview .rep-panel-body {
  display: grid;
  gap: clamp(1rem, 1.5vw, 1.25rem);
  padding: clamp(1.15rem, 2vw, 1.6rem);
}
.rep-form-overview-status,
.rep-form-overview-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
}
.rep-form-overview-copy {
  display: grid;
  gap: 0.5rem;
  max-width: 75ch;
}
.rep-form-overview-copy .rep-form-section-title {
  color: var(--rep-text) !important;
  font-size: clamp(1.15rem, 1.05rem + 0.45vw, 1.4rem);
  line-height: 1.32;
}
.rep-form-overview-copy p {
  margin: 0;
  color: var(--rep-text-muted);
  line-height: 1.65;
}
.rep-form-overview-actions {
  gap: 0.65rem;
}
.rep-form-question-index .rep-card-head,
.rep-form-workspace .rep-builder-preview > .rep-card-head {
  padding: 1rem clamp(1rem, 2vw, 1.4rem) !important;
  background: var(--rep-surface-card);
  border-bottom: 1px solid color-mix(in srgb, var(--rep-border-soft) 65%, var(--rep-surface-card));
}
.rep-form-question-index .rep-card-title,
.rep-form-workspace .rep-builder-preview .rep-card-title {
  margin: 0;
  color: var(--rep-text) !important;
  line-height: 1.35;
}
.rep-form-workspace .rep-builder-preview .rep-card-subtitle {
  margin: 0.35rem 0 0;
  line-height: 1.6;
}
.rep-form-workspace .rep-builder-toolbar {
  padding: clamp(1rem, 1.8vw, 1.35rem);
  gap: 0.8rem 1.25rem;
}
.rep-form-workspace .rep-builder-toolbar > .rep-action-row {
  align-items: center;
  gap: 0.65rem;
  line-height: 1.5;
}
.rep-form-workspace .rep-preview-question {
  padding: clamp(1rem, 1.7vw, 1.4rem);
  gap: 0.8rem;
}
.rep-form-workspace .rep-preview-question-head {
  border-bottom-color: color-mix(in srgb, var(--rep-border-soft) 65%, var(--rep-surface-card));
  margin-bottom: 0.4rem;
}
.rep-form-workspace .rep-builder-editor {
  border-top: 1px solid var(--rep-border-soft);
}
@media (max-width: 575.98px) {
  .rep-form-overview-actions .btn {
    flex: 1 1 auto;
    justify-content: center;
  }
  .rep-form-overview-actions .btn-primary {
    flex-basis: 100%;
  }
  .rep-form-workspace .rep-builder-toolbar nav.rep-action-row {
    width: 100%;
  }
}

/* Sidebar navigation: searchable menu, compact desktop rail and mobile drawer. */
body { min-width: 0; }
.rep-dashboard-list-card .rep-table td:last-child .btn {
  white-space: nowrap;
  overflow-wrap: normal;
}
:root {
  --rep-sidebar-expanded-width: 280px;
  --rep-sidebar-collapsed-width: 64px;
  --rep-scroll-thumb: color-mix(in srgb, var(--rep-text-muted) 34%, var(--rep-surface));
  --rep-scroll-thumb-hover: color-mix(in srgb, var(--rep-text-muted) 68%, var(--rep-surface));
}
[data-bs-theme='dark'] {
  --rep-scroll-thumb: color-mix(in srgb, var(--rep-text-muted) 38%, var(--rep-surface));
  --rep-scroll-thumb-hover: color-mix(in srgb, var(--rep-text-muted) 72%, var(--rep-surface));
}
.rep-app-body #sidebar.sidebar {
  background: color-mix(in srgb, var(--rep-surface) 83%, #edf3fa) !important;
  border-right: 1px solid var(--rep-border-soft);
}
[data-bs-theme='dark'] .rep-app-body #sidebar.sidebar {
  background: color-mix(in srgb, var(--rep-surface) 90%, #0f172a) !important;
}
.rep-app-body #sidebar.sidebar .rep-sidebar-link {
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.65rem;
  min-height: 2.8rem;
  align-items: center;
}
.rep-app-body #sidebar.sidebar .rep-sidebar-link-icon {
  display: grid;
  place-items: center;
  flex: 0 0 2rem;
  width: 2rem;
  min-width: 2rem;
  max-width: 2rem;
  height: 2rem;
  min-height: 2rem;
  max-height: 2rem;
  aspect-ratio: 1;
  align-self: center;
  border-radius: 0.35rem;
  box-sizing: border-box;
}
.rep-app-body #sidebar.sidebar .rep-sidebar-link-icon i {
  display: grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  line-height: 1;
  font-size: 1rem;
  font-weight: 400;
}
.rep-app-body #sidebar.sidebar .rep-sidebar-link-icon i::before { line-height: 1; }
.rep-sidebar-search,
.rep-sidebar-search-trigger {
  color: var(--rep-text-muted);
  background: var(--rep-surface);
}
.rep-sidebar-search {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 2.7rem;
  margin: 0.15rem 0.35rem 0.45rem;
  padding: 0 0.8rem;
  border: 1px solid var(--rep-border);
  border-radius: 0.7rem;
  box-shadow: 0 3px 10px rgb(15 23 42 / 4%);
}
.rep-sidebar-search:focus-within {
  border-color: var(--rep-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rep-primary) 16%, transparent);
}
.rep-sidebar-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--rep-text);
  font: inherit;
  font-size: 0.85rem;
}
.rep-sidebar-search input::placeholder { color: var(--rep-text-muted); }
.rep-sidebar-search-trigger { display: none; }
.rep-sidebar-empty {
  margin: 0.5rem 0.65rem;
  padding: 0.75rem;
  border-radius: 0.65rem;
  background: var(--rep-surface-muted);
  color: var(--rep-text-muted);
  font-size: 0.85rem;
  line-height: 1.5;
}
#rep-sidebar-menu .rep-sidebar-section[hidden],
#rep-sidebar-menu .rep-sidebar-link[hidden],
.rep-sidebar-empty[hidden],
.rep-sidebar-backdrop[hidden] { display: none !important; }

.rep-topbar .sidebar-toggler.header-action-btn {
  display: inline-grid;
  place-items: center;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  border: 1px solid var(--rep-border) !important;
  border-radius: 0.35rem !important;
  background: var(--rep-surface) !important;
  color: var(--rep-primary) !important;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.rep-topbar .sidebar-toggler.header-action-btn:hover,
.rep-topbar .sidebar-toggler.header-action-btn:focus-visible {
  background: color-mix(in srgb, var(--rep-primary) 9%, var(--rep-surface)) !important;
  border-color: color-mix(in srgb, var(--rep-primary) 40%, var(--rep-border)) !important;
  box-shadow: none !important;
}
.rep-topbar .sidebar-toggler.header-action-btn:active { transform: scale(0.94); }
.rep-topbar .sidebar-toggler.header-action-btn i {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  font-size: 1.5rem;
  line-height: 1;
}
.rep-topbar .sidebar-toggler.header-action-btn i::before { line-height: 1; }
.rep-topbar .sidebar-toggler .rep-menu-glyph {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  width: 24px;
  height: 24px;
}
.rep-topbar .sidebar-toggler .rep-menu-glyph span {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform 0.22s ease, opacity 0.15s ease;
}
.rep-topbar .sidebar-toggler.is-open .rep-menu-glyph span:first-child { transform: translateY(6px) rotate(45deg); }
.rep-topbar .sidebar-toggler.is-open .rep-menu-glyph span:nth-child(2) { opacity: 0; transform: scaleX(0.4); }
.rep-topbar .sidebar-toggler.is-open .rep-menu-glyph span:last-child { transform: translateY(-6px) rotate(-45deg); }

@media (min-width: 992px) {
  html:not([data-rep-sidebar-collapsed='true']) .rep-topbar .sidebar-toggler .rep-menu-glyph span:first-child { transform: translateY(6px) rotate(45deg); }
  html:not([data-rep-sidebar-collapsed='true']) .rep-topbar .sidebar-toggler .rep-menu-glyph span:nth-child(2) { opacity: 0; transform: scaleX(0.4); }
  html:not([data-rep-sidebar-collapsed='true']) .rep-topbar .sidebar-toggler .rep-menu-glyph span:last-child { transform: translateY(-6px) rotate(-45deg); }
  .rep-app-body .rep-app-shell.rep-sidebar-collapsed,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body .rep-app-shell {
    grid-template-columns: var(--rep-sidebar-collapsed-width, 72px) minmax(0, 1fr) !important;
  }
  .rep-app-body #sidebar.sidebar {
    z-index: 20;
    margin-left: 0 !important;
    transition: width 0.24s ease, min-width 0.24s ease, max-width 0.24s ease, box-shadow 0.24s ease !important;
  }
  .rep-app-body .rep-app-shell.rep-sidebar-collapsed #sidebar.sidebar,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body .rep-app-shell #sidebar.sidebar {
    width: var(--rep-sidebar-collapsed-width, 72px) !important;
    min-width: var(--rep-sidebar-collapsed-width, 72px) !important;
    max-width: var(--rep-sidebar-collapsed-width, 72px) !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    pointer-events: auto !important;
  }
  .rep-app-body .rep-app-shell.rep-sidebar-collapsed #sidebar.sidebar:hover,
  .rep-app-body .rep-app-shell.rep-sidebar-collapsed #sidebar.sidebar:focus-within,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body .rep-app-shell #sidebar.sidebar:hover,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body .rep-app-shell #sidebar.sidebar:focus-within {
    width: var(--rep-sidebar-expanded-width, 246px) !important;
    min-width: var(--rep-sidebar-expanded-width, 246px) !important;
    max-width: var(--rep-sidebar-expanded-width, 246px) !important;
    box-shadow: 8px 16px 28px rgb(15 23 42 / 14%);
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar .rep-sidebar-label,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar .rep-sidebar-link-text,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar .rep-sidebar-search {
    opacity: 0;
    visibility: hidden;
    width: 0;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-section {
    padding-inline: 0;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-label {
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-link {
    display: flex;
    justify-content: center;
    width: 2.5rem;
    min-height: 2.5rem;
    height: 2.5rem;
    margin-inline: auto;
    padding: 0 !important;
    border-radius: 0.45rem;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-nav { gap: 0.25rem; }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-section {
    gap: 0.05rem;
    padding-block: 0.1rem 0.25rem;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-section + .rep-sidebar-section {
    padding-top: 0.35rem;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-link:hover,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-link:focus-visible,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-link.is-active {
    box-shadow: none !important;
    background: transparent !important;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-link:hover .rep-sidebar-link-icon,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-link:focus-visible .rep-sidebar-link-icon,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-link.is-active .rep-sidebar-link-icon {
    background: var(--rep-nav-active-bg, color-mix(in srgb, var(--rep-nav-tone) 24%, var(--rep-surface))) !important;
    outline: 2px solid var(--rep-nav-active-outline, color-mix(in srgb, var(--rep-nav-tone) 38%, transparent));
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-link-icon {
    width: 2rem;
    height: 2rem;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:not(:hover):not(:focus-within) .rep-sidebar-search {
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar .rep-sidebar-search-trigger {
    display: grid;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    margin: 0.15rem auto 0.55rem;
    border: 1px solid var(--rep-border);
    border-radius: 0.35rem;
    cursor: pointer;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:hover .rep-sidebar-label,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:focus-within .rep-sidebar-label,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:hover .rep-sidebar-link-text,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:focus-within .rep-sidebar-link-text,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:hover .rep-sidebar-search,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:focus-within .rep-sidebar-search {
    opacity: 1;
    visibility: visible;
    width: auto;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:hover .rep-sidebar-search-trigger,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar:focus-within .rep-sidebar-search-trigger { display: none; }
  .rep-app-body .rep-app-shell.rep-sidebar-collapsed #sidebar.sidebar.rep-sidebar-nav-dismissed,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body .rep-app-shell #sidebar.sidebar.rep-sidebar-nav-dismissed {
    width: var(--rep-sidebar-collapsed-width) !important;
    min-width: var(--rep-sidebar-collapsed-width) !important;
    max-width: var(--rep-sidebar-collapsed-width) !important;
    box-shadow: none;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-label,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-link-text,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-search {
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-section { padding-inline: 0; }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-label,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-search {
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-link {
    display: flex;
    justify-content: center;
    width: 2.5rem;
    min-height: 2.5rem;
    height: 2.5rem;
    margin-inline: auto;
    padding: 0 !important;
    border-radius: 0.45rem;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-link:hover,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-link:focus-visible,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-link.is-active {
    box-shadow: none !important;
    background: transparent !important;
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-link:hover .rep-sidebar-link-icon,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-link:focus-visible .rep-sidebar-link-icon,
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-link.is-active .rep-sidebar-link-icon {
    background: var(--rep-nav-active-bg, color-mix(in srgb, var(--rep-nav-tone) 24%, var(--rep-surface))) !important;
    outline: 2px solid var(--rep-nav-active-outline, color-mix(in srgb, var(--rep-nav-tone) 38%, transparent));
  }
  html[data-rep-sidebar-collapsed='true'] .rep-app-body #sidebar.sidebar.rep-sidebar-nav-dismissed .rep-sidebar-search-trigger { display: grid !important; }
}

html:not([data-rep-sidebar-ready='true']) .rep-app-body #sidebar.sidebar,
html:not([data-rep-sidebar-ready='true']) .rep-topbar .sidebar-toggler .rep-menu-glyph span {
  transition: none !important;
}

.rep-sidebar-backdrop { display: none; }
@media (max-width: 991.98px) {
  .rep-app-body #sidebar.sidebar {
    z-index: 30;
    width: min(300px, calc(100vw - 2.75rem)) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    transform: translateX(-105%) !important;
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    box-shadow: none;
  }
  .rep-app-body #sidebar.sidebar.show {
    transform: translateX(0) !important;
    box-shadow: 10px 18px 36px rgb(15 23 42 / 22%);
  }
  .rep-sidebar-backdrop:not([hidden]) {
    position: absolute;
    inset: 0;
    z-index: 29;
    display: block;
    width: 100%;
    border: 0;
    background: rgb(15 23 42 / 40%);
    cursor: pointer;
  }
}
@media (max-width: 359.98px) {
  .rep-topbar .rep-topbar-shell { padding-inline: 0.25rem; }
  .rep-topbar .rep-topbar-brand-wrap,
  .rep-topbar .rep-topbar-actions { gap: 0.1rem; }
  .rep-topbar .app-header__logo { max-width: 68px; }
  .rep-topbar .sidebar-toggler.header-action-btn { width: 36px !important; min-width: 36px !important; height: 36px !important; min-height: 36px !important; }
  .rep-topbar .rep-topbar-actions .header-action-btn,
  .rep-topbar .rep-topbar-actions .header-action-btn:not(.app-header__resource-btn),
  .rep-topbar .rep-topbar-actions .rep-theme-btn,
  .rep-topbar .rep-topbar-actions .rep-icon-btn,
  .rep-topbar .rep-topbar-actions .rep-account-control .user-menu-trigger {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
  }
  .rep-topbar .rep-topbar-actions .rep-user-trigger-avatar { width: 26px !important; height: 26px !important; }
}
@media (max-width: 279.98px) {
  .rep-topbar .app-header__logo { max-width: 58px; }
}
/* Use the narrow native scrollbar when exact-width scrollbar styling is unavailable. */
*, .rep-app-body #sidebar.sidebar {
  scrollbar-width: thin !important;
  scrollbar-color: var(--rep-scroll-thumb, #a8b5c7) transparent !important;
}
@supports selector(::-webkit-scrollbar) {
  *, .rep-app-body #sidebar.sidebar {
    scrollbar-width: auto !important;
    scrollbar-color: auto !important;
  }
  *::-webkit-scrollbar { width: 3px !important; height: 3px !important; }
  .rep-app-body #sidebar.sidebar::-webkit-scrollbar,
  .rep-app-body .rep-content-scroll::-webkit-scrollbar { width: 3px !important; height: 3px !important; }
  *::-webkit-scrollbar-track { background: transparent !important; }
  *::-webkit-scrollbar-thumb {
    background: var(--rep-scroll-thumb, #a8b5c7) !important;
    border-radius: 999px !important;
  }
  *::-webkit-scrollbar-thumb:hover { background: var(--rep-scroll-thumb-hover, #7e90a8) !important; }
}
@supports (-moz-appearance: none) {
  html, body, *, .rep-app-body #sidebar.sidebar {
    scrollbar-width: thin !important;
    scrollbar-color: var(--rep-scroll-thumb, #a8b5c7) transparent !important;
  }
}
/* Operational lists use compact controls; ordinary form actions retain their size. */
.rep-data-table-toolbar {
  --rep-list-control-height: 2.125rem;
  padding: .25rem 0 1rem !important;
  margin-bottom: 1rem !important;
}
.rep-data-table-toolbar .rep-toolbar-flow,
.rep-data-table-toolbar .rep-toolbar-filters { gap: .75rem 1rem !important; }
.rep-data-table-toolbar .rep-toolbar-filter-field { gap: .375rem; }
.rep-data-table-toolbar .rep-toolbar-filter-field > label,
.rep-data-table-toolbar .rep-toolbar-filter-field > .rep-field-label-row > label {
  font-size: 0.78rem;
  line-height: 1.25;
}
.rep-data-table-toolbar .rep-data-table-search .form-control,
.rep-data-table-toolbar .rep-data-table-filter,
.rep-data-table-toolbar .searchable-select > .btn,
.rep-data-table-toolbar .rep-toolbar-actions .btn {
  height: var(--rep-list-control-height) !important;
  min-height: var(--rep-list-control-height) !important;
  font-size: 0.8rem !important;
  border-radius: 0.5rem !important;
}
.rep-data-table-toolbar .rep-toolbar-actions { gap: .5rem !important; }
.rep-data-table-toolbar .rep-toolbar-actions .btn { padding-inline: 0.55rem !important; }
.rep-pagination-size-form .form-select,
.rep-pagination-size-form .btn {
  height: 2.125rem !important;
  min-height: 2.125rem !important;
  font-size: 0.8rem !important;
  border-radius: 0.5rem !important;
}
.rep-filter-bar .rep-filter-controls { gap: 0.5rem !important; }
.rep-filter-bar .rep-filter-controls :is(.form-control, .form-select, .btn),
.rep-action-row .rep-toolbar-export {
  height: 2.125rem !important;
  min-height: 2.125rem !important;
  font-size: 0.8rem !important;
  border-radius: 0.5rem !important;
}
:is(.rep-app-body, .rep-public-body) :is(.rep-badge, .rep-status-pill, .rep-status-chip, .rep-filter-chip, .rep-filter-count) {
  border: 0 !important;
}
.rep-page-kicker,
.rep-page-back-btn { border: 0 !important; }
.rep-page-back-btn {
  border-radius: 0.5rem !important;
  background: color-mix(in srgb, var(--rep-primary) 7%, var(--rep-surface-card)) !important;
}
.rep-page-shell:has(.rep-data-table-toolbar) .rep-page-back-btn {
  min-height: 2.125rem !important;
  padding: 0.4rem 0.6rem !important;
}
.rep-data-table-toolbar .rep-toolbar-actions .btn-outline-secondary,
.rep-pagination-size-form .btn-outline-secondary {
  border: 0 !important;
  background: var(--rep-surface-muted) !important;
  color: var(--rep-text) !important;
  box-shadow: 0 1px 2px rgb(15 23 42 / 8%) !important;
}
.rep-data-table-toolbar .rep-toolbar-actions .btn-outline-secondary:hover,
.rep-data-table-toolbar .rep-toolbar-actions .btn-outline-secondary:focus-visible,
.rep-pagination-size-form .btn-outline-secondary:hover,
.rep-pagination-size-form .btn-outline-secondary:focus-visible {
  background: color-mix(in srgb, var(--rep-primary) 9%, var(--rep-surface-muted)) !important;
  color: var(--rep-primary-strong) !important;
}
@media (max-width: 575.98px) {
  .rep-data-table-toolbar { --rep-list-control-height: 2.75rem; }
  .rep-data-table-toolbar .rep-toolbar-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .rep-data-table-toolbar .rep-toolbar-filter-field:first-child { grid-column: 1 / -1; }
  .rep-data-table-toolbar .rep-toolbar-actions .btn {
    white-space: normal;
    height: auto !important;
    text-align: center;
  }
  .rep-action-row > .btn,
  .rep-action-row > form > .btn,
  .rep-form-actions .btn { min-height: 2.75rem !important; }
  .rep-pagination-size-form .form-select,
  .rep-pagination-size-form .btn { min-height: 2.375rem !important; height: 2.375rem !important; }
  .rep-page-shell:has(.rep-data-table-toolbar) .rep-page-back-btn { min-height: 2.375rem !important; }
  .rep-filter-bar .rep-filter-controls :is(.form-control, .form-select, .btn),
  .rep-action-row .rep-toolbar-export { min-height: 2.375rem !important; height: 2.375rem !important; }
}
@media (max-width: 359.98px) {
  .rep-data-table-toolbar .rep-toolbar-filters { grid-template-columns: minmax(0, 1fr) !important; }
}
.rep-app-body .rep-content-scroll,
.rep-modal-body,
.rep-modal .modal-body,
.rep-modal-shell .modal-body,
#modal .modal-body { scrollbar-gutter: auto !important; }
.rep-app-body .rep-content-inner { padding: clamp(0.55rem, 0.9vw, 1rem) !important; }
.rep-app-body .rep-page-shell { padding: clamp(0.5rem, 0.8vw, 0.875rem) !important; }
/* Dashboard overview: give account details room and keep each progress step scannable. */
.rep-dashboard-overview-grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: stretch;
  gap: 1rem;
}
.rep-dashboard-overview-grid > .rep-card { display: flex; flex-direction: column; }
.rep-dashboard-overview-grid > .rep-card > .rep-card-head,
.rep-dashboard-overview-grid > .rep-card > .rep-card-body { padding: 1rem !important; }
.rep-dashboard-overview-grid > .rep-card > .rep-card-head { min-height: 4rem; }
.rep-dashboard-overview-grid > .rep-card > .rep-card-head { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; gap: .5rem; }
.rep-dashboard-overview-grid > .rep-card > .rep-card-head > .btn { width: auto; }
.rep-dashboard-overview-grid .rep-card-head-copy { display: grid; gap: .375rem; }
.rep-dashboard-overview-grid .rep-card-subtitle { margin: 0; }
.rep-dashboard-overview-grid > .rep-card > .rep-card-body { flex: 1; }
.rep-dashboard-overview-grid .rep-detail-item { padding: 1rem; }
@media (min-width: 576px) and (max-width: 991.98px) {
  .rep-dashboard-overview-grid .rep-card-body > .rep-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.rep-dashboard-progress-card { align-self: stretch; }
.rep-dashboard-progress-card .rep-card-body { display: grid; }
.rep-dashboard-progress-card .rep-stepper.rep-stepper-vertical {
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: auto;
  align-content: start;
  gap: .625rem;
}
.rep-dashboard-progress-card .rep-stepper-item {
  grid-template-columns: 1.7rem minmax(0, 1fr) auto;
  align-items: center;
  min-height: 3.25rem;
  padding: .625rem .875rem;
  gap: 0.6rem;
  border-radius: 0.7rem;
}
.rep-dashboard-progress-card .rep-stepper-index {
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  font-size: 0.8rem;
}
.rep-dashboard-progress-card .rep-stepper-index i {
  font-size: 1.05rem;
  font-weight: 900;
}
.rep-dashboard-progress-card .rep-stepper-completed .rep-stepper-index {
  color: #fff;
  background: #166534;
  border-color: #166534;
}
.rep-dashboard-progress-card .rep-stepper-current .rep-stepper-index {
  color: #fff;
  background: #1d4ed8;
  border-color: #1d4ed8;
}
.rep-dashboard-progress-card .rep-stepper-rejected .rep-stepper-index {
  color: #fff;
  background: #b91c1c;
  border-color: #b91c1c;
}
.rep-dashboard-progress-card .rep-stepper-copy strong {
  font-size: 0.82rem;
  line-height: 1.3;
}
.rep-dashboard-progress-card .rep-stepper-copy small {
  display: block;
  font-size: 0.72rem;
  line-height: 1.35;
}
.rep-dashboard-progress-card .rep-stepper-state {
  color: var(--rep-text-muted);
  font-size: 0.7rem;
  font-weight: 700;
  white-space: nowrap;
}
.rep-dashboard-progress-card .rep-stepper-completed .rep-stepper-state { color: #166534; }
.rep-reminder-modal .modal-dialog { width: calc(100% - 2rem); max-width: 36rem; margin-inline: auto; }
.rep-reminder-modal .rep-modal-title { line-height: 1.4; }
.rep-reminder-modal .rep-modal-body { padding: clamp(1rem, 3vw, 1.5rem); }
.rep-reminder-steps { display: grid; gap: 1rem; margin: 1.25rem 0 0; padding-left: 1.5rem; list-style: decimal outside; line-height: 1.65; color: var(--rep-text); }
.rep-reminder-modal .rep-modal-title:focus-visible { outline: 2px solid var(--rep-primary); outline-offset: 4px; border-radius: 0.25rem; }
.rep-reminder-modal .rep-modal-footer .btn-outline-secondary { color: var(--rep-text) !important; background: var(--rep-surface) !important; border: 1px solid var(--rep-border) !important; }
.rep-reminder-steps li { padding-left: 0.35rem; }
.rep-reminder-steps li::marker { color: var(--rep-primary); font-weight: 700; }
.rep-reminder-modal .rep-modal-footer { display: flex; flex-wrap: wrap; gap: 0.75rem; padding: 1rem 1.5rem; }
@media (max-width: 575.98px) {
  .rep-reminder-modal .rep-modal-footer > .btn { width: 100%; justify-content: center; margin: 0; white-space: normal; }
}
.rep-dashboard-progress-card .rep-stepper-current .rep-stepper-state { color: #1d4ed8; }
.rep-dashboard-progress-card .rep-stepper-rejected .rep-stepper-state { color: #b91c1c; }
[data-bs-theme='dark'] .rep-dashboard-progress-card .rep-stepper-completed .rep-stepper-state { color: #86efac; }
[data-bs-theme='dark'] .rep-dashboard-progress-card .rep-stepper-current .rep-stepper-state { color: #93c5fd; }
[data-bs-theme='dark'] .rep-dashboard-progress-card .rep-stepper-rejected .rep-stepper-state { color: #fca5a5; }
@media (max-width: 1279.98px) {
  .rep-dashboard-overview-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .app-header .sidebar-toggler,
  .rep-topbar .sidebar-toggler .rep-menu-glyph span,
  .rep-app-body #sidebar.sidebar { transition: none !important; }
}

/* Shared saved application records and postal instructions. */
.rep-application-record + .rep-application-record { margin-top: 1rem; }
.rep-application-answers dd { margin: .25rem 0 0; overflow-wrap: anywhere; }
.rep-application-preview-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 1rem; }
.rep-application-image { margin: 0 0 1rem; padding: .5rem; border: 1px solid var(--rep-border); border-radius: .375rem; width: fit-content; max-width: 100%; background: var(--rep-surface); }
.rep-application-image img { display: block; object-fit: contain; background: #fff; max-width: 100%; }
.rep-application-image img[hidden] { display: none; }
.rep-application-image figcaption { margin-top: .4rem; font-size: .8rem; font-weight: 600; text-align: center; }
.rep-application-photo img { width: 35mm; height: 45mm; }
.rep-application-signature img { width: 55mm; height: 20mm; }
.rep-application-signature { margin-left: auto; }
@media (max-width: 575.98px) {
  .rep-application-preview-heading { grid-template-columns: minmax(0, 1fr) 25mm; gap: .75rem; }
  .rep-application-photo { padding: .25rem; }
  .rep-application-photo img { width: 25mm; height: 32mm; }
}
.rep-postal-instructions .rep-list { list-style: decimal; margin: .5rem 0; padding-inline-start: 1.4rem; }
.rep-postal-instructions .rep-list li + li { margin-top: .4rem; }
.rep-postal-instructions .rep-detail-value { overflow-wrap: anywhere; }

/* Underlines identify reading links; components retain their own visual cues. */
:root { --rep-content-link-color: #3730a3; }
[data-bs-theme='dark'] { --rep-content-link-color: #c7d2fe; }
:is(.rep-prose, .rep-form-help, .rep-form-section-copy, .rep-notice-alert-message, .rep-alert)
  a[href]:not(:is(.btn, .badge, .rep-status-chip, .nav-link, .dropdown-item, .page-link, .rep-account-action, .rep-notification-item, .rep-stat-card-2-anchor, [role='button'], [role='tab'], [data-bs-toggle])) {
  color: var(--rep-content-link-color);
  text-decoration-line: underline;
  text-decoration-thickness: .06em;
  text-underline-offset: .2em;
  text-decoration-skip-ink: auto;
}
:is(.rep-prose, .rep-form-help, .rep-form-section-copy, .rep-notice-alert-message, .rep-alert)
  a[href]:not(:is(.btn, .badge, .rep-status-chip, .nav-link, .dropdown-item, .page-link, .rep-account-action, .rep-notification-item, .rep-stat-card-2-anchor, [role='button'], [role='tab'], [data-bs-toggle])):is(:hover, :focus-visible) {
  text-decoration-thickness: .12em;
}

/* Shared compact filter window. It uses the top layer to avoid clipped dropdowns. */
.rep-answer-filters { flex: 0 0 auto; align-self: flex-start; margin-left: auto; }
.rep-answer-filter-popup {
  position: fixed; inset: auto; left: var(--rep-filter-left, 8px); top: var(--rep-filter-top, 8px);
  width: min(660px, calc(100vw - 16px)); max-height: var(--rep-filter-height, calc(100dvh - 16px));
  box-sizing: border-box; margin: 0; padding: 1rem; overflow: auto; z-index: 1080;
  color: var(--rep-text); background: var(--rep-surface-card);
  border: 1px solid var(--rep-border-soft); border-radius: .375rem; box-shadow: 0 8px 28px rgb(15 23 42 / 16%);
}
.rep-answer-filter-popup[hidden] { display: none !important; }
.rep-answer-filter-advanced {
  width: min(48rem, calc(100vw - 1rem));
  max-width: var(--rep-filter-max-width, calc(100vw - 1rem));
  padding: 0;
  overscroll-behavior: contain;
  scroll-padding-block: 5rem;
}
.rep-answer-filter-advanced .rep-answer-filter-heading {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: 0;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--rep-border-soft);
  background: var(--rep-surface-card);
}
.rep-answer-filter-heading-copy { display: flex; align-items: center; gap: 0.625rem; min-width: 0; }
.rep-answer-filter-heading-copy strong { font-size: 1rem; line-height: 1.35; }
.rep-answer-filter-heading-copy p { margin: 0.125rem 0 0; color: var(--rep-text-muted); font-size: 0.8125rem; line-height: 1.4; }
.rep-answer-filter-body { display: grid; gap: 0.75rem; padding: 0.875rem 1rem; }
.rep-filter-section { min-width: 0; }
.rep-filter-section ~ .rep-filter-section { padding-top: 0.75rem; border-top: 1px solid var(--rep-border-soft); }
.rep-filter-section-title { margin: 0; font-size: 0.875rem; font-weight: 700; line-height: 1.4; }
.rep-filter-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.rep-filter-section-copy { margin: 0.375rem 0 0.75rem; color: var(--rep-text-muted); font-size: 0.8125rem; line-height: 1.5; }
.rep-answer-filter-context-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; margin-top: 0.5rem; }
.rep-answer-filter-context-grid > :only-child { grid-column: 1 / -1; }
.rep-filter-condition-count { color: var(--rep-text-muted); font-size: 0.75rem; font-variant-numeric: tabular-nums; }
.rep-filter-condition-count:empty, .rep-filter-feedback:empty { display: none; }
.rep-filter-feedback { color: var(--rep-state-danger-text); background: var(--rep-state-danger-bg); padding: 0.75rem; font-size: 0.8125rem; line-height: 1.5; }
.rep-answer-add-row { margin-top: 0.75rem; }
.rep-answer-filter-advanced .rep-answer-filter-match { display: grid; gap: 0.375rem; margin: 0; min-width: 0; }
.rep-answer-filter-advanced .rep-answer-filter-match > .form-select { width: 100%; }
.rep-answer-filter-advanced .rep-answer-filter-match .form-label { margin: 0; font-size: 0.8125rem; font-weight: 600; }
.rep-answer-filter-popup.rep-answer-filter-advanced :is(.form-control, .form-select, .searchable-select > .btn) {
  min-height: 2.5rem !important;
  height: auto !important;
  padding-block: 0.5rem !important;
  font-size: 0.8125rem !important;
  line-height: 1.4 !important;
}
.rep-answer-filter-advanced .searchable-select { width: 100%; min-width: 0; }
.rep-answer-filter-advanced .searchable-select > .btn { width: 100%; justify-content: space-between; text-align: start; }
.rep-answer-filter-advanced .rep-answer-filter-heading > .btn { flex-shrink: 0; width: 2.5rem; min-height: 2.5rem; padding: 0.5rem; }
.rep-answer-filter-advanced .rep-answer-filter-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  justify-content: flex-end;
  gap: 0.625rem;
  margin: 0;
  padding: 0.875rem 1rem;
  background: var(--rep-surface-card);
  border-top: 1px solid var(--rep-border-soft);
}
.rep-answer-filter-advanced .rep-answer-filter-actions > :first-child { margin-right: 0; }
.rep-answer-filter-advanced:popover-open { animation: rep-filter-open 0.14s ease-out; }
@keyframes rep-filter-open { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .rep-answer-filter-advanced:popover-open { animation: none; } }
.rep-answer-filter-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: .75rem; gap: .5rem; }
.rep-answer-filter-heading .btn { min-width: 2rem; padding: .3rem; }
.rep-answer-filter-count { display: inline-flex; justify-content: center; min-width: 1.25rem; padding: .05rem .25rem; border-radius: .25rem; background: var(--rep-primary); color: #fff; font-size: .75rem; }
.rep-answer-filter-match { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: .9rem; font-size: .8rem; }
.rep-answer-filter-match > .form-select { width: auto; max-width: 100%; }
.rep-answer-filter-match > .form-label { margin: 0; font-size: inherit; }
.rep-answer-filter-rows { display: grid; gap: .65rem; }
.rep-answer-filter-row { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: .75rem; padding: .75rem; border: 1px solid var(--rep-border-soft); background: var(--rep-surface-muted); }
.rep-answer-filter-row > div { min-width: 0; }
.rep-answer-filter-row-heading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-bottom: .5rem; border-bottom: 1px solid var(--rep-border-soft); font-size: .8125rem; font-weight: 700; }
.rep-answer-filter-row-heading .btn { color: var(--rep-state-danger-text); gap: .375rem; font-size: .75rem; min-height: 2rem; padding: .25rem .5rem; }
.rep-answer-filter-row .form-label { display: block; margin: 0 0 .25rem; font-size: .75rem; }
.rep-answer-filter-row .form-control, .rep-answer-filter-row .form-select { min-width: 0; width: 100%; }
.rep-answer-filter-popup :is(.form-control,.form-select,.searchable-select > .btn) { min-height: 2.125rem !important; height: 2.125rem !important; font-size: .8rem !important; padding-block: .3rem !important; }
.rep-answer-filter-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--rep-border-soft); }
.rep-answer-filter-actions > :first-child { margin-right: auto; }
.rep-answer-filter-actions > .btn { width: auto !important; }
.rep-answer-filter-popup .searchable-select .dropdown-menu { max-width: 100%; }
.rep-answer-value-control { position: relative; }
.rep-answer-suggestions {
  position: fixed; inset: auto; left: var(--rep-value-left, 8px); top: var(--rep-value-top, 8px);
  width: var(--rep-value-width, 220px); max-width: calc(100vw - 16px);
  max-height: var(--rep-value-height, 240px); overflow-y: auto; overscroll-behavior: contain;
  box-sizing: border-box; margin: 0; padding: .3rem; z-index: 1090;
  color: var(--rep-text); background: var(--rep-surface-card);
  border: 1px solid var(--rep-border-soft); border-radius: .375rem; box-shadow: 0 8px 24px rgb(15 23 42 / 14%);
}
.rep-answer-suggestions[hidden] { display: none !important; }
.rep-answer-suggestions ul { list-style: none; margin: 0; padding: 0; }
.rep-answer-suggestions [role='option'] {
  display: flex; align-items: center; gap: .5rem; padding: .5rem .6rem; border-radius: .25rem; cursor: pointer;
  font-size: .8rem; line-height: 1.4; overflow-wrap: anywhere;
}
.rep-answer-suggestions [role='option']:is(:hover, .is-active) {
  background: var(--rep-primary); color: #fff;
}
.rep-answer-suggestions [role='option'] > i { flex: 0 0 .9rem; opacity: 0; }
.rep-answer-suggestions [role='option'][aria-selected='true'] > i { opacity: 1; }
.rep-answer-picked { display: flex; flex-wrap: wrap; gap: .25rem; }
.rep-answer-picked:empty { display: none; }
.rep-answer-picked:not(:empty) { margin-top: .3rem; }
.rep-answer-picked-value {
  display: inline-flex; align-items: center; gap: .25rem; max-width: 100%; padding: .2rem .3rem .2rem .45rem;
  background: var(--rep-surface-card); background: color-mix(in srgb, var(--rep-primary) 10%, var(--rep-surface-card));
  color: var(--rep-text); border-radius: .25rem; font-size: .75rem; line-height: 1.3;
}
.rep-answer-picked-value > span { min-width: 0; overflow-wrap: anywhere; }
.rep-answer-picked-value > button { display: grid; place-items: center; flex: 0 0 1.4rem; width: 1.4rem; height: 1.4rem; padding: 0; border: 0; border-radius: .2rem; background: transparent; color: inherit; cursor: pointer; }
.rep-answer-picked-value > button:is(:hover, :focus-visible) { background: var(--rep-primary); color: #fff; outline: 2px solid var(--rep-primary); outline-offset: 1px; }
.rep-answer-suggestions-status { margin: .25rem .5rem; font-size: .75rem; line-height: 1.4; }
.rep-answer-suggestions-status:empty { display: none; }
@media (pointer: coarse) {
  .rep-answer-suggestions [role='option'] { min-height: 2.75rem; display: flex; align-items: center; }
}

@media (max-width: 639.98px) {
  .rep-answer-filter-actions > :first-child { flex-basis: 100%; justify-content: flex-start; }
  .rep-answer-filter-actions > :not(:first-child) { flex: 1; }
  .rep-answer-filter-advanced .rep-answer-filter-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rep-answer-filter-advanced .rep-answer-filter-actions > .btn { width: 100% !important; min-height: 2.75rem; }
  .rep-answer-filter-popup.rep-answer-filter-advanced :is(.form-control, .form-select, .searchable-select > .btn) { min-height: 2.75rem !important; }
  .rep-answer-filter-row-heading .btn { min-height: 2.75rem; }
}
@media (min-width: 640px) {
  .rep-answer-filter-row { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.35fr); }
  .rep-answer-filter-context-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); align-items: end; }
}

.rep-table-filter-control { flex: 0 0 auto; }
.rep-table-filter-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.rep-table-filter-fields > * { min-width: 0; }
@media (min-width: 640px) {
  .rep-table-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Shared overlays keep their form bindings while escaping card and table clipping. */
.dropdown-menu[popover], .searchable-select .dropdown-menu[popover],
.app-header .dropdown-menu[popover], #notificationDropdownMenu.dropdown-menu[popover] {
  position: fixed !important; inset: auto !important; margin: 0 !important;
  left: var(--rep-menu-left) !important; top: var(--rep-menu-top) !important;
  width: var(--rep-menu-width, max-content) !important; min-width: 0 !important;
  max-width: calc(100vw - 16px) !important;
  max-height: var(--rep-menu-height) !important; overflow-y: auto !important;
  box-sizing: border-box; transform: none !important; color: var(--rep-text);
}
.app-header .dropdown-menu[popover] { color: var(--rep-header-text, var(--rep-text)); }
.app-header .rep-user-menu[popover] { width: var(--rep-menu-width, 22rem) !important; max-width: min(22rem, calc(100vw - 16px)) !important; }
.rep-user-menu-identity { min-width: 0; flex: 1 1 auto; white-space: normal; overflow-wrap: anywhere; }
#notificationDropdownMenu.dropdown-menu[popover] {
  width: var(--rep-menu-width, 26rem) !important;
  max-width: min(26rem, calc(100vw - 16px)) !important;
  height: calc(100vh - var(--rep-menu-top, var(--header-height)) - 8px) !important;
  height: calc(100dvh - var(--rep-menu-top, var(--header-height)) - 8px) !important;
  max-height: calc(100vh - var(--rep-menu-top, var(--header-height)) - 8px) !important;
  max-height: calc(100dvh - var(--rep-menu-top, var(--header-height)) - 8px) !important;
  overflow: hidden !important;
}
.rep-row-actions-menu-floating { max-width: calc(100vw - 16px) !important; overflow-y: auto !important; overscroll-behavior: contain; }
.rep-mobile-actions > summary { display: none; }
.rep-mobile-actions > nav { margin: 0; }
@media (min-width: 768px) {
  .rep-mobile-actions::details-content { content-visibility: visible; }
  .rep-mobile-actions:not([open]) > nav { display: flex; }
}
@media (max-width: 767.98px) {
  .rep-mobile-actions > summary { display: flex; align-items: center; gap: .5rem; cursor: pointer; list-style: none; width: fit-content; }
  .rep-mobile-actions > summary::-webkit-details-marker { display: none; }
  .rep-mobile-actions-chevron { margin-left: .25rem; transition: transform .15s ease; }
  .rep-mobile-actions[open] .rep-mobile-actions-chevron { transform: rotate(180deg); }
  .rep-mobile-actions[open] > nav { margin-top: .65rem; }
}
@media (prefers-reduced-motion: reduce) {
  .rep-mobile-actions-chevron { transition: none; }
}
.rep-table th .rep-sort-trigger {
  flex: 0 0 1.75rem;
  width: 1.75rem !important;
  min-width: 1.75rem !important;
  height: 1.75rem !important;
  padding: .25rem !important;
  margin-inline: .125rem;
  box-sizing: border-box;
  border-radius: .375rem;
  text-decoration: none !important;
}
.rep-table .rep-sort-head { gap: .65rem !important; }
.rep-table tbody .rep-row-actions { align-items: center; line-height: 1; }
.rep-table tbody .rep-row-actions-toggle.btn.btn-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  min-height: 2rem !important;
  padding: .375rem !important;
  line-height: 1;
  margin: 0;
}
.rep-table tbody :is(.rep-status-chip, .rep-status-pill) {
  max-width: 100%;
  box-sizing: border-box;
  vertical-align: middle;
  line-height: 1.35;
}
/* Metric registers keep descriptive names left and quantitative columns right-aligned. */
.rep-table.rep-table-metrics :is(thead th, tbody td):not(:first-child) {
  text-align: end !important;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}
.rep-table.rep-table-metrics tbody td:not(:first-child) > a {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 1.75rem;
  min-height: 1.75rem;
  font-weight: 600;
  line-height: 1.4;
}
.rep-table tbody .rep-status-chip-label {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  text-overflow: clip;
}
.rep-role-list .rep-status-chip-label,
.rep-dashboard-profile .rep-status-chip-label {
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: normal;
  word-break: normal;
  text-overflow: clip !important;
}
.rep-table th[aria-sort='ascending'] .rep-sort-trigger,
.rep-table th[aria-sort='descending'] .rep-sort-trigger { color: var(--rep-primary) !important; }
.rep-sort-trigger .rep-sort-icon { display: grid; grid-template-rows: repeat(2, .45rem); gap: .08rem; justify-items: center; width: .75rem; }
.rep-sort-trigger .rep-sort-icon > i { display: inline-flex; font-size: .6rem !important; line-height: 1 !important; }
th[aria-sort='ascending'] .rep-sort-icon > .bi-caret-down-fill,
th[aria-sort='descending'] .rep-sort-icon > .bi-caret-up-fill { opacity: .25; }
.rep-sort-trigger:focus-visible { outline: 2px solid var(--rep-primary); outline-offset: 2px; border-radius: .25rem; }
@media (pointer: coarse) {
  .rep-table th .rep-sort-trigger { flex-basis: 2.25rem; width: 2.25rem !important; min-width: 2.25rem !important; height: 2.25rem !important; }
  .rep-table tbody .rep-row-actions-toggle.btn.btn-sm { width: 2.5rem; min-width: 2.5rem; height: 2.5rem; min-height: 2.5rem !important; }
}
@media (min-width: 768px) {
  .rep-data-table-toolbar .rep-toolbar-filters { grid-column: 1; }
  .rep-data-table-toolbar .rep-toolbar-actions { grid-column: 2; justify-content: flex-end; }
  .rep-data-table-toolbar .rep-toolbar-meta-inline { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 991.98px) {
  .rep-data-table-toolbar .rep-toolbar-flow {
    grid-template-columns: minmax(0, 1fr);
  }
  .rep-data-table-toolbar .rep-toolbar-flow > .rep-toolbar-filters {
    grid-column: 1 / -1;
    max-width: none;
  }
  .rep-section-nav,
  .rep-data-table-toolbar .rep-toolbar-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
    gap: 0.5rem;
    grid-column: 1 / -1;
  }
  .rep-section-nav > .btn,
  .rep-data-table-toolbar .rep-toolbar-actions > .btn,
  .rep-data-table-toolbar .rep-toolbar-actions > [data-answer-filter-control],
  .rep-data-table-toolbar .rep-toolbar-actions > [data-answer-filter-control] > [data-answer-filter-toggle] {
    width: 100% !important;
    min-width: 0;
    margin: 0;
  }
  .rep-section-nav > .btn,
  .rep-data-table-toolbar .rep-toolbar-actions > .btn,
  .rep-data-table-toolbar .rep-toolbar-actions > [data-answer-filter-control] > [data-answer-filter-toggle] {
    min-height: 2.75rem !important;
    height: auto !important;
    padding: 0.5rem 0.625rem !important;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }
  .rep-data-table-toolbar .rep-toolbar-actions > [data-answer-filter-control] > [data-answer-filter-toggle] {
    height: 100% !important;
  }
  .rep-section-nav > .btn:only-child,
  .rep-section-nav > .btn:last-child:nth-child(odd),
  .rep-data-table-toolbar .rep-toolbar-actions > .btn-primary,
  .rep-data-table-toolbar .rep-toolbar-actions > .btn-outline-danger {
    grid-column: 1 / -1;
  }
}

/* Chrome/Edge 109 (Windows 7): color-mix() with var() becomes invalid at
   computed-value time, so an earlier background declaration is not a fallback.
   Keep shared surfaces opaque using the existing theme and status tokens.
   Feature detection also covers older browsers on other operating systems. */
@supports not (color: color-mix(in srgb, red, blue)) {
  :root, [data-bs-theme] {
    --rep-table-border-color: var(--rep-border-soft);
    --rep-table-border-strong-color: var(--rep-border-strong);
    --rep-table-header-bg: var(--rep-surface-muted);
    --rep-table-hover-bg: var(--rep-accent-soft);
    --rep-table-hover-border: var(--rep-border-strong);
    --rep-control-off-bg: var(--rep-surface-muted);
    --rep-control-off-border: var(--rep-border-strong);
    --rep-surface-soft: var(--rep-surface-muted);
    --rep-modal-backdrop: rgba(15, 23, 42, 0.55);
    --rep-modal-head-bg: var(--rep-surface-muted);
    --rep-modal-foot-bg: var(--rep-surface);
    --rep-scroll-thumb: #a8b5c7;
    --rep-scroll-thumb-hover: #7e90a8;
    --rep-nav-active-bg: var(--rep-accent-soft);
    --rep-nav-active-outline: var(--rep-border-strong);
  }
  [data-bs-theme='dark'] {
    --rep-modal-backdrop: rgba(2, 6, 23, 0.72);
    --rep-scroll-thumb: #52647b;
    --rep-scroll-thumb-hover: #7c91aa;
  }

  [data-bs-theme] .rep-app-body #sidebar.sidebar {
    background: var(--rep-surface) !important;
  }
  .rep-app-body .rep-sidebar .rep-sidebar-link:is(:hover, :focus-visible, .is-active) {
    background: var(--rep-accent-soft) !important;
  }
  [data-bs-theme] .rep-sidebar-link-icon {
    background: var(--rep-surface-muted);
  }
  [data-bs-theme] .rep-sidebar-link:is(:hover, :focus-visible, .is-active) .rep-sidebar-link-icon {
    background: var(--rep-nav-active-bg);
  }
  [data-bs-theme] .app-header .app-header__actions .header-action-btn,
  [data-bs-theme] .rep-topbar .rep-topbar-actions .header-action-btn {
    background: var(--rep-accent-soft) !important;
    border-color: var(--rep-border-soft) !important;
  }
  [data-bs-theme] .app-header .app-header__actions .header-action-btn:is(:hover, :focus-visible),
  [data-bs-theme] .rep-topbar .rep-topbar-actions .header-action-btn:is(:hover, :focus-visible) {
    background: var(--rep-surface-muted) !important;
    border-color: var(--rep-accent) !important;
    box-shadow: var(--rep-shadow-card) !important;
  }

  [data-bs-theme] #spinner,
  [data-bs-theme] .rep-spinner-shell,
  [data-bs-theme] .rep-spinner-logo-wrap,
  [data-bs-theme] .rep-sop-panel__body,
  [data-bs-theme] .rep-inline-verify-card,
  [data-bs-theme] .rep-back-to-top {
    background: var(--rep-surface);
    border-color: var(--rep-border-soft);
  }
  .rep-modal-content,
  .rep-modal-shell .modal-content,
  .rep-modal .modal-content,
  #modal .modal-content {
    background: var(--rep-surface);
    border-color: var(--rep-border-soft);
  }
  .rep-spinner-ring {
    border-color: var(--rep-border);
    border-top-color: var(--rep-primary);
  }
  [data-bs-theme] .rep-back-to-top:is(:hover, :focus-visible),
  .rep-inline-verify-badge {
    background: var(--rep-surface-muted);
  }
  .rep-inline-verify-badge.is-verified {
    background: var(--rep-state-success-bg);
    color: var(--rep-state-success-text);
  }
  .rep-form-section.rep-guided-progress {
    background: var(--rep-surface-muted);
    border-color: var(--rep-border-strong);
  }
  [data-bs-theme] .rep-public-info-card,
  [data-bs-theme] .rep-auth-aside-list-modern li {
    background: var(--rep-surface);
    border-color: var(--rep-border-soft);
  }
  [data-bs-theme] .rep-public-alert {
    background: var(--rep-state-info-bg);
    border-color: var(--rep-state-info-border);
    color: var(--rep-state-info-text);
  }
  [data-bs-theme] input.form-check-input:not(:checked),
  [data-bs-theme] .rep-toggle-control > input[type='checkbox'] + .rep-toggle-track {
    background-color: var(--rep-control-off-bg) !important;
    border-color: var(--rep-control-off-border) !important;
  }
  [data-bs-theme] .rep-toggle-control > input[type='checkbox']:checked + .rep-toggle-track {
    background-color: var(--rep-state-success-bg) !important;
    border-color: var(--rep-control-on-border) !important;
  }
  [data-bs-theme] :is(input, select, textarea, button, a):focus-visible {
    outline: 2px solid var(--rep-primary);
    outline-offset: 2px;
  }
  .rep-page-back-btn {
    background: var(--rep-surface-muted) !important;
  }
  .rep-data-table-toolbar .rep-toolbar-actions .btn-outline-secondary:is(:hover, :focus-visible),
  .rep-pagination-size-form .btn-outline-secondary:is(:hover, :focus-visible) {
    background: var(--rep-accent-soft) !important;
  }

  .rep-table thead th,
  .rep-table-advanced thead th {
    background: var(--rep-table-header-bg) !important;
    border-bottom-color: var(--rep-table-border-strong-color) !important;
  }
  .rep-sort-trigger { color: var(--rep-primary) !important; }
  [data-bs-theme] .rep-table tbody tr:nth-child(even) td,
  [data-bs-theme] .rep-table-advanced tbody tr:nth-child(even) td {
    background: var(--rep-surface-muted) !important;
  }
  [data-bs-theme] .rep-table tbody tr:hover td,
  [data-bs-theme] .rep-table-advanced tbody tr:hover td {
    background: var(--rep-table-hover-bg) !important;
  }
}

/* A translucent header needs a solid surface when backdrop blur is unavailable. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  [data-bs-theme] body.rep-public-body .rep-topbar.rep-public-topbar.app-header,
  [data-bs-theme] body.rep-public-body .rep-footer {
    background: var(--rep-surface) !important;
  }
}

/* Mobile app-shell refresh uses the shared activity ring and semantic surfaces. */
.rep-pull-refresh-host { position: relative; }
.rep-pull-refresh-enabled { overscroll-behavior-y: contain; }
.rep-pull-refresh {
  position: absolute;
  inset-block-start: 0.65rem;
  inset-inline-start: 50%;
  z-index: 1040;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  max-width: calc(100% - 2rem);
  padding: 0.375rem;
  border-radius: 50%;
  background: var(--rep-surface);
  color: var(--rep-text);
  box-shadow: 0 4px 18px #0f172a26;
  font-size: 0.875rem;
  font-weight: 600;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, -0.75rem);
  transition: opacity 300ms ease, transform 300ms cubic-bezier(0.2, 0, 0, 1), visibility 300ms;
}
.rep-pull-refresh.is-visible { visibility: visible; opacity: 1; transform: translate(-50%, var(--rep-pull-offset, 0)); }
.rep-pull-refresh.is-ready { box-shadow: 0 4px 20px #0f172a30; }
.rep-pull-refresh.is-loading { transform: translate(-50%, 0); }
.rep-pull-refresh.is-warning { color: var(--rep-warning); }
.rep-pull-refresh-page { position: fixed; inset-block-start: calc(var(--rep-header-height, 58px) + .65rem); }
.rep-pull-refresh .rep-pull-refresh-spinner { display: inline-flex; }
@media (prefers-reduced-motion: reduce) {
  .rep-pull-refresh { transition: none; }
}
.rep-change-review { display: grid; gap: 1.5rem; }
.rep-change-values.rep-change-values-single { grid-template-columns: minmax(0, 1fr); }
.rep-correction-badge { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .65rem; background: var(--rep-state-warning-bg); color: var(--rep-state-warning-text); font-size: .85rem; font-weight: 650; text-decoration: none; }
.rep-correction-badge:visited, .rep-correction-badge:hover { color: var(--rep-state-warning-text); }
.rep-correction-badge:hover { text-decoration: underline; }
.rep-correction-badge:focus-visible { outline: 2px solid var(--rep-focus-ring); outline-offset: 3px; }
.rep-correction-panel { scroll-margin-top: calc(var(--header-height, 72px) + 1rem); }
.rep-correction-summary { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; padding: 1rem 1.25rem; background: var(--rep-state-warning-bg); color: var(--rep-state-warning-text); cursor: pointer; list-style: none; }
.rep-correction-summary::-webkit-details-marker { display: none; }
.rep-correction-summary-title { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; }
.rep-correction-summary-meta { font-size: .8125rem; }
.rep-correction-summary-action { display: inline-flex; align-items: center; gap: .75rem; margin-inline-start: auto; font-size: .875rem; font-weight: 650; }
.rep-correction-summary:focus-visible { outline: 2px solid var(--rep-primary); outline-offset: -3px; }
.rep-correction-panel[open] > .rep-correction-summary .bi-chevron-down { transform: rotate(180deg); }
.rep-correction-panel:not([open]) > .rep-card-body { display: none; }
.rep-correction-panel .rep-card-title { display: flex; align-items: center; gap: .6rem; }
.rep-correction-notice.rep-form-section { padding: 1rem; }
.rep-correction-notice > summary { cursor: pointer; padding: .25rem 0; overflow-wrap: anywhere; }
.rep-correction-notice > summary .rep-card-subtitle { display: inline; margin-inline-start: 1rem; }
.rep-correction-notice-title { margin-inline-start: .75rem; font-weight: 400; color: var(--rep-text-muted); }
.rep-correction-notice[open] > summary { margin-bottom: .75rem; }
.rep-correction-instruction { display: flex; align-items: baseline; gap: .6rem; padding: .65rem .875rem; margin-bottom: 1rem; background: var(--rep-state-warning-bg); color: var(--rep-state-warning-text); font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.rep-correction-instruction > div { min-width: 0; }
.rep-change-group { min-width: 0; color: var(--rep-text); scroll-margin-top: calc(var(--rep-header-height, 5rem) + 1rem); }
.rep-job-correction { width: 100%; min-width: 0; }
.rep-job-correction > summary { width: fit-content; cursor: pointer; list-style: none; }
.rep-job-correction > summary::-webkit-details-marker { display: none; }
.rep-job-correction:not([open]) > .rep-job-correction-content { display: none; }
.rep-job-correction[open] > summary .bi-chevron-down { transform: rotate(180deg); }
.rep-job-correction-content { margin-top: .75rem; max-height: 26rem; overflow-y: auto; overscroll-behavior: contain; padding: 1rem; border: 1px solid var(--rep-border); border-radius: .375rem; background: var(--rep-surface); color: var(--rep-text); font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.rep-job-correction-heading { display: flex; gap: .6rem; align-items: center; margin-bottom: .75rem; }
.rep-job-correction-heading > i { color: var(--rep-primary); }
.rep-job-correction-update + .rep-job-correction-update { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--rep-border); }
.rep-job-correction-values { margin: .75rem 0; }
.rep-job-correction-values > div + div { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--rep-border); }
.rep-job-correction-values dt { margin-bottom: .5rem; font-weight: 650; }
.rep-job-correction-values dd { margin: 0; }
.rep-job-correction-values .rep-prose { font-size: .875rem; line-height: 1.6; }
.rep-job-correction-link { display: inline-flex; align-items: center; gap: .5rem; padding-block: .5rem; font-weight: 600; }
.rep-change-current { padding: .75rem 1rem; background: var(--rep-surface-muted); border-radius: .25rem; }
.rep-change-current .rep-status-chip { margin-bottom: .5rem; }
.rep-correction-notice > .rep-change-review { margin: 1rem 0; }
.rep-change-review-compact { gap: 1rem; align-items: start; }
.rep-change-review-compact .rep-card-head { padding: .75rem 1rem; }
.rep-change-review-compact .rep-card-title { font-size: 1rem; }
.rep-change-review-compact .rep-card-body { padding: 0 1rem; }
.rep-change-review-compact .rep-change-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; padding: .875rem 0; margin: 0; }
.rep-change-review-compact .rep-change-item + .rep-change-item { margin: 0; padding-top: .875rem; }
.rep-change-review-compact .rep-form-section-title { margin: 0; font-size: .875rem; line-height: 1.5; }
.rep-change-review-compact .rep-change-current { padding: 0; background: transparent; min-width: 0; }
.rep-change-review-compact .rep-prose { font-size: .875rem; line-height: 1.55; }
.rep-change-review-compact .rep-change-delta > div { padding: 0; background: transparent; }
.rep-change-review-compact .rep-change-delta .rep-entry-list > li { padding-block: .25rem; }
.rep-change-review-compact .rep-entry-list > li::before { top: .85rem; }
@media (min-width: 576px) {
  .rep-change-review-compact .rep-change-item { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1rem; }
}
@media (min-width: 1100px) {
  .rep-change-review-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rep-change-review-compact > :only-child { grid-column: 1 / -1; }
}
.rep-notice-wording { margin-block: 1rem; padding-block: 1rem; border-block: 1px solid var(--rep-border); }
.rep-notice-wording > .rep-form-section-title { margin: 0 0 .75rem; font-size: 1rem; }
.rep-notice-wording .rep-detail-label { padding-bottom: .5rem; border-bottom: 1px solid var(--rep-border); margin-bottom: .5rem; }
.rep-notice-wording .rep-change-value { padding: .875rem 1rem; border-radius: .25rem; }
.rep-notice-wording .rep-prose { margin: 0; line-height: 1.6; }
.rep-change-delta { display: grid; gap: .75rem; }
.rep-change-delta > div { padding: .875rem 1rem; background: var(--rep-surface-muted); }
.rep-change-delta .rep-status-chip { display: inline-flex; gap: .4rem; margin-bottom: .5rem; }
.rep-entry-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.rep-entry-list > li { position: relative; padding: .6rem .5rem .6rem 1.25rem; line-height: 1.5; overflow-wrap: anywhere; }
.rep-entry-list > li::before { content: ''; position: absolute; left: .3rem; top: 1.2rem; width: .3rem; height: .3rem; border-radius: 50%; background: var(--rep-primary); }
.rep-entry-list > li + li { border-top: 1px solid var(--rep-border); }
.rep-candidate-notice .rep-notice-facts > div { padding: .875rem 1rem; background: var(--rep-surface-muted); border-radius: .375rem; }
.rep-candidate-notice .rep-job-requirement { padding: 1rem; background: var(--rep-surface); border: 1px solid var(--rep-border); border-radius: .375rem; }
.rep-candidate-notice .rep-job-requirements .rep-field-grid { gap: 1rem; }
.rep-candidate-notice .rep-requirement-label { color: var(--rep-text); margin-bottom: .75rem; }
.rep-candidate-notice .rep-requirement-value { font-weight: 600; }
.rep-candidate-notice .rep-card-head-copy > .rep-job-correction { margin-top: .75rem; }
@media (max-width: 575px) {
  .rep-correction-summary { padding: .875rem 1rem; }
  .rep-correction-summary-meta { order: 3; flex-basis: 100%; }
  .rep-candidate-notice .rep-notice-facts { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .rep-candidate-notice .rep-notice-facts > div { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: space-between; gap: .25rem .75rem; }
  .rep-candidate-notice .rep-notice-facts dd { margin: 0; }
}
.rep-change-group > .rep-card-head { background: var(--rep-surface-muted); gap: 1rem; flex-wrap: wrap; }
.rep-change-group .rep-card-title { display: flex; align-items: center; gap: .75rem; }
.rep-change-item + .rep-change-item { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--rep-border); }
.rep-change-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.rep-change-value { min-width: 0; padding: 1rem; background: var(--rep-surface-muted); overflow-wrap: anywhere; }
.rep-change-value .rep-detail-label { display: block; margin-bottom: .75rem; font-weight: 600; }
.rep-change-value-proposed { background: var(--rep-state-success-bg); color: var(--rep-state-success-text); }
.rep-change-value-proposed .rep-detail-label, .rep-change-value-proposed .rep-prose { color: var(--rep-state-success-text); }
.rep-document-upload { color: var(--rep-text); padding: 1.25rem; background: var(--rep-surface-muted); display: grid; gap: .75rem; }
.rep-document-upload-heading { display: flex; align-items: center; gap: .75rem; font-weight: 600; }
.rep-document-upload-heading > i { color: var(--rep-primary); font-size: 1.5rem; }
.rep-document-upload .rep-form-help { margin: 0; }
.rep-document-upload-control, .rep-document-upload-control input { min-width: 0; width: 100%; }
.rep-upload-selected { display: grid; gap: .75rem; }
.rep-upload-selected:empty { display: none; }
.rep-upload-selected-file { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem; background: var(--rep-surface); }
.rep-upload-selected-name { min-width: 0; overflow-wrap: anywhere; flex: 1 1 12rem; }
.rep-document-remove { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem; font-size: .85rem; color: var(--rep-danger); cursor: pointer; }
@media (max-width: 767px) { .rep-change-values { grid-template-columns: minmax(0, 1fr); } }


/* Compact summaries reuse the portal metric component without count-up layout changes. */
.rep-stat-card-2-compact { display: grid; min-height: 0; padding: 1rem; grid-template-rows: auto; background: var(--rep-surface-card); }
.rep-stat-card-2-compact .rep-stat-card-2-anchor { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto; align-items: center; gap: 1rem; }
.rep-stat-card-2-compact .rep-stat-card-2-top { border: 0; padding: 0; align-items: center; }
.rep-stat-card-2-compact .rep-stat-card-2-head { align-items: center; gap: .75rem; }
.rep-stat-card-2-compact .rep-stat-card-2-icon { width: 2.25rem; height: 2.25rem; flex-basis: 2.25rem; border: 0; }
.rep-stat-card-2-compact .rep-stat-card-2-label { display: block; overflow: visible; font-size: .875rem; line-height: 1.35; -webkit-line-clamp: unset; }
.rep-stat-card-2-compact .rep-stat-card-2-body { padding: 0; }
.rep-stat-card-2-compact .rep-stat-card-2-value { display: block; font-size: 1.75rem; line-height: 1.2; white-space: nowrap; overflow: visible; }
.rep-stat-card-2-compact-link:focus-visible { outline: 2px solid var(--rep-primary); outline-offset: 4px; }

/* Applicant home: saved work first, with separate account and identity guidance. */
.rep-candidate-home { display: grid; gap: 1rem; }
.rep-candidate-home > .rep-summary-head { margin-bottom: 0; }
.rep-candidate-home .rep-summary-head .rep-panel-body { padding: 1.25rem; }
.rep-candidate-home .rep-page-head { gap: 1rem; }
.rep-candidate-home .rep-page-head-actions { align-items: center; }
.rep-candidate-home .rep-page-head-actions > nav { margin: 0; }
.rep-candidate-home .rep-card-head { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; gap: .75rem; padding: 1rem; }
.rep-candidate-home .rep-card-head > div { flex: 1 1 14rem; min-width: 0; }
.rep-candidate-home .rep-card-head > .rep-status-chip { flex: 0 0 auto; width: auto; align-self: center; }
.rep-candidate-home .rep-card-head > .btn { width: auto; }
.rep-candidate-home .rep-card-head .rep-card-title { display: flex; align-items: center; gap: .5rem; }
.rep-candidate-home .rep-card-body { padding: 1rem; }
.rep-candidate-home .rep-card-title, .rep-candidate-home .rep-card-subtitle { overflow-wrap: anywhere; }
.rep-candidate-home .rep-form-help { margin: 0; line-height: 1.6; }
.rep-candidate-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.rep-candidate-metrics > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.rep-candidate-layout, .rep-candidate-main, .rep-candidate-aside, .rep-candidate-records { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 1rem; min-width: 0; }
.rep-candidate-contact-alert { margin: 0; align-items: center; flex-wrap: wrap; gap: .75rem; }
.rep-candidate-contact-alert > div { flex: 1 1 15rem; }
.rep-candidate-contact-alert p { margin: .25rem 0 0; }
.rep-candidate-guidance { display: grid; gap: .875rem; }
.rep-candidate-home .rep-account-identity { margin: 0; padding: 1rem; align-items: center; gap: 1rem; }
.rep-candidate-account .rep-account-avatar { width: 64px; height: 64px; flex-basis: 64px; }
.rep-candidate-account .rep-account-identity-copy h3 { font-size: 1.125rem; }
.rep-candidate-contact-facts { display: grid; gap: .75rem; margin: 1rem 0 0; padding-top: .875rem; border-top: 1px solid var(--rep-border); }
.rep-candidate-contact-facts > div { display: grid; min-width: 0; gap: .25rem; }
.rep-candidate-contact-facts dt, .rep-candidate-contact-facts dd { margin: 0; }
.rep-application-card { display: flex; flex-direction: column; min-width: 0; }
.rep-application-card > .rep-card-body { display: flex; flex-direction: column; flex: 1; gap: .875rem; }
.rep-application-card > .rep-card-body > .rep-action-row:last-child { margin-top: auto; }
.rep-application-card-head { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: .75rem; }
.rep-application-card-heading { flex: 1 1 14rem; min-width: 0; }
.rep-application-card-heading > .rep-detail-label { display: block; margin-bottom: .375rem; }
.rep-application-card .rep-card-title { line-height: 1.45; }
.rep-application-card .rep-card-title > a { color: var(--rep-text); }
.rep-application-card-head > .rep-status-chip { flex: 0 1 auto; max-width: 100%; }
.rep-application-card-head .rep-status-chip-label { white-space: normal; }
.rep-application-card-facts { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: .75rem 1rem; margin: 0; padding: .75rem 0; border-block: 1px solid var(--rep-border); }
.rep-application-card-facts > div { display: grid; gap: .25rem; min-width: 0; align-content: start; }
.rep-application-card-facts dt, .rep-application-card-facts dd { margin: 0; }
.rep-application-card-draft .rep-application-card-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rep-application-card-draft { background: var(--rep-surface-card); }
.rep-candidate-home .rep-action-row { gap: .5rem; }
.rep-candidate-home .rep-action-row > .btn { justify-content: center; }
@media (min-width: 640px) {
  .rep-candidate-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rep-candidate-metrics > :last-child:nth-child(odd) { grid-column: auto; }
}
@media (min-width: 768px) and (max-width: 1279.98px) {
  .rep-candidate-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rep-candidate-aside > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 1280px) {
  .rep-candidate-layout { grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr); align-items: start; }
}
@media (max-width: 639.98px) {
  .rep-candidate-metrics .rep-stat-card-2-compact { padding: .875rem; }
  .rep-candidate-metrics .rep-stat-card-2-anchor { grid-template-columns: minmax(0, 1fr); gap: .625rem; }
  .rep-candidate-metrics > :last-child:nth-child(odd) .rep-stat-card-2-anchor { grid-template-columns: minmax(0, 1fr) auto; }
  .rep-candidate-metrics .rep-stat-card-2-head { gap: .5rem; }
  .rep-candidate-metrics .rep-stat-card-2-icon { width: 1.75rem; height: 1.75rem; flex-basis: 1.75rem; }
  .rep-candidate-metrics .rep-stat-card-2-label { font-size: .8125rem; }
  .rep-candidate-home .rep-page-head-actions { width: 100%; }
  .rep-candidate-home .rep-page-head-actions .rep-action-row { width: 100%; }
  .rep-candidate-home .rep-page-head-actions .btn { flex: 1 1 auto; }
  .rep-application-card-draft .rep-application-card-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rep-application-card > .rep-card-body { gap: .75rem; }
}

.rep-candidate-records { grid-template-columns: repeat(auto-fit, minmax(min(100%, max(22rem, calc((100% - 1rem) / 2))), 1fr)); }
.rep-candidate-records > .rep-empty-state, .rep-candidate-records > .rep-alert { grid-column: 1 / -1; }
.rep-candidate-main > section { scroll-margin-top: calc(var(--header-height, 72px) + 1rem); }
.rep-candidate-more { grid-column: 1 / -1; min-width: 0; }
.rep-candidate-more > summary { display: inline-grid; grid-template-columns: minmax(0, 1fr) auto; list-style: none; gap: .5rem; cursor: pointer; }
.rep-candidate-more > summary::-webkit-details-marker { display: none; }
.rep-candidate-more > summary > span { grid-area: 1 / 1; }
.rep-candidate-more > summary > i { grid-area: 1 / 2; transition: transform .18s ease; }
.rep-candidate-more > summary .rep-candidate-less-label { visibility: hidden; }
.rep-candidate-more[open] > summary .rep-candidate-more-label { visibility: hidden; }
.rep-candidate-more[open] > summary .rep-candidate-less-label { visibility: visible; }
.rep-candidate-more[open] > summary > i { transform: rotate(180deg); }
.rep-candidate-more > .rep-candidate-records { margin-top: 1rem; }
@media (prefers-reduced-motion: reduce) { .rep-candidate-more > summary > i { transition: none; } }
@media (max-width: 639.98px) and (pointer: coarse) {
  .rep-candidate-home .btn { min-height: 44px; }
}

/* Shared controls and document workspace: one interaction vocabulary for all pages. */
.rep-workflow-guide > .rep-card-body { display: grid; gap: 1rem; }
.rep-workflow-guide .rep-notice-alert { margin: 0; }
.rep-workflow-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .625rem; }
.rep-workflow-steps > .btn { justify-content: flex-start; gap: .625rem; padding: .625rem .75rem; min-width: 0; text-align: left; }
.rep-workflow-step-index { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 1.5rem; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--rep-surface-muted); color: var(--rep-text-muted); font-size: .75rem; font-variant-numeric: tabular-nums; }
.rep-workflow-steps > [aria-current='step'] { color: var(--rep-state-info-text); background: var(--rep-state-info-bg); box-shadow: inset 0 0 0 1px var(--rep-state-info-border); }
.rep-workflow-steps > [aria-current='step'] .rep-workflow-step-index { background: var(--rep-state-info-text); color: var(--rep-state-info-bg); }
.rep-workflow-steps > .is-complete { color: var(--rep-state-success-text) !important; background: var(--rep-state-success-bg) !important; }
.rep-workflow-steps > .is-complete .rep-workflow-step-index { background: var(--rep-state-success-text); color: var(--rep-state-success-bg); }
.rep-workflow-steps > .needs-attention { color: var(--rep-state-danger-text) !important; background: var(--rep-state-danger-bg) !important; }
.rep-workflow-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem 1rem; padding-top: 1rem; border-top: 1px solid var(--rep-border-soft, var(--rep-border)); }
.rep-workflow-actions > .rep-action-row { margin: 0; flex-wrap: wrap; gap: .625rem; }
.rep-workflow-continue { margin-inline-start: auto; }
@media (max-width: 767.98px) {
  .rep-workflow-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rep-workflow-edit-actions { width: 100%; }
  .rep-workflow-edit-actions > .btn { flex: 1 1 12rem; }
  .rep-workflow-continue { width: 100%; margin-inline-start: 0; }
}
:root {
  --rep-control-radius: .55rem;
  --rep-control-height: 2.5rem;
  --rep-control-motion: 150ms;
  --rep-control-ease: cubic-bezier(.2, .7, .2, 1);
  --rep-control-hover: color-mix(in srgb, var(--rep-primary) 8%, var(--rep-surface));
  --rep-control-shadow: 0 1px 3px #0f172a0c;
  --rep-btn-shadow-hover: 0 2px 6px #0f172a12;
}
[data-rep-session-ended='true'] body,
[data-rep-session-checking='true'] body { visibility: hidden !important; pointer-events: none !important; }
.btn,
.rep-icon-button,
.rep-side-panel-close,
.rep-page-back-btn,
.rep-toolbar-btn,
.header-action-btn,
.rep-page-link,
.rep-account-action {
  border-radius: var(--rep-control-radius);
  transition: background-color var(--rep-control-motion) var(--rep-control-ease),
    color var(--rep-control-motion) var(--rep-control-ease),
    box-shadow var(--rep-control-motion) var(--rep-control-ease),
    transform var(--rep-control-motion) var(--rep-control-ease);
  -webkit-tap-highlight-color: transparent;
}
.btn { min-height: var(--rep-control-height); font-weight: 600; }
.btn-sm { min-height: 2.25rem; }
.btn > .bi,
.rep-icon-button > .bi,
.rep-page-back-icon-wrap > .bi,
.rep-side-panel-close > .bi {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
  transition: transform var(--rep-control-motion) var(--rep-control-ease), opacity var(--rep-control-motion) ease;
}
.rep-icon-button,
.rep-side-panel-close {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: var(--rep-control-height);
  height: var(--rep-control-height);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--rep-text);
  cursor: pointer;
}
.rep-icon-button:disabled { opacity: .4; cursor: default; }
.rep-icon-button:focus-visible,
.rep-side-panel-close:focus-visible { outline: 2px solid var(--rep-focus-ring, var(--rep-primary)); outline-offset: 2px; }
.btn:not(:disabled):not(.disabled):active,
.rep-icon-button:not(:disabled):active,
.rep-side-panel-close:active,
.rep-page-back-btn:active,
.rep-toolbar-btn:active,
.header-action-btn:active,
.rep-page-link:active,
.rep-account-action:active { transform: translateY(1px) scale(.98); }
.btn[aria-busy='true'] { cursor: progress; }
@media (hover: hover) {
  .rep-icon-button:not(:disabled):hover,
  .rep-side-panel-close:hover { background: var(--rep-control-hover); }
  :is(.btn, .rep-icon-button, .rep-page-back-btn):not(:disabled):hover :is(.bi-arrow-right, .bi-chevron-right) { transform: translateX(2px); }
  :is(.btn, .rep-icon-button, .rep-page-back-btn):not(:disabled):hover :is(.bi-arrow-left, .bi-chevron-left) { transform: translateX(-2px); }
}
.btn-close { position: relative; display: inline-flex; align-items: center; justify-content: center; }
.btn-close::before,
.btn-close::after {
  content: '' !important;
  position: absolute;
  inset: 50% auto auto 50%;
  width: .8rem;
  height: 1.5px;
  border-radius: 1px;
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}
.btn-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.rep-action-row { align-items: center; gap: .5rem; }
.dropdown-menu { border-color: var(--rep-border-soft, var(--rep-border)); border-radius: var(--rep-control-radius); box-shadow: var(--shadow-lg); }
.rep-summary-head .rep-panel-body { padding: 1rem 1.25rem; }
.rep-summary-head .rep-page-head { gap: .65rem 1rem; }
.rep-summary-head .rep-page-head-actions-back { flex-direction: row; align-items: center; width: auto; gap: .5rem; }
.rep-summary-head .rep-page-head-actions-back .rep-dashboard-head-identity { width: auto; min-height: 1.625rem; padding: .3rem .45rem; border: 0; border-radius: .35rem; }
.rep-summary-head .rep-page-head-actions-back .rep-dashboard-head-role { font-size: .7rem; }
.rep-page-title { font-size: clamp(1.3rem, 2vw, 1.75rem); line-height: 1.25; }
.rep-footer { padding-block: .55rem; }
.rep-footer-shell { gap: .5rem 1rem; }
.rep-footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: .25rem 1rem; margin-inline-end: auto; }
.rep-footer-links > a { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .15rem; font-size: .75rem; line-height: 1.4; color: var(--rep-text-muted); text-decoration: none; }
.rep-footer-links > a:hover { color: var(--rep-primary); text-decoration: underline; text-underline-offset: .2em; }
.rep-footer-links > a:focus-visible { outline: 2px solid var(--rep-focus-ring, var(--rep-primary)); outline-offset: 3px; }
.rep-footer-links .bi { display: inline-flex; font-size: .875rem; line-height: 1; }
.rep-page-back-btn { text-decoration: none; }
@media (max-width: 575.98px) {
  .rep-footer-links { margin-inline-end: 0; justify-content: center; width: 100%; }
  .rep-footer-links > a { min-height: 2.75rem; padding-inline: .5rem; }
}
.rep-modal-shell .modal-header,
.rep-modal-shell .modal-footer { padding: .75rem 1rem; }
.rep-doc-modal .rep-doc-modal-content { border: 0; box-shadow: var(--rep-control-shadow); }
.rep-doc-modal .rep-doc-toolbar {
  min-height: 3.25rem;
  padding: .3rem .75rem;
  gap: .75rem;
  background: var(--rep-surface);
  border-bottom: 1px solid var(--rep-border-soft, var(--rep-border));
}
.rep-doc-heading { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.rep-doc-heading > .bi { color: var(--rep-text-muted); font-size: 1.15rem; flex: 0 0 auto; }
.rep-doc-modal .rep-doc-heading .modal-title { font-size: .9rem; font-weight: 650; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--rep-text); }
.rep-doc-actions { flex: 0 0 auto; gap: .35rem; }
.rep-doc-modal .rep-doc-actions .btn { padding: .4rem .65rem !important; min-height: 2.5rem; font-size: .8rem; box-shadow: none !important; }
.rep-doc-modal .rep-pdf-toolbar { flex-wrap: nowrap; gap: .35rem; padding: .2rem .65rem; background: var(--rep-surface); border-bottom: 1px solid var(--rep-border-soft, var(--rep-border)); }
.rep-doc-modal .rep-pdf-toolbar .form-select { min-height: 2.25rem; height: 2.25rem; border-color: transparent; background-color: var(--rep-surface); font-size: .8rem; }
.rep-pdf-toolbar [data-pdf-page-status] { font-variant-numeric: tabular-nums; color: var(--rep-text-muted); font-size: .8rem; }
.rep-doc-modal .rep-pdf-pages { padding: .5rem; }
.rep-doc-modal .rep-pdf-pages canvas { box-shadow: 0 1px 5px #0f172a10; }
.rep-pdf-text { padding: .5rem; font-size: .8125rem; background: transparent; }
@media (pointer: coarse) {
  :root { --rep-control-height: 2.75rem; }
  .btn-sm { min-height: 2.75rem; }
}
@media (max-width: 575.98px) {
  .rep-summary-head .rep-panel-body { padding: 1rem; }
  .rep-doc-modal .rep-doc-toolbar { padding-inline: .5rem; gap: .5rem; }
  .rep-doc-actions #repDocPreviewDownloadLink { width: 2.75rem; padding: 0 !important; }
  .rep-doc-actions #repDocPreviewDownloadLink > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.btn, .rep-icon-button, .rep-side-panel-close, .rep-page-back-btn, .rep-toolbar-btn, .header-action-btn, .rep-page-link, .rep-account-action),
  :is(.btn, .rep-icon-button, .rep-page-back-btn) > .bi { transition: none !important; }
  :is(.btn, .rep-icon-button, .rep-page-back-btn, .rep-side-panel-close, .rep-toolbar-btn, .header-action-btn, .rep-page-link, .rep-account-action):active,
  :is(.btn, .rep-icon-button, .rep-page-back-btn):hover .bi { transform: none !important; }
}

/* One select surface and attached choice menu, including top-layer overlays. */
[data-bs-theme] .searchable-select > .btn.form-select {
  border: 1px solid var(--rep-border) !important;
  border-radius: var(--rep-control-radius);
  background: var(--rep-surface) !important;
  color: var(--rep-text) !important;
  text-decoration: none;
  transform: none !important;
}
.searchable-select .dropdown-menu {
  border-radius: var(--rep-control-radius);
  padding: 0.375rem !important;
  box-shadow: 0 4px 12px rgb(15 23 42 / 12%) !important;
  overscroll-behavior: contain;
}
.searchable-select.dropdown-open:not(.dropdown-opens-up) > .btn.form-select {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.searchable-select .dropdown-menu:not(.dropdown-menu-up) {
  border-radius: 0 0 var(--rep-control-radius) var(--rep-control-radius);
}
.searchable-select.dropdown-open.dropdown-opens-up > .btn.form-select {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}
[data-bs-theme] .searchable-select > .btn.form-select[aria-invalid='true'],
[data-bs-theme] .searchable-select > select.is-invalid ~ .btn.form-select,
[data-bs-theme] .searchable-select > select.rep-is-invalid ~ .btn.form-select,
[data-bs-theme] .rep-form-field.rep-has-error .searchable-select > .btn.form-select,
[data-bs-theme] .was-validated .searchable-select > select:invalid ~ .btn.form-select {
  border-color: var(--rep-state-danger-text) !important;
}
.searchable-select .dropdown-menu.dropdown-menu-up {
  border-radius: var(--rep-control-radius) var(--rep-control-radius) 0 0;
}
.searchable-select .dropdown-menu:not([popover]) { top: calc(100% - 1px); min-width: 0; margin-top: 0 !important; }
.searchable-select .dropdown-menu.dropdown-menu-up:not([popover]) { bottom: calc(100% - 1px) !important; margin: 0 !important; }
.searchable-select .dropdown-menu[popover] { bottom: auto !important; }
.searchable-select .ss-search {
  min-height: 2.25rem;
  border-radius: calc(var(--rep-control-radius) / 2);
  margin-bottom: 0.375rem;
  font-size: 0.8125rem;
}
.searchable-select .ss-item {
  display: flex;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.4375rem 0.625rem;
  border: 0;
  border-radius: calc(var(--rep-control-radius) / 2);
  font-size: 0.8125rem;
}
.searchable-select .ss-item[aria-selected='true'] { font-weight: 650; }
.searchable-select .ss-item:not([aria-disabled='true']):is(:hover, .active) {
  background: var(--rep-accent-soft);
  color: var(--rep-text);
}
/* Keep the border stationary; keyboard focus remains distinct without a halo. */
[data-bs-theme] :is(.form-control, .form-select, .btn):is(:hover, :focus, :active) {
  box-shadow: none !important;
}
[data-bs-theme] :is(.form-control, .form-select, .btn):focus:not(:focus-visible) {
  outline: none !important;
}
[data-bs-theme] :is(.form-control, .form-select, .btn):focus-visible {
  outline: 2px solid var(--rep-focus-ring, var(--rep-primary));
  outline-offset: 2px;
}
@media (pointer: coarse) {
  .searchable-select .ss-item, .searchable-select .ss-search { min-height: 2.75rem; }
}
