/* line 2, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface {
  --vsosh-ink: #20334d;
  --vsosh-blue: #245a94;
  --vsosh-muted: #66758a;
  --vsosh-line: #dfe6ef;
  --vsosh-soft: #eef3f9;
  --vsosh-image-tone: grayscale(1) sepia(1) hue-rotate(165deg) saturate(1.7) contrast(.94);
  color: var(--vsosh-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: radial-gradient(ellipse at 50% 0, #e9f0fa 0, transparent 65%), #f6f8fb;
  -webkit-font-smoothing: antialiased;
  position: relative;
  isolation: isolate;
}

/* line 16, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface > .external-subjects {
  position: fixed;
  z-index: -1;
}

/* line 17, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-subject {
  color: rgba(68, 117, 180, 0.12);
}

/* line 18, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-subject svg {
  width: 3.5rem;
  height: 3.5rem;
}

/* line 19, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .text-muted, .vsosh-interface .text-secondary {
  color: var(--vsosh-muted) !important;
}

/* line 20, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface a {
  color: var(--vsosh-blue);
}

/* line 21, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface a:focus-visible, .vsosh-interface button:focus-visible, .vsosh-interface input:focus-visible {
  outline: 3px solid #6f9aca;
  outline-offset: 3px;
}

/* line 25, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-vsosh-navbar {
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--vsosh-line);
  box-shadow: none !important;
  padding: .85rem 0;
  margin-bottom: 0;
}

/* line 31, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-vsosh-navbar .nav-link {
  font-size: .9rem;
  font-weight: 500;
  border-radius: 10px;
}

/* line 32, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-vsosh-navbar .nav-link::before {
  display: none;
}

/* line 33, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-vsosh-navbar .nav-link:hover svg {
  transform: none;
}

/* line 34, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-vsosh-navbar .navbar-toggler {
  border-color: var(--vsosh-line);
}

/* line 36, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-nav-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #183b64;
}

/* line 37, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-nav-brand svg {
  color: #2777b5;
  flex-shrink: 0;
}

/* line 38, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-nav-name {
  color: #245a94;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -.025em;
  white-space: normal;
}

/* line 39, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-vsosh-content {
  padding-top: 2rem;
  padding-bottom: 3rem;
}

/* line 40, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface h1, .vsosh-interface .page-title {
  color: var(--vsosh-ink);
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.2;
}

/* line 41, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface h4 {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -.02em;
}

/* line 42, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface h5 {
  font-size: 1.1rem;
}

/* line 43, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .card, .vsosh-interface .card.rounded-3 {
  border: 1px solid var(--vsosh-line) !important;
  border-radius: 20px !important;
  background: #fff;
  box-shadow: 0 4px 20px rgba(32, 51, 77, 0.035) !important;
}

/* line 49, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .card-body {
  padding: 1.5rem;
}

/* line 50, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .card-header {
  background: #f8fafc;
  border-bottom: 1px solid var(--vsosh-line);
  border-radius: 20px 20px 0 0;
  padding: 1rem 1.5rem;
}

/* line 51, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .btn {
  border-radius: 10px;
  font-weight: 500;
  box-shadow: none;
}

/* line 52, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .btn-outline-secondary, .vsosh-interface .btn-outline-primary, .vsosh-interface .btn-outline-warning, .vsosh-interface .btn-outline-info, .vsosh-interface .btn-outline-success {
  color: var(--vsosh-blue);
  border-color: #cbd8e8;
  background: #fff;
}

/* line 54, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .btn-outline-secondary:hover, .vsosh-interface .btn-outline-primary:hover, .vsosh-interface .btn-outline-warning:hover, .vsosh-interface .btn-outline-info:hover, .vsosh-interface .btn-outline-success:hover {
  color: #183b64;
  background: #eaf1f9;
  border-color: #9cb7d6;
}

/* line 56, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .btn-primary, .vsosh-interface .btn-grad {
  background: var(--vsosh-blue);
  border-color: var(--vsosh-blue);
  color: #fff;
}

/* line 57, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .badge {
  font-weight: 500;
  border-radius: 7px;
  line-height: 1.4;
}

/* line 58, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .badge.bg-info, .vsosh-interface .badge.bg-primary, .vsosh-interface .badge.bg-secondary {
  color: #345578 !important;
  background: #edf2f8 !important;
}

/* line 59, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .badge.bg-success {
  color: #346554 !important;
  background: #eaf4ef !important;
}

/* line 60, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .badge.bg-warning {
  color: #80632b !important;
  background: #f8f2e5 !important;
}

/* line 61, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .badge.bg-danger {
  color: #944a50 !important;
  background: #faedef !important;
}

/* line 62, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .progress {
  background: #eaf0f6;
  border-radius: 8px;
}

/* line 63, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .progress-bar {
  background: #386da5;
}

/* line 64, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .alert {
  border-radius: 12px;
}

/* line 65, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .alert-info, .vsosh-interface .alert-secondary {
  color: #526780;
  background: #f0f4f9;
  border-color: var(--vsosh-line);
}

/* line 66, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .form-control:focus, .vsosh-interface .form-select:focus {
  border-color: #7fa3cb;
  box-shadow: 0 0 0 3px rgba(36, 90, 148, 0.12);
}

/* line 68, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__header-card, .vsosh-interface .vsosh-dashboard__container {
  width: calc(100% - 3rem);
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

/* line 71, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__header-card {
  margin-top: 1.75rem;
}

/* line 72, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-participant-name {
  font-size: 1.35rem;
  font-weight: 650;
  letter-spacing: -.025em;
}

/* line 73, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-avatar, .vsosh-interface .vsosh-service-art img, .vsosh-interface .subject-card .subject-logo {
  filter: var(--vsosh-image-tone);
}

/* line 74, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__header-card .card-body {
  gap: 2rem !important;
}

/* line 75, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__header-card .card-body > .d-flex {
  flex: 0 0 31%;
  min-width: 0;
}

/* line 76, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-avatar {
  display: block;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 0 0 1px #dce6f2, 0 4px 12px rgba(36, 90, 148, 0.1);
}

/* line 77, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__header-card .truncate-1 {
  white-space: normal;
}

/* line 78, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__header-card .badge.bg-success {
  background: var(--vsosh-soft) !important;
  color: var(--vsosh-blue) !important;
  align-self: flex-start;
}

/* line 79, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .header-bullets li {
  line-height: 1.6;
}

/* line 80, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .header-bullets .text-warning, .vsosh-interface .header-bullets .text-info {
  color: var(--vsosh-blue) !important;
}

/* line 81, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .header-notices {
  border-left: 1px solid var(--vsosh-line);
  padding-left: 2rem;
}

/* line 82, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .ann-pill {
  font-size: .8rem;
  border-color: var(--vsosh-line);
  background: #f8fafc;
}

/* line 83, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard {
  background: transparent;
}

/* line 84, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__container {
  padding: 0 0 3rem;
}

/* line 85, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
}

/* line 86, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid > .col {
  width: auto;
  padding: 0;
  margin: 0;
  min-width: 0;
}

/* line 87, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .card-modern {
  transition: box-shadow .2s ease;
}

/* line 88, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .card-modern:hover {
  box-shadow: 0 8px 28px rgba(32, 51, 77, 0.07) !important;
}

/* line 89, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-service-heading {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1.1rem 1.25rem .25rem;
}

/* line 90, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-service-art {
  flex: 0 0 76px;
  height: 64px;
  display: grid;
  place-items: center;
  color: var(--vsosh-blue);
}

/* line 91, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-service-art img {
  width: 76px;
  height: 64px;
  -o-object-fit: contain;
     object-fit: contain;
}

/* line 92, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-service-heading .card-title {
  min-width: 0;
  margin: 0 !important;
}

/* line 93, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .card-title {
  text-align: left !important;
  letter-spacing: -.02em;
  font-size: 1.2rem;
}

/* line 94, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .card-title .bi {
  display: none;
}

/* line 95, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .card-body {
  padding-top: 1.15rem;
}

/* line 96, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid p, .vsosh-interface .vsosh-dashboard__grid li {
  text-align: left !important;
  font-size: .9rem;
  line-height: 1.6;
}

/* line 97, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .btn-ghost, .vsosh-interface .vsosh-dashboard__grid .btn-link-arrow, .vsosh-interface .dashboard-appeal-link {
  width: 100%;
  padding: .75rem !important;
  background: #f6f8fb;
  border: 1px solid #e7edf4;
  border-radius: 12px;
  color: var(--vsosh-ink) !important;
  text-align: left;
  align-items: flex-start;
  font-size: .85rem;
}

/* line 101, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .btn-ghost {
  justify-content: space-between;
}

/* line 102, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .btn-ghost:hover, .vsosh-interface .dashboard-appeal-link:hover {
  background: #ecf2f9;
  border-color: #bbcee3;
}

/* line 103, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .dashboard-appeal-link small {
  color: var(--vsosh-muted);
  font-size: .75rem;
}

/* line 104, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .card-footer {
  padding: 0 1.5rem 1.5rem;
  text-align: left !important;
}

/* line 105, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .card-footer .btn {
  width: 100%;
  padding: .6rem;
}

/* line 106, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-dashboard__grid .card-footer > .small {
  font-size: .75rem;
}

/* line 107, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .unread-blink::after {
  animation: none;
  background: var(--vsosh-blue);
  box-shadow: none;
}

/* line 109, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-results-list .table-responsive {
  border: 1px solid var(--vsosh-line);
  border-radius: 18px;
  background: #fff;
}

/* line 110, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-results-list .table {
  margin: 0;
  color: var(--vsosh-ink);
  font-size: .875rem;
}

/* line 111, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-results-list th {
  background: #f4f7fb;
  color: var(--vsosh-muted);
  font-size: .75rem;
  font-weight: 600;
  padding: 1rem;
  border-color: var(--vsosh-line);
}

/* line 112, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-results-list td {
  padding: 1rem;
  border-color: var(--vsosh-line);
}

/* line 113, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-results-list .subject-card {
  width: 150px !important;
  height: 112px !important;
  padding: 10px !important;
  border: 1px solid #e0e8f1 !important;
  border-radius: 12px !important;
  background: #f7f9fc !important;
}

/* line 117, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .subject-card .subject-name {
  color: var(--vsosh-blue) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* line 119, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .subject-card .subject-logo {
  mix-blend-mode: multiply;
}

/* line 120, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .subject-card .subject-parallel {
  background: #e4ecf6 !important;
  color: #345578 !important;
  font-size: 14px !important;
  border-radius: 6px !important;
  padding: 3px 7px !important;
}

/* line 121, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .vsosh-logo span {
  color: var(--vsosh-blue) !important;
}

/* line 122, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface > footer, .vsosh-interface > .external-login-footer {
  margin-top: auto;
  padding: 1.25rem 0;
  background: transparent !important;
  border-top: 1px solid var(--vsosh-line);
  color: var(--vsosh-muted);
  font-size: .75rem;
  border-radius: 0;
}

/* line 126, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-auth-hero {
  background: transparent;
  width: 100%;
  margin: 0;
  padding: 3rem 1.5rem;
}

/* line 127, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-auth-hero > .row {
  margin: 0;
}

/* line 128, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-auth-hero .auth-card {
  max-width: 440px;
}

/* line 129, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-auth-hero .form-control {
  min-height: 46px;
  border-radius: 10px;
}

/* line 130, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-auth-hero .btn-grad {
  background: var(--vsosh-blue);
}

/* line 131, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-auth-hero .btn-grad:hover {
  background: #194575;
}

/* line 132, app/assets/stylesheets/vsosh_interface.scss */
.vsosh-interface .external-auth-hero .alert-danger {
  background: #fbf1f2;
  color: #8b4149;
  border-color: #eed9dc;
}

@media (min-width: 1400px) {
  /* line 134, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .external-vsosh-content, .vsosh-interface .external-vsosh-navbar > .container {
    max-width: 1280px;
  }
}

@media (max-width: 991.98px) {
  /* line 135, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .vsosh-dashboard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  /* line 137, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .vsosh-dashboard__header-card, .vsosh-interface .vsosh-dashboard__container {
    width: calc(100% - 2rem);
  }
  /* line 138, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .vsosh-dashboard__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  /* line 139, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .header-notices {
    padding: 1rem 0 0;
    border-left: 0;
    border-top: 1px solid var(--vsosh-line);
  }
  /* line 140, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .external-vsosh-content {
    padding-top: 1.25rem;
  }
  /* line 141, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .card-body {
    padding: 1.15rem;
  }
  /* line 142, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .external-auth-hero {
    padding: 2rem .5rem;
  }
  /* line 143, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .external-auth-hero .card-body {
    padding: 1.5rem !important;
  }
  /* line 144, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .vsosh-nav-brand {
    max-width: calc(100% - 4.5rem);
    gap: .65rem;
  }
  /* line 145, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .vsosh-dashboard__header-card .card-body {
    gap: 1rem !important;
  }
  /* line 146, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface .vsosh-dashboard__header-card .card-body > .d-flex {
    flex-basis: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 148, app/assets/stylesheets/vsosh_interface.scss */
  .vsosh-interface *, .vsosh-interface *::before, .vsosh-interface *::after {
    animation: none !important;
    transition: none !important;
  }
}
