body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, Courier New, monospace;
}

.src-pages-Home-module__App-CTxiGg {
  text-align: center;
}

.src-pages-Home-module__App-logo-BEiC0G {
  pointer-events: none;
  height: 20vmin;
}

.src-pages-Home-module__Home-NtBtoG {
  color: #000;
  background-color: #fff;
  flex-direction: column;
  min-height: 100vh;
  padding: 1em 2em;
  display: flex;
}

.src-pages-Home-module__Home-NtBtoG > h1 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.src-pages-Home-module__App-logo-BEiC0G {
  width: max-content;
}

.src-pages-Home-module__viewSlidesList-sIj25J {
  padding-left: 1.5em;
  list-style: outside;
}

.src-pages-Home-module__viewSlidesList-sIj25J li {
  margin: .25em 0;
}

.src-layouts-Base-module__fullpage-SlnhHH {
  grid-template-rows: auto 1fr;
  width: 100vw;
  height: 100vh;
  display: grid;
  position: fixed;
  top: 0;
  left: 0;
}

.src-layouts-Base-module__topbar-ifptEx {
  background-color: #322457;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  height: 2.5em;
  padding: .2em .8em;
  display: grid;
}

.src-layouts-Base-module__topbar-ifptEx img {
  height: 2em;
}

.src-layouts-Base-module__topbar-ifptEx .src-layouts-Base-module__homelink-iTwQAI {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
}

.src-layouts-Base-module__app-zwmIot {
  box-sizing: border-box;
  overflow: auto;
}

.src-layouts-Base-module__centeredWrapper-YQTys0 {
  background-color: #d4d4d4;
  min-height: 100%;
}

.src-layouts-Base-module__centered-C8YQXO {
  color: #000;
  background-color: #fff;
  width: 960px;
  margin: 0 auto;
  padding: 1em 2em;
}

.src-layouts-Base-module__leftNavLayout-HWD6PS {
  border-right: thin solid gray;
  grid-template-columns: auto 1fr;
  min-width: 0;
  height: 100%;
  display: grid;
}

.src-layouts-Base-module__leftNavLink-u3BU4D {
  color: #0366d6;
  padding: .2em 0;
  text-decoration: none;
  display: block;
}

.src-layouts-Base-module__leftNavLink-u3BU4D:hover {
  text-decoration: underline;
}

.src-layouts-Base-module__leftNavLinkActive-CuJ9DD {
  color: #24292e;
  font-weight: 600;
  text-decoration: none;
}

.src-layouts-Base-module__leftNavLinkActive-CuJ9DD:hover {
  text-decoration: none;
}

.src-layouts-Base-module__leftNavSectionLink-HqBW0l {
  font-size: .95em;
}

.src-layouts-Base-module__leftNavSectionStart-o9y_PV {
  border-top: 1px solid #ddd;
  margin-top: .75em;
  padding-top: .65em;
}

.src-layouts-Base-module__leftNav-ov8yWO {
  border-right: thin solid gray;
  padding: 1em 2em;
}

.src-layouts-Base-module__leftNav-ov8yWO ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.src-layouts-Base-module__leftNavSubList-UI9NAg {
  margin: .25em 0 0;
  padding: 0;
  list-style: none;
}

.src-layouts-Base-module__leftNavSubItem-LJcnbj {
  margin-top: .2em;
  padding-left: 1.5em;
  font-size: .95em;
}

.src-layouts-Base-module__leftNavMain-PHGdcZ {
  padding: 1em 2em;
  overflow-x: hidden;
}

.src-widgets-Login-module__widget-_xAJN_ {
  display: inline-block;
  position: relative;
}

.src-widgets-Login-module__loginbutton-v6ArIz {
  color: #fff;
  cursor: pointer;
  font-size: inherit;
  background: none;
  border: 1px solid #fff6;
  border-radius: 6px;
  align-items: center;
  gap: .25rem;
  padding: .4rem .75rem;
  display: inline-flex;
}

.src-widgets-Login-module__loginbutton-v6ArIz:hover, .src-widgets-Login-module__loginbutton-v6ArIz.src-widgets-Login-module__expanded-AQSFs8 {
  background: #ffffff1a;
}

.src-widgets-Login-module__username-rfudNp:empty:before {
  content: "Log in";
}

.src-widgets-Login-module__username-rfudNp:not(:empty) {
  border-right: 1px solid #ffffff80;
  margin-right: .5em;
  padding-right: .5em;
}

.src-widgets-Login-module__expand-s4GqjO {
  display: inline-block;
}

.src-widgets-Login-module__loggedIn-kW2uPK .src-widgets-Login-module__expand-s4GqjO:after {
  content: "⌃";
}

.src-widgets-Login-module__loggedIn-kW2uPK:not(.src-widgets-Login-module__expanded-AQSFs8) .src-widgets-Login-module__expand-s4GqjO {
  transform: rotate(180deg);
}

.src-widgets-Login-module__alwaysOpenCard-OvgJj2 {
  text-align: left;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  width: calc(100vw - 2rem);
  min-width: 280px;
  max-width: 24rem;
  margin: 2rem auto;
  padding: 1.5rem;
  box-shadow: 0 2px 8px #00000014;
}

.src-widgets-Login-module__loginDialog-m2FmT1 {
  text-align: left;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  width: 18em;
  min-width: 280px;
  max-width: min(24rem, 100vw - 2rem);
  padding: 1.25rem;
  display: inline-block;
  position: fixed;
  top: 50vh;
  left: 50vw;
  transform: translate(-50%, -50%);
  box-shadow: 0 2px 8px #00000014;
}

.src-widgets-Login-module__loginDialog-m2FmT1 h3, .src-widgets-Login-module__dropdownContent-leQ1rq h3 {
  margin: 0 0 1rem;
  font-size: 16px;
  font-weight: 600;
}

.src-widgets-Login-module__loginDialog-m2FmT1 form, .src-widgets-Login-module__dropdownContent-leQ1rq form {
  margin: 1rem 0;
}

.src-widgets-Login-module__loginInputs-S3nWw9 {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1rem .5rem;
  display: grid;
}

.src-widgets-Login-module__loginInputs-S3nWw9 label {
  font-size: 16px;
  font-weight: 500;
}

.src-widgets-Login-module__loginInputs-S3nWw9 input {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  height: 2.5rem;
  padding: .5rem .75rem;
  font-size: 14px;
}

.src-widgets-Login-module__loginInputs-S3nWw9 input:focus {
  outline-offset: 2px;
  outline: 2px solid #1f6feb;
}

.src-widgets-Login-module__submitButton-tjiWsQ {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  width: 100%;
  margin-top: 1rem;
  padding: .625rem 1rem;
  font-size: 14px;
  font-weight: 500;
}

.src-widgets-Login-module__submitButton-tjiWsQ:hover:not(:disabled) {
  background: #1a5ed8;
}

.src-widgets-Login-module__submitButton-tjiWsQ:disabled {
  opacity: .7;
  cursor: not-allowed;
}

.src-widgets-Login-module__secondaryLinks-TLKbib {
  margin-top: .5rem;
  font-size: 14px;
}

.src-widgets-Login-module__secondaryLinks-TLKbib a {
  color: #1f6feb;
  text-decoration: none;
}

.src-widgets-Login-module__secondaryLinks-TLKbib a:hover {
  text-decoration: underline;
}

.src-widgets-Login-module__loginFailed-GUMQ9B {
  color: #b91c1c;
  background: #fef2f2;
  border-radius: 4px;
  margin-top: .5rem;
  padding: .5rem .75rem;
  font-size: 14px;
}

.src-widgets-Login-module__loginPending-jShJC4 {
  color: #6b7280;
  background: #f9fafb;
  border-radius: 4px;
  margin-top: .5rem;
  padding: .5rem .75rem;
  font-size: 14px;
}

.src-widgets-Login-module__oauthHeader-xcUlBR {
  color: #6b7280;
  padding: .5rem 0 .25rem;
  font-size: 14px;
  font-weight: 600;
}

.src-widgets-Login-module__oauthButton-VlnGc1 {
  color: #24292e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  margin-top: .25em;
  margin-right: .5em;
  padding: .4rem .75rem;
  font-size: 14px;
  text-decoration: none;
  display: inline-block;
}

.src-widgets-Login-module__oauthButton-VlnGc1:hover {
  background: #f9fafb;
  border-color: #9ca3af;
}

.src-widgets-Login-module__background-kzdoSv {
  z-index: 999;
  pointer-events: auto;
  background: #00000080;
  position: fixed;
  inset: 0;
}

.src-widgets-Login-module__dropdown-UYVn1r {
  z-index: 1000;
  text-align: left;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  min-width: 280px;
  max-width: min(24rem, 100vw - 2rem);
  padding: 1.25rem;
  position: absolute;
  top: 2.5em;
  right: 0;
  box-shadow: 0 2px 8px #00000014;
}

.src-widgets-Login-module__dropdown-UYVn1r .src-widgets-Login-module__logoutDialog-bp9xzT, .src-widgets-Login-module__dropdown-UYVn1r .src-widgets-Login-module__dropdownContent-leQ1rq {
  min-width: unset;
  max-width: none;
  box-shadow: none;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  position: static;
  top: auto;
  right: auto;
}

.src-widgets-Login-module__dropdownContent-leQ1rq {
  text-align: left;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  min-width: 280px;
  max-width: min(24rem, 100vw - 2rem);
  padding: 1.25rem;
  box-shadow: 0 2px 8px #00000014;
}

.src-widgets-Login-module__logoutDialog-bp9xzT {
  text-align: left;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  min-width: 280px;
  max-width: min(24rem, 100vw - 2rem);
  padding: 1.25rem;
  position: absolute;
  top: 2.5em;
  right: 0;
  box-shadow: 0 2px 8px #00000014;
}

.src-widgets-Login-module__loggedInAs-_rFeTn {
  margin-bottom: .75rem;
  font-size: 14px;
}

.src-widgets-Login-module__loggedInLabel-XBYg1M {
  color: #6b7280;
}

.src-widgets-Login-module__logoutButton-SZZ1yb {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  width: 100%;
  margin-bottom: .75rem;
  padding: .625rem 1rem;
  font-size: 14px;
  font-weight: 500;
  display: block;
}

.src-widgets-Login-module__logoutButton-SZZ1yb:hover {
  background: #1a5ed8;
}

.src-widgets-Login-module__accountLink-pP_l_Y {
  color: #1f6feb;
  margin-bottom: .75rem;
  font-size: 14px;
  text-decoration: none;
  display: block;
}

.src-widgets-Login-module__accountLink-pP_l_Y:hover {
  text-decoration: underline;
}

.src-widgets-Login-module__divider-UED793 {
  border: none;
  border-top: 1px solid #e5e7eb;
  margin: .75rem 0;
}

.src-widgets-Login-module__restartButton-t7EOgW {
  color: #24292e;
  cursor: pointer;
  background: none;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  width: 100%;
  padding: .5rem .75rem;
  font-size: 14px;
  display: block;
}

.src-widgets-Login-module__restartButton-t7EOgW:hover:not(:disabled) {
  background: #f9fafb;
}

.src-widgets-Login-module__restartButton-t7EOgW:disabled {
  opacity: .7;
  cursor: not-allowed;
}

@media (width <= 320px) {
  .src-widgets-Login-module__loginDialog-m2FmT1, .src-widgets-Login-module__dropdownContent-leQ1rq, .src-widgets-Login-module__dropdown-UYVn1r, .src-widgets-Login-module__logoutDialog-bp9xzT, .src-widgets-Login-module__alwaysOpenCard-OvgJj2 {
    width: calc(100vw - 2rem);
    margin-left: 1rem;
    margin-right: 1rem;
  }
}

.src-components-network-NetworkDiagram-module__networkDiagram-whCRGI {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin: 2em 0;
  padding: 1.5em;
}

.src-components-network-NetworkDiagram-module__networkDiagram-whCRGI h3 {
  color: #212529;
  margin-top: 0;
  margin-bottom: 1em;
  font-size: 1.5em;
}

.src-components-network-NetworkDiagram-module__waitingMessage-lMQCbE {
  text-align: center;
  color: #6c757d;
  background-color: #fff;
  border: 1px dashed #dee2e6;
  border-radius: 4px;
  padding: 2em;
  font-style: italic;
}

.src-components-network-NetworkDiagram-module__loadingPlaceholder-XgmDh2 {
  text-align: center;
  color: #6c757d;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 3em 2em;
}

.src-components-network-NetworkDiagram-module__loadingPlaceholder-XgmDh2 p {
  margin-top: 1em;
  margin-bottom: 0;
  font-size: 1em;
}

.src-components-network-NetworkDiagram-module__loadingSpinner-xUQUwj {
  border: 4px solid #f3f3f3;
  border-top-color: #007bff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  margin: 0 auto;
  animation: 1s linear infinite src-components-network-NetworkDiagram-module__spin-do9wVN;
}

@keyframes src-components-network-NetworkDiagram-module__spin-do9wVN {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.src-components-network-NetworkDiagram-module__diagramContainer-vGV8yd {
  justify-content: center;
  align-items: center;
  display: flex;
  overflow: visible;
}

.src-components-network-NetworkDiagram-module__diagramSvg-zNKIxj {
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 4px;
}

.src-components-network-NetworkDiagram-module__connectionLine-ur8IE0 {
  stroke: #6c757d;
  stroke-width: 2px;
  opacity: .6;
}

.src-components-network-NetworkDiagram-module__placeholderLine-NoR066 {
  stroke: #dee2e6;
  stroke-width: 2px;
  stroke-dasharray: 5 5;
  opacity: .4;
}

.src-components-network-NetworkDiagram-module__node-yOCahQ {
  stroke-width: 3px;
  transition: all .3s;
}

.src-components-network-NetworkDiagram-module__hubNode-Mpc0sM {
  fill: #007bff;
  stroke: #0056b3;
}

.src-components-network-NetworkDiagram-module__spokeNode-y5KXmV {
  fill: #28a745;
  stroke: #1e7e34;
}

.src-components-network-NetworkDiagram-module__node-yOCahQ.src-components-network-NetworkDiagram-module__current-EGSaMh {
  fill: #ffc107;
  stroke: #e0a800;
  filter: drop-shadow(0 0 8px #ffc10799);
  animation: 2s ease-in-out infinite src-components-network-NetworkDiagram-module__pulse-d7qkNj;
}

@keyframes src-components-network-NetworkDiagram-module__pulse-d7qkNj {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .8;
  }
}

.src-components-network-NetworkDiagram-module__currentNode-ckNU3P .src-components-network-NetworkDiagram-module__nodeName-RUk4jZ {
  font-weight: bold;
}

.src-components-network-NetworkDiagram-module__nodeName-RUk4jZ {
  fill: #212529;
  pointer-events: none;
  stroke: #fff;
  stroke-width: 3px;
  paint-order: stroke fill;
  filter: drop-shadow(0 1px 2px #0000004d);
  font-size: 14px;
  font-weight: 600;
}

.src-components-network-NetworkDiagram-module__currentLabel-garEQu {
  fill: #ffc107;
  font-size: 10px;
  font-weight: bold;
}

.src-components-network-NetworkDiagram-module__networkIdentifier-Bt8DGc {
  fill: #6c757d;
  pointer-events: none;
  stroke: #fff;
  stroke-width: 2px;
  paint-order: stroke fill;
  filter: drop-shadow(0 1px 2px #0003);
  font-size: 11px;
  font-weight: 500;
}

.src-components-network-NetworkDiagram-module__placeholderNode-IV8lhp {
  fill: #e9ecef;
  stroke: #adb5bd;
  stroke-dasharray: 3 3;
  opacity: .7;
}

.src-components-network-NetworkDiagram-module__placeholderText-lY94QZ {
  fill: #868e96;
  pointer-events: none;
  stroke: #fff;
  stroke-width: 3px;
  paint-order: stroke fill;
  filter: drop-shadow(0 1px 2px #0003);
  font-size: 14px;
  font-style: italic;
  font-weight: 500;
}

.src-components-network-NetworkDiagram-module__clickableNode-h2QVYJ {
  cursor: pointer;
  transition: opacity .2s;
}

.src-components-network-NetworkDiagram-module__clickableNode-h2QVYJ:hover {
  opacity: .8;
}

.src-components-network-NetworkDiagram-module__clickableText-Fi4t77 {
  cursor: pointer;
  fill: #007bff;
  transition: fill .2s;
}

.src-components-network-NetworkDiagram-module__clickableText-Fi4t77:hover {
  fill: #0056b3;
}

.src-components-network-NetworkDiagram-module__diagramSvg-zNKIxj a {
  text-decoration: none;
}

.src-components-network-NetworkDescription-module__networkDescription-SRT8V3 {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin: 1.5em 0;
  padding: 1em 1.5em;
  line-height: 1.6;
}

.src-components-network-NetworkDescription-module__networkDescription-SRT8V3 p {
  margin: .5em 0;
}

.src-components-network-NetworkDescription-module__networkDescription-SRT8V3 p:first-child {
  margin-top: 0;
}

.src-components-network-NetworkDescription-module__networkDescription-SRT8V3 p:last-child {
  margin-bottom: 0;
}

.src-components-network-NetworkDescription-module__viewNetworkLink-u5FTow {
  color: #007bff;
  cursor: pointer;
  font: inherit;
  background: none;
  border: none;
  padding: 0;
  font-weight: 600;
  text-decoration: underline;
  transition: color .2s;
}

.src-components-network-NetworkDescription-module__viewNetworkLink-u5FTow:hover {
  color: #0056b3;
  text-decoration: none;
}

.src-components-network-NetworkDescription-module__viewNetworkLink-u5FTow:focus {
  outline-offset: 2px;
  border-radius: 2px;
  outline: 2px solid #007bff;
}

.src-components-network-NetworkDescription-module__viewNetworkLink-u5FTow:active {
  color: #004085;
}

.src-pages-ErrorPage-module__root-t3q4pL {
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2em;
}

.src-pages-ErrorPage-module__debugInfo-XaARUe {
  text-align: left;
  margin-top: 2em;
}

.src-pages-ErrorPage-module__debugInfo-XaARUe h3 {
  color: #d32f2f;
  margin-top: 1.5em;
  margin-bottom: .5em;
}

.src-pages-ErrorPage-module__stack-KsJ69s {
  text-align: left;
  color: #f0f8ff;
  white-space: pre-wrap;
  word-break: break-word;
  background-color: #07234b;
  border-radius: 4px;
  max-height: 600px;
  padding: 1em 3em;
  font-size: .9em;
  line-height: 1.4;
  display: block;
  overflow: auto;
}

.src-pages-LLM-module__LLM-lkmrVQ {
  width: 100%;
  max-width: 1200px;
  padding: 20px;
}

.src-pages-LLM-module__form-_zROrI {
  background: #f5f5f5;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 20px;
}

.src-pages-LLM-module__formGroup-wyuJJH {
  margin-bottom: 20px;
}

.src-pages-LLM-module__formGroup-wyuJJH label {
  color: #333;
  margin-bottom: 8px;
  font-weight: bold;
  display: block;
}

.src-pages-LLM-module__select-C5NgCX {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
  padding: 10px;
  font-size: 14px;
}

.src-pages-LLM-module__select-C5NgCX:disabled {
  cursor: not-allowed;
  background: #f0f0f0;
}

.src-pages-LLM-module__textarea-rKIlYw {
  resize: vertical;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
  min-height: 120px;
  padding: 10px;
  font-family: inherit;
  font-size: 14px;
}

.src-pages-LLM-module__textarea-rKIlYw:disabled {
  cursor: not-allowed;
  background: #f0f0f0;
}

.src-pages-LLM-module__buttonGroup-qPmJs7 {
  gap: 10px;
  display: flex;
}

.src-pages-LLM-module__submitButton-TgdqK1, .src-pages-LLM-module__clearButton-DOXpGm {
  cursor: pointer;
  border: none;
  border-radius: 4px;
  padding: 12px 24px;
  font-size: 16px;
  transition: background-color .2s;
}

.src-pages-LLM-module__submitButton-TgdqK1 {
  color: #fff;
  background: #007bff;
  flex: 1;
}

.src-pages-LLM-module__submitButton-TgdqK1:hover:not(:disabled) {
  background: #0056b3;
}

.src-pages-LLM-module__submitButton-TgdqK1:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.src-pages-LLM-module__clearButton-DOXpGm {
  color: #fff;
  background: #6c757d;
}

.src-pages-LLM-module__clearButton-DOXpGm:hover:not(:disabled) {
  background: #545b62;
}

.src-pages-LLM-module__clearButton-DOXpGm:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.src-pages-LLM-module__response-DjFYiI {
  background: #e9ecef;
  border-radius: 8px;
  margin-top: 20px;
  padding: 20px;
}

.src-pages-LLM-module__response-DjFYiI h3 {
  color: #333;
  margin-top: 0;
  margin-bottom: 15px;
}

.src-pages-LLM-module__responseText-u74NDk {
  white-space: pre-wrap;
  word-wrap: break-word;
  background: #fff;
  border-radius: 4px;
  max-height: 500px;
  padding: 15px;
  line-height: 1.6;
  overflow-y: auto;
}

.src-pages-LLM-module__error-hk4bVX {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin-bottom: 20px;
  padding: 12px;
}

.src-pages-LLM-module__success-L4YtLX {
  color: #155724;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  margin-bottom: 20px;
  padding: 12px;
}

.src-pages-LLM-module__uploadSection-RjeuCp {
  background: #f5f5f5;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 20px;
}

.src-pages-LLM-module__uploadSection-RjeuCp h2 {
  color: #333;
  margin-top: 0;
  margin-bottom: 15px;
}

.src-pages-LLM-module__uploadOptions-cKv2DC {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.src-pages-LLM-module__fileUpload-iIElnr {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.src-pages-LLM-module__uploadLabel-zu_lTl {
  color: #333;
  cursor: pointer;
  font-weight: bold;
}

.src-pages-LLM-module__fileInput-oGEMLE {
  cursor: pointer;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px;
}

.src-pages-LLM-module__textUpload-BlknfY {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.src-pages-LLM-module__textUpload-BlknfY label {
  color: #333;
  font-weight: bold;
}

.src-pages-LLM-module__uploadButton-bMiczG {
  color: #fff;
  cursor: pointer;
  background: #28a745;
  border: none;
  border-radius: 4px;
  align-self: flex-start;
  padding: 10px 20px;
  font-size: 14px;
}

.src-pages-LLM-module__uploadButton-bMiczG:hover:not(:disabled) {
  background: #218838;
}

.src-pages-LLM-module__uploadButton-bMiczG:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.src-pages-LLM-module__querySection-WPQEb2 {
  background: #f5f5f5;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 20px;
}

.src-pages-LLM-module__querySection-WPQEb2 h2 {
  color: #333;
  margin-top: 0;
  margin-bottom: 15px;
}

.src-pages-LLM-module__sources-FUR5ID {
  background: #e9ecef;
  border-radius: 8px;
  margin-top: 20px;
  padding: 20px;
}

.src-pages-LLM-module__sources-FUR5ID h3 {
  color: #333;
  margin-top: 0;
  margin-bottom: 15px;
}

.src-pages-LLM-module__sourcesList-Bn7Anj {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.src-pages-LLM-module__sourceCard-dtY5Ju {
  background: #fff;
  border-left: 4px solid #007bff;
  border-radius: 4px;
  padding: 15px;
}

.src-pages-LLM-module__sourceHeader-tiZpck {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  display: flex;
}

.src-pages-LLM-module__sourceTitle-Gkhulk {
  color: #333;
  flex: 1;
  min-width: 200px;
  font-weight: bold;
}

.src-pages-LLM-module__sourceType-vPOH7Q {
  color: #fff;
  text-transform: uppercase;
  background: #6c757d;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
}

.src-pages-LLM-module__similarity-USMisk {
  color: #fff;
  background: #17a2b8;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: bold;
}

.src-pages-LLM-module__sourceContent-_lZEXs {
  color: #666;
  max-height: 150px;
  font-size: 14px;
  line-height: 1.5;
  overflow-y: auto;
}

@keyframes src-pages-LLM-module__spin-b28fBA {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.src-components-agents-ConversationHistory-module__container-R7AEY6 {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
  margin: 20px 0;
}

.src-components-agents-ConversationHistory-module__header-_LdbR5 {
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  display: flex;
}

.src-components-agents-ConversationHistory-module__toggleButton-BZcxnu {
  cursor: pointer;
  color: #007bff;
  background: none;
  border: none;
  align-items: center;
  gap: 5px;
  padding: 5px;
  font-size: 14px;
  font-weight: bold;
  display: flex;
}

.src-components-agents-ConversationHistory-module__toggleButton-BZcxnu:hover {
  color: #0056b3;
}

.src-components-agents-ConversationHistory-module__chevron-YgYjbg {
  font-size: 12px;
}

.src-components-agents-ConversationHistory-module__clearButton-x1EXL3 {
  color: #fff;
  cursor: pointer;
  background-color: #dc3545;
  border: none;
  border-radius: 3px;
  padding: 5px 15px;
  font-size: 12px;
}

.src-components-agents-ConversationHistory-module__clearButton-x1EXL3:hover {
  background-color: #c82333;
}

.src-components-agents-ConversationHistory-module__messagesContainer-vDEIra {
  max-height: 500px;
  padding: 10px;
  overflow-y: auto;
}

.src-components-agents-ConversationHistory-module__emptyState-Ho83vB {
  text-align: center;
  color: #666;
  padding: 40px 20px;
  font-style: italic;
}

.src-components-agents-ConversationHistory-module__message-PxTiZ5 {
  cursor: move;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  margin-bottom: 15px;
  padding: 12px;
  transition: background-color .2s;
}

.src-components-agents-ConversationHistory-module__message-PxTiZ5:hover {
  background-color: #f9f9f9;
}

.src-components-agents-ConversationHistory-module__message-PxTiZ5:active {
  cursor: grabbing;
}

.src-components-agents-ConversationHistory-module__userMessage-xtYwaD {
  background-color: #e3f2fd;
  border-left: 3px solid #2196f3;
}

.src-components-agents-ConversationHistory-module__assistantMessage-iCPfPy {
  background-color: #f5f5f5;
  border-left: 3px solid #4caf50;
}

.src-components-agents-ConversationHistory-module__messageHeader-mSyGhZ {
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  font-size: 12px;
  display: flex;
}

.src-components-agents-ConversationHistory-module__role-kdsd2D {
  color: #333;
  font-weight: bold;
}

.src-components-agents-ConversationHistory-module__editedBadge-ngFZ2S {
  color: #ff9800;
  font-size: 11px;
  font-style: italic;
}

.src-components-agents-ConversationHistory-module__timestamp-Ieh50e {
  color: #666;
  margin-left: auto;
  font-size: 11px;
}

.src-components-agents-ConversationHistory-module__messageContent-ouH0jy {
  white-space: pre-wrap;
  word-wrap: break-word;
  margin-bottom: 8px;
}

.src-components-agents-ConversationHistory-module__sources-xdXtI5 {
  color: #666;
  border-top: 1px solid #e0e0e0;
  margin-top: 8px;
  padding-top: 8px;
  font-size: 12px;
}

.src-components-agents-ConversationHistory-module__messageActions-KbpG1N {
  gap: 5px;
  margin-top: 8px;
  display: flex;
}

.src-components-agents-ConversationHistory-module__actionButton-UXef8a {
  cursor: pointer;
  background: none;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 12px;
  transition: background-color .2s;
}

.src-components-agents-ConversationHistory-module__actionButton-UXef8a:hover:not(:disabled) {
  background-color: #f0f0f0;
}

.src-components-agents-ConversationHistory-module__actionButton-UXef8a:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.src-components-agents-ConversationHistory-module__editContainer-aNuABw {
  margin-top: 8px;
}

.src-components-agents-ConversationHistory-module__editTextarea-dHQ6Db {
  resize: vertical;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  margin-bottom: 8px;
  padding: 8px;
  font-family: inherit;
  font-size: 14px;
}

.src-components-agents-ConversationHistory-module__editActions-GV83EA {
  gap: 5px;
  display: flex;
}

.src-components-agents-ConversationHistory-module__saveButton-w2ApRo {
  color: #fff;
  cursor: pointer;
  background-color: #28a745;
  border: none;
  border-radius: 3px;
  padding: 5px 15px;
  font-size: 12px;
}

.src-components-agents-ConversationHistory-module__saveButton-w2ApRo:hover {
  background-color: #218838;
}

.src-components-agents-ConversationHistory-module__cancelButton-yNNiwf {
  color: #fff;
  cursor: pointer;
  background-color: #6c757d;
  border: none;
  border-radius: 3px;
  padding: 5px 15px;
  font-size: 12px;
}

.src-components-agents-ConversationHistory-module__cancelButton-yNNiwf:hover {
  background-color: #5a6268;
}

.src-pages-Documentation-module__documentationWrapper-sWA769 {
  background-color: #d4d4d4;
  width: 100%;
  min-height: calc(100vh - 200px);
  padding: 2rem 0;
}

.src-pages-Documentation-module__documentation-AkK4C4 {
  gap: 2rem;
  width: 100%;
  max-width: 1600px;
  min-height: calc(100vh - 200px);
  margin: 0 auto;
  padding: 2rem;
  display: flex;
}

.src-pages-Documentation-module__sidebar-kYXCwm {
  background: #f5f5f5;
  border-radius: 8px;
  flex-direction: column;
  flex: 0 0 220px;
  align-self: stretch;
  padding: 1.5rem;
  display: flex;
}

.src-pages-Documentation-module__sidebar-kYXCwm h2 {
  color: #333;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.src-pages-Documentation-module__nav-zGm2d4 {
  flex: 1;
  margin-top: 1rem;
  overflow-y: auto;
}

.src-pages-Documentation-module__fileTree-NaBRnM {
  margin: 0;
  padding: 0;
  list-style: none;
}

.src-pages-Documentation-module__fileTreeNested-NlNLw3 {
  margin: .25rem 0;
  padding-left: 1rem;
  list-style: none;
}

.src-pages-Documentation-module__treeItem-UhyXuv {
  margin: .25rem 0;
}

.src-pages-Documentation-module__treeLink-a7N8Tq {
  color: #06c;
  border-radius: 4px;
  padding: .5rem;
  text-decoration: none;
  transition: background-color .2s;
  display: block;
}

.src-pages-Documentation-module__treeLink-a7N8Tq:hover {
  background-color: #e8f4f8;
}

.src-pages-Documentation-module__treeLink-a7N8Tq.src-pages-Documentation-module__active-_6teGZ {
  color: #fff;
  background-color: #06c;
  font-weight: 500;
}

.src-pages-Documentation-module__treeDir-zNKIMV {
  color: #666;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: .5rem;
  font-size: .9rem;
  font-weight: 600;
  display: block;
}

.src-pages-Documentation-module__treeChildren-PrI2P1 {
  margin-top: .25rem;
}

.src-pages-Documentation-module__content-jUZ0DH {
  background: #fff;
  border-radius: 8px;
  flex: 1;
  min-width: 0;
  min-height: 400px;
  padding: 2rem;
  box-shadow: 0 2px 4px #0000001a;
}

.src-pages-Documentation-module__markdownContent-47AhUT {
  color: #333;
  word-wrap: break-word;
  overflow-wrap: break-word;
  box-sizing: border-box;
  max-width: 100%;
  line-height: 1.6;
}

.src-pages-Documentation-module__markdownContent-47AhUT h1 {
  border-bottom: 2px solid #eee;
  margin-top: 0;
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  font-size: 2rem;
}

.src-pages-Documentation-module__markdownContent-47AhUT h2 {
  border-bottom: 1px solid #eee;
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  font-size: 1.5rem;
}

.src-pages-Documentation-module__markdownContent-47AhUT h3 {
  margin-top: 1.5rem;
  margin-bottom: .75rem;
  font-size: 1.25rem;
}

.src-pages-Documentation-module__markdownContent-47AhUT h4 {
  margin-top: 1.25rem;
  margin-bottom: .5rem;
  font-size: 1.1rem;
}

.src-pages-Documentation-module__markdownContent-47AhUT p {
  margin-bottom: 1rem;
}

.src-pages-Documentation-module__markdownContent-47AhUT ul, .src-pages-Documentation-module__markdownContent-47AhUT ol {
  margin-bottom: 1rem;
  padding-left: 2rem;
}

.src-pages-Documentation-module__markdownContent-47AhUT li {
  margin-bottom: .5rem;
}

.src-pages-Documentation-module__markdownContent-47AhUT code {
  word-wrap: break-word;
  background-color: #f4f4f4;
  border-radius: 3px;
  padding: .2rem .4rem;
  font-family: Courier New, monospace;
  font-size: .9em;
}

.src-pages-Documentation-module__markdownContent-47AhUT pre {
  word-wrap: normal;
  background-color: #f4f4f4;
  border-radius: 4px;
  max-width: 100%;
  margin-bottom: 1rem;
  padding: 1rem;
  overflow-x: auto;
}

.src-pages-Documentation-module__markdownContent-47AhUT pre code {
  background-color: #0000;
  padding: 0;
}

.src-pages-Documentation-module__markdownContent-47AhUT blockquote {
  color: #666;
  border-left: 4px solid #ddd;
  margin: 1rem 0;
  padding-left: 1rem;
  font-style: italic;
}

.src-pages-Documentation-module__markdownContent-47AhUT table {
  border-collapse: collapse;
  white-space: nowrap;
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  display: block;
  overflow-x: auto;
}

.src-pages-Documentation-module__markdownContent-47AhUT th, .src-pages-Documentation-module__markdownContent-47AhUT td {
  text-align: left;
  border: 1px solid #ddd;
  padding: .5rem;
}

.src-pages-Documentation-module__markdownContent-47AhUT th {
  background-color: #f5f5f5;
  font-weight: 600;
}

.src-pages-Documentation-module__markdownContent-47AhUT a {
  color: #06c;
  text-decoration: none;
}

.src-pages-Documentation-module__markdownContent-47AhUT a:hover {
  text-decoration: underline;
}

.src-pages-Documentation-module__empty-UV4cMz {
  text-align: center;
  color: #666;
  padding: 3rem;
}

.src-pages-Documentation-module__empty-UV4cMz h2 {
  margin-bottom: 1rem;
}

.src-pages-Documentation-module__error-I8jPAs {
  color: #c33;
  background-color: #fee;
  border: 1px solid #fcc;
  border-radius: 4px;
  padding: 2rem;
}

.src-pages-Documentation-module__error-I8jPAs h2 {
  margin-top: 0;
}

@media (width <= 768px) {
  .src-pages-Documentation-module__documentationWrapper-sWA769 {
    padding: 1rem 0;
  }

  .src-pages-Documentation-module__documentation-AkK4C4 {
    flex-direction: column;
    padding: 1rem;
  }

  .src-pages-Documentation-module__sidebar-kYXCwm {
    flex: 1;
    align-self: auto;
    max-height: 300px;
  }

  .src-pages-Documentation-module__content-jUZ0DH {
    flex: 1;
  }
}

.src-pages-admin-SetupRoadmap-module__container-laTwmW {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2em;
}

.src-pages-admin-SetupRoadmap-module__intro-W51ZJg {
  color: #586069;
  margin-bottom: 2em;
  font-size: 16px;
  line-height: 1.6;
}

.src-pages-admin-SetupRoadmap-module__stepsGrid-w0BF1u {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5em;
  margin-top: 2em;
  display: grid;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats {
  background: #fff;
  border: 2px solid #e1e4e8;
  border-radius: 8px;
  flex-direction: column;
  padding: 1.5em;
  transition: all .2s;
  display: flex;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #0000001a;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__complete-sS2mHs {
  background: #f0fff4;
  border-color: #28a745;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__inProgress-CaNsQk {
  background: #fffbf0;
  border-color: #ffc107;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__incomplete-XjSepR {
  background: #fff3e0;
  border-color: #ff9800;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__locked-lu7IxP {
  opacity: .7;
  background: #f6f8fa;
  border-color: #d1d5db;
}

.src-pages-admin-SetupRoadmap-module__stepHeader-DGVp2T {
  align-items: flex-start;
  gap: 1em;
  margin-bottom: 1em;
  display: flex;
}

.src-pages-admin-SetupRoadmap-module__stepNumber-exuv0c {
  color: #fff;
  background: #1f6feb;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 18px;
  font-weight: bold;
  display: flex;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__complete-sS2mHs .src-pages-admin-SetupRoadmap-module__stepNumber-exuv0c {
  background: #28a745;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__incomplete-XjSepR .src-pages-admin-SetupRoadmap-module__stepNumber-exuv0c {
  background: #ff9800;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__locked-lu7IxP .src-pages-admin-SetupRoadmap-module__stepNumber-exuv0c {
  background: #6c757d;
}

.src-pages-admin-SetupRoadmap-module__stepInfo-RAiBBg {
  flex: 1;
}

.src-pages-admin-SetupRoadmap-module__stepTitle-lZdcCQ {
  color: #24292e;
  margin: 0 0 .5em;
  font-size: 20px;
  font-weight: 600;
}

.src-pages-admin-SetupRoadmap-module__stepStatus-M3dVP4 {
  color: #586069;
  align-items: center;
  gap: .5em;
  font-size: 14px;
  display: flex;
}

.src-pages-admin-SetupRoadmap-module__statusIcon-gCTyJM {
  font-size: 16px;
}

.src-pages-admin-SetupRoadmap-module__stepDescription-Cg3Mxa {
  color: #586069;
  flex: 1;
  margin: 0 0 1.5em;
  font-size: 14px;
  line-height: 1.5;
}

.src-pages-admin-SetupRoadmap-module__stepLink-k6oeh_ {
  color: #fff;
  text-align: center;
  background: #1f6feb;
  border-radius: 6px;
  margin-top: auto;
  padding: .75em 1.5em;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .2s;
  display: inline-block;
}

.src-pages-admin-SetupRoadmap-module__stepLink-k6oeh_:hover {
  background: #1a5ed8;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__complete-sS2mHs .src-pages-admin-SetupRoadmap-module__stepLink-k6oeh_ {
  background: #28a745;
}

.src-pages-admin-SetupRoadmap-module__stepCard-unoats.src-pages-admin-SetupRoadmap-module__complete-sS2mHs .src-pages-admin-SetupRoadmap-module__stepLink-k6oeh_:hover {
  background: #22863a;
}

.src-pages-admin-SetupRoadmap-module__stepLinkDisabled-cNObgB {
  color: #6c757d;
  text-align: center;
  cursor: not-allowed;
  background: #e1e4e8;
  border-radius: 6px;
  margin-top: auto;
  padding: .75em 1.5em;
  font-weight: 500;
}

.src-pages-admin-SetupRoadmap-module__warningBox-JtbYh0 {
  color: #856404;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 6px;
  margin-top: 2em;
  padding: 1em;
}

@media (width <= 768px) {
  .src-pages-admin-SetupRoadmap-module__container-laTwmW {
    padding: 1em;
  }

  .src-pages-admin-SetupRoadmap-module__stepsGrid-w0BF1u {
    grid-template-columns: 1fr;
  }
}

.src-components-setup-SetupSubPage-module__setupSubPage-VjfA_i {
  max-width: 960px;
  margin: 0 auto;
  padding: 1em 1.5em;
}

.src-styles-agents-module__container-eBJfFj {
  max-width: 1400px;
  margin: 0 auto;
  padding: 2em;
}

.src-styles-agents-module__header-pVCoMP {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2em;
  display: flex;
}

.src-styles-agents-module__header-pVCoMP h1 {
  color: #24292e;
  margin: 0;
  font-size: 32px;
  font-weight: 600;
}

.src-styles-agents-module__actions-YvnsK1 {
  gap: 1em;
  display: flex;
}

.src-styles-agents-module__button-hOEdly {
  cursor: pointer;
  border: none;
  border-radius: 6px;
  padding: .75em 1.5em;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s;
  display: inline-block;
}

.src-styles-agents-module__buttonPrimary-WzBOG6 {
  color: #fff;
  background-color: #1f6feb;
}

.src-styles-agents-module__buttonPrimary-WzBOG6:hover {
  background-color: #1a5cd8;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px #1f6feb4d;
}

.src-styles-agents-module__buttonSecondary-wRJXQt {
  color: #24292e;
  background-color: #f6f8fa;
  border: 1px solid #d1d5db;
}

.src-styles-agents-module__buttonSecondary-wRJXQt:hover {
  background-color: #e1e4e8;
}

.src-styles-agents-module__button-hOEdly:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}

.src-styles-agents-module__tabs-pmOsMR {
  border-bottom: 2px solid #e1e4e8;
  gap: .5em;
  margin-bottom: 2em;
  display: flex;
}

.src-styles-agents-module__tab-wiwveJ {
  color: #586069;
  cursor: pointer;
  background: none;
  border: none;
  border-bottom: 3px solid #0000;
  margin-bottom: -2px;
  padding: .75em 1.5em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-styles-agents-module__tab-wiwveJ:hover {
  color: #24292e;
}

.src-styles-agents-module__tab-wiwveJ.src-styles-agents-module__active-jiFb0W {
  color: #1f6feb;
  border-bottom-color: #1f6feb;
}

.src-styles-agents-module__cardsGrid-CRdoXA {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5em;
  display: grid;
}

.src-styles-agents-module__card-x5_ggA {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  flex-direction: column;
  padding: 1.5em;
  transition: all .2s;
  display: flex;
}

.src-styles-agents-module__card-x5_ggA:hover {
  border-color: #1f6feb;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #0000001a;
}

.src-styles-agents-module__cardHeader-wZPMBV {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1em;
  display: flex;
}

.src-styles-agents-module__cardTitle-NYloyZ {
  color: #24292e;
  flex: 1;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.src-styles-agents-module__cardBadge-tC72d1 {
  border-radius: 12px;
  margin-left: .5em;
  padding: .25em .75em;
  font-size: 12px;
  font-weight: 500;
}

.src-styles-agents-module__badgeActive-RBySUH {
  color: #155724;
  background-color: #d4edda;
}

.src-styles-agents-module__badgeInactive-ykugXS {
  color: #721c24;
  background-color: #f8d7da;
}

.src-styles-agents-module__cardDescription-g5To3H {
  color: #586069;
  flex: 1;
  margin-bottom: 1em;
  font-size: 14px;
  line-height: 1.5;
}

.src-styles-agents-module__cardMeta-A8mdPv {
  color: #586069;
  flex-wrap: wrap;
  gap: 1em;
  margin-bottom: 1em;
  font-size: 13px;
  display: flex;
}

.src-styles-agents-module__metaItem-u4fEj2 {
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-styles-agents-module__cardActions-EoqnMl {
  border-top: 1px solid #e1e4e8;
  gap: .5em;
  margin-top: auto;
  padding-top: 1em;
  display: flex;
}

.src-styles-agents-module__cardButton-TBBQ0z {
  color: #24292e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  flex: 1;
  padding: .5em 1em;
  font-size: 13px;
  transition: all .2s;
}

.src-styles-agents-module__cardButton-TBBQ0z:hover {
  color: #1f6feb;
  background-color: #f6f8fa;
  border-color: #1f6feb;
}

.src-styles-agents-module__cardButtonDanger-sLV6IW:hover {
  color: #dc3545;
  background-color: #f8d7da;
  border-color: #dc3545;
}

.src-styles-agents-module__emptyState-hzdxLG {
  text-align: center;
  color: #586069;
  padding: 4em 2em;
}

.src-styles-agents-module__emptyStateIcon-QA_A7j {
  opacity: .5;
  margin-bottom: 1em;
  font-size: 48px;
}

.src-styles-agents-module__emptyStateTitle-LRRLY4 {
  color: #24292e;
  margin-bottom: .5em;
  font-size: 20px;
  font-weight: 600;
}

.src-styles-agents-module__emptyStateText-tIMcHp {
  margin-bottom: 1.5em;
  font-size: 14px;
}

.src-styles-agents-module__form-TJUF2i {
  max-width: 800px;
}

.src-styles-agents-module__formSection-Zzbplm {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  margin-bottom: 2em;
  padding: 1.5em;
}

.src-styles-agents-module__formSectionTitle-zWPw5X {
  color: #24292e;
  border-bottom: 2px solid #e1e4e8;
  margin-bottom: 1em;
  padding-bottom: .5em;
  font-size: 18px;
  font-weight: 600;
}

.src-styles-agents-module__formGroup-K4xlxy {
  margin-bottom: 1.5em;
}

.src-styles-agents-module__formLabel-alq7q4 {
  color: #24292e;
  margin-bottom: .5em;
  font-size: 14px;
  font-weight: 500;
  display: block;
}

.src-styles-agents-module__formLabelRequired-KhxCQB:after {
  content: " *";
  color: #dc3545;
}

.src-styles-agents-module__formInput-jVPHHx {
  border: 1px solid #ddd;
  border-radius: 6px;
  width: 100%;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 14px;
  transition: border-color .2s, box-shadow .2s;
}

.src-styles-agents-module__formInput-jVPHHx:focus {
  border-color: #1f6feb;
  outline: none;
  box-shadow: 0 0 0 3px #1f6feb1a;
}

.src-styles-agents-module__formTextarea-n_8htT {
  resize: vertical;
  min-height: 120px;
  font-family: Monaco, Menlo, Ubuntu Mono, monospace;
  font-size: 13px;
}

.src-styles-agents-module__formHelp-aUaosC {
  color: #586069;
  margin-top: .5em;
  font-size: 12px;
}

.src-styles-agents-module__error-S6Te7f {
  color: #dc3545;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 6px;
  margin-bottom: 1.5em;
  padding: 1em;
}

.src-styles-agents-module__success-ffck_z {
  color: #155724;
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 6px;
  margin-bottom: 1.5em;
  padding: 1em;
}

.src-styles-agents-module__info-DAwmOO {
  color: #004085;
  background-color: #cce5ff;
  border: 1px solid #b3d7ff;
  border-radius: 6px;
  margin-bottom: 1.5em;
  padding: 1em;
}

.src-styles-agents-module__loading-Nnrguv {
  text-align: center;
  color: #586069;
  padding: 3em;
}

.src-components-setup-SetupPageLayout-module__setupPageContainer-Flatga {
  flex-direction: column;
  display: flex;
}

.src-components-setup-SetupPageLayout-module__setupHeader-jxXFP2 {
  z-index: 10;
  background: #fff;
  border-bottom: 1px solid #e1e4e8;
  position: sticky;
  top: 0;
  box-shadow: 0 2px 4px #0000000d;
}

.src-components-setup-SetupPageLayout-module__roadmapLink-Ijl31o {
  color: #007bff;
  white-space: nowrap;
  margin-right: .5em;
  font-size: 14px;
  text-decoration: none;
  transition: color .2s;
}

.src-components-setup-SetupPageLayout-module__roadmapLink-Ijl31o:hover {
  color: #0056b3;
  text-decoration: underline;
}

.src-components-setup-SetupPageLayout-module__headerContent-xvsMyf {
  padding: .5em 1em;
}

.src-components-setup-SetupPageLayout-module__stepIndicator-bEaUEa {
  color: #24292e;
  background: #e7f3ff;
  border: 1px solid #b3d9ff;
  border-radius: 6px;
  flex-direction: column;
  padding: .5em 1em;
  font-size: 14px;
  display: flex;
}

.src-components-setup-SetupPageLayout-module__stepIndicatorTop-OwmRg5 {
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  margin-bottom: .5em;
  display: flex;
}

.src-components-setup-SetupPageLayout-module__stepIndicatorCenter-I1krXu {
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-components-setup-SetupPageLayout-module__stepIndicatorStatus-NkvxYV {
  text-align: center;
}

.src-components-setup-SetupPageLayout-module__stepIndicatorProgress-WwWuhE {
  width: 100%;
  margin-top: .25em;
}

.src-components-setup-SetupPageLayout-module__navButton-bIl490 {
  color: #24292e;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  flex-shrink: 0;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-setup-SetupPageLayout-module__navButton-bIl490:hover:not(:disabled) {
  color: #1f6feb;
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-setup-SetupPageLayout-module__navButton-bIl490:disabled {
  opacity: .5;
  cursor: not-allowed;
  background: #f6f8fa;
}

.src-components-setup-SetupPageLayout-module__progressBar-v7jSSP {
  background: #e1e4e8;
  border-radius: 4px;
  width: 100%;
  height: 6px;
  overflow: hidden;
}

.src-components-setup-SetupPageLayout-module__progressFill-EruyKg {
  background: #1f6feb;
  height: 100%;
  transition: width .3s;
}

.src-components-setup-SetupPageLayout-module__setupContent-HAnLMS {
  flex: 1;
  padding: 1.5em;
  overflow-y: auto;
}

.src-components-setup-SetupPageLayout-module__description-V7bI72 {
  color: #586069;
  margin-bottom: 1em;
  font-size: 16px;
  line-height: 1.5;
}

@media (width <= 768px) {
  .src-components-setup-SetupPageLayout-module__headerContent-xvsMyf {
    padding: .5em;
  }

  .src-components-setup-SetupPageLayout-module__stepIndicatorTop-OwmRg5 {
    flex-direction: column;
    align-items: stretch;
    gap: .5em;
  }

  .src-components-setup-SetupPageLayout-module__stepIndicatorCenter-I1krXu {
    flex-direction: column;
    gap: .5em;
    width: 100%;
  }

  .src-components-setup-SetupPageLayout-module__roadmapLink-Ijl31o {
    align-self: center;
  }

  .src-components-setup-SetupPageLayout-module__stepIndicatorStatus-NkvxYV, .src-components-setup-SetupPageLayout-module__navButton-bIl490 {
    width: 100%;
  }

  .src-components-setup-SetupPageLayout-module__setupContent-HAnLMS {
    padding: 1em;
  }
}

.src-pages-admin-AgentManagementSetup-module__container-AyFkGh {
  max-width: 1400px;
  margin: 0 auto;
  padding: 2em;
}

.src-pages-admin-AgentManagementSetup-module__header-mqWwT6 {
  margin-bottom: 2em;
}

.src-pages-admin-AgentManagementSetup-module__backLink-GJzGBe {
  color: #007bff;
  margin-bottom: 1em;
  font-size: 14px;
  text-decoration: none;
  display: inline-block;
}

.src-pages-admin-AgentManagementSetup-module__backLink-GJzGBe:hover {
  text-decoration: underline;
}

.src-pages-admin-AgentManagementSetup-module__description-g8pfKI {
  color: #586069;
  margin-top: .5em;
  font-size: 16px;
}

.src-pages-admin-AgentManagementSetup-module__twoColumnLayout-FUYtAm {
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 2em;
  display: grid;
}

.src-pages-admin-AgentManagementSetup-module__column-mT6D25 {
  flex-direction: column;
  min-height: 400px;
  display: flex;
}

.src-pages-admin-AgentManagementSetup-module__sectionHeader-h2P1eq {
  border-bottom: 2px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
  padding-bottom: .75em;
  display: flex;
}

.src-pages-admin-AgentManagementSetup-module__sectionHeader-h2P1eq h2 {
  color: #24292e;
  margin: 0;
  font-size: 24px;
  font-weight: 600;
}

.src-pages-admin-AgentManagementSetup-module__manageLink-i__ASv {
  color: #007bff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.src-pages-admin-AgentManagementSetup-module__manageLink-i__ASv:hover {
  text-decoration: underline;
}

.src-pages-admin-AgentManagementSetup-module__cardsList-LNwgcR {
  flex-direction: column;
  gap: 1em;
  max-height: 70vh;
  padding-right: .5em;
  display: flex;
  overflow-y: auto;
}

.src-pages-admin-AgentManagementSetup-module__card-DhWZI1 {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  padding: 1.25em;
  transition: box-shadow .2s, transform .2s;
}

.src-pages-admin-AgentManagementSetup-module__card-DhWZI1:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #0000001a;
}

.src-pages-admin-AgentManagementSetup-module__cardHeader-mCJgIS {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75em;
  display: flex;
}

.src-pages-admin-AgentManagementSetup-module__cardTitle-e0Zcbm {
  color: #24292e;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.src-pages-admin-AgentManagementSetup-module__statusBadge-yyqF7p {
  border-radius: 12px;
  padding: .25em .75em;
  font-size: 12px;
  font-weight: 500;
}

.src-pages-admin-AgentManagementSetup-module__statusBadge-yyqF7p.src-pages-admin-AgentManagementSetup-module__active-L3F4Ar {
  color: #155724;
  background-color: #d4edda;
}

.src-pages-admin-AgentManagementSetup-module__statusBadge-yyqF7p.src-pages-admin-AgentManagementSetup-module__inactive-t3ZNNc {
  color: #721c24;
  background-color: #f8d7da;
}

.src-pages-admin-AgentManagementSetup-module__cardContent-RhIWeZ {
  flex-direction: column;
  gap: .75em;
  display: flex;
}

.src-pages-admin-AgentManagementSetup-module__cardInfo-NZ9F1M {
  color: #586069;
  flex-direction: column;
  gap: .5em;
  font-size: 14px;
  display: flex;
}

.src-pages-admin-AgentManagementSetup-module__cardInfo-NZ9F1M div {
  gap: .5em;
  display: flex;
}

.src-pages-admin-AgentManagementSetup-module__cardDescription-AEx36f {
  color: #586069;
  margin-top: .25em;
  font-size: 14px;
  font-style: italic;
}

.src-pages-admin-AgentManagementSetup-module__cardAgents-jetzpr {
  color: #586069;
  margin-top: .5em;
  font-size: 14px;
}

.src-pages-admin-AgentManagementSetup-module__agentTags-WI_y9h {
  flex-wrap: wrap;
  gap: .5em;
  margin-top: .5em;
  display: flex;
}

.src-pages-admin-AgentManagementSetup-module__agentTag-bZWEWO {
  color: #007bff;
  background-color: #e9ecef;
  border-radius: 12px;
  padding: .25em .75em;
  font-size: 12px;
  text-decoration: none;
  transition: background-color .2s;
}

.src-pages-admin-AgentManagementSetup-module__agentTag-bZWEWO:hover {
  background-color: #dee2e6;
  text-decoration: none;
}

.src-pages-admin-AgentManagementSetup-module__cardActions-WRwzbV {
  border-top: 1px solid #e1e4e8;
  gap: .75em;
  margin-top: .75em;
  padding-top: .75em;
  display: flex;
}

.src-pages-admin-AgentManagementSetup-module__actionLink-b9RozX {
  color: #fff;
  background-color: #007bff;
  border-radius: 4px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .2s;
}

.src-pages-admin-AgentManagementSetup-module__actionLink-b9RozX:hover {
  background-color: #0056b3;
  text-decoration: none;
}

.src-pages-admin-AgentManagementSetup-module__loading-HQCv4R {
  text-align: center;
  color: #586069;
  padding: 2em;
  font-size: 14px;
}

.src-pages-admin-AgentManagementSetup-module__emptyState-mUn5KJ {
  text-align: center;
  background-color: #f6f8fa;
  border: 1px dashed #d1d5db;
  border-radius: 8px;
  padding: 2em;
}

.src-pages-admin-AgentManagementSetup-module__emptyState-mUn5KJ p {
  color: #586069;
  margin: 0 0 1em;
  font-size: 14px;
}

.src-pages-admin-AgentManagementSetup-module__createButton-Tqtcij {
  color: #fff;
  background-color: #28a745;
  border-radius: 6px;
  padding: .75em 1.5em;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .2s;
  display: inline-block;
}

.src-pages-admin-AgentManagementSetup-module__createButton-Tqtcij:hover {
  background-color: #22863a;
  text-decoration: none;
}

@media (width <= 968px) {
  .src-pages-admin-AgentManagementSetup-module__twoColumnLayout-FUYtAm {
    grid-template-columns: 1fr;
    gap: 2em;
  }

  .src-pages-admin-AgentManagementSetup-module__cardsList-LNwgcR {
    max-height: none;
  }
}

.src-styles-workflows-module__container-Qt4uq1 {
  max-width: 1400px;
  margin: 0 auto;
  padding: 2em;
}

.src-styles-workflows-module__header-uOCMx9 {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2em;
  display: flex;
}

.src-styles-workflows-module__header-uOCMx9 h1 {
  color: #24292e;
  margin: 0;
  font-size: 32px;
  font-weight: 600;
}

.src-styles-workflows-module__actions-hxFiyG {
  gap: 1em;
  display: flex;
}

.src-styles-workflows-module__button-Zi5a2E {
  cursor: pointer;
  border: none;
  border-radius: 6px;
  padding: .75em 1.5em;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s;
  display: inline-block;
}

.src-styles-workflows-module__buttonPrimary-GJc_lV {
  color: #fff;
  background-color: #1f6feb;
}

.src-styles-workflows-module__buttonPrimary-GJc_lV:hover {
  background-color: #1a5cd8;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px #1f6feb4d;
}

.src-styles-workflows-module__buttonSecondary-_4_ChU {
  color: #24292e;
  background-color: #f6f8fa;
  border: 1px solid #d1d5db;
}

.src-styles-workflows-module__buttonSecondary-_4_ChU:hover {
  background-color: #e1e4e8;
}

.src-styles-workflows-module__button-Zi5a2E:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}

.src-styles-workflows-module__tabs-ZF6LCI {
  border-bottom: 2px solid #e1e4e8;
  gap: .5em;
  margin-bottom: 2em;
  display: flex;
}

.src-styles-workflows-module__tab-AjVXfl {
  color: #586069;
  cursor: pointer;
  background: none;
  border: none;
  border-bottom: 3px solid #0000;
  margin-bottom: -2px;
  padding: .75em 1.5em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-styles-workflows-module__tab-AjVXfl:hover {
  color: #24292e;
}

.src-styles-workflows-module__tab-AjVXfl.src-styles-workflows-module__active-592Tx_ {
  color: #1f6feb;
  border-bottom-color: #1f6feb;
}

.src-styles-workflows-module__cardsGrid-d_iEXK {
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5em;
  display: grid;
}

.src-styles-workflows-module__card-GQSf0v {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  flex-direction: column;
  padding: 1.5em;
  transition: all .2s;
  display: flex;
}

.src-styles-workflows-module__card-GQSf0v:hover {
  border-color: #1f6feb;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #0000001a;
}

.src-styles-workflows-module__cardHeader-jUlwAG {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1em;
  display: flex;
}

.src-styles-workflows-module__cardTitle-mMO7f5 {
  color: #24292e;
  flex: 1;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.src-styles-workflows-module__cardBadge-gQZ3TV {
  border-radius: 12px;
  margin-left: .5em;
  padding: .25em .75em;
  font-size: 12px;
  font-weight: 500;
}

.src-styles-workflows-module__badgeActive-qMiu3B {
  color: #155724;
  background-color: #d4edda;
}

.src-styles-workflows-module__badgeInactive-XuaxlL {
  color: #721c24;
  background-color: #f8d7da;
}

.src-styles-workflows-module__cardDescription-R37aD7 {
  color: #586069;
  flex: 1;
  margin-bottom: 1em;
  font-size: 14px;
  line-height: 1.5;
}

.src-styles-workflows-module__cardMeta-dbC3NO {
  color: #586069;
  flex-wrap: wrap;
  gap: 1em;
  margin-bottom: 1em;
  font-size: 13px;
  display: flex;
}

.src-styles-workflows-module__metaItem-SbrmF9 {
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-styles-workflows-module__cardActions-QHhmlf {
  border-top: 1px solid #e1e4e8;
  gap: .5em;
  margin-top: auto;
  padding-top: 1em;
  display: flex;
}

.src-styles-workflows-module__cardButton-TF9dWs {
  color: #24292e;
  cursor: pointer;
  text-align: center;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  flex: 1;
  padding: .5em 1em;
  font-size: 13px;
  text-decoration: none;
  transition: all .2s;
  display: inline-block;
}

.src-styles-workflows-module__cardButton-TF9dWs:hover {
  color: #1f6feb;
  background-color: #f6f8fa;
  border-color: #1f6feb;
}

.src-styles-workflows-module__cardButtonDanger-JtGb9w:hover {
  color: #dc3545;
  background-color: #f8d7da;
  border-color: #dc3545;
}

.src-styles-workflows-module__emptyState-B3LbsR {
  text-align: center;
  color: #586069;
  padding: 4em 2em;
}

.src-styles-workflows-module__emptyStateIcon-GrpxP5 {
  opacity: .5;
  margin-bottom: 1em;
  font-size: 48px;
}

.src-styles-workflows-module__emptyStateTitle-brosSX {
  color: #24292e;
  margin-bottom: .5em;
  font-size: 20px;
  font-weight: 600;
}

.src-styles-workflows-module__emptyStateText-xJMlpi {
  margin-bottom: 1.5em;
  font-size: 14px;
}

.src-styles-workflows-module__form-ohQzFA {
  max-width: 800px;
}

.src-styles-workflows-module__formSection-IMEBxP {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  margin-bottom: 2em;
  padding: 1.5em;
}

.src-styles-workflows-module__formSectionTitle-D0zgfs {
  color: #24292e;
  border-bottom: 2px solid #e1e4e8;
  margin-bottom: 1em;
  padding-bottom: .5em;
  font-size: 18px;
  font-weight: 600;
}

.src-styles-workflows-module__formGroup-R7gfdU {
  margin-bottom: 1.5em;
}

.src-styles-workflows-module__formLabel-FxCGAz {
  color: #24292e;
  margin-bottom: .5em;
  font-size: 14px;
  font-weight: 500;
  display: block;
}

.src-styles-workflows-module__formLabelRequired-pV528a:after {
  content: " *";
  color: #dc3545;
}

.src-styles-workflows-module__formInput-mKszrS {
  border: 1px solid #ddd;
  border-radius: 6px;
  width: 100%;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 14px;
  transition: border-color .2s, box-shadow .2s;
}

.src-styles-workflows-module__formInput-mKszrS:focus {
  border-color: #1f6feb;
  outline: none;
  box-shadow: 0 0 0 3px #1f6feb1a;
}

.src-styles-workflows-module__formTextarea-OPyFMB {
  resize: vertical;
  min-height: 120px;
  font-family: inherit;
  font-size: 14px;
}

.src-styles-workflows-module__formHelp-RxdNnN {
  color: #586069;
  margin-top: .5em;
  font-size: 12px;
}

.src-styles-workflows-module__error-OCgZEg {
  color: #dc3545;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 6px;
  margin-bottom: 1.5em;
  padding: 1em;
}

.src-styles-workflows-module__success-An7aT_ {
  color: #155724;
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 6px;
  margin-bottom: 1.5em;
  padding: 1em;
}

.src-styles-workflows-module__info-voWWHt {
  color: #004085;
  background-color: #cce5ff;
  border: 1px solid #b3d7ff;
  border-radius: 6px;
  margin-bottom: 1.5em;
  padding: 1em;
}

.src-styles-workflows-module__loading-zbBR8G {
  text-align: center;
  color: #586069;
  padding: 3em;
}

.src-styles-workflows-module__stepCard-DWqb1O {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  margin-bottom: 1em;
  padding: 1em;
}

.src-styles-workflows-module__stepHeader-x0eho8 {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
  display: flex;
}

.src-styles-workflows-module__stepTitle-lFR2dv {
  color: #24292e;
  font-weight: 600;
}

.src-styles-workflows-module__stepRemoveButton-jYGbbQ {
  color: #fff;
  cursor: pointer;
  background-color: #dc3545;
  border: none;
  border-radius: 4px;
  padding: .25em .75em;
  font-size: 12px;
}

.src-styles-workflows-module__stepRemoveButton-jYGbbQ:hover {
  background-color: #c82333;
}

.src-pages-admin-Config-module__form-ZDm4Yp {
  max-width: 800px;
}

.src-pages-admin-Config-module__toggle-eXI8KU {
  border-radius: 13px;
  width: 52px;
  height: 26px;
  transition: background-color .2s;
  position: relative;
}

.src-pages-admin-Config-module__toggleSlider-N1erlz {
  background: #fff;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  transition: transform .2s;
  position: absolute;
  top: 2px;
  left: 2px;
  box-shadow: 0 1px 3px #0003;
}

.src-pages-admin-Config-module__formSection-bAuy2H {
  flex-direction: column;
  gap: 1em;
  margin-top: 1.5em;
  display: flex;
}

.src-pages-admin-Config-module__label-LFPAxC {
  color: #24292e;
  margin-bottom: .35em;
  font-size: 14px;
  font-weight: 600;
  display: block;
}

.src-pages-admin-Config-module__input-IyJb2_ {
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  width: 100%;
  max-width: 400px;
  padding: .5em .75em;
  font-size: 14px;
}

.src-pages-admin-Config-module__input-IyJb2_:focus {
  border-color: #1f6feb;
  outline: none;
  box-shadow: 0 0 0 2px #1f6feb33;
}

.src-pages-admin-Config-module__input-IyJb2_:disabled {
  color: #6a737d;
  cursor: not-allowed;
  background: #f6f8fa;
}

.src-pages-admin-Config-module__preview-MDnkCI {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: .75em 1em;
  font-size: 14px;
}

.src-pages-admin-Config-module__previewContent-cDXUbv {
  color: #24292e;
}

.src-pages-admin-Config-module__unsavedChangesContainer-OrPr2Q {
  min-height: 2.5em;
  margin-top: 1em;
}

.src-pages-admin-Config-module__unsavedChangesBanner-PiCL1x {
  color: #856404;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 6px;
  align-items: center;
  gap: .5em;
  padding: .5em 1em;
  font-size: 14px;
  display: inline-flex;
}

.src-pages-admin-Config-module__unsavedIcon-TF2_9J {
  color: #ffc107;
  font-size: .8em;
}

.src-pages-admin-Config-module__saveButton-wbvW7C {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .5em 1.25em;
  font-size: 14px;
  font-weight: 500;
  transition: background-color .2s;
}

.src-pages-admin-Config-module__saveButton-wbvW7C:hover:not(:disabled) {
  background: #0969da;
}

.src-pages-admin-Config-module__saveButton-wbvW7C:disabled {
  color: #6a737d;
  cursor: not-allowed;
  background: #d1d5db;
}

.src-widgets-CrudPanel-module__crudPanel-p0Uhh1 {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 16px;
}

.src-widgets-CrudPanel-module__crudPanel-p0Uhh1:not(.src-widgets-CrudPanel-module__fixedPanel-l4a13_) {
  margin-bottom: 12px;
}

.src-widgets-CrudPanel-module__fixedPanel-l4a13_ {
  border: none;
  padding: 0;
}

.src-widgets-CrudPanel-module__panelHeader-kqj6mP {
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  font-size: 1.1em;
  font-weight: 600;
  display: flex;
}

.src-widgets-CrudPanel-module__expandButton-e1xyMC {
  cursor: pointer;
  background: #f8f8f8;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 16px;
  transition: background-color .2s;
  display: flex;
}

.src-widgets-CrudPanel-module__expandButton-e1xyMC:hover {
  background: #e8e8e8;
}

.src-widgets-CrudPanel-module__schemaInfo-jrV3Og {
  color: #666;
  margin-left: auto;
  font-size: .75em;
  font-weight: normal;
}

.src-widgets-CrudPanel-module__form-y9xjJm {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.src-widgets-CrudPanel-module__errorSummary-PXy8mT {
  background: #fee;
  border: 1px solid #fcc;
  border-radius: 4px;
  margin-bottom: 8px;
  padding: 12px;
}

.src-widgets-CrudPanel-module__errorSummaryTitle-_MtCul {
  color: #c00;
  margin: 0 0 8px;
  font-size: .95em;
  font-weight: 600;
}

.src-widgets-CrudPanel-module__errorSummaryList-EUPhG2 {
  margin: 0;
  padding-left: 20px;
  list-style: none;
}

.src-widgets-CrudPanel-module__errorSummaryList-EUPhG2 li {
  margin: 4px 0;
}

.src-widgets-CrudPanel-module__errorLink-idHRXu {
  color: #c00;
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  padding: 0;
  font-size: .9em;
  text-decoration: underline;
}

.src-widgets-CrudPanel-module__errorLink-idHRXu:hover {
  color: #a00;
}

.src-widgets-CrudPanel-module__formFields-viIMp_ {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.src-widgets-CrudPanel-module__formField-YIqSS8 {
  flex-flow: wrap;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.src-widgets-CrudPanel-module__fieldLabel-gOII9M {
  color: #333;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  min-width: 150px;
  padding-top: 8px;
  font-size: .9em;
  font-weight: 500;
  display: flex;
}

.src-widgets-CrudPanel-module__required-ivUVot {
  color: #c00;
  font-weight: 600;
}

.src-widgets-CrudPanel-module__changeBadge-QC3hWC {
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  margin-left: 4px;
  font-size: 12px;
  display: inline-flex;
}

.src-widgets-CrudPanel-module__fieldInput-LsPZtH {
  flex: 1;
  min-width: 0;
}

.src-widgets-CrudPanel-module__formField-YIqSS8 input[type="text"], .src-widgets-CrudPanel-module__formField-YIqSS8 input[type="number"], .src-widgets-CrudPanel-module__formField-YIqSS8 select {
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 100%;
  padding: 8px 12px;
  font-size: .95em;
  transition: border-color .2s, box-shadow .2s;
}

.src-widgets-CrudPanel-module__formField-YIqSS8 input[type="text"]:focus, .src-widgets-CrudPanel-module__formField-YIqSS8 input[type="number"]:focus, .src-widgets-CrudPanel-module__formField-YIqSS8 select:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 2px #007bff1a;
}

.src-widgets-CrudPanel-module__formField-YIqSS8 input[type="text"].src-widgets-CrudPanel-module__inputError-ti_vgL, .src-widgets-CrudPanel-module__formField-YIqSS8 input[type="number"].src-widgets-CrudPanel-module__inputError-ti_vgL, .src-widgets-CrudPanel-module__formField-YIqSS8 select.src-widgets-CrudPanel-module__inputError-ti_vgL {
  border-color: #c00;
}

.src-widgets-CrudPanel-module__formField-YIqSS8 input[type="text"].src-widgets-CrudPanel-module__inputError-ti_vgL:focus, .src-widgets-CrudPanel-module__formField-YIqSS8 input[type="number"].src-widgets-CrudPanel-module__inputError-ti_vgL:focus, .src-widgets-CrudPanel-module__formField-YIqSS8 select.src-widgets-CrudPanel-module__inputError-ti_vgL:focus {
  border-color: #c00;
  box-shadow: 0 0 0 2px #cc00001a;
}

.src-widgets-CrudPanel-module__checkboxWrapper-rcsCaK {
  flex: 1;
  align-items: center;
  gap: 8px;
  display: flex;
}

.src-widgets-CrudPanel-module__checkboxWrapper-rcsCaK input[type="checkbox"] {
  cursor: pointer;
  width: auto;
  margin: 0;
}

.src-widgets-CrudPanel-module__checkboxLabel-GnX_z4 {
  cursor: pointer;
  user-select: none;
  margin: 0;
  font-weight: normal;
}

.src-widgets-CrudPanel-module__formField-YIqSS8 input[type="file"] {
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 100%;
  padding: 6px;
  font-size: .9em;
}

.src-widgets-CrudPanel-module__formField-YIqSS8 select[multiple] {
  min-height: 100px;
  padding: 6px;
}

.src-widgets-CrudPanel-module__fieldError-RO0AAx {
  color: #c00;
  flex-basis: 100%;
  margin-top: 4px;
  margin-left: 162px;
  font-size: .85em;
}

.src-widgets-CrudPanel-module__unsupportedType-_6xKBe {
  color: #666;
  font-size: .9em;
  font-style: italic;
}

.src-widgets-CrudPanel-module__arrayValues-g5LJtz {
  color: #666;
  margin-top: 6px;
  font-size: .85em;
  font-style: italic;
}

.src-widgets-CrudPanel-module__formFieldBoolean-KoE6iG {
  align-items: center;
}

.src-widgets-CrudPanel-module__formFieldBoolean-KoE6iG .src-widgets-CrudPanel-module__fieldError-RO0AAx {
  margin-top: 0;
  margin-left: 162px;
}

.src-widgets-CrudPanel-module__formActions-cWEfMX {
  border-top: 1px solid #e0e0e0;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 8px;
  display: flex;
}

.src-widgets-CrudPanel-module__buttonPrimary-UJanv0, .src-widgets-CrudPanel-module__buttonSecondary-Txs5LU, .src-widgets-CrudPanel-module__buttonDanger-qOHBfF {
  cursor: pointer;
  border: 1px solid;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .95em;
  font-weight: 500;
  transition: background-color .2s, border-color .2s, color .2s;
}

.src-widgets-CrudPanel-module__buttonPrimary-UJanv0 {
  color: #fff;
  background: #007bff;
  border-color: #007bff;
}

.src-widgets-CrudPanel-module__buttonPrimary-UJanv0:hover:not(:disabled) {
  background: #0056b3;
  border-color: #0056b3;
}

.src-widgets-CrudPanel-module__buttonPrimary-UJanv0:disabled {
  cursor: not-allowed;
  opacity: .6;
  background: #6c757d;
  border-color: #6c757d;
}

.src-widgets-CrudPanel-module__buttonSecondary-Txs5LU {
  color: #333;
  background: #fff;
  border-color: #ccc;
}

.src-widgets-CrudPanel-module__buttonSecondary-Txs5LU:hover {
  background: #f8f8f8;
  border-color: #999;
}

.src-widgets-CrudPanel-module__buttonDanger-qOHBfF {
  color: #dc3545;
  background: #fff;
  border-color: #dc3545;
}

.src-widgets-CrudPanel-module__buttonDanger-qOHBfF:hover:not(:disabled) {
  color: #fff;
  background: #dc3545;
}

.src-widgets-CrudPanel-module__buttonDanger-qOHBfF:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-widgets-CrudPanel-module__successMessage-SRSQO6 {
  color: #155724;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: .9em;
}

.src-widgets-CrudPanel-module__errorMessage-z3PK5R {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: .9em;
}

.src-widgets-SchemaSelector-module__errorMessage-EY3y2b {
  color: #8b0000;
}

.src-components-wizard-WizardFooter-module__wizardFooter-WunHOM {
  border-top: 1px solid #e1e4e8;
  margin-top: 2em;
  padding-top: 1.5em;
}

.src-components-wizard-WizardFooter-module__footerContent-Ylq7Vl {
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  display: flex;
}

.src-components-wizard-WizardFooter-module__footerActions-dvQBaO {
  align-items: center;
  gap: .75em;
  display: flex;
}

.src-components-wizard-WizardFooter-module__footerButton-Tnn7un {
  color: #24292e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  min-width: 120px;
  padding: .875em 1.75em;
  font-size: 16px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-wizard-WizardFooter-module__footerButton-Tnn7un:hover:not(:disabled) {
  color: #1f6feb;
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-wizard-WizardFooter-module__footerButton-Tnn7un:disabled {
  opacity: .5;
  cursor: not-allowed;
  background: #f6f8fa;
}

.src-components-wizard-WizardFooter-module__footerButton-Tnn7un.src-components-wizard-WizardFooter-module__primaryButton-AQ2dPn {
  color: #fff;
  background: #1f6feb;
  border-color: #1f6feb;
  font-weight: 600;
}

.src-components-wizard-WizardFooter-module__footerButton-Tnn7un.src-components-wizard-WizardFooter-module__primaryButton-AQ2dPn:hover:not(:disabled) {
  color: #fff;
  background: #0969da;
  border-color: #0969da;
}

.src-components-wizard-WizardFooter-module__footerButton-Tnn7un.src-components-wizard-WizardFooter-module__primaryButton-AQ2dPn:disabled {
  color: #fff;
  background: #8c959f;
  border-color: #8c959f;
}

.src-components-wizard-WizardFooter-module__deleteButton-huCdn6 {
  color: #d73a49;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d73a49;
  border-radius: 6px;
  min-width: 120px;
  padding: .875em 1.75em;
  font-size: 16px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-wizard-WizardFooter-module__deleteButton-huCdn6:hover:not(:disabled) {
  color: #fff;
  background: #d73a49;
}

.src-components-wizard-WizardFooter-module__deleteButton-huCdn6:disabled {
  opacity: .5;
  cursor: not-allowed;
  background: #f6f8fa;
}

@media (width <= 768px) {
  .src-components-wizard-WizardFooter-module__wizardFooter-WunHOM {
    background: #fff;
    margin-top: 2em;
    padding: 1em;
    position: sticky;
    bottom: 0;
    box-shadow: 0 -2px 8px #0000001a;
  }

  .src-components-wizard-WizardFooter-module__footerContent-Ylq7Vl {
    flex-direction: column-reverse;
    gap: .75em;
  }

  .src-components-wizard-WizardFooter-module__footerActions-dvQBaO {
    flex-direction: column;
    gap: .75em;
    width: 100%;
  }

  .src-components-wizard-WizardFooter-module__footerButton-Tnn7un, .src-components-wizard-WizardFooter-module__deleteButton-huCdn6 {
    width: 100%;
  }
}

.src-components-stain-StainDefinitionWizard-module__stepContent-cUu9W0 {
  padding: 1em;
}

.src-components-stain-StainDefinitionWizard-module__stepContent-cUu9W0 h3 {
  color: #24292e;
  margin: 0 0 .25em;
}

.src-components-stain-StainDefinitionWizard-module__stepContent-cUu9W0 p {
  color: #6a737d;
  margin-bottom: .75em;
}

.src-components-stain-StainDefinitionWizard-module__stainList-KtakHc {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1em;
  margin-top: 1em;
  display: grid;
}

.src-components-stain-StainDefinitionWizard-module__stainCard-mrKA41 {
  cursor: pointer;
  background: #fff;
  border: 2px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
  transition: all .2s;
}

.src-components-stain-StainDefinitionWizard-module__stainCard-mrKA41:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-stain-StainDefinitionWizard-module__stainCard-mrKA41.src-components-stain-StainDefinitionWizard-module__selected-IINnLV {
  background: #e7f3ff;
  border-color: #1f6feb;
}

.src-components-stain-StainDefinitionWizard-module__stainCardHeader-Pydjtj {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.src-components-stain-StainDefinitionWizard-module__stainCard-mrKA41 strong {
  color: #24292e;
  display: block;
}

.src-components-stain-StainDefinitionWizard-module__definedBadge-KOvtDX {
  color: #28a745;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  padding: .25em .5em;
  font-size: 12px;
  font-weight: 500;
}

.src-components-stain-StainDefinitionWizard-module__stainCard-mrKA41.src-components-stain-StainDefinitionWizard-module__hasDefinition-_TXimI {
  background: #f8fff9;
  border-color: #c3e6cb;
}

.src-components-stain-StainDefinitionWizard-module__stainCard-mrKA41.src-components-stain-StainDefinitionWizard-module__hasDefinition-_TXimI:hover {
  background: #f0f9f2;
  border-color: #28a745;
}

.src-components-stain-StainDefinitionWizard-module__form-CDATZe {
  flex-direction: column;
  gap: .75em;
  margin-top: .5em;
  display: flex;
}

.src-components-stain-StainDefinitionWizard-module__formField-h_rYff {
  flex-direction: column;
  gap: .25em;
  display: flex;
}

.src-components-stain-StainDefinitionWizard-module__inputWrapper-W5dP5O {
  align-items: center;
  gap: .5em;
  display: flex;
  position: relative;
}

.src-components-stain-StainDefinitionWizard-module__formField-h_rYff label {
  color: #24292e;
  font-size: 14px;
  font-weight: 600;
}

.src-components-stain-StainDefinitionWizard-module__formField-h_rYff input {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: .75em;
  font-size: 14px;
}

.src-components-stain-StainDefinitionWizard-module__formField-h_rYff input:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-stain-StainDefinitionWizard-module__formField-h_rYff select {
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: .75em;
  font-size: 14px;
}

.src-components-stain-StainDefinitionWizard-module__formField-h_rYff select:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-stain-StainDefinitionWizard-module__formField-h_rYff small {
  color: #6a737d;
  font-size: 12px;
}

.src-components-stain-StainDefinitionWizard-module__formSection-ly_MvJ {
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  margin-bottom: 1em;
  overflow: hidden;
}

.src-components-stain-StainDefinitionWizard-module__sectionHeader-e_de0Z {
  background: #f6f8fa;
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  padding: .75em 1em;
  display: flex;
}

.src-components-stain-StainDefinitionWizard-module__sectionHeader-e_de0Z h4 {
  color: #24292e;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.src-components-stain-StainDefinitionWizard-module__sectionHeader-e_de0Z small {
  color: #6a737d;
  font-size: 12px;
  font-weight: normal;
}

.src-components-stain-StainDefinitionWizard-module__sectionContent-u0YcZ6 {
  background: #fff;
  padding: 1em;
}

.src-components-stain-StainDefinitionWizard-module__collapseIcon-fntkgm {
  color: #6a737d;
  user-select: none;
  font-size: 12px;
}

.src-components-stain-StainDefinitionWizard-module__requiredLabel-k_Irsj {
  color: #24292e;
  font-weight: 600;
}

.src-components-stain-StainDefinitionWizard-module__fieldError-gMiYOx {
  background: #fff5f5;
  border-color: #f97583 !important;
}

.src-components-stain-StainDefinitionWizard-module__fieldValid-dDOReq {
  background: #f0fff4;
  border-color: #28a745 !important;
}

.src-components-stain-StainDefinitionWizard-module__fieldErrorMessage-hh17gK {
  color: #cb2431;
  margin-top: .15em;
  font-size: 12px;
  display: block;
}

.src-components-stain-StainDefinitionWizard-module__fieldValidIcon-zcfOxE {
  color: #28a745;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: bold;
}

.src-components-stain-StainDefinitionWizard-module__review-bkupwY {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  margin-top: .5em;
  padding: 1em;
}

.src-components-stain-StainDefinitionWizard-module__reviewItem-_8asZW {
  border-bottom: 1px solid #e1e4e8;
  padding: .5em 0;
}

.src-components-stain-StainDefinitionWizard-module__reviewItem-_8asZW:last-child {
  border-bottom: none;
}

.src-components-stain-StainDefinitionWizard-module__reviewItem-_8asZW strong {
  color: #24292e;
  margin-right: .5em;
}

.src-components-stain-StainDefinitionWizard-module__error-QaKGgd {
  color: #cb2431;
  background: #ffeef0;
  border: 1px solid #f97583;
  border-radius: 6px;
  margin-bottom: 1em;
  padding: .75em;
}

.src-components-stain-StainDefinitionWizard-module__schemaInfo-dmePWT {
  color: #6a737d;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  align-items: center;
  gap: .5em;
  margin-bottom: .5em;
  padding: .5em .75em;
  font-size: 13px;
  display: flex;
}

.src-components-stain-StainDefinitionWizard-module__schemaInfoLabel-xc3bHk {
  color: #24292e;
  font-weight: 600;
}

.src-components-stain-StainDefinitionWizard-module__schemaInfoName-EXTbD5 {
  color: #24292e;
}

.src-components-stain-StainDefinitionWizard-module__schemaInfoSeparator-HZZxSY {
  color: #d1d5db;
  margin: 0 .25em;
}

.src-components-stain-StainDefinitionWizard-module__schemaInfoAbbr-hvq7D4 {
  color: #6a737d;
  font-style: italic;
}

.src-components-stain-StainDefinitionWizard-module__schemaInfoType-x15jju {
  color: #6a737d;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-size: 11px;
  font-weight: 600;
}

.src-components-stain-StainDefinitionWizard-module__textarea-_SG81p {
  resize: vertical;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  width: 100%;
  padding: .75em;
  font-family: inherit;
  font-size: 14px;
}

.src-components-stain-StainDefinitionWizard-module__textarea-_SG81p:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-region-RegionDefinitionWizard-module__stepContent-iBB29c {
  padding: 1em;
}

.src-components-region-RegionDefinitionWizard-module__stepContent-iBB29c h3 {
  color: #24292e;
  margin: 0 0 .25em;
}

.src-components-region-RegionDefinitionWizard-module__stepContent-iBB29c p {
  color: #6a737d;
  margin-bottom: .75em;
}

.src-components-region-RegionDefinitionWizard-module__schemaList-nc3REr, .src-components-region-RegionDefinitionWizard-module__regionList-Nxr1Cb {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1em;
  margin-top: 1em;
  display: grid;
}

.src-components-region-RegionDefinitionWizard-module__schemaCard-iMlNfh, .src-components-region-RegionDefinitionWizard-module__regionCard-T9fUPb {
  cursor: pointer;
  background: #fff;
  border: 2px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
  transition: all .2s;
}

.src-components-region-RegionDefinitionWizard-module__schemaCard-iMlNfh:hover, .src-components-region-RegionDefinitionWizard-module__regionCard-T9fUPb:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-region-RegionDefinitionWizard-module__schemaCard-iMlNfh.src-components-region-RegionDefinitionWizard-module__selected-PYzHkt, .src-components-region-RegionDefinitionWizard-module__regionCard-T9fUPb.src-components-region-RegionDefinitionWizard-module__selected-PYzHkt {
  background: #e7f3ff;
  border-color: #1f6feb;
}

.src-components-region-RegionDefinitionWizard-module__schemaCard-iMlNfh strong {
  color: #24292e;
  margin-bottom: .5em;
  display: block;
}

.src-components-region-RegionDefinitionWizard-module__schemaMeta-fmr9hm {
  color: #6a737d;
  font-size: 12px;
}

.src-components-region-RegionDefinitionWizard-module__regionCard-T9fUPb strong {
  color: #24292e;
  display: block;
}

.src-components-region-RegionDefinitionWizard-module__regionCardHeader-GQUh_7 {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5em;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__definedBadge-wzJr06 {
  color: #28a745;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  padding: .25em .5em;
  font-size: 12px;
  font-weight: 500;
}

.src-components-region-RegionDefinitionWizard-module__regionCard-T9fUPb.src-components-region-RegionDefinitionWizard-module__hasDefinition-b9TmB2 {
  background: #f8fff9;
  border-color: #c3e6cb;
}

.src-components-region-RegionDefinitionWizard-module__regionCard-T9fUPb.src-components-region-RegionDefinitionWizard-module__hasDefinition-b9TmB2:hover {
  background: #f0f9f2;
  border-color: #28a745;
}

.src-components-region-RegionDefinitionWizard-module__abbreviation-bNHPHS {
  color: #6a737d;
  margin-left: .5em;
  font-size: 14px;
}

.src-components-region-RegionDefinitionWizard-module__form-UYhK1s {
  flex-direction: column;
  gap: .75em;
  margin-top: .5em;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__formField-CsOjEA {
  flex-direction: column;
  gap: .25em;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__inputWrapper-VMzQ_H {
  align-items: center;
  gap: .5em;
  display: flex;
  position: relative;
}

.src-components-region-RegionDefinitionWizard-module__formField-CsOjEA label {
  color: #24292e;
  font-size: 14px;
  font-weight: 600;
}

.src-components-region-RegionDefinitionWizard-module__formField-CsOjEA input {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: .75em;
  font-size: 14px;
}

.src-components-region-RegionDefinitionWizard-module__formField-CsOjEA input:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-region-RegionDefinitionWizard-module__formField-CsOjEA small {
  color: #6a737d;
  font-size: 12px;
}

.src-components-region-RegionDefinitionWizard-module__review-MiULrl {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  margin-top: .5em;
  padding: 1em;
}

.src-components-region-RegionDefinitionWizard-module__reviewItem-RIncOA {
  border-bottom: 1px solid #e1e4e8;
  padding: .5em 0;
}

.src-components-region-RegionDefinitionWizard-module__reviewItem-RIncOA:last-child {
  border-bottom: none;
}

.src-components-region-RegionDefinitionWizard-module__reviewItem-RIncOA strong {
  color: #24292e;
  margin-right: .5em;
}

.src-components-region-RegionDefinitionWizard-module__error-VdM8Vy {
  color: #cb2431;
  background: #ffeef0;
  border: 1px solid #f97583;
  border-radius: 6px;
  margin-bottom: 1em;
  padding: .75em;
}

.src-components-region-RegionDefinitionWizard-module__landmarksCount-mPL5vh {
  color: #6a737d;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  margin-bottom: .75em;
  padding: .5em;
  font-size: 14px;
  font-weight: 500;
}

.src-components-region-RegionDefinitionWizard-module__landmarksContainer-nStMBL {
  margin-top: .5em;
}

.src-components-region-RegionDefinitionWizard-module__landmarksList-KxV7fU {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  flex-direction: column;
  gap: .4em;
  padding: .4em;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__landmarkCheckbox-OwfUDL {
  cursor: pointer;
  border-radius: 4px;
  align-items: center;
  gap: .5em;
  padding: .4em;
  transition: background .2s;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__landmarkCheckbox-OwfUDL:hover {
  background: #f6f8fa;
}

.src-components-region-RegionDefinitionWizard-module__landmarkCheckbox-OwfUDL input[type="checkbox"] {
  cursor: pointer;
  width: 18px;
  height: 18px;
  margin: 0;
}

.src-components-region-RegionDefinitionWizard-module__landmarkCheckbox-OwfUDL span {
  color: #24292e;
  font-size: 14px;
}

.src-components-region-RegionDefinitionWizard-module__noLandmarks-LQ37AX {
  color: #6a737d;
  text-align: center;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
  font-style: italic;
}

.src-components-region-RegionDefinitionWizard-module__landmarksReviewList-lu3Ro9 {
  margin: .5em 0 0 1.5em;
  padding: 0;
  list-style: outside;
}

.src-components-region-RegionDefinitionWizard-module__landmarksReviewList-lu3Ro9 li {
  color: #24292e;
  margin: .25em 0;
}

.src-components-region-RegionDefinitionWizard-module__checkboxGroup-p22dCP {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  flex-direction: column;
  gap: .5em;
  padding: .5em;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__checkboxLabel-xddbOg {
  cursor: pointer;
  border-radius: 4px;
  align-items: center;
  gap: .5em;
  padding: .5em;
  transition: background .2s;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__checkboxLabel-xddbOg:hover {
  background: #f6f8fa;
}

.src-components-region-RegionDefinitionWizard-module__checkboxLabel-xddbOg input[type="checkbox"] {
  cursor: pointer;
  width: 18px;
  height: 18px;
  margin: 0;
}

.src-components-region-RegionDefinitionWizard-module__formField-CsOjEA select {
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: .75em;
  font-size: 14px;
}

.src-components-region-RegionDefinitionWizard-module__formField-CsOjEA select:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-region-RegionDefinitionWizard-module__formSection-GQqvoE {
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  margin-bottom: 1em;
  overflow: hidden;
}

.src-components-region-RegionDefinitionWizard-module__sectionHeader-pzaQgM {
  background: #f6f8fa;
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  padding: .75em 1em;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__sectionHeader-pzaQgM h4 {
  color: #24292e;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.src-components-region-RegionDefinitionWizard-module__sectionHeader-pzaQgM small {
  color: #6a737d;
  font-size: 12px;
  font-weight: normal;
}

.src-components-region-RegionDefinitionWizard-module__rememberCheckbox-Cf6xDy {
  cursor: pointer;
  color: #6a737d;
  align-items: center;
  gap: .5em;
  font-size: 12px;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__rememberCheckbox-Cf6xDy:hover {
  color: #24292e;
}

.src-components-region-RegionDefinitionWizard-module__rememberCheckbox-Cf6xDy input[type="checkbox"] {
  cursor: pointer;
  width: 16px;
  height: 16px;
  margin: 0;
}

.src-components-region-RegionDefinitionWizard-module__rememberCheckbox-Cf6xDy span {
  user-select: none;
}

.src-components-region-RegionDefinitionWizard-module__sectionContent-ScLIyx {
  background: #fff;
  padding: 1em;
}

.src-components-region-RegionDefinitionWizard-module__collapseIcon-zFm7Er {
  color: #6a737d;
  user-select: none;
  font-size: 12px;
}

.src-components-region-RegionDefinitionWizard-module__requiredLabel-t1itNt {
  color: #24292e;
  font-weight: 600;
}

.src-components-region-RegionDefinitionWizard-module__fieldError-XT1X81 {
  background: #fff5f5;
  border-color: #f97583 !important;
}

.src-components-region-RegionDefinitionWizard-module__fieldValid-xJ4578 {
  background: #f0fff4;
  border-color: #28a745 !important;
}

.src-components-region-RegionDefinitionWizard-module__fieldErrorMessage-Y0Ukb2 {
  color: #cb2431;
  margin-top: .15em;
  font-size: 12px;
  display: block;
}

.src-components-region-RegionDefinitionWizard-module__fieldValidIcon-oqdG59 {
  color: #28a745;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: bold;
}

.src-components-region-RegionDefinitionWizard-module__schemaInfo-EEnI8X {
  color: #6a737d;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  align-items: center;
  gap: .5em;
  margin-bottom: .5em;
  padding: .5em .75em;
  font-size: 13px;
  display: flex;
}

.src-components-region-RegionDefinitionWizard-module__schemaInfoLabel-ToHVCl {
  color: #24292e;
  font-weight: 600;
}

.src-components-region-RegionDefinitionWizard-module__schemaInfoName-TXKOfS {
  color: #24292e;
}

.src-components-region-RegionDefinitionWizard-module__schemaInfoSeparator-ZEhb9G {
  color: #d1d5db;
  margin: 0 .25em;
}

.src-components-region-RegionDefinitionWizard-module__schemaInfoAbbr-yuOj9s {
  color: #6a737d;
  font-style: italic;
}

.src-components-region-RegionDefinitionWizard-module__schemaInfoType-hP0CMU {
  color: #6a737d;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-size: 11px;
  font-weight: 600;
}

.src-components-region-RegionDefinitionWizard-module__textarea-zmGyuc {
  resize: vertical;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  width: 100%;
  padding: .75em;
  font-family: inherit;
  font-size: 14px;
}

.src-components-region-RegionDefinitionWizard-module__textarea-zmGyuc:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-region-RegionDefinitionWizard-module__toggleButton-oPqRgg {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 13px;
  font-weight: 500;
  transition: background .2s;
}

.src-components-region-RegionDefinitionWizard-module__toggleButton-oPqRgg:hover {
  background: #1158c7;
}

.src-components-region-RegionDefinitionWizard-module__toggleButton-oPqRgg:active {
  background: #0d4aa3;
}

.src-components-setup-ProtocolSelectionModal-module__modalOverlay-qtBDn3 {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-components-setup-ProtocolSelectionModal-module__modalContent-tpMC8H {
  background-color: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  display: flex;
  overflow: auto;
  box-shadow: 0 4px 6px #0000001a;
}

.src-components-setup-ProtocolSelectionModal-module__modalHeader-uYU7eS {
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  padding: 1em 1.5em;
  display: flex;
}

.src-components-setup-ProtocolSelectionModal-module__modalTitle-afUy_n {
  color: #24292e;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.src-components-setup-ProtocolSelectionModal-module__closeButton-HFIGFl {
  cursor: pointer;
  color: #6a737d;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 1.5em;
  transition: background .2s;
  display: flex;
}

.src-components-setup-ProtocolSelectionModal-module__closeButton-HFIGFl:hover {
  color: #24292e;
  background: #f6f8fa;
}

.src-components-setup-ProtocolSelectionModal-module__modalBody-yy0UgF {
  flex: 1;
  padding: 1.5em;
  overflow-y: auto;
}

.src-components-setup-ProtocolSelectionModal-module__protocolsList-HyUF96 {
  flex-direction: column;
  gap: .5em;
  max-height: 400px;
  display: flex;
  overflow-y: auto;
}

.src-components-setup-ProtocolSelectionModal-module__protocolItem-wSnhZ5 {
  text-align: left;
  cursor: pointer;
  background: #fff;
  border: 2px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
  transition: all .2s;
}

.src-components-setup-ProtocolSelectionModal-module__protocolItem-wSnhZ5:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-setup-ProtocolSelectionModal-module__protocolItem-wSnhZ5.src-components-setup-ProtocolSelectionModal-module__selected-a042Oq {
  background: #e7f3ff;
  border-color: #1f6feb;
}

.src-components-setup-ProtocolSelectionModal-module__protocolName-CoyaWX {
  color: #24292e;
  margin-bottom: .25em;
  font-weight: 600;
}

.src-components-setup-ProtocolSelectionModal-module__protocolDescription-FoNru6 {
  color: #6a737d;
  font-size: 13px;
}

.src-components-setup-ProtocolSelectionModal-module__createForm-kZD96I {
  flex-direction: column;
  gap: 1em;
  display: flex;
}

.src-components-setup-ProtocolSelectionModal-module__formField-tKqQ8Q {
  flex-direction: column;
  gap: .25em;
  display: flex;
}

.src-components-setup-ProtocolSelectionModal-module__formField-tKqQ8Q label {
  color: #24292e;
  font-size: 14px;
  font-weight: 600;
}

.src-components-setup-ProtocolSelectionModal-module__formField-tKqQ8Q input, .src-components-setup-ProtocolSelectionModal-module__formField-tKqQ8Q textarea {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: .75em;
  font-family: inherit;
  font-size: 14px;
}

.src-components-setup-ProtocolSelectionModal-module__formField-tKqQ8Q textarea {
  resize: vertical;
}

.src-components-setup-ProtocolSelectionModal-module__formActions-B9ye1h {
  justify-content: flex-end;
  gap: .5em;
  display: flex;
}

.src-components-setup-ProtocolSelectionModal-module__modalFooter-yo5zvx {
  border-top: 1px solid #e1e4e8;
  justify-content: flex-end;
  gap: .5em;
  padding: 1em 1.5em;
  display: flex;
}

.src-components-setup-ProtocolSelectionModal-module__createButton-qflucj {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-setup-ProtocolSelectionModal-module__createButton-qflucj:hover:not(:disabled) {
  background: #0969da;
}

.src-components-setup-ProtocolSelectionModal-module__createButton-qflucj:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-components-setup-ProtocolSelectionModal-module__cancelButton-k0X5ot {
  color: #24292e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-setup-ProtocolSelectionModal-module__cancelButton-k0X5ot:hover {
  background: #f6f8fa;
  border-color: #d1d5db;
}

.src-components-setup-ProtocolSelectionModal-module__emptyState-AXAeAU {
  text-align: center;
  color: #6a737d;
  padding: 2em;
}

.src-components-definition-DefinitionEditor-module__overlay-XsPEVU {
  z-index: 1000;
  background: #00000080;
  justify-content: center;
  align-items: center;
  padding: 2em;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-components-definition-DefinitionEditor-module__modal-QMXmAE {
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  display: flex;
  box-shadow: 0 4px 6px #0000001a;
}

.src-components-definition-DefinitionEditor-module__header-iPTM0k {
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.5em;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__headerTitle-YNNaou {
  flex: 1;
  min-width: 0;
}

.src-components-definition-DefinitionEditor-module__header-iPTM0k h3 {
  color: #24292e;
  margin: 0;
  font-size: 18px;
}

.src-components-definition-DefinitionEditor-module__headerSubtitle-mXBAT0 {
  color: #6a737d;
  margin-top: .25em;
  font-size: 13px;
  display: block;
}

.src-components-definition-DefinitionEditor-module__fieldHint-Nxyfkp {
  color: #6a737d;
  margin-top: .25em;
  font-size: 12px;
  display: block;
}

.src-components-definition-DefinitionEditor-module__closeButton-DipQN0 {
  color: #6a737d;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 24px;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__closeButton-DipQN0:hover {
  color: #24292e;
  background: #f6f8fa;
}

.src-components-definition-DefinitionEditor-module__content-BCUGqG {
  flex: 1;
  padding: 1.5em;
  overflow-y: auto;
}

.src-components-definition-DefinitionEditor-module__infoBox-IGH_ry {
  color: #24292e;
  background: #e7f3ff;
  border: 1px solid #1f6feb;
  border-radius: 6px;
  margin-bottom: 1.5em;
  padding: 1em;
  font-size: 14px;
}

.src-components-definition-DefinitionEditor-module__infoBox-IGH_ry strong {
  color: #1f6feb;
}

.src-components-definition-DefinitionEditor-module__form-EzHPxU {
  flex-direction: column;
  gap: 1em;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__field-AP1US0 {
  flex-direction: column;
  gap: .5em;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__field-AP1US0 label {
  color: #24292e;
  font-size: 14px;
  font-weight: 600;
}

.src-components-definition-DefinitionEditor-module__readOnlyValue-vJ4avJ {
  color: #24292e;
  padding: .5em 0;
  font-size: 14px;
}

.src-components-definition-DefinitionEditor-module__field-AP1US0 input, .src-components-definition-DefinitionEditor-module__field-AP1US0 select {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: .75em;
  font-size: 14px;
}

.src-components-definition-DefinitionEditor-module__field-AP1US0 input:focus, .src-components-definition-DefinitionEditor-module__field-AP1US0 select:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-definition-DefinitionEditor-module__field-AP1US0 input.src-components-definition-DefinitionEditor-module__error-Zs3FG5 {
  background: #fff5f5;
  border-color: #f97583;
}

.src-components-definition-DefinitionEditor-module__errorMessage-tobzoE {
  color: #cb2431;
  font-size: 12px;
}

.src-components-definition-DefinitionEditor-module__formSection-drdKbS {
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  margin-bottom: 1em;
  overflow: hidden;
}

.src-components-definition-DefinitionEditor-module__sectionHeader-Chp6Bc {
  background: #f6f8fa;
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  padding: .75em 1em;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__sectionTitle-bJhgdW {
  color: #24292e;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.src-components-definition-DefinitionEditor-module__sectionHeader-Chp6Bc small {
  color: #6a737d;
  font-size: 12px;
  font-weight: normal;
}

.src-components-definition-DefinitionEditor-module__sectionContent-hOp5Vm {
  background: #fff;
  padding: 1em;
}

.src-components-definition-DefinitionEditor-module__sectionContent-hOp5Vm .src-components-definition-DefinitionEditor-module__field-AP1US0 {
  margin-bottom: 0;
}

.src-components-definition-DefinitionEditor-module__toggleButton-P9e5jg {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 13px;
  font-weight: 500;
  transition: background .2s;
}

.src-components-definition-DefinitionEditor-module__toggleButton-P9e5jg:hover {
  background: #1158c7;
}

.src-components-definition-DefinitionEditor-module__toggleButton-P9e5jg:active {
  background: #0d4aa3;
}

.src-components-definition-DefinitionEditor-module__checkboxGroup-xqgYiJ {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  flex-direction: column;
  gap: .5em;
  padding: .5em;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__landmarksList-suvRCz {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  flex-direction: column;
  gap: .5em;
  padding: .5em;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__checkbox-Zbgs0W {
  cursor: pointer;
  border-radius: 4px;
  align-items: center;
  gap: .5em;
  padding: .5em;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__checkbox-Zbgs0W:hover {
  background: #fff;
}

.src-components-definition-DefinitionEditor-module__checkbox-Zbgs0W input[type="checkbox"] {
  cursor: pointer;
  margin: 0;
}

.src-components-definition-DefinitionEditor-module__footer-QaMFy2 {
  border-top: 1px solid #e1e4e8;
  justify-content: flex-end;
  gap: .75em;
  padding: 1.5em;
  display: flex;
}

.src-components-definition-DefinitionEditor-module__cancelButton-Gb6VfY, .src-components-definition-DefinitionEditor-module__saveButton-k7pHEv {
  cursor: pointer;
  border: none;
  border-radius: 6px;
  padding: .75em 1.5em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-definition-DefinitionEditor-module__cancelButton-Gb6VfY {
  color: #24292e;
  background: #f6f8fa;
}

.src-components-definition-DefinitionEditor-module__cancelButton-Gb6VfY:hover {
  background: #e1e4e8;
}

.src-components-definition-DefinitionEditor-module__saveButton-k7pHEv {
  color: #fff;
  background: #1f6feb;
}

.src-components-definition-DefinitionEditor-module__saveButton-k7pHEv:hover {
  background: #0969da;
}

.src-components-block-BlockDefinitionWizard-module__stepContent-mgEBIW {
  padding: 1.5em;
}

.src-components-block-BlockDefinitionWizard-module__formSection-fqCVT5 {
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  margin-bottom: 1em;
  overflow: hidden;
}

.src-components-block-BlockDefinitionWizard-module__sectionHeader-J0k7da {
  background: #f6f8fa;
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  padding: .75em 1em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__sectionHeader-J0k7da h4 {
  color: #24292e;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.src-components-block-BlockDefinitionWizard-module__sectionHeader-J0k7da small {
  color: #6a737d;
  font-size: 12px;
  font-weight: normal;
}

.src-components-block-BlockDefinitionWizard-module__rememberCheckbox-RT0gga {
  cursor: pointer;
  color: #6a737d;
  align-items: center;
  gap: .5em;
  font-size: 12px;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__rememberCheckbox-RT0gga:hover {
  color: #24292e;
}

.src-components-block-BlockDefinitionWizard-module__rememberCheckbox-RT0gga input[type="checkbox"] {
  cursor: pointer;
  width: 16px;
  height: 16px;
  margin: 0;
}

.src-components-block-BlockDefinitionWizard-module__rememberCheckbox-RT0gga span {
  user-select: none;
}

.src-components-block-BlockDefinitionWizard-module__sectionContent-JKctHk {
  background: #fff;
  padding: 1em;
}

.src-components-block-BlockDefinitionWizard-module__stepContent-mgEBIW h3 {
  color: #24292e;
  margin: 0 0 .5em;
}

.src-components-block-BlockDefinitionWizard-module__stepContent-mgEBIW p {
  color: #6a737d;
  margin-bottom: 1.5em;
}

.src-components-block-BlockDefinitionWizard-module__stepDescription-R9ydUu {
  color: #6a737d;
  margin-bottom: 1.5em;
  font-size: 13px;
  line-height: 1.6;
}

.src-components-block-BlockDefinitionWizard-module__schemaList-udbZuw {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1em;
  margin-top: 1em;
  display: grid;
}

.src-components-block-BlockDefinitionWizard-module__schemaCard-QENRQj {
  cursor: pointer;
  background: #fff;
  border: 2px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
  transition: all .2s;
}

.src-components-block-BlockDefinitionWizard-module__schemaCard-QENRQj:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__schemaCard-QENRQj.src-components-block-BlockDefinitionWizard-module__selected-_svbAl {
  background: #e7f3ff;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__schemaCard-QENRQj strong {
  color: #24292e;
  margin-bottom: .5em;
  display: block;
}

.src-components-block-BlockDefinitionWizard-module__schemaMeta-AYuSda {
  color: #6a737d;
  font-size: 12px;
}

.src-components-block-BlockDefinitionWizard-module__selectedCount-KOy7VN {
  color: #1f6feb;
  background: #e7f3ff;
  border: 1px solid #1f6feb;
  border-radius: 6px;
  padding: .4em .75em;
  font-size: 13px;
  font-weight: 600;
}

.src-components-block-BlockDefinitionWizard-module__regionList-PNLK0d {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1em;
  margin-top: .5em;
  display: grid;
}

.src-components-block-BlockDefinitionWizard-module__regionCard-G1fPv3 {
  cursor: pointer;
  background: #fff;
  border: 2px solid #e1e4e8;
  border-radius: 6px;
  flex-direction: column;
  gap: .5em;
  padding: 1em;
  transition: all .2s;
  display: flex;
  position: relative;
}

.src-components-block-BlockDefinitionWizard-module__regionCard-G1fPv3:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__regionCard-G1fPv3.src-components-block-BlockDefinitionWizard-module__selected-_svbAl {
  background: #e7f3ff;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__checkbox-Q4FDP8 {
  cursor: pointer;
  z-index: 1;
  width: 18px;
  height: 18px;
  position: absolute;
  top: .75em;
  right: .75em;
}

.src-components-block-BlockDefinitionWizard-module__regionInfo-Suk9ww {
  flex-direction: column;
  gap: .5em;
  padding-right: 1.5em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__regionInfoHeader-C975mC {
  flex-wrap: wrap;
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__regionInfo-Suk9ww strong {
  color: #24292e;
  font-size: 14px;
  display: block;
}

.src-components-block-BlockDefinitionWizard-module__abbreviation-k8ta5S {
  color: #6a737d;
  font-size: 13px;
}

.src-components-block-BlockDefinitionWizard-module__regionDetails-fazr0S {
  flex-wrap: wrap;
  gap: .5em;
  margin-top: .25em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__detailTag-q9bKOC {
  color: #6a737d;
  background: #f6f8fa;
  border-radius: 4px;
  padding: .2em .5em;
  font-size: 11px;
  font-weight: 500;
  display: inline-block;
}

.src-components-block-BlockDefinitionWizard-module__form-C7eIFO {
  flex-direction: column;
  gap: 1.5em;
  margin-top: 1em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__formField-yg_NTo {
  flex-direction: column;
  gap: .5em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__formField-yg_NTo label {
  color: #24292e;
  font-size: 14px;
  font-weight: 600;
}

.src-components-block-BlockDefinitionWizard-module__formField-yg_NTo input {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: .75em;
  font-size: 14px;
}

.src-components-block-BlockDefinitionWizard-module__formField-yg_NTo input:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-block-BlockDefinitionWizard-module__formField-yg_NTo small {
  color: #6a737d;
  font-size: 12px;
}

.src-components-block-BlockDefinitionWizard-module__review-CIhlfy {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  margin-top: 1em;
  padding: 1.5em;
}

.src-components-block-BlockDefinitionWizard-module__reviewItem-XxzZT5 {
  border-bottom: 1px solid #e1e4e8;
  padding: .75em 0;
}

.src-components-block-BlockDefinitionWizard-module__reviewItem-XxzZT5:last-child {
  border-bottom: none;
}

.src-components-block-BlockDefinitionWizard-module__reviewItem-XxzZT5 strong {
  color: #24292e;
  margin-right: .5em;
}

.src-components-block-BlockDefinitionWizard-module__regionsList-Rm_mPq {
  margin: .5em 0 0 1.5em;
  padding: 0;
  list-style: outside;
}

.src-components-block-BlockDefinitionWizard-module__regionsList-Rm_mPq li {
  color: #24292e;
  margin: .25em 0;
}

.src-components-block-BlockDefinitionWizard-module__regionsDetailList-JQs8vh {
  flex-direction: column;
  gap: 1em;
  margin-top: .75em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__regionDetailCard-Oi1PnP {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
}

.src-components-block-BlockDefinitionWizard-module__regionDetailHeader-SVyjb0 {
  align-items: center;
  gap: .5em;
  margin-bottom: .75em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__regionDetailHeader-SVyjb0 strong {
  color: #24292e;
  font-size: 14px;
}

.src-components-block-BlockDefinitionWizard-module__regionDetailMeta-OyL_Mh {
  color: #6a737d;
  flex-direction: column;
  gap: .5em;
  font-size: 13px;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__regionDetailMeta-OyL_Mh > span {
  display: block;
}

.src-components-block-BlockDefinitionWizard-module__landmarksList-H8FBiN {
  margin-top: .5em;
}

.src-components-block-BlockDefinitionWizard-module__landmarksList-H8FBiN strong {
  color: #24292e;
  margin-bottom: .25em;
  font-size: 12px;
  display: block;
}

.src-components-block-BlockDefinitionWizard-module__landmarksList-H8FBiN ul {
  margin: .25em 0 0 1.5em;
  padding: 0;
  list-style: outside;
}

.src-components-block-BlockDefinitionWizard-module__landmarksList-H8FBiN li {
  color: #6a737d;
  margin: .15em 0;
  font-size: 12px;
}

.src-components-block-BlockDefinitionWizard-module__error-JPeYKH {
  color: #cb2431;
  background: #ffeef0;
  border: 1px solid #f97583;
  border-radius: 6px;
  margin-bottom: 1em;
  padding: .75em;
}

.src-components-block-BlockDefinitionWizard-module__selectedProtocol-lvR7h6 {
  background: #e7f3ff;
  border: 2px solid #1f6feb;
  border-radius: 6px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
  padding: 1em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__protocolInfo-RdHwPZ {
  flex: 1;
}

.src-components-block-BlockDefinitionWizard-module__protocolInfo-RdHwPZ strong {
  color: #24292e;
  margin-bottom: .25em;
  font-size: 16px;
  display: block;
}

.src-components-block-BlockDefinitionWizard-module__protocolDescription-zGf6gs {
  color: #6a737d;
  margin-top: .25em;
  font-size: 13px;
}

.src-components-block-BlockDefinitionWizard-module__changeButton-Q7ImSo, .src-components-block-BlockDefinitionWizard-module__selectButton-gKolMz {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-block-BlockDefinitionWizard-module__changeButton-Q7ImSo:hover, .src-components-block-BlockDefinitionWizard-module__selectButton-gKolMz:hover {
  background: #0969da;
}

.src-components-block-BlockDefinitionWizard-module__selectButton-gKolMz {
  width: 100%;
  margin-top: 1em;
}

.src-components-block-BlockDefinitionWizard-module__protocolCardGrid-BZOTCa {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1em;
  margin-top: .5em;
  display: grid;
}

.src-components-block-BlockDefinitionWizard-module__protocolCard-DcUbGr {
  cursor: pointer;
  background: #fff;
  border: 2px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
  transition: all .2s;
  position: relative;
}

.src-components-block-BlockDefinitionWizard-module__protocolCard-DcUbGr:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__protocolCard-DcUbGr.src-components-block-BlockDefinitionWizard-module__selected-_svbAl {
  background: #e7f3ff;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__protocolCardHeader-o16Va2 {
  justify-content: space-between;
  align-items: flex-start;
  gap: .5em;
  margin-bottom: .5em;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__protocolCardHeader-o16Va2 strong {
  color: #24292e;
  flex: 1;
  font-size: 14px;
  display: block;
}

.src-components-block-BlockDefinitionWizard-module__editButton-PpS0U8 {
  color: #6a737d;
  cursor: pointer;
  background: none;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  flex-shrink: 0;
  padding: .25em .5em;
  font-size: 12px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-block-BlockDefinitionWizard-module__editButton-PpS0U8:hover {
  color: #1f6feb;
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__protocolCardDescription-pATEAY {
  color: #6a737d;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-top: .5em;
  font-size: 12px;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.src-components-block-BlockDefinitionWizard-module__createCard-DFKZye {
  background: #fafbfc;
  border-style: dashed;
  border-color: #d1d5db;
}

.src-components-block-BlockDefinitionWizard-module__createCard-DFKZye:hover {
  background: #f0f7ff;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__createCardContent-tkVrIM {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .5em;
  min-height: 80px;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__createIcon-vAQ3ma {
  color: #1f6feb;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
}

.src-components-block-BlockDefinitionWizard-module__createCardContent-tkVrIM strong {
  color: #1f6feb;
  font-size: 14px;
}

.src-components-block-BlockDefinitionWizard-module__showAllCard-PB8Eae {
  background: #f0f7ff;
  border-style: dashed;
  border-color: #1f6feb;
}

.src-components-block-BlockDefinitionWizard-module__showAllCard-PB8Eae:hover {
  background: #e7f3ff;
  border-color: #0969da;
}

.src-components-block-BlockDefinitionWizard-module__showAllContent-RUGKdL {
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  display: flex;
}

.src-components-block-BlockDefinitionWizard-module__showAllContent-RUGKdL strong {
  color: #1f6feb;
  font-size: 14px;
}

.src-components-block-BlockDefinitionWizard-module__selectedProtocolDisplay-mUWKxs {
  background: #e7f3ff;
  border: 1px solid #1f6feb;
  border-radius: 6px;
  margin-top: 1em;
  padding: .75em 1em;
}

.src-components-block-BlockDefinitionWizard-module__selectedProtocolInfo-Jn801F strong {
  color: #24292e;
  margin-bottom: .25em;
  font-size: 14px;
  display: block;
}

.src-components-definition-DefinitionSelector-module__compactContainer-_RZ8Nx {
  flex-shrink: 0;
  width: auto;
  display: inline-flex;
  position: relative;
}

.src-components-definition-DefinitionSelector-module__compactButton-WbRhZf {
  cursor: pointer;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  justify-content: space-between;
  align-items: center;
  gap: .5em;
  width: 100%;
  padding: .5em .75em;
  font-size: 14px;
  transition: all .2s;
  display: flex;
}

.src-components-definition-DefinitionSelector-module__compactButton-WbRhZf:hover:not(:disabled) {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-definition-DefinitionSelector-module__compactButton-WbRhZf:disabled {
  cursor: not-allowed;
  color: #6a737d;
  background: #f3f4f6;
}

.src-components-definition-DefinitionSelector-module__compactName-vFDlCp {
  text-align: left;
  color: #24292e;
  flex: 1;
}

.src-components-definition-DefinitionSelector-module__compactAbbr-sbj5R2 {
  color: #6a737d;
  font-size: .9em;
}

.src-components-definition-DefinitionSelector-module__compactPlaceholder-mEbC62 {
  color: #6a737d;
  font-style: italic;
}

.src-components-definition-DefinitionSelector-module__compactArrow-TMu0uW {
  color: #6a737d;
  font-size: 10px;
}

.src-components-definition-DefinitionSelector-module__compactAddButton-JW0p_V {
  cursor: pointer;
  color: #24292e;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  font-size: 16px;
  line-height: 1;
  transition: all .2s;
  display: inline-flex;
}

.src-components-definition-DefinitionSelector-module__compactAddButton-JW0p_V:hover:not(:disabled) {
  color: #1f6feb;
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-definition-DefinitionSelector-module__compactAddButton-JW0p_V:disabled {
  cursor: not-allowed;
  color: #6a737d;
  background: #f3f4f6;
}

.src-components-definition-DefinitionSelector-module__overlay-_vL8x_ {
  z-index: 10000;
  background: #00000080;
  position: fixed;
  inset: 0;
}

.src-components-definition-DefinitionSelector-module__modal-m4HNjs {
  z-index: 10001;
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 90%;
  max-width: 600px;
  min-height: 420px;
  max-height: 80vh;
  display: flex;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 4px 6px #0000001a;
}

.src-components-definition-DefinitionSelector-module__modalHeader-AHPsC_ {
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  padding: 1em 1.5em;
  display: flex;
}

.src-components-definition-DefinitionSelector-module__modalHeader-AHPsC_ h3 {
  color: #24292e;
  margin: 0;
  font-size: 18px;
}

.src-components-definition-DefinitionSelector-module__closeButton-xLOOSC {
  color: #6a737d;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 24px;
  display: flex;
}

.src-components-definition-DefinitionSelector-module__closeButton-xLOOSC:hover {
  color: #24292e;
  background: #f6f8fa;
}

.src-components-definition-DefinitionSelector-module__modalContent-m7h1Ox {
  flex: 1;
  min-height: 0;
  padding: 1em 1.5em;
  overflow-y: auto;
}

.src-components-definition-DefinitionSelector-module__searchBox-koBh8F {
  margin-bottom: 1em;
}

.src-components-definition-DefinitionSelector-module__searchBox-koBh8F input {
  border: 1px solid #d1d5db;
  border-radius: 6px;
  width: 100%;
  padding: .75em;
  font-size: 14px;
}

.src-components-definition-DefinitionSelector-module__searchBox-koBh8F input:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-definition-DefinitionSelector-module__definitionsList-EdQeMU {
  flex-direction: column;
  gap: .75em;
  max-height: 400px;
  display: flex;
  overflow-y: auto;
}

.src-components-definition-DefinitionSelector-module__definitionsListCompact-ReL4uc {
  gap: .35em;
  max-height: 56vh;
}

.src-components-definition-DefinitionSelector-module__definitionCard-orT7SF {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
  transition: all .2s;
}

.src-components-definition-DefinitionSelector-module__definitionCardCompact-PsL6KM {
  border-radius: 4px;
  padding: .45em .65em;
}

.src-components-definition-DefinitionSelector-module__definitionCardCompact-PsL6KM .src-components-definition-DefinitionSelector-module__cardHeader-yNm8hB {
  margin-bottom: .2em;
}

.src-components-definition-DefinitionSelector-module__definitionCardCompact-PsL6KM .src-components-definition-DefinitionSelector-module__cardHeader-yNm8hB strong {
  font-size: 14px;
}

.src-components-definition-DefinitionSelector-module__definitionCardCompact-PsL6KM .src-components-definition-DefinitionSelector-module__cardDetails-LMdfwH {
  gap: .4em;
  font-size: 12px;
}

.src-components-definition-DefinitionSelector-module__definitionCardCompact-PsL6KM .src-components-definition-DefinitionSelector-module__cardDetails-LMdfwH span {
  padding: .15em .35em;
}

.src-components-definition-DefinitionSelector-module__definitionCardCompact-PsL6KM .src-components-definition-DefinitionSelector-module__schemaInfo-bA_5eC {
  margin-top: .25em;
  font-size: 11px;
}

.src-components-definition-DefinitionSelector-module__definitionCard-orT7SF:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-definition-DefinitionSelector-module__definitionCard-orT7SF.src-components-definition-DefinitionSelector-module__selected-nI36Jt {
  background: #e7f3ff;
  border-color: #1f6feb;
}

.src-components-definition-DefinitionSelector-module__cardHeader-yNm8hB {
  align-items: center;
  gap: .5em;
  margin-bottom: .5em;
  display: flex;
}

.src-components-definition-DefinitionSelector-module__cardHeader-yNm8hB strong {
  color: #24292e;
  font-size: 16px;
}

.src-components-definition-DefinitionSelector-module__abbreviation-miC__5 {
  color: #6a737d;
  font-size: 14px;
}

.src-components-definition-DefinitionSelector-module__cardDetails-LMdfwH {
  color: #6a737d;
  flex-wrap: wrap;
  gap: .75em;
  font-size: 13px;
  display: flex;
}

.src-components-definition-DefinitionSelector-module__cardDetails-LMdfwH span {
  background: #f6f8fa;
  border-radius: 4px;
  padding: .25em .5em;
}

.src-components-definition-DefinitionSelector-module__schemaInfo-bA_5eC {
  color: #6a737d;
  margin-top: .5em;
  font-size: 12px;
}

.src-components-definition-DefinitionSelector-module__emptyState-KKKfUB {
  text-align: center;
  color: #6a737d;
  padding: 2em;
}

.src-components-definition-DefinitionSelector-module__modalFooter-bgEe6x {
  border-top: 1px solid #e1e4e8;
  margin-top: 1em;
  padding-top: 1em;
}

.src-components-definition-DefinitionSelector-module__createButton-yFG3rz {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  width: 100%;
  padding: .75em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-definition-DefinitionSelector-module__createButton-yFG3rz:hover:not(:disabled) {
  background: #0969da;
}

.src-components-definition-DefinitionSelector-module__createButton-yFG3rz:disabled {
  cursor: not-allowed;
  background: #d1d5db;
}

.src-components-definition-DefinitionSelector-module__container-_iLYjz {
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-components-definition-DefinitionSelector-module__select-cL4hWt {
  border: 1px solid #d1d5db;
  border-radius: 4px;
  flex: 1;
  padding: .5em .75em;
  font-size: 14px;
}

.src-components-definition-DefinitionSelector-module__select-cL4hWt:focus {
  border-color: #1f6feb;
  outline: none;
}

.src-components-Tooltip-module__tooltipWrapper-jww8aF {
  display: inline-block;
  position: relative;
}

.src-components-Tooltip-module__tooltip-hqukFz {
  color: #fff;
  pointer-events: none;
  z-index: 10000;
  word-wrap: break-word;
  white-space: normal;
  opacity: 1;
  visibility: visible;
  background-color: #24292e;
  border-radius: 6px;
  max-width: 300px;
  padding: .5em .75em;
  font-size: .875em;
  line-height: 1.4;
  animation: .1s ease-out src-components-Tooltip-module__tooltipFadeIn-c8ZJvP;
  display: block;
  position: fixed;
  box-shadow: 0 2px 8px #0000004d;
}

.src-components-Tooltip-module__tooltip-hqukFz:before {
  content: "";
  border: 6px solid #0000;
  width: 0;
  height: 0;
  position: absolute;
}

.src-components-Tooltip-module__tooltip-hqukFz.src-components-Tooltip-module__top-rS4eIZ:before {
  border-top-color: #24292e;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
}

.src-components-Tooltip-module__tooltip-hqukFz.src-components-Tooltip-module__bottom-NEBNOx:before {
  border-bottom-color: #24292e;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
}

.src-components-Tooltip-module__tooltip-hqukFz.src-components-Tooltip-module__left-qDQzeN:before {
  border-left-color: #24292e;
  top: 50%;
  right: -12px;
  transform: translateY(-50%);
}

.src-components-Tooltip-module__tooltip-hqukFz.src-components-Tooltip-module__right-VWNmZB:before {
  border-right-color: #24292e;
  top: 50%;
  left: -12px;
  transform: translateY(-50%);
}

@keyframes src-components-Tooltip-module__tooltipFadeIn-c8ZJvP {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.src-widgets-BasicViewer-module__viewer-gKcXeW {
  height: 200px;
}

.src-pages-admin-BlockSetup-module__container-HBy7QI {
  padding: 1.5em;
}

.src-pages-admin-BlockSetup-module__header-nWMwkh {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
  display: flex;
}

.src-pages-admin-BlockSetup-module__header-nWMwkh h3 {
  color: #24292e;
  margin: 0;
}

.src-pages-admin-BlockSetup-module__createButton-Noy4k5 {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .75em 1.5em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-pages-admin-BlockSetup-module__createButton-Noy4k5:hover:not(:disabled) {
  background: #0969da;
}

.src-pages-admin-BlockSetup-module__createButton-Noy4k5:disabled {
  color: #6a737d;
  cursor: not-allowed;
  background: #d1d5db;
}

.src-pages-admin-BlockSetup-module__emptyState-uB9stQ {
  text-align: center;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 2em;
}

.src-pages-admin-BlockSetup-module__emptyState-uB9stQ p {
  color: #6a737d;
  margin: .5em 0;
}

.src-pages-admin-BlockSetup-module__protocolList-WsNrVh {
  margin-top: .5em;
}

.src-pages-admin-BlockSetup-module__errorMessage-UIqUzV {
  color: #cf222e;
  background: #fff5f5;
  border: 1px solid #f97583;
  border-radius: 6px;
  margin-bottom: 1em;
  padding: .75em 1em;
  font-size: 14px;
}

.src-pages-admin-BlockSetup-module__regionDependency-HQcrDE {
  text-align: center;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  margin-bottom: 1em;
  padding: 1.5em;
}

.src-pages-admin-BlockSetup-module__regionDependency-HQcrDE p {
  color: #6a737d;
  margin: 0 0 .75em;
}

.src-pages-admin-BlockSetup-module__modalOverlay-TifCn2 {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-pages-admin-BlockSetup-module__modalContent-DKg7gm {
  background-color: #fff;
  border-radius: 8px;
  width: 95%;
  max-width: 700px;
  max-height: 90vh;
  overflow: auto;
  box-shadow: 0 4px 6px #0000001a;
}

.src-pages-admin-BlockSetup-module__list-L99hei {
  margin-top: 1em;
}

.src-pages-admin-BlockSetup-module__count-gGd1d8 {
  color: #6a737d;
  margin-bottom: 1em;
  font-size: 14px;
  font-weight: 500;
}

.src-pages-admin-BlockSetup-module__itemsList-Fshh36 {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-pages-admin-BlockSetup-module__item-kpDxJ0 {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  flex-direction: column;
  gap: .5em;
  min-width: 200px;
  padding: .75em 1em;
  font-size: 14px;
  transition: all .2s;
  display: flex;
}

.src-pages-admin-BlockSetup-module__item-kpDxJ0:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-pages-admin-BlockSetup-module__itemHeader-wDatEL {
  align-items: center;
  gap: .5em;
  width: 100%;
  display: flex;
}

.src-pages-admin-BlockSetup-module__itemName-YFGVhv {
  color: #24292e;
  font-weight: 500;
}

.src-pages-admin-BlockSetup-module__itemMeta-oCmwgk {
  color: #6a737d;
  font-size: 13px;
}

.src-pages-admin-BlockSetup-module__regionList-mrT500 {
  flex-wrap: wrap;
  gap: .5em;
  margin-top: .25em;
  display: flex;
}

.src-pages-admin-BlockSetup-module__regionTag-fhvH43 {
  color: #6a737d;
  background: #f6f8fa;
  border-radius: 4px;
  padding: .25em .5em;
  font-size: 12px;
  display: inline-block;
}

.src-pages-admin-BlockSetup-module__infoSummary-RGvXJj {
  margin-bottom: 1.5em;
}

.src-pages-admin-BlockSetup-module__infoSummaryText-J2ZO1W {
  color: #6a737d;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.src-pages-admin-BlockSetup-module__moreButton-E3Y43O {
  color: #1f6feb;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 2px;
  margin-left: .15em;
  padding: 0 .25em;
  font-size: 14px;
  text-decoration: underline;
  transition: color .2s;
  display: inline;
}

.src-pages-admin-BlockSetup-module__moreButton-E3Y43O:hover {
  color: #0969da;
}

.src-pages-admin-BlockSetup-module__infoSection-lR7mLq {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  margin-top: .75em;
  margin-bottom: 1.5em;
  padding: 1em 1.5em;
}

.src-pages-admin-BlockSetup-module__infoSection-lR7mLq h4 {
  color: #24292e;
  margin: 0 0 .75em;
  font-size: 14px;
  font-weight: 600;
}

.src-pages-admin-BlockSetup-module__infoSection-lR7mLq p {
  color: #6a737d;
  margin: .5em 0;
  font-size: 13px;
  line-height: 1.5;
}

.src-pages-admin-BlockSetup-module__infoSection-lR7mLq ul {
  color: #6a737d;
  margin: .5em 0 .5em 1.5em;
  font-size: 13px;
  line-height: 1.8;
}

.src-pages-admin-BlockSetup-module__infoSection-lR7mLq li {
  margin: .25em 0;
}

.src-pages-manage-casebuilder-CaseBuilder-module__header-N8Ecub {
  margin-bottom: 1.5em;
}

.src-pages-manage-casebuilder-CaseBuilder-module__subtitle-r5V7Vw {
  color: #666;
  font-size: .9em;
}

.src-pages-manage-casebuilder-CaseBuilder-module__caseNameRow-GnfTX4 {
  flex-wrap: wrap;
  align-items: center;
  gap: .75em;
  margin-bottom: 1em;
  display: flex;
}

.src-pages-manage-casebuilder-CaseBuilder-module__caseNameLabel-nBvGSw {
  min-width: 6em;
  font-weight: 500;
}

.src-pages-manage-casebuilder-CaseBuilder-module__caseNameInput-D2h8vu {
  border: 1px solid #ccc;
  border-radius: 4px;
  flex: 1;
  min-width: 12em;
  padding: .4em .6em;
  font-size: 1em;
}

.src-pages-manage-casebuilder-CaseBuilder-module__buttonPrimary-RdRv49 {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: .4em .8em;
  font-size: .95em;
}

.src-pages-manage-casebuilder-CaseBuilder-module__buttonPrimary-RdRv49:hover:not(:disabled) {
  background: #0069d9;
}

.src-pages-manage-casebuilder-CaseBuilder-module__buttonPrimary-RdRv49:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-manage-casebuilder-CaseBuilder-module__buttonDanger-Dw5sZO {
  color: #fff;
  cursor: pointer;
  background: #dc3545;
  border: 1px solid #dc3545;
  border-radius: 4px;
  padding: .4em .8em;
  font-size: .95em;
}

.src-pages-manage-casebuilder-CaseBuilder-module__buttonDanger-Dw5sZO:hover:not(:disabled) {
  background: #c82333;
}

.src-pages-manage-casebuilder-CaseBuilder-module__buttonDanger-Dw5sZO:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-manage-casebuilder-CaseBuilder-module__quarantinedRow-xrYDPl {
  margin-bottom: 1em;
}

.src-pages-manage-casebuilder-CaseBuilder-module__quarantinedLabel-N6XZsk {
  cursor: pointer;
  align-items: center;
  gap: .5em;
  font-size: .95em;
  display: inline-flex;
}

.src-pages-manage-casebuilder-CaseBuilder-module__panelWrapper-Fbrk9q {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  margin-bottom: 1em;
  padding: 16px;
}

.src-pages-manage-casebuilder-CaseBuilder-module__panelTitle-VpQrUx {
  margin: 0 0 12px;
  font-size: 1em;
  font-weight: 600;
}

.src-pages-manage-casebuilder-CaseBuilder-module__protocolRow-gTRVUC {
  align-items: center;
  gap: .5em;
  margin-bottom: 1em;
  display: flex;
}

.src-pages-manage-casebuilder-CaseBuilder-module__protocolLabel-OLRGfD {
  color: #666;
  font-size: .9em;
}

.src-pages-manage-casebuilder-CaseBuilder-module__linkButton-WDMRJ5 {
  color: #007bff;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-size: .9em;
  text-decoration: underline;
}

.src-pages-manage-casebuilder-CaseBuilder-module__linkButton-WDMRJ5:hover {
  color: #0056b3;
}

.src-components-network-ConnectionInfo-module__connectionInfoRow-q7ReOL {
  align-items: flex-start;
  gap: .75em;
  display: flex;
}

.src-components-network-ConnectionInfo-module__connectionInfoLabel-t6fZCO {
  color: #586069;
  min-width: 120px;
  font-size: .9em;
  font-weight: 600;
}

.src-components-network-ConnectionInfo-module__connectionInfoValue-H9BeE3 {
  color: #24292e;
  word-break: break-word;
  flex: 1;
}

.src-components-network-ConnectionInfo-module__remoteBdsaLink-qb57Mw {
  color: #0366d6;
  font-weight: 500;
  text-decoration: none;
}

.src-components-network-ConnectionInfo-module__remoteBdsaLink-qb57Mw:hover {
  color: #0256c2;
  text-decoration: underline;
}

.src-components-network-ConnectionInfo-module__conflictWarning-oYpMvn {
  background: #fff3e0;
  border: 1px solid #ffb74d;
  border-radius: 4px;
  margin-top: .75em;
  padding: .75em;
}

.src-components-network-ConnectionInfo-module__conflictWarningTitle-NqYRec {
  color: #e65100;
  margin-bottom: .5em;
  font-size: .9em;
  font-weight: bold;
}

.src-components-network-ConnectionInfo-module__conflictWarningText-QSA1l9 {
  margin-bottom: .5em;
  font-size: .85em;
}

.src-components-network-ConnectionInfo-module__conflictWarningItalic-qGLo07 {
  font-size: .85em;
  font-style: italic;
}

.src-components-network-ConnectionInfo-module__errorMessage-QK_FgY {
  background: #ffebee;
  border: 1px solid #ef5350;
  border-radius: 4px;
  margin-top: .75em;
  padding: .75em;
}

.src-components-network-ConnectionInfo-module__errorMessageTitle-kBl_Vp {
  color: #c62828;
  margin-bottom: .5em;
  font-size: .9em;
  font-weight: bold;
}

.src-components-network-ConnectionInfo-module__errorMessageText-KIKekO {
  margin-bottom: .5em;
  font-size: .85em;
}

.src-components-network-ConnectionInfo-module__errorMessageItalic-qWxRHG {
  font-size: .85em;
  font-style: italic;
}

.src-components-network-ConnectionInfo-module__assetstoreConflict-fycOnh {
  background: #fff3e0;
  border: 1px solid #ffb74d;
  border-radius: 4px;
  margin-top: .75em;
  padding: .75em;
}

.src-components-network-ConnectionInfo-module__assetstoreConflictTitle-hd2NMQ {
  color: #e65100;
  margin-bottom: .5em;
  font-size: .9em;
  font-weight: bold;
}

.src-components-network-ConnectionInfo-module__assetstoreConflictText-NxDWf9 {
  margin-bottom: .5em;
  font-size: .85em;
}

.src-components-network-ConnectionInfo-module__assetstoreConflictActionsText-AOiHdo {
  margin-bottom: .75em;
  font-size: .85em;
  font-style: italic;
}

.src-components-network-ConnectionInfo-module__assetstoreConflictActions-NjBRBk {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-components-network-ConnectionInfo-module__assetstoreConflictButton-zajSrm {
  cursor: pointer;
  border: none;
  border-radius: 4px;
  padding: .5em 1em;
  font-size: .85em;
  font-weight: bold;
}

.src-components-network-ConnectionInfo-module__assetstoreConflictButton-zajSrm:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-components-network-ConnectionInfo-module__reuseButton-n5dQAe {
  color: #fff;
  background: #4caf50;
}

.src-components-network-ConnectionInfo-module__deleteButton-qcH6nZ {
  color: #fff;
  background: #f44336;
}

.src-components-network-ConnectionInfo-module__assetstoreError-HhPums {
  color: #c62828;
  margin-top: .5em;
  font-size: .85em;
}

.src-components-network-GirderConnection-module__connection-NAVO4B {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  padding: 1.25em;
  transition: box-shadow .2s, transform .2s;
  box-shadow: 0 1px 3px #0000001a;
}

.src-components-network-GirderConnection-module__connection-NAVO4B:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #00000026;
}

.src-components-network-GirderConnection-module__connectionChild-yFmK2N {
  box-shadow: none;
  background: #f9fafb;
  border-left: 3px solid #d1d5db;
  border-radius: 4px;
  margin-left: 2em;
  padding: .75em 1em;
}

.src-components-network-GirderConnection-module__connectionChild-yFmK2N:hover {
  transform: none;
  box-shadow: 0 1px 2px #0000000d;
}

.src-components-network-GirderConnection-module__childrenContainer-NDX6c_ {
  border-top: 1px solid #e1e4e8;
  flex-direction: column;
  gap: 1em;
  margin-top: 1em;
  padding-top: 1em;
  display: flex;
}

.src-components-network-GirderConnection-module__childConnectionGroup-gjyCcY {
  background: #f9fafb;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 1em;
}

.src-components-network-GirderConnection-module__childConnectionHeader-lMFlmE {
  margin-bottom: .75em;
}

.src-components-network-GirderConnection-module__childConnectionName-vk3jma {
  color: #24292e;
  font-size: .95em;
  font-weight: 600;
}

.src-components-network-GirderConnection-module__childConnectionDetails-uwdmR7 {
  flex-direction: column;
  gap: .75em;
  display: flex;
}

.src-components-network-GirderConnection-module__connectionDirection-G9SzM8 {
  align-items: center;
  gap: .5em;
  font-size: .9em;
  display: flex;
}

.src-components-network-GirderConnection-module__directionLabel-eb4Gjc {
  color: #6b7280;
  min-width: 70px;
  font-weight: 500;
}

.src-components-network-GirderConnection-module__childConnectionActions-g0kQZ3 {
  margin-top: .5em;
}

.src-components-network-GirderConnection-module__connectionTypeButton-ztv6nH {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #3b82f6;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: .85em;
  font-weight: 500;
  transition: background-color .2s;
}

.src-components-network-GirderConnection-module__connectionTypeButton-ztv6nH:hover:not(:disabled) {
  background-color: #2563eb;
}

.src-components-network-GirderConnection-module__connectionTypeButton-ztv6nH:disabled {
  color: #fff;
  cursor: not-allowed;
  opacity: .6;
  background-color: #9ca3af;
}

.src-components-network-GirderConnection-module__childConnectionNote-HwzwTq {
  background-color: #fef3c7;
  border-radius: 4px;
  margin-top: .5em;
  padding: .5em;
}

.src-components-network-GirderConnection-module__noteText-LCqmxo {
  color: #92400e;
  font-size: .85em;
  font-style: italic;
}

.src-components-network-GirderConnection-module__childConnectionItem-KdKBMc {
  background: #f9fafb;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  align-items: center;
  gap: .5em;
  padding: .4em .75em;
  font-size: .9em;
  display: inline-flex;
}

.src-components-network-GirderConnection-module__connectionHeader-AK994r {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75em;
  display: flex;
}

.src-components-network-GirderConnection-module__connectionStatus-EVnQmN {
  align-items: center;
  gap: .5em;
  margin-bottom: .75em;
  display: flex;
}

.src-components-network-GirderConnection-module__statusBadge-gxQ2Xr {
  text-transform: capitalize;
  border-radius: 12px;
  align-items: center;
  padding: .35em .75em;
  font-size: .85em;
  font-weight: 600;
  display: inline-flex;
}

.src-components-network-GirderConnection-module__statusBadgeInitiated-DVTXKp {
  color: #1e40af;
  background-color: #dbeafe;
}

.src-components-network-GirderConnection-module__statusBadgeUnverified-vJqFtX, .src-components-network-GirderConnection-module__statusBadgeAwaitingApproval-jNSZ8x {
  color: #92400e;
  background-color: #fef3c7;
}

.src-components-network-GirderConnection-module__statusBadgeConnected-T3O76y {
  color: #065f46;
  background-color: #d1fae5;
}

.src-components-network-GirderConnection-module__statusBadgeCanceled-Ouejsb {
  color: #374151;
  background-color: #f3f4f6;
}

.src-components-network-GirderConnection-module__statusBadgeRejected-HaiZUS {
  color: #991b1b;
  background-color: #fee2e2;
}

.src-components-network-GirderConnection-module__statusBadgeTerminated-cN4Aff {
  color: #4b5563;
  background-color: #e5e7eb;
}

.src-components-network-GirderConnection-module__actionButtonsContainer-Ag6kEw {
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-components-network-GirderConnection-module__cancelButtonIcon-QVQwJv {
  color: #6b7280;
  cursor: pointer;
  background-color: #0000;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  padding: .25em .5em;
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1;
  transition: background-color .2s, color .2s;
  display: flex;
}

.src-components-network-GirderConnection-module__cancelButtonIcon-QVQwJv:hover {
  color: #d97706;
  background-color: #fef3c7;
}

.src-components-network-GirderConnection-module__cancelButtonIcon-QVQwJv:active {
  background-color: #fde68a;
}

.src-components-network-GirderConnection-module__deleteButtonIcon-fX3xKa {
  color: #6b7280;
  cursor: pointer;
  background-color: #0000;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  padding: .25em .5em;
  font-size: 1.2em;
  transition: background-color .2s, color .2s;
  display: flex;
}

.src-components-network-GirderConnection-module__deleteButtonIcon-fX3xKa:hover {
  color: #dc2626;
  background-color: #fee2e2;
}

.src-components-network-GirderConnection-module__deleteButtonIcon-fX3xKa:active {
  background-color: #fecaca;
}

.src-components-network-GirderConnection-module__approveButton-k3cRfN {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #10b981;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: .5em;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  transition: background-color .2s;
  display: flex;
}

.src-components-network-GirderConnection-module__approveButton-k3cRfN:hover:not(:disabled) {
  background-color: #059669;
}

.src-components-network-GirderConnection-module__approveButton-k3cRfN:active:not(:disabled) {
  background-color: #047857;
}

.src-components-network-GirderConnection-module__approveButton-k3cRfN:disabled {
  color: #fff;
  cursor: not-allowed;
  opacity: .6;
  background-color: #9ca3af;
}

.src-components-network-GirderConnection-module__rejectButton-ue64v2 {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #ef4444;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: .5em;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  transition: background-color .2s;
  display: flex;
}

.src-components-network-GirderConnection-module__rejectButton-ue64v2:hover:not(:disabled) {
  background-color: #dc2626;
}

.src-components-network-GirderConnection-module__rejectButton-ue64v2:active:not(:disabled) {
  background-color: #b91c1c;
}

.src-components-network-GirderConnection-module__rejectButton-ue64v2:disabled {
  color: #fff;
  cursor: not-allowed;
  opacity: .6;
  background-color: #9ca3af;
}

.src-components-network-GirderConnection-module__deleteButton-bBmOJR {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #ef4444;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: .5em;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  transition: background-color .2s;
  display: flex;
}

.src-components-network-GirderConnection-module__deleteButton-bBmOJR:hover:not(:disabled) {
  background-color: #dc2626;
}

.src-components-network-GirderConnection-module__deleteButton-bBmOJR:active:not(:disabled) {
  background-color: #b91c1c;
}

.src-components-network-GirderConnection-module__deleteButton-bBmOJR:disabled {
  color: #fff;
  cursor: not-allowed;
  opacity: .6;
  background-color: #9ca3af;
}

.src-components-network-GirderConnection-module__buttonIcon-gim_bU {
  font-size: 1.1em;
  font-weight: 600;
  line-height: 1;
}

.src-components-network-GirderConnection-module__buttonText-PN7bq3 {
  font-size: .9em;
}

.src-components-network-GirderConnection-module__connectionContent-fAM7I5 {
  grid-template-columns: 1fr auto;
  gap: 1.5em;
  margin-bottom: 1em;
  display: grid;
}

.src-components-network-GirderConnection-module__connectionInfo-G148qQ {
  flex-direction: column;
  gap: .75em;
  display: flex;
}

.src-components-network-GirderConnection-module__connectionActions-ycVEgt {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-components-network-GirderConnection-module__syncButton-eRWEi9 {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #3b82f6;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  transition: background-color .2s;
}

.src-components-network-GirderConnection-module__syncButton-eRWEi9:hover:not(:disabled) {
  background-color: #2563eb;
}

.src-components-network-GirderConnection-module__syncButton-eRWEi9:disabled {
  color: #fff;
  cursor: not-allowed;
  opacity: .6;
  background-color: #9ca3af;
}

.src-components-network-GirderConnection-module__resetButton-ITV8zd {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #f59e0b;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  transition: background-color .2s;
}

.src-components-network-GirderConnection-module__resetButton-ITV8zd:hover:not(:disabled) {
  background-color: #d97706;
}

.src-components-network-GirderConnection-module__resetButton-ITV8zd:disabled {
  color: #fff;
  cursor: not-allowed;
  opacity: .6;
  background-color: #9ca3af;
}

.src-components-network-GirderConnection-module__terminateButton-hPNFt3 {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #ef4444;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  transition: background-color .2s;
}

.src-components-network-GirderConnection-module__terminateButton-hPNFt3:hover:not(:disabled) {
  background-color: #dc2626;
}

.src-components-network-GirderConnection-module__terminateButton-hPNFt3:disabled {
  color: #fff;
  cursor: not-allowed;
  opacity: .6;
  background-color: #9ca3af;
}

.src-components-network-GirderConnection-module__linkButtonsContainer-pIdUK5 {
  flex-wrap: wrap;
  gap: .5em;
  margin-top: .75em;
  display: flex;
}

.src-components-network-GirderConnection-module__linkButton-wsu8BN {
  cursor: pointer;
  color: #fff;
  background-color: #0366d6;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s;
}

.src-components-network-GirderConnection-module__linkButton-wsu8BN:hover {
  background-color: #0256c2;
}

.src-components-network-GirderConnection-module__linkButtonWrapper-UsLb7t {
  text-decoration: none;
}

.src-components-network-GirderConnection-module__syncStatusContainer-d1U2q0 {
  margin-top: .75em;
}

.src-components-network-GirderConnection-module__syncStatusCompleted-X1H6Fw {
  background: #e8f5e9;
  border-radius: 4px;
  margin-top: .75em;
  padding: .5em;
}

.src-components-network-GirderConnection-module__syncStatusCompletedTitle-vLtA1c {
  margin-bottom: .25em;
  font-size: .9em;
  font-weight: bold;
}

.src-components-network-GirderConnection-module__syncStatusCompletedText-Zr4U8G {
  font-size: .85em;
}

.src-components-network-GirderConnection-module__syncStatusCompletedTimestamp-Hhl4Wm {
  color: #666;
  margin-top: .25em;
  font-size: .75em;
}

.src-components-network-GirderConnection-module__syncStatusInProgress-Cu_8m_ {
  background: #fff3e0;
  border-radius: 4px;
  margin-top: .75em;
  padding: .5em;
}

.src-components-network-GirderConnection-module__syncStatusInProgressText-ohEnd9 {
  font-size: .9em;
}

.src-components-network-GirderConnection-module__syncStatusError-sXaTDC {
  background: #ffebee;
  border-radius: 4px;
  margin-top: .75em;
  padding: .5em;
}

.src-components-network-GirderConnection-module__syncStatusErrorTitle-X92Dg1 {
  color: #c62828;
  font-size: .9em;
  font-weight: bold;
}

.src-components-network-GirderConnection-module__syncStatusErrorText-lgipbu {
  margin-top: .25em;
  font-size: .85em;
}

.src-components-network-GirderConnection-module__syncStatusStatistics-m0K89R {
  background: #e3f2fd;
  border: 1px solid #90caf9;
  border-radius: 4px;
  margin-top: .75em;
  margin-bottom: .5em;
  padding: .75em;
}

.src-components-network-GirderConnection-module__syncStatusStatisticsHeader-qBRddg {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5em;
  display: flex;
}

.src-components-network-GirderConnection-module__syncStatusStatisticsTitle-tJEYug {
  color: #1565c0;
  font-size: .9em;
  font-weight: bold;
}

.src-components-network-GirderConnection-module__syncStatusStatisticsDismiss-OYqSUu {
  color: #666;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  padding: 0;
  font-size: 1.2em;
  transition: background-color .2s;
  display: flex;
}

.src-components-network-GirderConnection-module__syncStatusStatisticsDismiss-OYqSUu:hover {
  color: #333;
  background-color: #0000001a;
}

.src-components-network-GirderConnection-module__syncStatusStatisticsContent-Y14Lah {
  flex-direction: column;
  gap: .25em;
  font-size: .85em;
  display: flex;
}

.src-components-network-GirderConnection-module__syncStatusStatisticsContent-Y14Lah > div {
  padding: .15em 0;
}

.src-components-network-GirderConnection-module__syncStatusErrorPersistent-wLOfdg {
  background: #ffebee;
  border: 1px solid #ef5350;
  border-radius: 4px;
  margin-top: .75em;
  margin-bottom: .5em;
  padding: .75em;
}

.src-components-network-GirderConnection-module__syncStatusErrorPersistentHeader-N9zMxs {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5em;
  display: flex;
}

.src-components-network-GirderConnection-module__syncStatusErrorPersistentTitle-Y0HiWV {
  color: #c62828;
  font-size: .9em;
  font-weight: bold;
}

.src-components-network-GirderConnection-module__syncStatusErrorPersistentDismiss-WxD7oW {
  color: #666;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  padding: 0;
  font-size: 1.2em;
  transition: background-color .2s;
  display: flex;
}

.src-components-network-GirderConnection-module__syncStatusErrorPersistentDismiss-WxD7oW:hover {
  color: #333;
  background-color: #0000001a;
}

.src-components-network-GirderConnection-module__syncStatusErrorPersistentContent-ZVHiCN {
  color: #c62828;
  font-size: .85em;
  line-height: 1.4;
}

.src-components-network-GirderConnection-module__syncStatusPluginMessages-vzhMAP {
  border-top: 1px solid #0000001a;
  margin-top: 12px;
  padding-top: 12px;
}

.src-components-network-GirderConnection-module__syncStatusPluginMessage-z4oq9K {
  color: #666;
  margin-bottom: 8px;
  font-size: .85em;
  line-height: 1.5;
}

.src-components-network-GirderConnection-module__syncStatusPluginMessage-z4oq9K:last-child {
  margin-bottom: 0;
}

.src-components-network-GirderConnection-module__syncStatusPluginMessageHeader-glTbcW {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.src-components-network-GirderConnection-module__syncStatusPluginMessage-z4oq9K strong {
  color: #555;
  margin-right: 4px;
  font-weight: 600;
}

.src-components-network-GirderConnection-module__syncStatusPluginSummary-LcraQK {
  color: #333;
  flex: 1;
  font-weight: 500;
}

.src-components-network-GirderConnection-module__syncStatusPluginExpandButton-bIY8Eb {
  color: #666;
  cursor: pointer;
  background: none;
  border: none;
  margin-left: auto;
  padding: 2px 4px;
  font-size: .9em;
  transition: color .2s;
}

.src-components-network-GirderConnection-module__syncStatusPluginExpandButton-bIY8Eb:hover {
  color: #333;
}

.src-components-network-GirderConnection-module__syncStatusPluginDetails-UBZ0Dd {
  border-left: 2px solid #0000001a;
  margin-top: 6px;
  margin-left: 20px;
  padding-left: 12px;
}

.src-components-network-GirderConnection-module__syncStatusPluginDetailMessage-Q7JTN8 {
  color: #555;
  margin-bottom: 4px;
  padding: 2px 0;
  font-size: .9em;
}

.src-components-network-GirderConnection-module__syncStatusPluginDetailMessage-Q7JTN8:last-child {
  margin-bottom: 0;
}

.src-components-network-GirderConnection-module__syncStatusPluginPreview-HMTY0h {
  border-top: 1px solid #0000001a;
  margin-top: 8px;
  padding-top: 8px;
}

.src-components-network-GirderConnection-module__syncStatusPluginPreviewItem-XMOJkl {
  color: #333;
  margin-bottom: 4px;
  font-size: .9em;
  line-height: 1.4;
}

.src-components-network-GirderConnection-module__syncStatusPluginPreviewItem-XMOJkl:last-child {
  margin-bottom: 0;
}

.src-components-network-GirderConnection-module__syncStatusPluginPreviewItem-XMOJkl strong {
  color: #555;
  margin-right: 4px;
  font-weight: 600;
}

.src-components-network-GirderConnection-module__syncStatusByNode-zgz0Kc {
  border-top: 1px solid #0000001a;
  margin-top: 12px;
  padding-top: 12px;
}

.src-components-network-GirderConnection-module__syncStatusNodeGroup-kgibt8 {
  background-color: #00000005;
  border-radius: 4px;
  margin-bottom: 12px;
  padding: 8px;
}

.src-components-network-GirderConnection-module__syncStatusNodeGroup-kgibt8:last-child {
  margin-bottom: 0;
}

.src-components-network-GirderConnection-module__syncStatusNodeName-sMCTs4 {
  color: #333;
  margin-bottom: 6px;
  font-size: .95em;
  font-weight: 600;
}

.src-components-network-GirderConnection-module__syncStatusNodeChanges-qJRys1 {
  color: #555;
  margin-left: 12px;
  font-size: .9em;
}

.src-components-network-GirderConnection-module__syncStatusNodeChanges-qJRys1 > div {
  margin-bottom: 4px;
  line-height: 1.4;
}

.src-components-network-GirderConnection-module__syncStatusNodeChanges-qJRys1 > div:last-child {
  margin-bottom: 0;
}

.src-components-network-GirderConnection-module__reprocessButton-iEArMq {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #f59e0b;
  border: none;
  border-radius: 6px;
  margin-top: 8px;
  padding: .5em 1em;
  font-size: .85em;
  font-weight: 500;
  transition: background-color .2s;
}

.src-components-network-GirderConnection-module__reprocessButton-iEArMq:hover:not(:disabled) {
  background-color: #d97706;
}

.src-components-network-GirderConnection-module__reprocessButton-iEArMq:disabled {
  color: #fff;
  cursor: not-allowed;
  opacity: .6;
  background-color: #9ca3af;
}

.src-components-network-ConnectionsList-module__connectionsListContainer-iRPJuK {
  margin-top: 1.5em;
}

.src-components-network-ConnectionsList-module__listHeader-c7GCQf {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
  display: flex;
}

.src-components-network-ConnectionsList-module__listHeader-c7GCQf h3 {
  color: #24292e;
  margin: 0;
  font-size: 1.2em;
}

.src-components-network-ConnectionsList-module__refreshButton-kqwQxh {
  cursor: pointer;
  background-color: #0000;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: .5em .75em;
  font-size: 1.2em;
  transition: background-color .2s, border-color .2s;
}

.src-components-network-ConnectionsList-module__refreshButton-kqwQxh:hover {
  background-color: #f9fafb;
  border-color: #9ca3af;
}

.src-components-network-ConnectionsList-module__filterButtons-KPbHNB {
  flex-wrap: wrap;
  gap: .5em;
  margin-bottom: .5em;
  display: flex;
}

.src-components-network-ConnectionsList-module__filterButton-RvVajC {
  color: #24292e;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  align-items: center;
  gap: .5em;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  transition: all .2s;
  display: flex;
}

.src-components-network-ConnectionsList-module__filterButton-RvVajC:hover {
  background-color: #f9fafb;
  border-color: #9ca3af;
}

.src-components-network-ConnectionsList-module__filterButtonActive-AwcE3w {
  color: #fff;
  background-color: #0366d6;
  border-color: #0366d6;
}

.src-components-network-ConnectionsList-module__filterButtonActive-AwcE3w:hover {
  background-color: #0256c2;
  border-color: #0256c2;
}

.src-components-network-ConnectionsList-module__filterCount-d0ZAAC {
  opacity: .8;
  font-size: .85em;
}

.src-components-network-ConnectionsList-module__clearFiltersButton-GLo40c {
  color: #24292e;
  cursor: pointer;
  background-color: #f3f4f6;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  margin-left: auto;
  padding: .5em 1em;
  font-size: .9em;
  font-weight: 500;
  transition: all .2s;
}

.src-components-network-ConnectionsList-module__clearFiltersButton-GLo40c:hover {
  background-color: #e5e7eb;
  border-color: #9ca3af;
}

.src-components-network-ConnectionsList-module__connectionsList-udtXQ7 {
  flex-direction: column;
  gap: 1em;
  display: flex;
}

.src-components-network-ConnectionsList-module__noConnections-QbpKOF {
  text-align: center;
  color: #586069;
  background-color: #f9fafb;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  padding: 2em;
  font-style: italic;
}

.src-components-network-ConnectionInputForm-module__section-CruX_p {
  background-color: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  margin: 1em;
  padding: 1.5em 2em;
  box-shadow: 0 1px 3px #00000014;
}

.src-components-network-ConnectionInputForm-module__section-CruX_p h3 {
  color: #24292e;
  margin-top: 0;
  font-size: 1.25em;
  font-weight: 600;
}

.src-components-network-ConnectionInputForm-module__connectionInputGroup-FE1NWJ {
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-components-network-ConnectionInputForm-module__connectionInputGroup-FE1NWJ input {
  box-sizing: border-box;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  flex: 1;
  height: 2.5em;
  padding: .5em;
  font-size: 1em;
}

.src-components-network-ConnectionInputForm-module__connectionInputGroup-FE1NWJ button {
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #0366d6;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  height: 2.5em;
  padding: .5em 1em;
  font-size: 1em;
  transition: background-color .2s;
}

.src-components-network-ConnectionInputForm-module__connectionInputGroup-FE1NWJ button:hover:not(:disabled) {
  background-color: #0256c2;
}

.src-components-network-ConnectionInputForm-module__connectionInputGroup-FE1NWJ button:disabled {
  color: #6b7280;
  cursor: not-allowed;
  background-color: #e1e4e8;
}

.src-components-network-ConnectionInputForm-module__disabledMessage-sHJv1x {
  color: #666;
  margin-top: .5em;
  font-style: italic;
}

.src-components-network-ConnectionInputForm-module__connectionMessage-UKzfqR {
  margin-top: .5em;
}

.src-components-setup-EditOrCreateModal-module__modalOverlay-wMPrEp {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-components-setup-EditOrCreateModal-module__modalContent-tuzGIB {
  background-color: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  display: flex;
  overflow: auto;
  box-shadow: 0 4px 6px #0000001a;
}

.src-components-setup-EditOrCreateModal-module__modalHeader-s4G5X6 {
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  padding: 1em 1.5em;
  display: flex;
}

.src-components-setup-EditOrCreateModal-module__modalTitle-TPq71e {
  color: #24292e;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.src-components-setup-EditOrCreateModal-module__closeButton-lbaxAo {
  cursor: pointer;
  color: #6a737d;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 1.5em;
  transition: background .2s;
  display: flex;
}

.src-components-setup-EditOrCreateModal-module__closeButton-lbaxAo:hover {
  color: #24292e;
  background: #f6f8fa;
}

.src-components-setup-EditOrCreateModal-module__modalBody-U2PCw9 {
  flex: 1;
  padding: 1.5em;
  overflow-y: auto;
}

.src-components-setup-EditOrCreateModal-module__schemaInfo-qfYsoS {
  color: #6a737d;
  margin: 0 0 1.5em;
  font-size: 14px;
}

.src-components-setup-EditOrCreateModal-module__schemaInfo-qfYsoS strong {
  color: #24292e;
  font-weight: 600;
}

.src-components-setup-EditOrCreateModal-module__existingSection-pmgOG5 {
  margin-bottom: 1em;
}

.src-components-setup-EditOrCreateModal-module__sectionTitle-Epwyw3 {
  color: #24292e;
  margin: 0 0 .75em;
  font-size: 14px;
  font-weight: 600;
}

.src-components-setup-EditOrCreateModal-module__definitionsList-cZUwFh {
  flex-direction: column;
  gap: .5em;
  margin-bottom: 1.5em;
  display: flex;
}

.src-components-setup-EditOrCreateModal-module__definitionItem-dEFktn {
  cursor: pointer;
  text-align: left;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: .75em 1em;
  transition: all .2s;
  display: flex;
}

.src-components-setup-EditOrCreateModal-module__definitionItem-dEFktn:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-components-setup-EditOrCreateModal-module__definitionName-mX3J5i {
  color: #24292e;
  margin-bottom: .25em;
  font-size: 14px;
  font-weight: 500;
}

.src-components-setup-EditOrCreateModal-module__definitionAbbr-FAZHRN {
  color: #6a737d;
  margin-bottom: .25em;
  font-size: 12px;
  font-style: italic;
}

.src-components-setup-EditOrCreateModal-module__definitionDesc-lJxF6z {
  color: #6a737d;
  font-size: 12px;
  font-style: italic;
}

.src-components-setup-EditOrCreateModal-module__modalFooter-xHwAjk {
  border-top: 1px solid #e1e4e8;
  justify-content: flex-end;
  gap: .75em;
  padding: 1em 1.5em;
  display: flex;
}

.src-components-setup-EditOrCreateModal-module__createButton-jB8dwo {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-setup-EditOrCreateModal-module__createButton-jB8dwo:hover {
  background: #0969da;
}

.src-components-setup-EditOrCreateModal-module__cancelButton-o3yj0z {
  color: #24292e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-setup-EditOrCreateModal-module__cancelButton-o3yj0z:hover {
  background: #f6f8fa;
  border-color: #d1d5db;
}

.src-pages-admin-StainSetup-module__container-b0Om2B {
  padding: 1.5em;
}

.src-pages-admin-StainSetup-module__header-DFwRlU {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
  display: flex;
}

.src-pages-admin-StainSetup-module__header-DFwRlU h3 {
  color: #24292e;
  margin: 0;
}

.src-pages-admin-StainSetup-module__createButton-Bah1sH {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .75em 1.5em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-pages-admin-StainSetup-module__createButton-Bah1sH:hover:not(:disabled) {
  background: #0969da;
}

.src-pages-admin-StainSetup-module__createButton-Bah1sH:disabled {
  color: #6a737d;
  cursor: not-allowed;
  background: #d1d5db;
}

.src-pages-admin-StainSetup-module__emptyState-oaIGzK {
  text-align: center;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 2em;
}

.src-pages-admin-StainSetup-module__emptyState-oaIGzK p {
  color: #6a737d;
  margin: .5em 0;
}

.src-pages-admin-StainSetup-module__list-eClQ4t {
  margin-top: 1em;
}

.src-pages-admin-StainSetup-module__count-MBP8IM {
  color: #6a737d;
  margin-bottom: 1em;
  font-size: 14px;
  font-weight: 500;
}

.src-pages-admin-StainSetup-module__itemsList-zOCxgN {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-pages-admin-StainSetup-module__item-hR2isp {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 20px;
  align-items: center;
  gap: .5em;
  padding: .5em 1em;
  font-size: 14px;
  transition: all .2s;
  display: inline-flex;
}

.src-pages-admin-StainSetup-module__item-hR2isp:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-pages-admin-StainSetup-module__addItem-XSSu5M {
  color: #1f6feb;
  background: #f0f7ff;
  border-style: dashed;
  border-color: #1f6feb;
  font-weight: 500;
}

.src-pages-admin-StainSetup-module__addItem-XSSu5M:hover {
  background: #e7f3ff;
  border-color: #0969da;
}

.src-pages-admin-StainSetup-module__schemaOptions-ks8851 {
  border-top: 1px solid #e1e4e8;
  margin-top: 2em;
  padding-top: 1.5em;
}

.src-pages-admin-StainSetup-module__schemaOptions-ks8851 h4 {
  color: #24292e;
  margin: 0 0 1em;
  font-size: 16px;
  font-weight: 600;
}

.src-pages-admin-StainSetup-module__schemaPillsList-EqR33s {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-pages-admin-StainSetup-module__schemaPill-WFwv5c {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  flex-direction: column;
  align-items: flex-start;
  gap: .25em;
  min-width: 150px;
  padding: .75em 1em;
  font-size: 14px;
  transition: all .2s;
  display: inline-flex;
}

.src-pages-admin-StainSetup-module__schemaPill-WFwv5c:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-pages-admin-StainSetup-module__schemaPillHeader-h1hQKi {
  align-items: center;
  gap: .5em;
  width: 100%;
  display: flex;
}

.src-pages-admin-StainSetup-module__schemaPillName-brWqhO {
  color: #24292e;
  font-weight: 500;
}

.src-pages-admin-StainSetup-module__schemaPillAbbr-KtmUWF {
  color: #6a737d;
  font-size: 12px;
  font-style: italic;
}

.src-pages-admin-StainSetup-module__schemaPillType-ltmcBj {
  color: #6a737d;
  text-transform: uppercase;
  letter-spacing: .5px;
  background: #f6f8fa;
  border-radius: 4px;
  padding: .15em .5em;
  font-size: 11px;
  font-weight: 600;
  display: inline-block;
}

.src-pages-admin-StainSetup-module__schemaPillCount-DCQQib {
  color: #fff;
  background: #28a745;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: .25em;
  min-width: 20px;
  height: 20px;
  margin-left: auto;
  padding: 0 .4em;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.src-pages-admin-StainSetup-module__checkmark-E8I4hD {
  font-size: 11px;
  font-weight: 700;
}

.src-pages-admin-StainSetup-module__recommendedSection-Th6pi6 {
  margin-bottom: 2em;
}

.src-pages-admin-StainSetup-module__additionalSection-Dt4sdd {
  margin-bottom: 1em;
}

.src-pages-admin-StainSetup-module__sectionHeader-f5uLN3 {
  color: #24292e;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin: 0 0 .75em;
  font-size: 14px;
  font-weight: 600;
}

.src-pages-admin-StainSetup-module__recommendedBadge-jCly5U {
  color: #6a737d;
  text-transform: uppercase;
  letter-spacing: .3px;
  background: #e8f5e9;
  border-radius: 4px;
  margin-left: auto;
  padding: .1em .4em;
  font-size: 9px;
  font-weight: 500;
  display: inline-block;
}

.src-pages-admin-RegionSetup-module__container-jPJYSC {
  padding: 1.5em;
}

.src-pages-admin-RegionSetup-module__header-i4Lz1y {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
  display: flex;
}

.src-pages-admin-RegionSetup-module__header-i4Lz1y h3 {
  color: #24292e;
  margin: 0;
}

.src-pages-admin-RegionSetup-module__createButton-xqekhO {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .75em 1.5em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-pages-admin-RegionSetup-module__createButton-xqekhO:hover:not(:disabled) {
  background: #0969da;
}

.src-pages-admin-RegionSetup-module__createButton-xqekhO:disabled {
  color: #6a737d;
  cursor: not-allowed;
  background: #d1d5db;
}

.src-pages-admin-RegionSetup-module__emptyState-RyYQKR {
  text-align: center;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: 2em;
}

.src-pages-admin-RegionSetup-module__emptyState-RyYQKR p {
  color: #6a737d;
  margin: .5em 0;
}

.src-pages-admin-RegionSetup-module__list-V69NaE {
  margin-top: 1em;
}

.src-pages-admin-RegionSetup-module__count-cL1d5o {
  color: #6a737d;
  margin-bottom: 1em;
  font-size: 14px;
  font-weight: 500;
}

.src-pages-admin-RegionSetup-module__itemsList-xFmvui {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-pages-admin-RegionSetup-module__item-KVe8ES {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 20px;
  align-items: center;
  gap: .5em;
  padding: .5em 1em;
  font-size: 14px;
  transition: all .2s;
  display: inline-flex;
}

.src-pages-admin-RegionSetup-module__item-KVe8ES:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-pages-admin-RegionSetup-module__itemName-F0Awik {
  color: #24292e;
  font-weight: 500;
}

.src-pages-admin-RegionSetup-module__abbreviation-UhC3oB {
  color: #6a737d;
  font-size: 13px;
}

.src-pages-admin-RegionSetup-module__addItem-tU7O6B {
  color: #1f6feb;
  background: #f0f7ff;
  border-style: dashed;
  border-color: #1f6feb;
  font-weight: 500;
}

.src-pages-admin-RegionSetup-module__addItem-tU7O6B:hover {
  background: #e7f3ff;
  border-color: #0969da;
}

.src-pages-admin-RegionSetup-module__schemaOptions-KxQbBW {
  border-top: 1px solid #e1e4e8;
  margin-top: 2em;
  padding-top: 1.5em;
}

.src-pages-admin-RegionSetup-module__schemaOptions-KxQbBW h4 {
  color: #24292e;
  margin: 0 0 1em;
  font-size: 16px;
  font-weight: 600;
}

.src-pages-admin-RegionSetup-module__schemaPillsList-BNQBJl {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-pages-admin-RegionSetup-module__schemaPill-uz5gaT {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  flex-direction: column;
  align-items: flex-start;
  gap: .25em;
  min-width: 150px;
  padding: .75em 1em;
  font-size: 14px;
  transition: all .2s;
  display: inline-flex;
}

.src-pages-admin-RegionSetup-module__schemaPill-uz5gaT:hover {
  background: #f6f8fa;
  border-color: #1f6feb;
}

.src-pages-admin-RegionSetup-module__schemaPillHeader-VKHkWx {
  align-items: center;
  gap: .5em;
  width: 100%;
  display: flex;
}

.src-pages-admin-RegionSetup-module__schemaPillName-mqegnh {
  color: #24292e;
  font-weight: 500;
}

.src-pages-admin-RegionSetup-module__schemaPillAbbr-xxgnOJ {
  color: #6a737d;
  font-size: 12px;
  font-style: italic;
}

.src-pages-admin-RegionSetup-module__schemaPillType-mPg19H {
  color: #6a737d;
  text-transform: uppercase;
  letter-spacing: .5px;
  background: #f6f8fa;
  border-radius: 4px;
  padding: .15em .5em;
  font-size: 11px;
  font-weight: 600;
  display: inline-block;
}

.src-pages-admin-RegionSetup-module__schemaPillCount-v5b_RS {
  color: #fff;
  background: #28a745;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: .25em;
  min-width: 20px;
  height: 20px;
  margin-left: auto;
  padding: 0 .4em;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.src-pages-admin-RegionSetup-module__checkmark-sSvHy2 {
  font-size: 11px;
  font-weight: 700;
}

.src-pages-admin-RegionSetup-module__recommendedSection-HHCZpx {
  margin-bottom: 2em;
}

.src-pages-admin-RegionSetup-module__additionalSection-gfG4eB {
  margin-bottom: 1em;
}

.src-pages-admin-RegionSetup-module__sectionHeader-KR2yZy {
  color: #24292e;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin: 0 0 .75em;
  font-size: 14px;
  font-weight: 600;
}

.src-pages-admin-RegionSetup-module__recommendedBadge-RnwB7C {
  color: #6a737d;
  text-transform: uppercase;
  letter-spacing: .3px;
  background: #e8f5e9;
  border-radius: 4px;
  margin-left: auto;
  padding: .1em .4em;
  font-size: 9px;
  font-weight: 500;
  display: inline-block;
}

.src-pages-admin-RegionSetup-module__infoSummary-Kb5h8I {
  margin-bottom: 1.5em;
}

.src-pages-admin-RegionSetup-module__infoSummaryText-yUQV6r {
  color: #6a737d;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.src-pages-admin-RegionSetup-module__moreButton-xguTQB {
  color: #1f6feb;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 2px;
  margin-left: .15em;
  padding: 0 .25em;
  font-size: 14px;
  text-decoration: underline;
  transition: color .2s;
  display: inline;
}

.src-pages-admin-RegionSetup-module__moreButton-xguTQB:hover {
  color: #1f6feb;
  border-color: #1f6feb;
}

.src-pages-admin-RegionSetup-module__infoSection-q8C4Sp {
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  margin-top: .75em;
  margin-bottom: 1.5em;
  padding: 1em 1.5em;
}

.src-pages-admin-RegionSetup-module__infoSection-q8C4Sp h4 {
  color: #24292e;
  margin: 0 0 .75em;
  font-size: 14px;
  font-weight: 600;
}

.src-pages-admin-RegionSetup-module__infoSection-q8C4Sp p {
  color: #6a737d;
  margin: .5em 0;
  font-size: 13px;
  line-height: 1.5;
}

.src-pages-admin-RegionSetup-module__infoSection-q8C4Sp ul {
  color: #6a737d;
  margin: .5em 0 .5em 1.5em;
  font-size: 13px;
  line-height: 1.8;
}

.src-pages-admin-RegionSetup-module__infoSection-q8C4Sp li {
  margin: .25em 0;
}

.src-components-setup-ProtocolRow-module__row-LmE8_M {
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 8px;
  margin-bottom: 1em;
  padding: 1em 1.25em;
}

.src-components-setup-ProtocolRow-module__header-vFG6NZ {
  margin-bottom: .75em;
}

.src-components-setup-ProtocolRow-module__titleRow-iWv89U {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  display: flex;
}

.src-components-setup-ProtocolRow-module__protocolName-ofeiAp {
  color: #24292e;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.src-components-setup-ProtocolRow-module__actions-A8cQlq {
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-components-setup-ProtocolRow-module__editButton-EMWAqS {
  color: #6a737d;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: .35em .75em;
  font-size: 13px;
  transition: all .2s;
}

.src-components-setup-ProtocolRow-module__editButton-EMWAqS:hover {
  color: #24292e;
  background: #f6f8fa;
  border-color: #d1d5db;
}

.src-components-setup-ProtocolRow-module__addBlockButton-CHF0L6 {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-components-setup-ProtocolRow-module__addBlockButton-CHF0L6:hover:not(:disabled) {
  background: #0969da;
}

.src-components-setup-ProtocolRow-module__addBlockButton-CHF0L6:disabled {
  color: #6a737d;
  cursor: not-allowed;
  background: #d1d5db;
}

.src-components-setup-ProtocolRow-module__deleteButton-nRrruS {
  color: #cf222e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: .35em .75em;
  font-size: 13px;
  transition: all .2s;
}

.src-components-setup-ProtocolRow-module__deleteButton-nRrruS:hover {
  color: #a40e26;
  background: #fff5f5;
  border-color: #cf222e;
}

.src-components-setup-ProtocolRow-module__description-NnhRlv {
  color: #6a737d;
  margin: .35em 0 0;
  font-size: 13px;
  line-height: 1.45;
}

.src-components-setup-ProtocolRow-module__blockCardsWrap-clPy6_ {
  transition: max-height .25s ease-out;
}

.src-components-setup-ProtocolRow-module__blockCardsWrap-clPy6_.src-components-setup-ProtocolRow-module__collapsed-AreOgv {
  max-height: 120px;
  overflow: hidden;
  mask-image: linear-gradient(#000 70%, #0000 100%);
}

.src-components-setup-ProtocolRow-module__blockCards-zjqlwD {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-components-setup-ProtocolRow-module__blockCard-Rnk_K7 {
  cursor: pointer;
  text-align: left;
  background: #f6f8fa;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  flex-direction: column;
  align-items: flex-start;
  min-width: 140px;
  padding: .6em .9em;
  font-size: 14px;
  transition: all .2s;
  display: flex;
}

.src-components-setup-ProtocolRow-module__blockCard-Rnk_K7:hover {
  background: #e7f3ff;
  border-color: #1f6feb;
}

.src-components-setup-ProtocolRow-module__blockCardName-cznWUW {
  color: #24292e;
  font-weight: 500;
}

.src-components-setup-ProtocolRow-module__blockCardMeta-cVqIbb {
  color: #6a737d;
  margin-top: .2em;
  font-size: 12px;
}

.src-components-setup-ProtocolRow-module__emptyBlocks-u4JeDj {
  text-align: center;
  background: #f6f8fa;
  border: 1px dashed #e1e4e8;
  border-radius: 6px;
  padding: 1em;
}

.src-components-setup-ProtocolRow-module__emptyBlocks-u4JeDj p {
  color: #6a737d;
  margin: 0 0 .5em;
  font-size: 14px;
}

.src-components-setup-ProtocolRow-module__addBlockButtonInline-zKwCmC {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .4em .9em;
  font-size: 13px;
  transition: all .2s;
}

.src-components-setup-ProtocolRow-module__addBlockButtonInline-zKwCmC:hover:not(:disabled) {
  background: #0969da;
}

.src-components-setup-ProtocolRow-module__addBlockButtonInline-zKwCmC:disabled {
  color: #6a737d;
  cursor: not-allowed;
  background: #d1d5db;
}

.src-components-setup-ProtocolRow-module__expandCollapse-cAcrjb {
  color: #1f6feb;
  cursor: pointer;
  background: none;
  border: none;
  align-items: center;
  gap: .35em;
  margin-top: .5em;
  padding: .35em 0;
  font-size: 13px;
  transition: color .2s;
  display: flex;
}

.src-components-setup-ProtocolRow-module__expandCollapse-cAcrjb:hover {
  color: #0969da;
  text-decoration: underline;
}

.src-components-setup-ProtocolRow-module__chevron-Wf66Y6 {
  font-size: 10px;
}

.src-pages-admin-CilogonSetup-module__content-myYttT {
  max-width: 900px;
}

.src-pages-admin-CilogonSetup-module__content-myYttT p {
  margin-bottom: 1em;
  line-height: 1.6;
}

.src-pages-admin-CilogonSetup-module__sectionTitle-L83GhP {
  margin-top: 1.5em;
  margin-bottom: .5em;
  font-size: 1.25rem;
}

.src-pages-admin-CilogonSetup-module__sectionTitle-L83GhP:first-of-type {
  margin-top: 0;
}

.src-pages-admin-CilogonSetup-module__externalLink-M8pYs0 {
  color: #0969da;
  text-decoration: none;
}

.src-pages-admin-CilogonSetup-module__externalLink-M8pYs0:hover {
  text-decoration: underline;
}

.src-pages-admin-CilogonSetup-module__figure-lkPyal {
  margin: 1.5em 0;
}

.src-pages-admin-CilogonSetup-module__screenshotWrapper-x8diN_ {
  background: #e8eaed;
  border: 1px solid #dadce0;
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 1px 3px #00000014;
}

.src-pages-admin-CilogonSetup-module__screenshot-Wi83uh {
  background: #fff;
  border: 1px solid #dadce0;
  border-radius: 4px;
  max-width: 100%;
  height: auto;
  display: block;
}

.src-pages-admin-CilogonSetup-module__figure-lkPyal figcaption {
  color: #586069;
  margin-top: .5em;
  font-size: .9rem;
}

.src-pages-manage-Schemas-module__links-qfj40U {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  display: grid;
}

.src-pages-manage-Schemas-module__links-qfj40U div {
  text-align: center;
  background-color: #ffebcd;
  border: thin solid #000;
  border-radius: 10px;
  padding: 50px 10px;
  font-weight: bold;
  text-decoration: none;
}

.tab-view {
  flex-direction: column;
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
}

.tab-header {
  background: #f8f9fa;
  border-bottom: 2px solid #e0e0e0;
  border-radius: 8px 8px 0 0;
  flex-shrink: 0;
  display: flex;
}

.tab-button {
  color: #666;
  cursor: pointer;
  background: none;
  border: none;
  border-bottom: 3px solid #0000;
  min-width: 120px;
  padding: 8px 20px;
  font-size: 1rem;
  font-weight: 500;
  transition: all .2s;
}

.tab-button:hover {
  color: #495057;
  background: #e9ecef;
}

.tab-button.active {
  color: #1976d2;
  background: #fff;
  border-bottom-color: #1976d2;
  font-weight: 600;
}

.tab-content {
  background: #fff;
  border-radius: 0 0 8px 8px;
  flex: 1;
  min-height: 0;
  padding: 20px;
  position: relative;
  overflow-y: auto;
}

.schema-viewer {
  width: 100%;
  height: 100%;
  padding: 0 4px;
  overflow-y: auto;
}

.schema-overview {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 24px;
  padding: 24px;
  box-shadow: 0 2px 8px #0000001a;
}

.schema-header-row {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  display: flex;
}

.schema-header-row h3 {
  color: #1976d2;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
}

.refresh-button {
  color: #fff;
  cursor: pointer;
  background: #1976d2;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: .9rem;
  transition: background-color .2s;
}

.refresh-button:hover:not(:disabled) {
  background: #1565c0;
}

.refresh-button:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.schema-info {
  color: #333;
  font-size: 1rem;
  line-height: 1.5;
}

.schema-info p {
  margin: 8px 0;
}

.schema-properties-section {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 2px 8px #0000001a;
}

.schema-properties-section h3 {
  color: #1976d2;
  border-bottom: 2px solid #e3f2fd;
  margin: 0 0 20px;
  padding-bottom: 8px;
  font-size: 1.4rem;
  font-weight: 600;
}

.schema-properties {
  font-family: Monaco, Menlo, Ubuntu Mono, monospace;
  font-size: .9rem;
}

.schema-property {
  background: #f8f9fa;
  border-left: 4px solid #1976d2;
  border-radius: 8px;
  margin: 16px 0;
  padding: 16px;
}

.property-header {
  margin-bottom: 8px;
}

.property-name {
  color: #1976d2;
  font-size: 1rem;
  font-weight: bold;
}

.property-title {
  color: #666;
  font-style: italic;
  font-weight: normal;
}

.property-type {
  color: #28a745;
  font-size: .9rem;
  font-weight: 500;
}

.property-description {
  color: #555;
  white-space: pre-line;
  margin: 8px 0;
  font-size: .9rem;
  font-style: italic;
  line-height: 1.4;
}

.property-enum, .property-pattern, .property-cde, .property-abbreviation {
  color: #666;
  margin: 6px 0;
  font-size: .85rem;
}

.property-enum strong, .property-pattern strong, .property-cde strong, .property-abbreviation strong {
  color: #333;
}

.property-abbreviation code {
  color: #1976d2;
  background: #e3f2fd;
  border-radius: 3px;
  padding: 2px 6px;
  font-weight: 600;
}

.property-children {
  border-left: 2px solid #e0e0e0;
  margin-top: 12px;
  padding-left: 20px;
}

.array-items-label {
  color: #1976d2;
  margin-bottom: 8px;
  font-size: .9rem;
  font-weight: bold;
}

.schema-loading {
  color: #666;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 200px;
  display: flex;
}

.loading-spinner {
  border: 4px solid #f3f3f3;
  border-top-color: #1976d2;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  animation: 1s linear infinite spin;
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.schema-loading p {
  margin: 0;
  font-size: 1.1rem;
}

.schema-error {
  color: #dc3545;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 200px;
  display: flex;
}

.error-icon {
  margin-bottom: 16px;
  font-size: 3rem;
}

.schema-error h3 {
  margin: 0 0 8px;
  font-size: 1.3rem;
}

.schema-error p {
  color: #666;
  margin: 0 0 16px;
  font-size: 1rem;
}

.retry-button {
  color: #fff;
  cursor: pointer;
  background: #dc3545;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 1rem;
  transition: background-color .2s;
}

.retry-button:hover {
  background: #c82333;
}

.schema-empty {
  color: #666;
  justify-content: center;
  align-items: center;
  height: 200px;
  font-size: 1.1rem;
  display: flex;
}

.schema-tab {
  flex-direction: column;
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}

.schema-header {
  background: #f8f9fa;
  border-left: 4px solid #1976d2;
  border-radius: 8px;
  margin-bottom: 24px;
  padding: 20px;
}

.schema-header h2 {
  color: #1976d2;
  margin: 0 0 8px;
  font-size: 1.8rem;
  font-weight: 600;
}

.schema-header p {
  color: #666;
  margin: 0;
  font-size: 1rem;
}

.schema-navigation {
  gap: 8px;
  margin-bottom: 24px;
  padding: 0 4px;
  display: flex;
}

.schema-nav-button {
  color: #666;
  cursor: pointer;
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  min-width: 140px;
  padding: 12px 20px;
  font-size: 1rem;
  font-weight: 500;
  transition: all .2s;
}

.schema-nav-button:hover {
  color: #1976d2;
  background: #f8f9fa;
  border-color: #1976d2;
}

.schema-nav-button.active {
  color: #fff;
  background: #1976d2;
  border-color: #1976d2;
  font-weight: 600;
}

.schema-content {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.protocol-list {
  width: 100%;
  height: 100%;
  padding: 0 4px;
  overflow-y: auto;
}

.protocol-list-header {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 24px;
  padding: 20px;
  box-shadow: 0 2px 8px #0000001a;
}

.protocol-list-header h3 {
  color: #1976d2;
  margin: 0 0 8px;
  font-size: 1.4rem;
  font-weight: 600;
}

.protocol-list-header p {
  color: #666;
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.protocols-grid {
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 20px;
  padding-bottom: 20px;
  display: grid;
}

.protocol-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 2px 8px #0000001a;
}

.protocol-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #00000026;
}

.protocol-header {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
  display: flex;
}

.protocol-title {
  flex: 1;
}

.protocol-title h4 {
  color: #1976d2;
  margin: 0 0 8px;
  font-size: 1.2rem;
  font-weight: 600;
}

.status-badge {
  text-transform: uppercase;
  border-radius: 12px;
  padding: 4px 8px;
  font-size: .75rem;
  font-weight: 500;
  display: inline-block;
}

.status-local {
  color: #1976d2;
  background: #e3f2fd;
}

.status-modified {
  color: #f57c00;
  background: #fff3e0;
}

.status-synced {
  color: #2e7d32;
  background: #e8f5e8;
}

.protocol-badges {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.association-badge {
  border-radius: 12px;
  padding: 4px 10px;
  font-size: .8rem;
  font-weight: 500;
  display: inline-block;
}

.protocol-actions {
  gap: 8px;
  display: flex;
}

.edit-button, .delete-button {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 4px;
  padding: 6px;
  font-size: 1.2rem;
  transition: background-color .2s;
}

.edit-button:hover {
  background: #e3f2fd;
}

.delete-button:hover {
  background: #ffebee;
}

.protocol-details {
  color: #555;
  font-size: .9rem;
  line-height: 1.4;
}

.protocol-details p {
  margin: 6px 0;
}

.protocol-details strong {
  color: #333;
  font-weight: 600;
}

.add-protocol-card {
  text-align: center;
  cursor: pointer;
  background: #f8f9fa;
  border: 2px dashed #1976d2;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  padding: 40px 20px;
  transition: all .2s;
  display: flex;
}

.add-protocol-card:hover {
  background: #e3f2fd;
  border-color: #1565c0;
}

.add-content {
  flex-direction: column;
  align-items: center;
  gap: 12px;
  display: flex;
}

.add-icon {
  color: #fff;
  background: #1976d2;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
}

.add-content h4 {
  color: #1976d2;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}

.add-content p {
  color: #666;
  margin: 0;
  font-size: .9rem;
}

.modal-overlay {
  z-index: 1000;
  background: #00000080;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
}

.modal-content {
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 100%;
  max-width: 600px;
  max-height: 95vh;
  display: flex;
  overflow-y: auto;
  box-shadow: 0 10px 30px #0000004d;
}

.modal-header {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  border-radius: 8px 8px 0 0;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  display: flex;
}

.modal-header h2 {
  color: #1976d2;
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
}

.close-button {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 4px;
  padding: 4px;
  font-size: 1.5rem;
  transition: background-color .2s;
}

.close-button:hover {
  color: #333;
  background: #e9ecef;
}

.protocol-form {
  flex: 1;
  min-height: 0;
  padding: 24px 24px 40px;
  overflow-y: auto;
}

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

.form-group label {
  color: #333;
  margin-bottom: 4px;
  font-size: .9rem;
  font-weight: 500;
  display: block;
}

.form-group input, .form-group select, .form-group textarea {
  box-sizing: border-box;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  width: 100%;
  padding: 8px 12px;
  font-size: 1rem;
  transition: border-color .2s;
}

.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color: #1976d2;
  outline: none;
}

.form-group input.error, .form-group select.error, .form-group textarea.error {
  border-color: #dc3545;
}

.error-message {
  color: #dc3545;
  margin-top: 2px;
  font-size: .8rem;
  display: block;
}

.form-group textarea {
  resize: vertical;
  min-height: 70px;
}

.modal-actions {
  background: #f8f9fa;
  border-top: 1px solid #e0e0e0;
  border-radius: 0 0 8px 8px;
  flex-shrink: 0;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
  padding: 16px 24px;
  display: flex;
}

.cancel-button {
  color: #fff;
  cursor: pointer;
  background: #6c757d;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 1rem;
  transition: background-color .2s;
}

.cancel-button:hover {
  background: #5a6268;
}

.save-button {
  color: #fff;
  cursor: pointer;
  background: #1976d2;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 1rem;
  transition: background-color .2s;
}

.save-button:hover:not(:disabled) {
  background: #1565c0;
}

.save-button:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.field-hint {
  color: #6c757d;
  margin-top: 4px;
  font-size: .75rem;
  font-style: italic;
  display: block;
}

.checkbox-group {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
  margin-bottom: 6px;
  display: flex;
}

.landmarks-checkbox-group {
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  flex-direction: column;
  gap: 8px;
  max-height: 200px;
  margin-top: 6px;
  margin-bottom: 6px;
  padding: 8px;
  display: flex;
  overflow-y: auto;
}

.checkbox-label {
  cursor: pointer;
  color: #333;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: .9rem;
  display: flex;
}

.checkbox-label input[type="checkbox"] {
  cursor: pointer;
  width: auto;
  margin: 0;
}

.checkbox-label span {
  user-select: none;
}

.loading {
  text-align: center;
  color: #6c757d;
  padding: 20px;
  font-style: italic;
}

.protocols-tab {
  flex-direction: column;
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}

.protocols-header {
  background: #f8f9fa;
  border-left: 4px solid #1976d2;
  border-radius: 8px;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 24px;
  padding: 20px;
  display: flex;
}

.header-content h2 {
  color: #1976d2;
  margin: 0 0 8px;
  font-size: 1.8rem;
  font-weight: 600;
}

.header-content p {
  color: #666;
  margin: 0;
  font-size: 1rem;
}

.header-actions {
  align-items: center;
  gap: 12px;
  display: flex;
}

.sync-button {
  color: #fff;
  cursor: pointer;
  background: #28a745;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  font-size: .9rem;
  transition: background-color .2s;
  display: flex;
}

.sync-button:hover:not(:disabled) {
  background: #218838;
}

.sync-button.clear-button {
  background: #dc3545;
}

.sync-button.clear-button:hover:not(:disabled) {
  background: #c82333;
}

.sync-button:disabled {
  cursor: not-allowed;
  opacity: .6;
  background: #6c757d;
}

.conflict-button {
  color: #fff;
  cursor: pointer;
  background: #dc3545;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  font-size: .9rem;
  transition: background-color .2s;
  display: flex;
}

.conflict-button:hover {
  background: #c82333;
}

.protocols-navigation {
  gap: 8px;
  margin-bottom: 24px;
  padding: 0 4px;
  display: flex;
}

.nav-button {
  color: #666;
  cursor: pointer;
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  min-width: 180px;
  padding: 12px 20px;
  font-size: 1rem;
  font-weight: 500;
  transition: all .2s;
}

.nav-button:hover {
  color: #1976d2;
  background: #f8f9fa;
  border-color: #1976d2;
}

.nav-button.active {
  color: #fff;
  background: #1976d2;
  border-color: #1976d2;
  font-weight: 600;
}

.protocols-content {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.sync-status {
  flex-direction: column;
  gap: 4px;
  margin-top: 8px;
  font-size: .85rem;
  display: flex;
}

.last-sync {
  color: #6c757d;
  font-style: italic;
}

.local-changes {
  color: #fd7e14;
  font-weight: 500;
}

.sync-button.has-changes {
  background: #fd7e14;
  position: relative;
}

.sync-button.has-changes:hover:not(:disabled) {
  background: #e8650e;
}

.change-indicator {
  color: #fff;
  background: #dc3545;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 12px;
  height: 12px;
  font-size: 8px;
  animation: 2s infinite pulse;
  display: flex;
  position: absolute;
  top: -2px;
  right: -2px;
}

@keyframes pulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .7;
    transform: scale(1.1);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.regex-modal-overlay {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.regex-modal-content {
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 90%;
  max-width: 1000px;
  max-height: 90vh;
  display: flex;
  overflow: hidden;
  box-shadow: 0 4px 20px #00000026;
}

.regex-modal-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  display: flex;
}

.regex-header-actions {
  align-items: center;
  gap: 12px;
  display: flex;
}

.regex-modal-header h2 {
  color: #333;
  margin: 0;
  font-size: 1.5rem;
}

.regex-modal-close {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 24px;
  display: flex;
}

.regex-modal-close:hover {
  color: #333;
  background-color: #e9ecef;
}

.regex-rule-set-btn {
  color: #fff;
  cursor: pointer;
  background-color: #007bff;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: background-color .2s;
}

.regex-rule-set-btn:hover {
  background-color: #0056b3;
}

.regex-rule-set-selector {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  padding: 20px;
}

.regex-rule-set-selector h3 {
  color: #333;
  margin: 0 0 16px;
  font-size: 1.2rem;
}

.regex-rule-set-options {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
  display: grid;
}

.regex-rule-set-option {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 16px;
  transition: all .2s;
}

.regex-rule-set-option:hover {
  border-color: #007bff;
  box-shadow: 0 2px 8px #007bff1a;
}

.regex-rule-set-option h4 {
  color: #333;
  margin: 0 0 8px;
  font-size: 1.1rem;
}

.regex-rule-set-option p {
  color: #666;
  margin: 0 0 12px;
  font-size: .9rem;
}

.regex-use-rule-set-btn {
  color: #fff;
  cursor: pointer;
  background-color: #28a745;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: .9rem;
  font-weight: 500;
  transition: background-color .2s;
}

.regex-use-rule-set-btn:hover {
  background-color: #218838;
}

.regex-rule-set-actions {
  justify-content: center;
  display: flex;
}

.regex-custom-rules-btn {
  color: #fff;
  cursor: pointer;
  background-color: #6c757d;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-weight: 500;
  transition: background-color .2s;
}

.regex-custom-rules-btn:hover {
  background-color: #5a6268;
}

.regex-modal-body {
  flex-direction: column;
  flex: 1;
  display: flex;
  overflow: hidden;
}

.regex-tab-content {
  flex: 1;
  gap: 20px;
  padding: 20px;
  display: flex;
  overflow-y: auto;
}

.regex-field-config {
  flex: 1;
  min-width: 0;
}

.regex-field-config h3 {
  color: #333;
  margin: 0 0 8px;
  font-size: 1.2rem;
}

.regex-example {
  color: #666;
  background-color: #f8f9fa;
  border-left: 4px solid #007bff;
  margin: 0 0 20px;
  padding: 8px 12px;
  font-style: italic;
}

.regex-schema-mapping-info {
  background-color: #e7f3ff;
  border: 1px solid #b3d9ff;
  border-radius: 6px;
  margin-bottom: 20px;
  padding: 16px;
}

.regex-schema-mapping-info h4 {
  color: #0056b3;
  margin: 0 0 8px;
  font-size: 1rem;
}

.regex-schema-mapping-info p {
  color: #333;
  margin: 0 0 12px;
  font-size: .9rem;
}

.regex-schema-mapping-info ul {
  margin: 0;
  padding-left: 20px;
}

.regex-schema-mapping-info li {
  color: #333;
  margin-bottom: 4px;
  font-size: .9rem;
}

.regex-schema-mapping-info li code {
  color: #d63384;
  background-color: #fff;
  border: 1px solid #d1ecf1;
  border-radius: 3px;
  padding: 2px 6px;
  font-family: Courier New, monospace;
  font-size: .85rem;
}

.regex-input-group {
  margin-bottom: 20px;
}

.regex-input-group label {
  color: #333;
  margin-bottom: 8px;
  font-weight: 500;
  display: block;
}

.regex-input-help {
  color: #666;
  margin-top: 6px;
  font-size: .85rem;
  font-style: italic;
  display: block;
}

.regex-input-help code {
  color: #d63384;
  background-color: #f8f9fa;
  border-radius: 3px;
  padding: 2px 4px;
  font-family: Courier New, monospace;
  font-size: .8rem;
}

.regex-pattern-input {
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
  padding: 10px 12px;
  font-family: Courier New, monospace;
  font-size: 14px;
  transition: border-color .2s;
}

.regex-pattern-input:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 2px #007bff40;
}

.regex-suggestions {
  margin-top: 20px;
}

.regex-suggestions h4 {
  color: #333;
  margin: 0 0 12px;
  font-size: 1rem;
}

.regex-suggestion {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  padding: 8px 12px;
  display: flex;
}

.regex-suggestion code {
  color: #d63384;
  background-color: #e9ecef;
  border-radius: 3px;
  flex-shrink: 0;
  min-width: 120px;
  padding: 4px 8px;
  font-family: Courier New, monospace;
  font-size: 12px;
}

.regex-suggestion span {
  color: #666;
  flex: 1;
  font-size: .9rem;
}

.regex-use-suggestion {
  color: #fff;
  cursor: pointer;
  background-color: #007bff;
  border: none;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: .8rem;
  transition: background-color .2s;
}

.regex-use-suggestion:hover {
  background-color: #0056b3;
}

.regex-test-section {
  border-left: 1px solid #e0e0e0;
  flex: 1;
  min-width: 0;
  padding-left: 20px;
}

.regex-test-section h4 {
  color: #333;
  margin: 0 0 12px;
  font-size: 1rem;
}

.regex-test-btn {
  color: #fff;
  cursor: pointer;
  background-color: #28a745;
  border: none;
  border-radius: 4px;
  margin-bottom: 20px;
  padding: 8px 16px;
  font-weight: 500;
  transition: background-color .2s;
}

.regex-test-btn:hover {
  background-color: #218838;
}

.regex-test-results {
  max-height: 400px;
  overflow-y: auto;
}

.regex-test-item {
  background-color: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  margin-bottom: 16px;
  padding: 12px;
}

.regex-test-filename {
  color: #333;
  margin-bottom: 8px;
  font-family: Courier New, monospace;
  font-size: .9rem;
}

.regex-test-extractions {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.regex-test-field {
  align-items: center;
  gap: 8px;
  display: flex;
}

.regex-field-name {
  color: #666;
  min-width: 100px;
  font-size: .9rem;
  font-weight: 500;
}

.regex-field-value {
  border-radius: 3px;
  padding: 2px 6px;
  font-family: Courier New, monospace;
  font-size: .8rem;
}

.regex-field-value.success {
  color: #155724;
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
}

.regex-field-value.empty {
  color: #721c24;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
}

.regex-modal-footer {
  background-color: #f8f9fa;
  border-top: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 20px;
  display: flex;
}

.regex-footer-left {
  gap: 12px;
  display: flex;
}

.regex-footer-center {
  align-items: center;
  display: flex;
}

.regex-override-checkbox {
  cursor: pointer;
  background-color: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 4px;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  transition: all .2s;
  display: flex;
}

.regex-override-checkbox:hover {
  background-color: #ffe69c;
}

.regex-override-checkbox input[type="checkbox"] {
  cursor: pointer;
  width: 18px;
  height: 18px;
}

.regex-override-checkbox span {
  color: #856404;
  user-select: none;
  font-size: .9rem;
  font-weight: 500;
}

.regex-footer-right {
  gap: 12px;
  display: flex;
}

.regex-dsa-btn {
  color: #fff;
  cursor: pointer;
  background-color: #4a90e2;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  transition: background-color .2s;
}

.regex-dsa-btn:hover:not(:disabled) {
  background-color: #357abd;
}

.regex-dsa-btn:disabled {
  cursor: not-allowed;
  background-color: #ccc;
}

.regex-push-btn {
  background-color: #28a745;
}

.regex-push-btn:hover:not(:disabled) {
  background-color: #218838;
}

.regex-cancel-btn {
  color: #fff;
  cursor: pointer;
  background-color: #6c757d;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-weight: 500;
  transition: background-color .2s;
}

.regex-cancel-btn:hover {
  background-color: #5a6268;
}

.regex-apply-btn {
  color: #212529;
  cursor: pointer;
  background-color: #ffc107;
  border: none;
  border-radius: 4px;
  margin-right: 8px;
  padding: 8px 16px;
  font-weight: 600;
  transition: background-color .2s;
}

.regex-apply-btn:hover {
  background-color: #e0a800;
}

.regex-save-btn {
  color: #fff;
  cursor: pointer;
  background-color: #007bff;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-weight: 500;
  transition: background-color .2s;
}

.regex-save-btn:hover {
  background-color: #0056b3;
}

@media (width <= 768px) {
  .regex-modal-content {
    width: 95%;
    max-height: 95vh;
  }

  .regex-tab-content {
    flex-direction: column;
    gap: 16px;
  }

  .regex-test-section {
    border-top: 1px solid #e0e0e0;
    border-left: none;
    padding-top: 16px;
    padding-left: 0;
  }
}

.bdsa-mapping-modal-overlay {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.bdsa-mapping-modal-content {
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  display: flex;
  overflow: hidden;
  box-shadow: 0 4px 20px #00000026;
}

.bdsa-mapping-modal-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  display: flex;
}

.bdsa-mapping-modal-header h2 {
  color: #333;
  margin: 0;
  font-size: 1.5rem;
}

.bdsa-mapping-modal-close {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 24px;
  display: flex;
}

.bdsa-mapping-modal-close:hover {
  color: #333;
  background-color: #e9ecef;
}

.bdsa-mapping-modal-body {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
}

.bdsa-mapping-description {
  color: #666;
  margin: 0 0 20px;
  font-size: 1rem;
  line-height: 1.5;
}

.bdsa-mapping-fields {
  margin-bottom: 30px;
}

.bdsa-mapping-field {
  background-color: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  margin-bottom: 25px;
  padding: 15px;
}

.bdsa-mapping-label {
  color: #333;
  margin-bottom: 8px;
  font-size: 1rem;
  font-weight: 600;
  display: block;
}

.bdsa-mapping-select {
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
  padding: 10px 12px;
  font-size: .95rem;
  transition: border-color .2s;
}

.bdsa-mapping-select:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 2px #007bff40;
}

.bdsa-mapping-select:hover {
  border-color: #007bff;
}

.bdsa-mapping-help {
  color: #666;
  margin: 8px 0 0;
  font-size: .85rem;
  font-style: italic;
  line-height: 1.4;
}

.bdsa-mapping-info {
  background-color: #e3f2fd;
  border: 1px solid #bbdefb;
  border-radius: 6px;
  margin-bottom: 20px;
  padding: 15px;
}

.bdsa-mapping-info h4 {
  color: #1976d2;
  margin: 0 0 10px;
  font-size: 1rem;
}

.bdsa-mapping-info ul {
  color: #424242;
  margin: 0;
  padding-left: 20px;
  font-size: .9rem;
  line-height: 1.5;
}

.bdsa-mapping-info li {
  margin-bottom: 5px;
}

.bdsa-mapping-modal-footer {
  background-color: #f8f9fa;
  border-top: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 20px;
  display: flex;
}

.bdsa-mapping-footer-left, .bdsa-mapping-footer-right {
  gap: 12px;
  display: flex;
}

.bdsa-mapping-dsa-btn {
  color: #fff;
  cursor: pointer;
  background-color: #4a90e2;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  transition: background-color .2s;
}

.bdsa-mapping-dsa-btn:hover:not(:disabled) {
  background-color: #357abd;
}

.bdsa-mapping-dsa-btn:disabled {
  cursor: not-allowed;
  background-color: #ccc;
}

.bdsa-mapping-push-btn {
  background-color: #28a745;
}

.bdsa-mapping-push-btn:hover:not(:disabled) {
  background-color: #218838;
}

.bdsa-mapping-cancel-btn {
  color: #fff;
  cursor: pointer;
  background-color: #6c757d;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-weight: 500;
  transition: background-color .2s;
}

.bdsa-mapping-cancel-btn:hover {
  background-color: #5a6268;
}

.bdsa-mapping-save-btn {
  color: #fff;
  cursor: pointer;
  background-color: #007bff;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-weight: 500;
  transition: background-color .2s;
}

.bdsa-mapping-save-btn:hover {
  background-color: #0056b3;
}

@media (width <= 768px) {
  .bdsa-mapping-modal-content {
    width: 95%;
    max-height: 95vh;
  }

  .bdsa-mapping-modal-body {
    padding: 15px;
  }

  .bdsa-mapping-field {
    padding: 12px;
  }
}

.dsa-sync-control {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin: 16px 0;
  padding: 16px;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
}

.sync-header {
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 12px;
  padding: 16px 16px 0;
  display: flex;
}

.sync-header h3 {
  color: #495057;
  margin: 0;
  font-size: 1.1rem;
}

.sync-status {
  border-radius: 20px;
  padding: 4px 12px;
  font-size: .85rem;
  font-weight: 600;
}

.status-offline {
  color: #6c757d;
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
}

.status-syncing {
  color: #856404;
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
  animation: 2s infinite pulse;
}

.status-synced {
  color: #155724;
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
}

.status-error {
  color: #721c24;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
}

.sync-info {
  margin-bottom: 16px;
}

.sync-info p {
  color: #6c757d;
  margin: 0 0 8px;
  font-size: .9rem;
}

.sync-stats {
  color: #495057;
  background: #e9ecef;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: .85rem;
}

.sync-progress {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin: 16px 0;
  padding: 12px;
}

.progress-bar {
  background-color: #e9ecef;
  border-radius: 4px;
  width: 100%;
  height: 8px;
  margin-bottom: 8px;
  overflow: hidden;
}

.progress-fill {
  background-color: #007bff;
  height: 100%;
  transition: width .3s;
}

.progress-text {
  color: #495057;
  margin-bottom: 4px;
  font-size: .9rem;
}

.progress-details {
  color: #6c757d;
  font-size: .8rem;
}

.sync-results {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin: 16px 0;
  padding: 12px;
}

.sync-results h4 {
  color: #495057;
  margin: 0 0 8px;
  font-size: .95rem;
}

.results-summary {
  gap: 16px;
  margin-bottom: 8px;
  font-size: .85rem;
  display: flex;
}

.results-summary span {
  color: #495057;
  background: #e9ecef;
  border-radius: 4px;
  padding: 2px 8px;
}

.error-message {
  color: #721c24;
  background: #f8d7da;
  border-radius: 4px;
  padding: 8px;
  font-size: .85rem;
}

.sync-controls {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
  display: flex;
}

.start-sync-btn {
  color: #fff;
  cursor: pointer;
  background-color: #007bff;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: .9rem;
  font-weight: 500;
  transition: background-color .2s;
}

.start-sync-btn:hover:not(:disabled) {
  background-color: #0056b3;
}

.start-sync-btn:disabled {
  cursor: not-allowed;
  background-color: #6c757d;
}

.cancel-sync-btn {
  color: #fff;
  cursor: pointer;
  background-color: #dc3545;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: .9rem;
  font-weight: 500;
  transition: background-color .2s;
}

.cancel-sync-btn:hover {
  background-color: #c82333;
}

.sync-requirements {
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 6px;
  margin-top: 16px;
  padding: 12px;
}

.sync-requirements h4 {
  color: #856404;
  margin: 0 0 8px;
  font-size: .95rem;
}

.sync-requirements ul {
  margin: 0;
  padding-left: 20px;
}

.sync-requirements li {
  margin-bottom: 4px;
  font-size: .85rem;
}

.requirement-met {
  color: #155724;
}

.requirement-missing {
  color: #721c24;
}

@keyframes pulse {
  0% {
    opacity: 1;
  }

  50% {
    opacity: .7;
  }

  100% {
    opacity: 1;
  }
}

.debug-touch-btn {
  color: #fff;
  cursor: pointer;
  background-color: #6c757d;
  border: none;
  border-radius: 4px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: all .2s;
  display: flex;
}

.debug-touch-btn:hover:not(:disabled) {
  background-color: #5a6268;
  transform: translateY(-1px);
}

.debug-touch-btn:disabled {
  color: #6c757d;
  cursor: not-allowed;
  opacity: .6;
  background-color: #e9ecef;
}

.modal-overlay {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.modal-content {
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  display: flex;
  overflow: hidden;
  box-shadow: 0 4px 20px #00000026;
}

.dsa-sync-modal-content .modal-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  border-radius: 8px 8px 0 0;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: relative;
}

.dsa-sync-modal-content .modal-header h2 {
  color: #333;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
}

.dsa-sync-modal-content .modal-body {
  flex: 1;
  padding: 0;
  overflow-y: auto;
}

.close-modal-btn {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 24px;
  transition: all .2s;
  display: flex;
  position: absolute;
  top: 15px;
  right: 15px;
}

.close-modal-btn:hover {
  color: #333;
  background-color: #f0f0f0;
}

.sync-status-footer {
  text-align: center;
  border-top: 1px solid #e0e0e0;
  margin-top: 16px;
  padding-top: 16px;
}

.excel-sheet-modal-overlay {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.excel-sheet-modal {
  background: #fff;
  border-radius: 8px;
  width: 90%;
  max-width: 500px;
  max-height: 80vh;
  overflow: hidden;
  box-shadow: 0 4px 20px #00000026;
}

.excel-sheet-modal-header {
  background-color: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  display: flex;
}

.excel-sheet-modal-header h3 {
  color: #333;
  margin: 0;
  font-size: 18px;
}

.excel-sheet-close-btn {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 20px;
  display: flex;
}

.excel-sheet-close-btn:hover {
  color: #333;
  background-color: #e9ecef;
}

.excel-sheet-modal-content {
  max-height: 400px;
  padding: 20px;
  overflow-y: auto;
}

.excel-sheet-modal-content p {
  color: #555;
  margin: 0 0 15px;
}

.sheet-list {
  flex-direction: column;
  gap: 10px;
  margin-top: 15px;
  display: flex;
}

.sheet-option {
  cursor: pointer;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  align-items: center;
  padding: 12px;
  transition: all .2s;
  display: flex;
}

.sheet-option:hover {
  background-color: #f8f9fa;
  border-color: #007bff;
}

.sheet-option input[type="radio"] {
  margin-right: 12px;
  transform: scale(1.2);
}

.sheet-name {
  color: #333;
  font-weight: 500;
}

.excel-sheet-modal-actions {
  background-color: #f8f9fa;
  border-top: 1px solid #e0e0e0;
  justify-content: flex-end;
  gap: 10px;
  padding: 20px;
  display: flex;
}

.btn {
  cursor: pointer;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.btn-primary {
  color: #fff;
  background-color: #007bff;
}

.btn-primary:hover:not(:disabled) {
  background-color: #0056b3;
}

.btn-primary:disabled {
  cursor: not-allowed;
  background-color: #6c757d;
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
}

.btn-secondary:hover {
  background-color: #545b62;
}

.accessory-field-mapping-modal-overlay {
  z-index: 1000;
  background: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.accessory-field-mapping-modal {
  background: #fff;
  border-radius: 8px;
  width: 90%;
  max-width: 600px;
  max-height: 80vh;
  padding: 24px;
  overflow-y: auto;
  box-shadow: 0 4px 20px #00000026;
}

.modal-header h3 {
  color: #1976d2;
  margin: 0 0 8px;
  font-size: 1.2rem;
}

.modal-header p {
  color: #666;
  margin: 0 0 20px;
  line-height: 1.4;
}

.field-selection {
  margin-bottom: 20px;
}

.field-selection label {
  color: #333;
  margin-bottom: 8px;
  font-weight: 500;
  display: block;
}

.field-dropdown {
  cursor: pointer;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
  padding: 8px 12px;
  font-size: .9rem;
}

.field-dropdown:focus {
  border-color: #1976d2;
  outline: none;
  box-shadow: 0 0 0 2px #1976d233;
}

.preview-section {
  background: #f8f9fa;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  margin-bottom: 20px;
  padding: 16px;
}

.preview-section h4 {
  color: #333;
  margin: 0 0 12px;
  font-size: 1rem;
}

.preview-table {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.preview-header {
  color: #495057;
  background: #e9ecef;
  border-radius: 4px;
  grid-template-columns: 2fr 1fr 2fr;
  gap: 12px;
  padding: 8px 12px;
  font-size: .85rem;
  font-weight: 600;
  display: grid;
}

.preview-row {
  border-radius: 4px;
  grid-template-columns: 2fr 1fr 2fr;
  gap: 12px;
  padding: 8px 12px;
  font-size: .85rem;
  transition: background-color .2s;
  display: grid;
}

.preview-row.matched {
  background: #d4edda;
  border: 1px solid #c3e6cb;
}

.preview-row.unmatched {
  background: #f8d7da;
  border: 1px solid #f5c6cb;
}

.preview-row .filename {
  word-break: break-all;
  font-family: Courier New, monospace;
  font-size: .8rem;
}

.preview-row .status {
  text-align: center;
  font-weight: 500;
}

.preview-row .dsa-filename {
  word-break: break-all;
  color: #666;
  font-family: Courier New, monospace;
  font-size: .8rem;
}

.modal-actions {
  border-top: 1px solid #e0e0e0;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 16px;
  display: flex;
}

.cancel-btn {
  color: #666;
  cursor: pointer;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  transition: all .2s;
}

.cancel-btn:hover {
  background: #f8f9fa;
  border-color: #999;
}

.save-btn {
  color: #fff;
  cursor: pointer;
  background: #1976d2;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  transition: background-color .2s;
}

.save-btn:hover:not(:disabled) {
  background: #1565c0;
}

.save-btn:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.protocol-cell-renderer {
  box-sizing: border-box;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  height: 100%;
  min-height: 32px;
  padding: 6px 4px;
  line-height: 1;
  display: flex;
}

.protocol-cell-renderer.clickable {
  cursor: pointer;
  border-radius: 2px;
  transition: background-color .2s;
}

.protocol-cell-renderer.clickable:hover {
  background-color: #f5f5f5;
}

.protocol-chip {
  color: #1565c0;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
  background: #e3f2fd;
  border: 1px solid #bbdefb;
  border-radius: 14px;
  align-items: center;
  max-width: 140px;
  height: 20px;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.3;
  display: inline-flex;
  overflow: hidden;
}

.no-protocols {
  color: #6c757d;
  align-items: center;
  height: 20px;
  font-size: 11px;
  font-style: italic;
  line-height: 1.3;
  display: flex;
}

.protocol-edit-modal-overlay {
  z-index: 1000;
  background: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.protocol-edit-modal {
  background: #fff;
  border-radius: 8px;
  width: 90%;
  max-width: 500px;
  max-height: 80vh;
  overflow: hidden;
  box-shadow: 0 4px 20px #00000026;
}

.modal-header {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  display: flex;
}

.modal-header h3 {
  color: #333;
  margin: 0;
  font-size: 16px;
}

.close-btn {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  font-size: 20px;
  transition: background-color .2s;
  display: flex;
}

.close-btn:hover {
  background-color: #e0e0e0;
}

.modal-content {
  max-height: 60vh;
  padding: 16px;
  overflow-y: auto;
}

.current-protocols, .available-protocols {
  margin-bottom: 16px;
}

.current-protocols h4, .available-protocols h4 {
  color: #333;
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
}

.protocol-tags {
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 12px;
  display: flex;
}

.protocol-tag {
  color: #495057;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 3px;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 500;
  display: inline-flex;
}

.remove-btn {
  color: #dc3545;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  padding: 0;
  font-size: 12px;
  transition: background-color .2s;
  display: flex;
}

.remove-btn:hover {
  background-color: #f8d7da;
}

.protocol-buttons {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.add-protocol-btn {
  color: #fff;
  cursor: pointer;
  background: #6c757d;
  border: none;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 11px;
  transition: background-color .2s;
}

.add-protocol-btn:hover {
  background: #5a6268;
}

@media (width <= 768px) {
  .protocol-edit-modal {
    width: 95%;
    margin: 20px;
  }

  .modal-content {
    padding: 16px;
  }

  .protocol-buttons {
    gap: 6px;
  }

  .add-protocol-btn {
    padding: 4px 8px;
    font-size: 11px;
  }
}

.name-cell-container {
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.name-cell {
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: default;
  width: 100%;
  display: block;
  overflow: hidden;
}

.name-tooltip {
  color: #fff;
  white-space: nowrap;
  z-index: 1000;
  word-break: break-all;
  white-space: normal;
  background: #333;
  border-radius: 4px;
  max-width: 300px;
  padding: 8px 12px;
  font-size: 12px;
  line-height: 1.4;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 2px 8px #00000026;
}

.name-tooltip:after {
  content: "";
  border: 5px solid #0000;
  border-top-color: #333;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.name-cell-container:hover .name-tooltip {
  z-index: 10000;
  position: fixed;
}

.input-data-tab {
  flex-direction: column;
  height: 100%;
  display: flex;
  overflow: auto;
}

.controls-row {
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  gap: 15px;
  padding: 15px 20px;
  display: flex;
}

.data-source-selector {
  align-items: center;
  gap: 8px;
  display: flex;
}

.data-source-selector label {
  color: #666;
  font-size: .9rem;
  font-weight: 500;
}

.data-source-dropdown {
  cursor: pointer;
  color: #333;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  min-width: 180px;
  padding: 6px 12px;
  font-size: .9rem;
}

.data-source-dropdown:hover {
  border-color: #1976d2;
}

.data-source-dropdown:focus {
  border-color: #1976d2;
  outline: none;
  box-shadow: 0 0 0 2px #1976d233;
}

.file-input-label {
  text-align: center;
  cursor: pointer;
  color: #666;
  background: #f5f5f5;
  border: 2px dashed #ccc;
  border-radius: 4px;
  min-width: 200px;
  padding: 8px 16px;
  font-size: .9rem;
  transition: all .2s;
  display: block;
}

.load-csv-btn, .refresh-btn {
  cursor: pointer;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: background .2s;
}

.load-csv-btn {
  color: #fff;
  background: #1976d2;
}

.load-csv-btn:hover:not(:disabled) {
  background: #1565c0;
}

.load-csv-btn:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.refresh-btn {
  color: #fff;
  background: #1976d2;
}

.refresh-btn:hover:not(:disabled) {
  background: #1565c0;
}

.refresh-btn:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.column-toggle-btn {
  cursor: pointer;
  color: #fff;
  background: #6c757d;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: background .2s;
}

.column-toggle-btn:hover {
  background: #5a6268;
}

.regex-rules-btn {
  cursor: pointer;
  color: #fff;
  background: #28a745;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: background .2s;
}

.regex-rules-btn:hover {
  background: #218838;
}

.bdsa-mapping-btn {
  cursor: pointer;
  color: #fff;
  background: #007bff;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: background .2s;
}

.bdsa-mapping-btn:hover {
  background: #0056b3;
}

.dsa-sync-btn {
  cursor: pointer;
  color: #fff;
  background: #28a745;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: background .2s;
}

.dsa-sync-btn:hover {
  background: #218838;
}

.sync-icon-orange {
  color: #ff8c00;
}

.update-status-indicator {
  background-color: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 4px;
  align-items: center;
  margin-left: 10px;
  padding: 6px 12px;
  display: flex;
}

.update-status-text {
  color: #856404;
  font-size: .85rem;
  font-weight: 500;
}

.color-legend {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  align-items: center;
  gap: 15px;
  margin-left: 15px;
  padding: 4px 8px;
  display: flex;
}

.legend-item {
  color: #666;
  align-items: center;
  gap: 6px;
  font-size: .8rem;
  display: flex;
}

.legend-color {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.legend-color.column-mapping {
  background-color: #e8f5e8;
  border-left: 3px solid #28a745;
}

.legend-color.regex-extraction {
  background-color: #fff3cd;
  border-left: 3px solid #ffc107;
}

.legend-color.manual-edit {
  background-color: #f8f9fa;
  border-left: 3px solid #6c757d;
}

.legend-color.modified-row {
  background-color: #fff3e0;
  border-top: 2px solid #ff9800;
}

.status-badge {
  text-transform: uppercase;
  letter-spacing: .5px;
  border-radius: 4px;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 500;
  display: inline-flex;
}

.status-indicator {
  border: 1px solid #0000001a;
  border-radius: 50%;
  width: 8px;
  height: 8px;
}

.status-badge.column-mapping {
  color: #155724;
  background-color: #e8f5e8;
  border: 1px solid #c3e6cb;
}

.status-indicator.column-mapping {
  background-color: #28a745;
}

.status-badge.regex-extraction {
  color: #856404;
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
}

.status-indicator.regex-extraction {
  background-color: #ffc107;
}

.status-badge.manual-edit {
  color: #495057;
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
}

.status-indicator.manual-edit {
  background-color: #6c757d;
}

.status-badge.modified-row {
  color: #e65100;
  background-color: #fff3e0;
  border: 1px solid #ffcc80;
}

.status-indicator.modified-row {
  background-color: #ff9800;
}

.status-legend {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding: 8px 12px;
  font-size: 12px;
  display: flex;
}

.legend-left {
  align-items: center;
  gap: 8px;
  display: flex;
}

.legend-right {
  align-items: center;
  display: flex;
}

.legend-title {
  color: #495057;
  margin-right: 4px;
  font-weight: 600;
}

.update-count-text {
  color: #495057;
  font-size: 11px;
  font-weight: 500;
}

.status-legend .status-badge {
  gap: 3px;
  padding: 1px 4px;
  font-size: 10px;
}

.status-legend .status-indicator {
  width: 6px;
  height: 6px;
}

.modal-overlay {
  z-index: 1000;
  background: #00000080;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
}

.modal-content {
  background: #fff;
  border-radius: 8px;
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 10px 30px #0000004d;
}

.modal-header {
  border-bottom: 1px solid #dee2e6;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  display: flex;
}

.modal-header h2 {
  color: #333;
  margin: 0;
  font-size: 1.5rem;
}

.close-button {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 1.5rem;
  transition: background-color .2s;
  display: flex;
}

.close-button:hover {
  color: #333;
  background: #f8f9fa;
}

.column-modal {
  max-width: 500px;
  max-height: 80vh;
}

.column-modal-content {
  padding: 20px 24px;
}

.column-panel-actions {
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
  display: flex;
}

.show-all-btn, .hide-all-btn, .reset-order-btn {
  cursor: pointer;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: .8rem;
  font-weight: 500;
  transition: background .2s;
}

.show-all-btn {
  color: #fff;
  background: #28a745;
}

.show-all-btn:hover {
  background: #218838;
}

.hide-all-btn {
  color: #fff;
  background: #dc3545;
}

.hide-all-btn:hover {
  background: #c82333;
}

.reset-order-btn {
  color: #fff;
  background: #6c757d;
}

.reset-order-btn:hover {
  background: #5a6268;
}

.column-list {
  background: #fafafa;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  max-height: 400px;
  padding: 15px;
  overflow-y: auto;
}

.column-item {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
  padding: 10px 12px;
  transition: background .2s;
  display: flex;
}

.column-item:hover {
  background: #f0f7ff;
  border-color: #1976d2;
}

.column-item:last-child {
  margin-bottom: 0;
}

.drag-handle {
  cursor: grab;
  color: #999;
  border-radius: 3px;
  padding: 4px;
  font-size: 1.2rem;
  transition: background .2s;
}

.drag-handle:hover {
  color: #666;
  background: #f0f0f0;
}

.column-checkbox {
  cursor: pointer;
  flex: 1;
  align-items: center;
  gap: 8px;
  display: flex;
}

.column-controls {
  gap: 4px;
  display: flex;
}

.move-up-btn, .move-down-btn {
  cursor: pointer;
  color: #495057;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: .8rem;
  transition: all .2s;
}

.move-up-btn:hover:not(:disabled), .move-down-btn:hover:not(:disabled) {
  background: #e9ecef;
  border-color: #adb5bd;
}

.move-up-btn:disabled, .move-down-btn:disabled {
  color: #adb5bd;
  cursor: not-allowed;
  opacity: .5;
  background: #f8f9fa;
}

.column-item input[type="checkbox"] {
  cursor: pointer;
  margin: 0;
}

.column-name {
  color: #333;
  user-select: none;
  font-size: .9rem;
}

.data-grid-container {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 20px;
  display: flex;
  overflow: hidden;
}

.data-grid-container .ag-theme-alpine {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.no-data-message {
  text-align: center;
  color: #666;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  display: flex;
}

.no-data-message h3 {
  color: #1976d2;
  margin: 0 0 10px;
  font-size: 1.5rem;
}

.no-data-message p {
  margin: 5px 0;
  font-size: 1rem;
}

@media (width <= 768px) {
  .controls-row {
    flex-wrap: wrap;
    gap: 10px;
  }

  .data-source-selector {
    flex: 1;
    min-width: 200px;
  }

  .file-input-label {
    min-width: 150px;
  }
}

.loading-overlay {
  z-index: 1000;
  background: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.loading-content {
  text-align: center;
  background: #fff;
  border-radius: 8px;
  padding: 30px;
  box-shadow: 0 4px 20px #0000004d;
}

.loading-spinner {
  border: 4px solid #f3f3f3;
  border-top-color: #1976d2;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  margin: 0 auto 15px;
  animation: 1s linear infinite spin;
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.error-message {
  color: #c62828;
  background: #ffebee;
  border: 1px solid #f44336;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 15px;
  display: flex;
}

.error-icon {
  font-size: 1.2rem;
}

.file-filter-alert {
  color: #1565c0;
  background: #e3f2fd;
  border: 1px solid #2196f3;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 15px;
}

.alert-header {
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-weight: 600;
  display: flex;
}

.alert-icon {
  font-size: 1.2rem;
}

.alert-title {
  font-size: 1.1rem;
}

.alert-content p {
  margin: 0 0 10px;
  line-height: 1.4;
}

.skipped-extensions {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  display: flex;
}

.extension-tag {
  color: #1565c0;
  background: #bbdefb;
  border-radius: 12px;
  padding: 2px 8px;
  font-size: .85rem;
  font-weight: 500;
}

.more-extensions {
  color: #666;
  font-size: .9rem;
  font-style: italic;
}

.file-filter-notification {
  z-index: 1000;
  background: #e3f2fd;
  border: 1px solid #2196f3;
  border-radius: 8px;
  max-width: 400px;
  padding: 12px 16px;
  transition: all .3s ease-out;
  animation: .3s ease-out slideInRight;
  position: fixed;
  bottom: 20px;
  right: 20px;
  transform: translateX(0);
  box-shadow: 0 4px 12px #00000026;
}

.file-filter-notification.fade-out {
  opacity: 0;
  transform: translateX(100%);
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.file-filter-notification .notification-icon {
  margin-right: 8px;
  font-size: 1.1rem;
}

.file-filter-notification .notification-text {
  color: #1976d2;
  flex: 1;
  font-size: .9rem;
  font-weight: 500;
}

.file-filter-notification .notification-close {
  color: #666;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  margin-left: 8px;
  padding: 0;
  font-size: 1.2rem;
  transition: background-color .2s;
  display: flex;
}

.file-filter-notification .notification-close:hover {
  background-color: #0000001a;
}

.load-more-alert {
  color: #856404;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 15px;
}

.load-more-data-btn {
  color: #000;
  cursor: pointer;
  background: #ffc107;
  border: none;
  border-radius: 4px;
  margin-top: 10px;
  padding: 10px 20px;
  font-size: .95rem;
  font-weight: 600;
  transition: background-color .2s;
}

.load-more-data-btn:hover {
  background: #ffb300;
}

.loading-more-alert {
  color: #1565c0;
  background: #e3f2fd;
  border: 1px solid #2196f3;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 15px;
}

.progress-bar {
  background: #bbdefb;
  border-radius: 10px;
  width: 100%;
  height: 20px;
  margin-top: 10px;
  overflow: hidden;
}

.progress-fill {
  background: #2196f3;
  height: 100%;
  transition: width .3s;
}

.data-source-section {
  background: #f8f9fa;
  border-left: 4px solid #1976d2;
  border-radius: 8px;
  margin-bottom: 30px;
  padding: 20px;
}

.data-source-section h3 {
  color: #1976d2;
  margin: 0 0 15px;
  font-size: 1.3rem;
  font-weight: 600;
}

.current-data-source {
  background: #fff;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  display: flex;
  box-shadow: 0 2px 8px #0000001a;
}

.source-info {
  align-items: center;
  gap: 15px;
  display: flex;
}

.source-icon {
  font-size: 2rem;
}

.source-details {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.source-type {
  color: #1976d2;
  font-size: 1.1rem;
  font-weight: 600;
}

.source-info-text {
  color: #666;
  font-size: .9rem;
}

.source-timestamp {
  color: #999;
  font-size: .8rem;
}

.source-stats {
  gap: 20px;
  display: flex;
}

.stat {
  flex-direction: column;
  align-items: center;
  gap: 4px;
  display: flex;
}

.stat-label {
  color: #666;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-size: .8rem;
}

.stat-value {
  color: #1976d2;
  font-size: 1.2rem;
  font-weight: 600;
}

.clear-data-button {
  color: #fff;
  cursor: pointer;
  background: #f44336;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: .9rem;
  transition: background .2s;
}

.clear-data-button:hover {
  background: #d32f2f;
}

.no-data-source {
  text-align: center;
  color: #666;
  padding: 30px;
  font-style: italic;
}

.load-options {
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 30px;
  display: grid;
}

.load-option {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 8px #0000001a;
}

.option-header h4 {
  color: #1976d2;
  margin: 0 0 8px;
  font-size: 1.2rem;
  font-weight: 600;
}

.option-header p {
  color: #666;
  margin: 0 0 20px;
  font-size: .9rem;
}

.option-content {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.file-input-container {
  position: relative;
}

.file-input {
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  position: absolute;
}

.file-input-label {
  text-align: center;
  cursor: pointer;
  color: #666;
  background: #f5f5f5;
  border: 2px dashed #ccc;
  border-radius: 8px;
  padding: 20px;
  transition: all .2s;
  display: block;
}

.file-input-label:hover {
  color: #1976d2;
  background: #f0f7ff;
  border-color: #1976d2;
}

.load-button {
  color: #fff;
  cursor: pointer;
  background: #1976d2;
  border: none;
  border-radius: 6px;
  padding: 12px 24px;
  font-size: 1rem;
  font-weight: 600;
  transition: background .2s;
}

.load-button:hover:not(:disabled) {
  background: #1565c0;
}

.load-button:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.dsa-status {
  background: #f5f5f5;
  border-radius: 6px;
  padding: 15px;
}

.status-connected {
  color: #2e7d32;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  display: flex;
}

.status-not-connected {
  color: #d32f2f;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  display: flex;
}

.status-icon {
  font-size: 1.1rem;
}

.data-preview {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 8px #0000001a;
}

.data-preview h3 {
  color: #1976d2;
  margin: 0 0 15px;
  font-size: 1.3rem;
  font-weight: 600;
}

.preview-info {
  color: #666;
  gap: 20px;
  margin-bottom: 15px;
  font-size: .9rem;
  display: flex;
}

.preview-table {
  overflow-x: auto;
}

.preview-table table {
  border-collapse: collapse;
  width: 100%;
  font-size: .9rem;
}

.preview-table th, .preview-table td {
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
  padding: 8px 12px;
}

.preview-table th {
  color: #1976d2;
  background: #f5f5f5;
  font-weight: 600;
}

.preview-table td {
  color: #333;
}

.preview-table tr:hover {
  background: #f9f9f9;
}

@media (width <= 768px) {
  .load-options {
    grid-template-columns: 1fr;
  }

  .current-data-source {
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
  }

  .source-stats {
    justify-content: center;
  }
}

.protocol-cell-renderer {
  box-sizing: border-box;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 4px;
  height: 100%;
  min-height: 32px;
  padding: 6px 4px;
  line-height: 1;
  display: flex;
}

.protocol-chip {
  color: #1565c0;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
  background: #e3f2fd;
  border: 1px solid #bbdefb;
  border-radius: 14px;
  align-items: center;
  max-width: 140px;
  height: 20px;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.3;
  display: inline-flex;
  overflow: hidden;
}

.no-protocols {
  color: #6c757d;
  align-items: center;
  height: 20px;
  font-size: 11px;
  font-style: italic;
  line-height: 1.3;
  display: flex;
}

.accessory-file-section {
  background: #e8f4fd;
  border: 1px solid #b3d9ff;
  border-radius: 6px;
  align-items: center;
  gap: 10px;
  margin-left: 10px;
  padding: 8px 12px;
  display: flex;
}

.accessory-file-section .file-input-container {
  margin: 0;
}

.accessory-file-section .file-input-label {
  color: #1976d2;
  cursor: pointer;
  background: #f0f8ff;
  border: 1px solid #b3d9ff;
  border-radius: 4px;
  padding: 6px 10px;
  font-size: .85rem;
  transition: all .2s;
}

.accessory-file-section .file-input-label:hover {
  background: #e3f2fd;
  border-color: #1976d2;
}

.load-accessory-btn {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #1976d2;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: .85rem;
  transition: background-color .2s;
}

.load-accessory-btn:hover:not(:disabled) {
  background: #1565c0;
}

.load-accessory-btn:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.accessory-status {
  color: #2e7d32;
  white-space: nowrap;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  font-size: .8rem;
  font-weight: 500;
  display: flex;
}

.match-info {
  color: #1976d2;
  margin-top: 2px;
  font-size: .75rem;
  font-weight: 400;
}

.accessory-help-message {
  background: #e8f5e8;
  border: 1px solid #4caf50;
  border-radius: 6px;
  margin: 10px 20px;
  padding: 12px 16px;
  font-size: .9rem;
}

.help-header {
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  display: flex;
}

.help-icon {
  font-size: 1.1rem;
}

.help-title {
  color: #2e7d32;
  font-weight: 600;
}

.help-content p {
  margin: 6px 0;
  line-height: 1.4;
}

.help-content code {
  color: #d32f2f;
  background: #f5f5f5;
  border-radius: 3px;
  padding: 2px 4px;
  font-family: Courier New, monospace;
  font-size: .85rem;
}

.unmatched-warning {
  color: #f57c00;
  font-weight: 500;
}

.compact-notification {
  border-radius: 6px;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  margin: 8px 20px;
  padding: 8px 12px;
  font-size: .9rem;
  display: flex;
}

.file-filter-notification {
  color: #1565c0;
  background: #e3f2fd;
  border: 1px solid #bbdefb;
}

.load-more-notification {
  color: #e65100;
  background: #fff3e0;
  border: 1px solid #ffcc02;
}

.notification-icon {
  flex-shrink: 0;
  font-size: 1rem;
}

.notification-text {
  flex: 1;
  font-weight: 500;
}

.notification-close {
  color: #666;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 3px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  padding: 0;
  font-size: 1.2rem;
  display: flex;
}

.notification-close:hover {
  color: #333;
  background: #0000001a;
}

.notification-btn {
  color: #fff;
  cursor: pointer;
  background: #1976d2;
  border: none;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 4px 12px;
  font-size: .85rem;
  font-weight: 500;
  transition: background-color .2s;
}

.notification-btn:hover {
  background: #1565c0;
}

.case-management-tab {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2px 10px;
}

.case-management-header {
  text-align: center;
  margin-bottom: 15px;
}

.case-management-header h2 {
  color: #333;
  margin-bottom: 5px;
  font-size: 2rem;
}

.case-management-header p {
  color: #666;
  margin-bottom: 10px;
  font-size: 1rem;
}

.case-stats {
  justify-content: center;
  gap: 15px;
  margin: 0 0 8px;
  display: flex;
}

.stat-item {
  text-align: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 10px;
  min-width: 120px;
  padding: 8px 12px;
  box-shadow: 0 4px 6px #0000001a;
  color: #fff !important;
}

.stat-number {
  margin-bottom: 6px;
  font-size: 2rem;
  font-weight: bold;
  display: block;
  color: #fff !important;
}

.stat-label {
  opacity: .9;
  font-size: .9rem;
  color: #fff !important;
}

.case-management-sub-tabs {
  justify-content: center;
  gap: 8px;
  margin-bottom: 8px;
  display: flex;
}

.sub-tab-btn {
  color: #666;
  cursor: pointer;
  background-color: #f8f9fa;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: all .3s;
}

.sub-tab-btn:hover {
  background-color: #e9ecef;
  border-color: #667eea;
}

.sub-tab-btn.active {
  color: #fff;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  box-shadow: 0 4px 12px #667eea4d;
}

.case-id-mapping-content {
  max-width: 1000px;
  margin: 0 auto;
}

.mapping-settings {
  background: #fff;
  border-radius: 10px;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 10px;
  padding: 12px;
  display: grid;
  box-shadow: 0 2px 10px #0000001a;
}

.setting-group {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.setting-group label {
  color: #333;
  font-size: .9rem;
  font-weight: 500;
}

.institution-id-input {
  color: #333;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: .9rem;
}

.institution-id-input:focus {
  border-color: #667eea;
  outline: none;
  box-shadow: 0 0 0 2px #667eea33;
}

.setting-group small {
  color: #666;
  font-size: .8rem;
}

.data-source-info {
  background: #f8f9fa;
  border-left: 4px solid #667eea;
  border-radius: 4px;
  padding: 10px;
}

.data-source-text {
  color: #333;
  font-size: .9rem;
  font-weight: 500;
}

.total-cases-text {
  color: #666;
  font-size: .8rem;
}

.duplicate-warning {
  color: #fff;
  background: linear-gradient(135deg, #ff9a56 0%, #ff6b6b 100%);
  border-radius: 10px;
  margin-bottom: 12px;
  padding: 12px 16px;
  box-shadow: 0 4px 6px #0000001a;
}

.warning-header {
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  display: flex;
}

.warning-icon {
  font-size: 1.2rem;
}

.warning-text {
  font-size: .95rem;
  font-weight: 500;
}

.warning-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.view-duplicates-btn {
  color: #fff;
  cursor: pointer;
  background: #fff3;
  border: 2px solid #ffffff4d;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: all .2s;
}

.view-duplicates-btn:hover {
  background: #ffffff4d;
  border-color: #ffffff80;
}

.clear-duplicates-btn {
  color: #fff;
  cursor: pointer;
  background: #dc3545cc;
  border: 2px solid #dc3545e6;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: .9rem;
  font-weight: 500;
  transition: all .2s;
}

.clear-duplicates-btn:hover {
  background: #dc3545;
  border-color: #dc3545;
}

.bulk-generation-progress {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 12px;
  box-shadow: 0 2px 4px #0000000d;
}

.progress-info {
  color: #495057;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
}

.progress-bar {
  background-color: #e9ecef;
  border-radius: 4px;
  width: 100%;
  height: 8px;
  overflow: hidden;
}

.progress-fill {
  background: linear-gradient(90deg, #007bff 0%, #0056b3 100%);
  border-radius: 4px;
  height: 100%;
  transition: width .3s;
  position: relative;
}

.progress-fill:after {
  content: "";
  background: linear-gradient(90deg, #0000 0%, #ffffff4d 50%, #0000 100%);
  animation: 2s infinite shimmer;
  position: absolute;
  inset: 0;
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}

.conflict-resolution-section {
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 8px;
  margin: 12px 0;
  padding: 15px;
}

.conflict-resolution-section h3 {
  color: #856404;
  margin-top: 0;
  margin-bottom: 10px;
}

.conflict-group {
  margin-bottom: 12px;
}

.conflict-group h4 {
  color: #856404;
  margin-bottom: 8px;
}

.conflict-group p {
  color: #6c757d;
  margin-bottom: 8px;
  font-size: 14px;
}

.conflict-list {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.conflict-item {
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 12px;
}

.conflict-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  display: flex;
}

.conflict-header strong {
  color: #495057;
  font-size: 14px;
}

.conflict-count {
  color: #dc3545;
  font-size: 12px;
  font-weight: 500;
}

.conflict-options {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.conflict-details {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  margin-top: 10px;
  padding: 10px;
}

.conflict-details p {
  color: #495057;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 500;
}

.conflict-details ul {
  margin: 0 0 10px;
  padding-left: 0;
  list-style: none;
}

.conflict-details li {
  border-bottom: 1px solid #e9ecef;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  display: flex;
}

.conflict-details li:last-child {
  border-bottom: none;
}

.local-case-id {
  color: #495057;
  background-color: #e9ecef;
  border-radius: 3px;
  padding: 2px 6px;
  font-family: monospace;
  font-size: 13px;
  font-weight: 600;
}

.resolve-conflict-btn {
  color: #fff;
  cursor: pointer;
  background-color: #28a745;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 12px;
  transition: background-color .2s;
}

.resolve-conflict-btn:hover {
  background-color: #218838;
}

.clear-conflict-btn {
  color: #fff;
  cursor: pointer;
  background-color: #dc3545;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 12px;
  transition: background-color .2s;
}

.clear-conflict-btn:hover {
  background-color: #c82333;
}

.conflict-item.resolved {
  background-color: #d4edda;
  border-left: 4px solid #28a745;
}

.conflict-item.cleared {
  background-color: #f8d7da;
  border-left: 4px solid #dc3545;
}

.conflict-item.active {
  background-color: #fff3cd;
  border-left: 4px solid #ffc107;
}

.conflict-status {
  background-color: #ffffffb3;
  border-radius: 4px;
  margin-top: 8px;
  padding: 8px;
}

.status-message {
  color: #495057;
  font-size: 14px;
  font-weight: 500;
}

.conflict-stat {
  background-color: #fff3cd !important;
  border: 1px solid #ffeaa7 !important;
}

.conflict-stat .stat-number.conflict, .conflict-stat .stat-label {
  color: #ffc107 !important;
}

.case-id-mapping-table {
  background: #fff;
  border-radius: 10px;
  padding: 12px;
  box-shadow: 0 2px 10px #0000001a;
}

.mapping-summary {
  background-color: #f8f9fa;
  border-left: 4px solid #667eea;
  border-radius: 8px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  padding: 10px;
  display: flex;
}

.summary-info p {
  color: #666;
  margin: 5px 0;
  font-size: .9rem;
}

.mapping-controls {
  align-items: center;
  gap: 10px;
  display: flex;
}

.toggle-mapped-btn {
  color: #fff;
  cursor: pointer;
  background-color: #6c757d;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: .85rem;
  font-weight: 500;
  transition: all .2s;
  display: flex;
}

.toggle-mapped-btn:hover {
  background-color: #5a6268;
  transform: translateY(-1px);
}

.toggle-mapped-btn.active {
  background-color: #007bff;
}

.toggle-mapped-btn.active:hover {
  background-color: #0056b3;
}

.show-duplicates-btn {
  color: #856404;
  cursor: pointer;
  background-color: #ffc107;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: .85rem;
  font-weight: 500;
  transition: all .2s;
  display: flex;
}

.show-duplicates-btn:hover {
  background-color: #e0a800;
  transform: translateY(-1px);
}

.show-duplicates-btn.active {
  color: #fff;
  background-color: #856404;
}

.show-duplicates-btn.active:hover {
  background-color: #6c4a00;
}

.refresh-conflicts-btn {
  color: #fff;
  cursor: pointer;
  background-color: #17a2b8;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: .85rem;
  font-weight: 500;
  transition: all .2s;
  display: flex;
}

.refresh-conflicts-btn:hover {
  background-color: #138496;
  transform: translateY(-1px);
}

.generate-all-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  transition: all .3s;
  box-shadow: 0 2px 4px #0000001a;
}

.generate-all-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #218838 0%, #1ea085 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px #00000026;
}

.generate-all-btn:disabled {
  cursor: not-allowed;
  box-shadow: none;
  background: #6c757d;
  transform: none;
}

.generate-all-btn.generating {
  background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
  animation: 1.5s infinite pulse;
}

@keyframes pulse {
  0% {
    opacity: 1;
  }

  50% {
    opacity: .7;
  }

  100% {
    opacity: 1;
  }
}

.table-container {
  border: 1px solid #ddd;
  border-radius: 8px;
  max-height: 500px;
  overflow-y: auto;
}

.case-id-table {
  border-collapse: collapse;
  color: #333;
  width: 100%;
  font-size: .9rem;
}

.case-id-table th {
  text-align: left;
  color: #333;
  z-index: 1;
  background-color: #f8f9fa;
  border-bottom: 2px solid #ddd;
  padding: 10px;
  font-weight: 600;
  position: sticky;
  top: 0;
}

.sortable-header {
  cursor: pointer;
  user-select: none;
  transition: background-color .2s;
}

.sortable-header:hover {
  background-color: #e9ecef !important;
}

.case-id-table td {
  vertical-align: middle;
  color: #333;
  border-bottom: 1px solid #eee;
  padding: 8px 10px;
}

.case-id-table tr:hover {
  background-color: #f8f9fa;
}

.mapped-case-id {
  font-weight: 600;
  color: #007bff !important;
}

.bdsa-case-id-input {
  color: #333;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
  padding: 6px 10px;
  font-family: monospace;
  font-size: .85rem;
}

.bdsa-case-id-input:focus {
  border-color: #667eea;
  outline: none;
  box-shadow: 0 0 0 2px #667eea33;
}

.bdsa-case-id-input.duplicate {
  color: #856404 !important;
  background-color: #fff3cd !important;
  border: 2px solid #ffc107 !important;
  font-weight: bold !important;
}

.bdsa-case-id-input.duplicate:focus {
  border-color: #e0a800 !important;
  box-shadow: 0 0 0 2px #ffc1074d !important;
}

.generate-bdsa-id-btn {
  color: #fff;
  cursor: pointer;
  background-color: #007bff;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: .8rem;
  transition: background-color .2s;
}

.generate-bdsa-id-btn:hover:not(:disabled) {
  background-color: #0056b3;
}

.generate-bdsa-id-btn:disabled {
  cursor: not-allowed;
  opacity: .6;
  background-color: #6c757d;
}

.duplicate-bdsa-case {
  background-color: #fff3cd !important;
  border-left: 4px solid #ffc107 !important;
}

.duplicate-bdsa-case td {
  background-color: #fff3cd !important;
}

.duplicate-bdsa-case .bdsa-case-id-input {
  color: #856404 !important;
  background-color: #fff3cd !important;
  border: 2px solid #ffc107 !important;
  font-weight: bold !important;
}

.case-id-table tr.duplicate-bdsa-case {
  background-color: #fff3cd !important;
  border-left: 4px solid #ffc107 !important;
}

.case-id-table tr.duplicate-bdsa-case td {
  background-color: #fff3cd !important;
}

.case-id-table tr.duplicate-bdsa-case .mapped-case-id {
  color: #856404 !important;
  background-color: #ffeaa7 !important;
  border-radius: 3px !important;
  padding: 2px 6px !important;
  font-weight: bold !important;
}

.protocol-mapping-content {
  max-width: 1000px;
  margin: 0 auto;
}

.no-case-selected {
  text-align: center;
  color: #666;
  background: #fff;
  border-radius: 10px;
  padding: 60px 20px;
  box-shadow: 0 2px 10px #0000001a;
}

.no-case-selected p {
  font-size: 1rem;
  line-height: 1.5;
}

.protocol-mapping-content {
  grid-template-columns: 1fr 2fr;
  gap: 20px;
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
}

.cases-panel {
  background: #fff;
  border-radius: 10px;
  height: fit-content;
  padding: 15px;
  box-shadow: 0 2px 10px #0000001a;
}

.cases-panel h3 {
  color: #333;
  margin: 0 0 15px;
  font-size: 1.2rem;
}

.no-stain-id-configured, .no-unmapped-cases {
  text-align: center;
  color: #666;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 20px;
}

.no-unmapped-cases ul {
  text-align: left;
  margin: 10px 0;
  padding-left: 20px;
}

.case-selection-controls {
  margin-bottom: 15px;
}

.case-selection-controls label {
  color: #333;
  margin-bottom: 8px;
  font-weight: 500;
  display: block;
}

.case-select-dropdown {
  color: #333;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
  margin-bottom: 10px;
  padding: 8px 12px;
  font-size: .9rem;
}

.case-select-dropdown:focus {
  border-color: #667eea;
  outline: none;
  box-shadow: 0 0 0 2px #667eea33;
}

.filter-control {
  margin-top: 10px;
}

.checkbox-label {
  color: #666;
  cursor: pointer;
  align-items: center;
  gap: 8px;
  font-size: .9rem;
  display: flex;
}

.checkbox-label input[type="checkbox"] {
  margin: 0;
}

.selected-case-summary {
  background: #f8f9fa;
  border-left: 4px solid #667eea;
  border-radius: 8px;
  padding: 12px;
}

.selected-case-summary h4 {
  color: #333;
  margin: 0 0 5px;
  font-size: 1.1rem;
}

.selected-case-summary p {
  color: #666;
  margin: 0 0 10px;
  font-size: .9rem;
}

.case-slides {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.slide-badge {
  border-radius: 4px;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font-size: .8rem;
  font-weight: 500;
  display: inline-flex;
}

.slide-badge.unmapped {
  color: #856404;
  background: #fff3cd;
  border: 1px solid #ffeaa7;
}

.slide-badge.mapped {
  color: #155724;
  background: #d4edda;
  border: 1px solid #c3e6cb;
}

.slide-count-badge {
  background: #0000001a;
  border-radius: 2px;
  padding: 1px 4px;
  font-size: .7rem;
}

.mapping-panel {
  background: #fff;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 10px #0000001a;
}

.case-header-with-actions {
  border-bottom: 1px solid #dee2e6;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 15px;
  display: flex;
}

.case-header-with-actions h3 {
  color: #333;
  margin: 0;
  font-size: 1.3rem;
}

.action-buttons {
  gap: 10px;
  display: flex;
}

.hide-mapped-btn {
  color: #fff;
  cursor: pointer;
  background: #6c757d;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: .85rem;
  font-weight: 500;
  transition: all .2s;
}

.hide-mapped-btn:hover {
  background: #5a6268;
}

.hide-mapped-btn.active {
  background: #007bff;
}

.slides-mapping {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.slide-mapping {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 15px;
}

.slide-info {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  display: flex;
}

.slide-header {
  align-items: center;
  gap: 10px;
  display: flex;
}

.slide-id {
  color: #333;
  font-size: 1rem;
  font-weight: 600;
}

.expand-toggle-btn {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 2px;
  padding: 2px 4px;
  font-size: .8rem;
  transition: background-color .2s;
}

.expand-toggle-btn:hover {
  background: #0000001a;
}

.stain-type {
  color: #666;
  font-size: .9rem;
}

.status {
  font-size: .9rem;
  font-weight: 500;
}

.status.mapped {
  color: #28a745;
}

.status.unmapped {
  color: #ffc107;
}

.individual-slides {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin-top: 15px;
  padding: 15px;
}

.individual-slides-header {
  border-bottom: 1px solid #dee2e6;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding-bottom: 10px;
  display: flex;
}

.selection-controls {
  gap: 8px;
  display: flex;
}

.select-all-btn, .deselect-all-btn {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: none;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: .8rem;
  transition: background-color .2s;
}

.select-all-btn:hover, .deselect-all-btn:hover {
  background: #0056b3;
}

.selected-count {
  color: #666;
  font-size: .8rem;
}

.individual-slide {
  border-bottom: 1px solid #f0f0f0;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  display: flex;
}

.individual-slide:last-child {
  border-bottom: none;
}

.slide-checkbox {
  cursor: pointer;
  color: #333;
  align-items: center;
  gap: 8px;
  font-size: .9rem;
  display: flex;
}

.slide-checkbox input[type="checkbox"] {
  margin: 0;
}

.slide-detail-id {
  font-family: monospace;
  font-size: .85rem;
}

.slide-detail-status {
  font-size: .9rem;
  font-weight: 500;
}

.slide-detail-status.mapped {
  color: #28a745;
}

.slide-detail-status.unmapped {
  color: #ffc107;
}

.protocol-selection {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin-top: 15px;
  padding: 15px;
}

.protocol-buttons {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.protocol-btn {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .85rem;
  font-weight: 500;
  transition: all .2s;
}

.protocol-btn:hover {
  background: #0056b3;
  transform: translateY(-1px);
}

.protocol-btn:active {
  transform: translateY(0);
}

.applied-protocols {
  background: #e8f5e8;
  border: 1px solid #c3e6c3;
  border-radius: 6px;
  margin-top: 15px;
  padding: 15px;
}

.applied-protocols-header {
  margin-bottom: 10px;
}

.applied-label {
  color: #2d5a2d;
  font-size: .9rem;
  font-weight: 600;
}

.applied-protocol-list {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.applied-protocol-item {
  background-color: #fff;
  border: 1px solid #d4edda;
  border-radius: 4px;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  font-size: .85rem;
  display: flex;
}

.protocol-name {
  color: #155724;
  font-weight: 600;
}

.slide-info {
  color: #6c757d;
  font-style: italic;
}

.remove-protocol-btn {
  color: #fff;
  cursor: pointer;
  background-color: #dc3545;
  border: none;
  border-radius: 3px;
  margin-left: auto;
  padding: 4px 8px;
  font-size: .8rem;
  transition: background-color .2s;
}

.remove-protocol-btn:hover {
  background-color: #c82333;
}

.slide-details {
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  display: flex;
}

.slide-protocols {
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
  display: flex;
}

.slide-protocol-tag {
  color: #1976d2;
  background-color: #e3f2fd;
  border: 1px solid #bbdefb;
  border-radius: 3px;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  font-size: .75rem;
  display: inline-flex;
}

.remove-slide-protocol-btn {
  color: #fff;
  cursor: pointer;
  background-color: #f44336;
  border: none;
  border-radius: 2px;
  padding: 1px 4px;
  font-size: .7rem;
  line-height: 1;
  transition: background-color .2s;
}

.remove-slide-protocol-btn:hover {
  background-color: #d32f2f;
}

.status.partially-mapped {
  color: #ff9800;
  background-color: #fff3e0;
  border: 1px solid #ffcc02;
  border-radius: 3px;
  padding: 2px 6px;
  font-size: .8rem;
}

.no-case-selected {
  text-align: center;
  color: #666;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 40px 20px;
}

.no-case-selected h3 {
  color: #333;
  margin-bottom: 10px;
}

@media (width <= 768px) {
  .case-stats {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }

  .stat-item {
    min-width: 150px;
  }

  .mapping-settings {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .case-management-sub-tabs {
    flex-direction: column;
    align-items: center;
  }

  .sub-tab-btn {
    width: 100%;
    max-width: 300px;
  }

  .mapping-summary {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .mapping-controls {
    flex-direction: column;
    width: 100%;
  }

  .generate-all-btn {
    text-align: center;
    width: 100%;
  }

  .warning-actions {
    flex-direction: column;
    gap: 10px;
  }

  .protocol-mapping-content {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .case-header-with-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .action-buttons {
    justify-content: flex-start;
    width: 100%;
  }

  .slide-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .individual-slides-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .protocol-buttons {
    justify-content: center;
  }
}

.apply-all-modal-content {
  width: 90%;
  max-width: 600px;
}

.apply-all-info {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin-bottom: 20px;
  padding: 16px;
}

.apply-all-info p {
  color: #6c757d;
  margin: 0 0 8px;
  font-size: .9rem;
}

.apply-all-info p:last-child {
  margin-bottom: 0;
}

.apply-all-actions {
  text-align: center;
  justify-content: center;
  gap: 12px;
  margin: 20px 0;
  display: flex;
}

.start-apply-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #007bff, #0056b3);
  border: none;
  border-radius: 6px;
  padding: 12px 24px;
  font-size: 1rem;
  font-weight: 600;
  transition: all .2s;
}

.start-apply-btn:hover {
  background: linear-gradient(135deg, #0056b3, #004085);
  transform: translateY(-1px);
}

.start-apply-btn:disabled {
  cursor: not-allowed;
  background: #6c757d;
  transform: none;
}

.cancel-apply-btn {
  color: #fff;
  cursor: pointer;
  background: #6c757d;
  border: none;
  border-radius: 6px;
  padding: 12px 24px;
  font-size: 1rem;
  font-weight: 600;
  transition: all .2s;
}

.cancel-apply-btn:hover {
  background: #5a6268;
  transform: translateY(-1px);
}

.apply-all-progress {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin: 20px 0;
  padding: 16px;
}

.progress-header {
  margin-bottom: 16px;
}

.progress-header h3 {
  color: #495057;
  margin: 0 0 8px;
  font-size: 1.1rem;
}

.current-case {
  color: #6c757d;
  background: #e9ecef;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: .9rem;
  display: inline-block;
}

.progress-bar {
  background-color: #e9ecef;
  border-radius: 6px;
  width: 100%;
  height: 12px;
  margin-bottom: 12px;
  overflow: hidden;
}

.progress-fill {
  background: linear-gradient(90deg, #28a745, #20c997);
  border-radius: 6px;
  height: 100%;
  transition: width .3s;
}

.progress-text {
  color: #495057;
  margin-bottom: 8px;
  font-size: .9rem;
  font-weight: 600;
}

.progress-details {
  color: #6c757d;
  gap: 16px;
  font-size: .8rem;
  display: flex;
}

.apply-all-results {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin: 20px 0;
  padding: 16px;
}

.apply-all-results h3 {
  color: #495057;
  margin: 0 0 16px;
  font-size: 1.1rem;
}

.error-message {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin-bottom: 16px;
  padding: 12px;
}

.success-message {
  color: #155724;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  margin-bottom: 16px;
  padding: 12px;
}

.results-summary {
  margin-bottom: 8px;
  font-weight: 600;
}

.results-details {
  opacity: .9;
  font-size: .9rem;
}

.results-actions {
  text-align: center;
}

.close-results-btn {
  color: #fff;
  cursor: pointer;
  background: #6c757d;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
  transition: background-color .2s;
}

.close-results-btn:hover {
  background: #5a6268;
}

.modal-overlay {
  z-index: 1000;
  background: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.modal-content {
  background: #fff;
  border-radius: 8px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 4px 20px #00000026;
}

.modal-header {
  border-bottom: 1px solid #dee2e6;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  display: flex;
}

.modal-header h2 {
  color: #495057;
  margin: 0;
  font-size: 1.25rem;
}

.close-modal-btn {
  color: #6c757d;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  font-size: 1.5rem;
  transition: all .2s;
  display: flex;
}

.close-modal-btn:hover:not(:disabled) {
  color: #495057;
  background: #f8f9fa;
}

.close-modal-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.modal-body {
  padding: 24px;
}

.stain-protocol-mapping {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.stain-protocol-mapping .header {
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 20px;
  padding-bottom: 15px;
}

.auto-apply-section {
  justify-content: center;
  margin-top: 15px;
  display: flex;
}

.case-navigation-compact {
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: flex;
}

.case-pill {
  text-align: center;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  min-width: 200px;
  padding: 8px 16px;
}

.case-id {
  color: #333;
  margin-bottom: 2px;
  font-size: 16px;
  font-weight: 600;
}

.case-details {
  color: #666;
  font-size: 11px;
}

.unmapped-counts {
  color: #dc3545;
  margin-top: 2px;
  font-size: 10px;
  font-weight: 500;
}

.unmapped-stain {
  color: #dc3545;
}

.unmapped-region {
  color: #fd7e14;
}

.nav-btn {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  padding: 8px;
  font-size: 14px;
  transition: background-color .2s;
  display: flex;
}

.nav-btn:hover:not(:disabled) {
  background: #0056b3;
}

.nav-btn:disabled {
  cursor: not-allowed;
  opacity: .6;
  background: #6c757d;
}

.no-cases {
  text-align: center;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 40px;
}

.no-cases p {
  color: #666;
  margin: 10px 0;
}

.no-cases ul {
  text-align: left;
  margin: 20px 0;
  display: inline-block;
}

.mapping-interface {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 4px #0000001a;
}

.mapping-interface h3 {
  color: #333;
  margin: 0 0 10px;
  font-size: 20px;
}

.mapping-interface > p {
  color: #666;
  margin: 0 0 20px;
  font-size: 14px;
}

.no-unmapped-slides {
  text-align: center;
  color: #666;
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 40px;
}

.stain-groups {
  gap: 20px;
  display: grid;
}

.stain-group {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 20px;
}

.group-header {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding: 10px;
  display: flex;
}

.group-header.clickable {
  cursor: pointer;
  transition: background-color .2s;
}

.group-header.clickable:hover {
  background: #e9ecef;
}

.group-title {
  align-items: center;
  gap: 8px;
  display: flex;
}

.expand-icon {
  color: #666;
  font-size: 12px;
  transition: transform .2s;
}

.group-header h4 {
  color: #333;
  margin: 0;
  font-size: 16px;
}

.group-stats {
  align-items: center;
  gap: 10px;
  display: flex;
}

.group-stats p {
  color: #666;
  margin: 0;
  font-size: 14px;
}

.mapped-count {
  color: #28a745;
  font-size: 12px;
  font-weight: 500;
}

.unmapped-count {
  color: #856404;
  font-size: 12px;
  font-weight: 500;
}

.slide-list {
  margin-bottom: 15px;
}

.slide-item {
  color: #495057;
  background: #fff;
  border: 1px solid #e1e5e9;
  border-radius: 8px;
  flex-direction: column;
  margin: 6px 0;
  padding: 12px 16px;
  font-size: 13px;
  transition: all .2s;
  display: flex;
  position: relative;
  box-shadow: 0 1px 3px #0000001a;
}

.slide-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px #00000026;
}

.slide-item.mapped {
  background: linear-gradient(135deg, #f8fff9 0%, #fff 100%);
  border-left: 4px solid #28a745;
}

.slide-item.unmapped {
  background: linear-gradient(135deg, #fff8f8 0%, #fff 100%);
  border-left: 4px solid #dc3545;
}

.slide-main-info {
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
  display: flex;
}

.slide-main-info span {
  margin-right: 10px;
}

.slide-main-info span:last-child {
  margin-right: 0;
}

.existing-protocols {
  color: #495057;
  border-top: 1px solid #e9ecef;
  margin-top: 8px;
  padding-top: 8px;
  font-size: 12px;
}

.existing-protocols strong {
  color: #28a745;
  margin-right: 8px;
  font-weight: 600;
}

.group-protocols {
  color: #28a745;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  margin: 8px 0;
  padding: 8px;
  font-size: 12px;
}

.protocol-chips {
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
  display: flex;
}

.protocol-chip {
  color: #fff;
  white-space: nowrap;
  background: #28a745;
  border-radius: 12px;
  align-items: center;
  min-width: fit-content;
  max-width: 200px;
  padding: 3px 6px;
  font-size: 11px;
  font-weight: 500;
  display: inline-flex;
  position: relative;
  overflow: hidden;
}

.protocol-chip > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: calc(100% - 24px);
  display: inline-block;
  overflow: hidden;
}

.group-chip {
  background: #007bff;
}

.group-chip.fully-applied {
  color: #fff;
  background: #28a745;
}

.group-chip.partially-applied {
  color: #212529;
  background: #ffc107;
}

.remove-protocol-btn {
  color: #fff;
  cursor: pointer;
  z-index: 1;
  background: none;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  margin-left: 4px;
  padding: 0;
  font-size: 14px;
  font-weight: bold;
  transition: background-color .2s;
  display: flex;
  position: relative;
}

.remove-protocol-btn:hover {
  background: #fff3;
}

.available-protocols {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  margin-bottom: 12px;
  display: flex;
}

.add-protocol-btn {
  color: #fff;
  cursor: pointer;
  z-index: 1;
  background: #6c757d;
  border: none;
  border-radius: 12px;
  align-items: center;
  gap: 3px;
  margin: 1px;
  padding: 5px 10px;
  font-size: 13px;
  font-weight: 500;
  transition: all .2s;
  display: flex;
  position: relative;
}

.add-protocol-btn:hover {
  background: #5a6268;
  transform: translateY(-1px);
}

.add-protocol-btn.partially-applied {
  color: #212529;
  background: #ffc107;
}

.add-protocol-btn.partially-applied:hover {
  background: #e0a800;
  transform: translateY(-1px);
}

.add-protocol-btn.suggested {
  color: #fff;
  background: linear-gradient(135deg, #28a745, #20c997);
  border: 2px solid #28a745;
  font-weight: 600;
  animation: 2s infinite suggestedPulse;
  box-shadow: 0 2px 8px #28a7454d;
}

.add-protocol-btn.suggested:hover {
  background: linear-gradient(135deg, #218838, #1ea085);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #28a74566;
}

.add-protocol-btn.suggested.partially-applied {
  background: linear-gradient(135deg, #ffc107, #fd7e14);
  border-color: #ffc107;
  box-shadow: 0 2px 8px #ffc1074d;
}

.add-protocol-btn.suggested.partially-applied:hover {
  background: linear-gradient(135deg, #e0a800, #e55a00);
  box-shadow: 0 4px 12px #ffc10766;
}

@keyframes suggestedPulse {
  0%, 100% {
    box-shadow: 0 2px 8px #28a7454d;
  }

  50% {
    box-shadow: 0 2px 12px #28a74580;
  }
}

.auto-apply-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #6f42c1, #e83e8c);
  border: none;
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  transition: all .3s;
  display: flex;
  box-shadow: 0 2px 8px #6f42c14d;
}

.auto-apply-btn:hover {
  background: linear-gradient(135deg, #5a2d91, #d63384);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #6f42c166;
}

.skip-unmapped-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #28a745, #20c997);
  border: none;
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  transition: all .3s;
  display: flex;
  box-shadow: 0 2px 8px #28a7454d;
}

.skip-unmapped-btn:hover {
  background: linear-gradient(135deg, #218838, #1ea085);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px #28a74566;
}

.auto-apply-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px #6f42c14d;
}

.status-indicator {
  background: #0000000d;
  border-radius: 12px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 600;
}

.slide-item.mapped .status-indicator {
  color: #28a745;
  background: #28a7451a;
}

.slide-item.unmapped .status-indicator {
  color: #dc3545;
  background: #dc35451a;
}

.protocol-selection {
  align-items: center;
  gap: 10px;
  display: flex;
}

.protocol-selection label {
  color: #333;
  font-size: 14px;
  font-weight: 500;
}

.protocol-select {
  background: #fff;
  border: 1px solid #ced4da;
  border-radius: 4px;
  flex: 1;
  max-width: 400px;
  padding: 8px 12px;
  font-size: 14px;
}

.protocol-select:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 2px #007bff40;
}

.slides-table-container {
  margin-top: 15px;
  overflow-x: auto;
}

.slides-table {
  border-collapse: collapse;
  background: #fff;
  border-radius: 8px;
  width: 100%;
  overflow: hidden;
  box-shadow: 0 2px 4px #0000001a;
}

.slides-table thead {
  background: #f8f9fa;
}

.slides-table th {
  text-align: left;
  color: #495057;
  border-bottom: 2px solid #dee2e6;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
}

.slides-table td {
  vertical-align: top;
  border-bottom: 1px solid #e9ecef;
  padding: 12px 16px;
}

.slide-row.mapped {
  background-color: #f8fff8;
}

.slide-row.unmapped {
  background-color: #fff8f8;
}

.slide-row:hover {
  background-color: #f1f3f4;
}

.file-cell {
  min-width: 200px;
}

.file-name {
  color: #333;
  margin-bottom: 4px;
  font-weight: 500;
}

.slide-id {
  color: #666;
  font-family: monospace;
  font-size: 11px;
}

.region-cell {
  color: #495057;
  min-width: 100px;
}

.status-cell {
  min-width: 100px;
}

.status-badge {
  border-radius: 12px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
}

.status-badge.mapped {
  color: #155724;
  background-color: #d4edda;
}

.status-badge.unmapped {
  color: #721c24;
  background-color: #f8d7da;
}

.protocols-cell {
  min-width: 150px;
}

.protocol-tags {
  flex-wrap: wrap;
  gap: 4px;
  display: flex;
}

.protocol-tag {
  color: #1565c0;
  background: #e3f2fd;
  border-radius: 4px;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  font-size: 11px;
  display: inline-flex;
}

.remove-protocol-btn {
  color: #d32f2f;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  padding: 0;
  font-size: 12px;
  display: flex;
}

.remove-protocol-btn:hover {
  background-color: #ffebee;
}

.no-protocols {
  color: #999;
  font-size: 12px;
  font-style: italic;
}

.actions-cell {
  white-space: nowrap;
  min-width: 200px;
  max-width: 300px;
  overflow-x: auto;
}

.slide-actions {
  align-items: center;
  gap: 4px;
  min-width: max-content;
  display: flex;
}

.apply-protocol-btn {
  color: #fff;
  cursor: pointer;
  background: #6c757d;
  border: none;
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 13px;
  transition: background-color .2s;
}

.apply-protocol-btn:hover {
  background: #5a6268;
}

.more-protocols {
  color: #666;
  font-size: 11px;
  font-style: italic;
}

.add-protocol-btn[title]:hover, .protocol-chip[title]:hover {
  z-index: 10;
}

.available-protocols, .protocol-chips {
  z-index: 1;
  position: relative;
}

.protocol-debug-panel {
  background: #f8f9fa;
  max-width: 1400px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 20px;
}

.debug-header {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 20px;
  padding: 20px;
  box-shadow: 0 2px 4px #0000001a;
}

.debug-header h2 {
  color: #2c3e50;
  margin: 0 0 8px;
  font-size: 1.5rem;
}

.debug-header p {
  color: #666;
  margin: 0 0 16px;
  font-size: .9rem;
}

.refresh-btn {
  color: #fff;
  cursor: pointer;
  background: #3498db;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: .9rem;
}

.refresh-btn:hover {
  background: #2980b9;
}

.debug-tabs {
  gap: 8px;
  margin-bottom: 20px;
  display: flex;
}

.debug-tabs button {
  cursor: pointer;
  background: #fff;
  border: 2px solid #e9ecef;
  border-radius: 6px;
  padding: 12px 20px;
  font-weight: 500;
  transition: all .2s;
}

.debug-tabs button:hover {
  background: #f8f9ff;
  border-color: #3498db;
}

.debug-tabs button.active {
  color: #fff;
  background: #3498db;
  border-color: #3498db;
}

.debug-content {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  display: grid;
}

.protocol-list {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 4px #0000001a;
}

.protocol-list h3 {
  color: #2c3e50;
  margin: 0 0 16px;
  font-size: 1.2rem;
}

.protocol-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  max-height: 400px;
  display: grid;
  overflow-y: auto;
}

.protocol-card {
  cursor: pointer;
  background: #f8f9fa;
  border: 2px solid #e9ecef;
  border-radius: 6px;
  padding: 12px;
  transition: all .2s;
}

.protocol-card:hover {
  background: #f8f9ff;
  border-color: #3498db;
}

.protocol-card.selected {
  background: #e3f2fd;
  border-color: #3498db;
}

.protocol-name {
  color: #2c3e50;
  margin-bottom: 8px;
  font-size: .9rem;
  font-weight: 600;
}

.protocol-stats {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.protocol-stats span {
  color: #666;
  background: #e9ecef;
  border-radius: 3px;
  padding: 2px 6px;
  font-size: .75rem;
}

.confidence.high {
  color: #155724;
  background: #d4edda;
}

.confidence.medium {
  color: #856404;
  background: #fff3cd;
}

.confidence.low {
  color: #721c24;
  background: #f8d7da;
}

.mapping-details {
  background: #fff;
  border-radius: 8px;
  max-height: 600px;
  padding: 20px;
  overflow-y: auto;
  box-shadow: 0 2px 4px #0000001a;
}

.mapping-details h3 {
  color: #2c3e50;
  margin: 0 0 16px;
  font-size: 1.2rem;
}

.summary-stats {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
  display: grid;
}

.stat {
  text-align: center;
  background: #f8f9fa;
  border-radius: 6px;
  padding: 12px;
}

.stat .label {
  color: #666;
  margin-bottom: 4px;
  font-size: .8rem;
  display: block;
}

.stat .value {
  color: #2c3e50;
  font-size: 1.2rem;
  font-weight: 600;
  display: block;
}

.tokens-section, .types-section, .cases-section {
  margin-bottom: 20px;
}

.tokens-section h4, .types-section h4, .cases-section h4 {
  color: #2c3e50;
  margin: 0 0 12px;
  font-size: 1rem;
}

.tokens-list, .types-list {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.token, .type-tag {
  color: #1565c0;
  background: #e3f2fd;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: .8rem;
  font-weight: 500;
}

.type-tag {
  color: #7b1fa2;
  background: #f3e5f5;
}

.cases-table {
  background: #f8f9fa;
  border-radius: 6px;
  overflow: hidden;
}

.table-header {
  color: #495057;
  background: #e9ecef;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 12px;
  padding: 8px 12px;
  font-size: .8rem;
  font-weight: 600;
  display: grid;
}

.table-row {
  border-bottom: 1px solid #e9ecef;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 12px;
  padding: 8px 12px;
  font-size: .8rem;
  display: grid;
}

.table-row:last-child {
  border-bottom: none;
}

.table-row span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.table-footer {
  color: #666;
  text-align: center;
  background: #e9ecef;
  padding: 8px 12px;
  font-size: .8rem;
}

@media (width <= 1200px) {
  .debug-content {
    grid-template-columns: 1fr;
  }
}

@media (width <= 768px) {
  .protocol-debug-panel {
    padding: 12px;
  }

  .protocol-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .summary-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

.token-stats-section {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin: 20px 0;
  padding: 20px;
}

.token-stats-section h3 {
  color: #495057;
  margin: 0 0 8px;
  font-size: 16px;
}

.token-stats-section p {
  color: #6c757d;
  margin: 0 0 16px;
  font-size: 14px;
}

.token-stats-table {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  overflow: hidden;
}

.table-header {
  color: #495057;
  background: #e9ecef;
  border-bottom: 1px solid #dee2e6;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 12px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  display: grid;
}

.table-row {
  border-bottom: 1px solid #f1f3f4;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  font-size: 14px;
  display: grid;
}

.table-row:hover {
  background: #f8f9fa;
}

.table-row.priority {
  background: #fff3cd;
}

.table-row.priority:hover {
  background: #ffeaa7;
}

.col-token {
  align-items: center;
  gap: 8px;
  display: flex;
}

.token-name {
  color: #495057;
  font-weight: 500;
}

.priority-badge {
  font-size: 12px;
}

.col-count {
  color: #495057;
  text-align: right;
  font-weight: 500;
}

.col-percentage {
  color: #6c757d;
  text-align: right;
  font-weight: 500;
}

.col-mapped {
  text-align: center;
}

.mapped-status {
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 500;
}

.mapped-status.mapped {
  color: #155724;
  background: #d4edda;
  border: 1px solid #c3e6cb;
}

.mapped-status.unmapped {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
}

.dsa-folder-browser-modal-overlay {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.dsa-folder-browser-modal {
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 90%;
  max-width: 800px;
  max-height: 80vh;
  display: flex;
  box-shadow: 0 4px 20px #00000026;
}

.dsa-folder-browser-header {
  border-bottom: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  display: flex;
}

.dsa-folder-browser-header h3 {
  color: #333;
  margin: 0;
}

.dsa-header-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.dsa-refresh-btn {
  cursor: pointer;
  color: #495057;
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.dsa-refresh-btn:hover:not(:disabled) {
  color: #2196f3;
  background-color: #e3f2fd;
  border-color: #2196f3;
  transform: scale(1.05);
}

.dsa-refresh-btn:disabled {
  color: #6c757d;
  cursor: not-allowed;
  opacity: .7;
  background-color: #f8f9fa;
  border-color: #dee2e6;
}

.dsa-refresh-btn.success {
  color: #155724;
  background-color: #d4edda;
  border-color: #28a745;
}

.dsa-close-btn {
  cursor: pointer;
  color: #666;
  background: none;
  border: none;
  border-radius: 4px;
  padding: 5px;
  font-size: 20px;
}

.dsa-close-btn:hover {
  color: #333;
  background-color: #f0f0f0;
}

.dsa-folder-browser-content {
  flex: 1;
  max-height: 60vh;
  padding: 20px;
  overflow-y: auto;
}

.dsa-loading, .dsa-error, .dsa-empty {
  color: #666;
  justify-content: center;
  align-items: center;
  padding: 40px;
  display: flex;
}

.dsa-error {
  flex-direction: column;
  gap: 10px;
}

.dsa-error button {
  color: #fff;
  cursor: pointer;
  background-color: #007bff;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
}

.dsa-error button:hover {
  background-color: #0056b3;
}

.dsa-collections {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.dsa-collection, .dsa-folder {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}

.dsa-folder-header {
  cursor: pointer;
  user-select: none;
  border-bottom: 1px solid #f0f0f0;
  align-items: center;
  padding: 12px 16px;
  transition: background-color .2s;
  display: flex;
  position: relative;
}

.dsa-folder-header.selected {
  background-color: #bbdefb;
  border-left: 3px solid #2196f3;
}

.select-collection-btn {
  color: #fff;
  cursor: pointer;
  background-color: #007bff;
  border: none;
  border-radius: 3px;
  margin-left: auto;
  padding: 4px 8px;
  font-size: 12px;
  transition: background-color .2s;
}

.select-collection-btn:hover {
  background-color: #0056b3;
}

.select-folder-btn {
  color: #fff;
  cursor: pointer;
  background-color: #28a745;
  border: none;
  border-radius: 3px;
  margin-left: auto;
  padding: 4px 8px;
  font-size: 12px;
  transition: background-color .2s;
}

.select-folder-btn:hover {
  background-color: #1e7e34;
}

.dsa-folder-header:hover {
  background-color: #f8f9fa;
}

.dsa-folder-icon {
  margin-right: 8px;
  font-size: 16px;
  transition: transform .2s;
}

.dsa-folder-icon.expanded {
  transform: rotate(0);
}

.dsa-folder-name {
  color: #333;
  flex: 1;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  display: flex;
}

.bdsa-indicator {
  color: #28a745;
  cursor: help;
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  margin-left: 4px;
  padding: 2px 6px;
  font-size: 14px;
  transition: all .2s;
  display: inline-flex;
}

.bdsa-indicator:hover {
  background-color: #c3e6cb;
  border-color: #b8dacc;
  transform: scale(1.05);
}

.bdsa-metadata-indicators {
  align-items: center;
  gap: 4px;
  margin-left: 8px;
  display: inline-flex;
}

.bdsa-stats {
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  display: flex;
}

.stat-badge {
  white-space: nowrap;
  border: 1px solid;
  border-radius: 12px;
  align-items: center;
  gap: 2px;
  padding: 2px 6px;
  font-size: 11px;
  font-weight: 500;
  transition: all .2s;
  display: inline-flex;
}

.stat-badge:hover {
  transform: scale(1.05);
  box-shadow: 0 2px 4px #0000001a;
}

.stat-badge.stain {
  color: #2e7d32;
  background-color: #e8f5e8;
  border-color: #4caf50;
}

.stat-badge.region {
  color: #1565c0;
  background-color: #e3f2fd;
  border-color: #2196f3;
}

.stat-badge.caseid {
  color: #e65100;
  background-color: #fff3e0;
  border-color: #ff9800;
}

.stat-badge.column {
  color: #6a1b9a;
  background-color: #f3e5f5;
  border-color: #9c27b0;
}

.stat-badge.regex {
  color: #00695c;
  background-color: #e0f2f1;
  border-color: #009688;
}

.stat-badge.institution {
  color: #ad1457;
  background-color: #fce4ec;
  border-color: #e91e63;
}

.stat-badge.metadata-folder {
  color: #283593;
  background-color: #e8eaf6;
  border-color: #3f51b5;
}

.stat-badge.metadata-ref {
  color: #f57f17;
  background-color: #fff8e1;
  border-color: #ffc107;
}

.bdsa-indicator.metadata-folder {
  color: #2e7d32;
  background-color: #e8f5e8;
  border-color: #4caf50;
}

.bdsa-indicator.indexed-folder {
  color: #1565c0;
  background-color: #e3f2fd;
  border-color: #2196f3;
}

.bdsa-indicator.wrangler-touched {
  color: #e65100;
  background-color: #fff3e0;
  border-color: #ff9800;
}

.dsa-folder-type {
  color: #666;
  background-color: #e9ecef;
  border-radius: 12px;
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 12px;
}

.dsa-folder-contents {
  background-color: #fafafa;
  padding: 8px 0;
}

.dsa-resource-item {
  cursor: pointer;
  border-left: 3px solid #0000;
  align-items: center;
  padding: 8px 16px;
  transition: background-color .2s;
  display: flex;
}

.dsa-resource-item:hover {
  background-color: #e3f2fd;
}

.dsa-resource-item.selected {
  background-color: #bbdefb;
  border-left-color: #2196f3;
}

.dsa-resource-icon {
  margin-right: 8px;
  font-size: 14px;
}

.dsa-resource-name {
  color: #333;
  flex: 1;
}

.dsa-resource-type {
  color: #666;
  background-color: #e3f2fd;
  border-radius: 10px;
  margin-left: 8px;
  padding: 2px 6px;
  font-size: 11px;
}

.dsa-folder-browser-footer {
  background-color: #f8f9fa;
  border-top: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  display: flex;
}

.dsa-selection-info {
  color: #666;
  font-size: 14px;
}

.dsa-footer-buttons {
  gap: 12px;
  display: flex;
}

.dsa-cancel-btn, .dsa-confirm-btn {
  cursor: pointer;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 14px;
  transition: background-color .2s;
}

.dsa-cancel-btn {
  color: #fff;
  background-color: #6c757d;
}

.dsa-cancel-btn:hover {
  background-color: #5a6268;
}

.dsa-confirm-btn {
  color: #fff;
  background-color: #007bff;
}

.dsa-confirm-btn:hover:not(:disabled) {
  background-color: #0056b3;
}

.dsa-confirm-btn:disabled {
  cursor: not-allowed;
  opacity: .6;
  background-color: #6c757d;
}

.dsa-load-more {
  text-align: center;
  background-color: #f8f9fa;
  border-top: 1px solid #e0e0e0;
  padding: 8px 16px;
}

.load-more-btn {
  color: #fff;
  cursor: pointer;
  background-color: #6c757d;
  border: none;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 12px;
  transition: background-color .2s;
}

.load-more-btn:hover {
  background-color: #5a6268;
}

.load-more-btn:disabled {
  cursor: not-allowed;
  opacity: .6;
  background-color: #adb5bd;
}

@media (width <= 768px) {
  .dsa-folder-browser-modal {
    width: 95%;
    max-height: 90vh;
  }

  .dsa-folder-browser-content {
    max-height: 50vh;
  }

  .dsa-folder-browser-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .dsa-footer-buttons {
    justify-content: center;
  }
}

.config-modal {
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
}

.config-form {
  padding: 24px;
}

.config-form .form-group {
  margin-bottom: 24px;
}

.config-form label {
  color: #333;
  margin-bottom: 6px;
  font-size: .9rem;
  font-weight: 500;
  display: block;
}

.config-form input, .config-form select {
  box-sizing: border-box;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  width: 100%;
  padding: 10px 12px;
  font-size: 1rem;
  transition: border-color .2s;
}

.config-form input:focus, .config-form select:focus {
  border-color: #1976d2;
  outline: none;
}

.config-form input.error, .config-form select.error {
  border-color: #dc3545;
}

.config-form .error-message {
  color: #dc3545;
  margin-top: 4px;
  font-size: .8rem;
  display: block;
}

.field-help {
  color: #666;
  margin-top: 4px;
  font-size: .8rem;
  font-style: italic;
  display: block;
}

.resource-name-display {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 4px;
  margin-top: 8px;
  padding: 8px 12px;
  font-size: 14px;
}

.resource-name-label {
  color: #666;
  margin-right: 8px;
  font-weight: 500;
}

.resource-name {
  color: #333;
  margin-right: 4px;
  font-weight: 600;
}

.resource-type {
  color: #666;
  text-transform: capitalize;
  font-size: 12px;
}

.normalization-indicator {
  color: #28a745;
  margin-top: 4px;
  font-size: .8rem;
  font-weight: 500;
  animation: 3s ease-in-out fadeInOut;
  display: block;
}

@keyframes fadeInOut {
  0% {
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  80% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.test-result {
  border-radius: 8px;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
  padding: 16px;
  display: flex;
}

.test-result.success {
  color: #155724;
  background: #d4edda;
  border: 1px solid #c3e6cb;
}

.test-result.error {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
}

.test-result-icon {
  flex-shrink: 0;
  font-size: 1.2rem;
}

.test-result-message {
  flex: 1;
  font-size: .9rem;
  line-height: 1.4;
}

.modal-actions {
  background: #f8f9fa;
  border-top: 1px solid #e0e0e0;
  border-radius: 0 0 8px 8px;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  display: flex;
}

.test-button {
  color: #fff;
  cursor: pointer;
  background: #17a2b8;
  border: none;
  border-radius: 6px;
  padding: 10px 16px;
  font-size: .9rem;
  transition: background-color .2s;
}

.test-button:hover:not(:disabled) {
  background: #138496;
}

.test-button:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.action-buttons {
  gap: 12px;
  display: flex;
}

.cancel-button {
  color: #fff;
  cursor: pointer;
  background: #6c757d;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 1rem;
  transition: background-color .2s;
}

.cancel-button:hover {
  background: #5a6268;
}

.save-button {
  color: #fff;
  cursor: pointer;
  background: #28a745;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 1rem;
  transition: background-color .2s;
}

.save-button:hover:not(:disabled) {
  background: #218838;
}

.save-button:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.input-with-button {
  align-items: center;
  gap: 8px;
  display: flex;
}

.input-with-button input {
  flex: 1;
}

.browse-button {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background-color: #007bff;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 14px;
  transition: background-color .2s;
}

.browse-button:hover:not(:disabled) {
  background-color: #0056b3;
}

.browse-button:disabled {
  cursor: not-allowed;
  opacity: .6;
  background-color: #6c757d;
}

.dsa-login {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  display: flex;
  box-shadow: 0 2px 8px #0000001a;
}

.dsa-status {
  cursor: pointer;
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  transition: background-color .2s;
  display: flex;
}

.dsa-status:hover {
  background: #f8f9fa;
}

.status-indicator {
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 1.2rem;
  display: flex;
}

.status-not-configured {
  color: #666;
  background: #f5f5f5;
}

.status-not-connected {
  color: #f57c00;
  background: #fff3e0;
}

.status-connected {
  color: #2e7d32;
  background: #e8f5e8;
}

.status-info {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.status-text {
  color: #333;
  font-size: .9rem;
  font-weight: 500;
}

.user-info {
  color: #666;
  font-size: .8rem;
  line-height: 1.2;
}

.server-url {
  color: #999;
  font-size: .75rem;
  font-style: italic;
}

.dsa-actions {
  align-items: center;
  display: flex;
}

.login-button, .logout-button {
  color: #fff;
  cursor: pointer;
  background: #1976d2;
  border: none;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: .85rem;
  font-weight: 500;
  transition: background-color .2s;
}

.login-button:hover:not(:disabled) {
  background: #1565c0;
}

.login-button:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.logout-button {
  background: #d32f2f;
}

.logout-button:hover {
  background: #b71c1c;
}

.login-modal {
  max-width: 400px;
}

.login-form {
  padding: 24px;
}

.login-form .form-group {
  margin-bottom: 20px;
}

.login-form label {
  color: #333;
  margin-bottom: 6px;
  font-size: .9rem;
  font-weight: 500;
  display: block;
}

.login-form input {
  box-sizing: border-box;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  width: 100%;
  padding: 10px 12px;
  font-size: 1rem;
  transition: border-color .2s;
}

.login-form input:focus {
  border-color: #1976d2;
  outline: none;
}

.login-form input.error {
  border-color: #dc3545;
}

.error-message {
  color: #dc3545;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin-top: 4px;
  padding: 8px 12px;
  font-size: .8rem;
  display: block;
}

.login-submit-button {
  color: #fff;
  cursor: pointer;
  background: #1976d2;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 1rem;
  transition: background-color .2s;
}

.login-submit-button:hover:not(:disabled) {
  background: #1565c0;
}

.login-submit-button:disabled {
  cursor: not-allowed;
  background: #ccc;
}

.app {
  background: linear-gradient(135deg, #f5faff 0%, #e6f3ff 100%);
  flex-direction: column;
  width: 100%;
  height: 100vh;
  padding: 10px;
  display: flex;
  overflow: hidden;
}

.app-header {
  color: #fff;
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
  border-radius: 8px;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding: 6px 16px;
  display: flex;
}

.header-left {
  align-items: center;
  gap: 20px;
  display: flex;
}

.header-right {
  align-items: center;
  display: flex;
}

.logo {
  width: auto;
  height: 60px;
}

.app-header h1 {
  margin: 0;
  font-size: 2rem;
  font-weight: 600;
}

* {
  box-sizing: border-box;
}

:root {
  color: #213547;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.5;
}

body {
  place-items: center;
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  display: flex;
}

#root {
  width: 100%;
  height: 100vh;
}

.flattened-data-view {
  flex-direction: column;
  max-width: 100%;
  height: calc(100vh - 160px);
  padding: 12px;
  display: flex;
}

.flattened-header {
  border-bottom: 2px solid #e0e0e0;
  flex-shrink: 0;
  margin-bottom: 8px;
  padding-bottom: 8px;
}

.flattened-header h2 {
  color: #333;
  margin: 0 0 4px;
  font-size: 20px;
}

.flattened-header p {
  color: #666;
  margin: 0 0 8px;
}

.header-actions {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  display: flex;
}

.stats {
  gap: 12px;
  display: flex;
}

.export-buttons {
  gap: 8px;
  display: flex;
}

.export-button {
  cursor: pointer;
  border: none;
  border-radius: 4px;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  font-size: .9rem;
  font-weight: 500;
  transition: all .2s;
  display: flex;
}

.export-button.csv {
  color: #fff;
  background: #10b981;
}

.export-button.csv:hover {
  background: #059669;
  transform: translateY(-1px);
}

.export-button.excel {
  color: #fff;
  background: #217346;
}

.export-button.excel:hover {
  background: #1a5c37;
  transform: translateY(-1px);
}

.stat {
  color: #555;
  background: #f0f0f0;
  border-radius: 4px;
  padding: 6px 10px;
  font-size: .9rem;
  font-weight: 500;
}

.flattened-content {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.table-header {
  color: #333;
  z-index: 10;
  background: #f8f9fa;
  border-bottom: 2px solid #e0e0e0;
  grid-template-columns: 1.5fr .7fr 1.2fr 1fr 1.8fr 2fr;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  font-size: .9rem;
  font-weight: 600;
  display: grid;
  position: sticky;
  top: 0;
}

.table-row {
  border-bottom: 1px solid #f0f0f0;
  grid-template-columns: 1.5fr .7fr 1.2fr 1fr 1.8fr 2fr;
  align-items: start;
  gap: 10px;
  padding: 10px 12px;
  transition: background-color .2s;
  display: grid;
}

.table-row:hover {
  background-color: #f8f9fa;
}

.table-row:last-child {
  border-bottom: none;
}

.col-path code {
  background: #f0f0f0;
  border-radius: 3px;
  margin-bottom: 3px;
  padding: 3px 6px;
  font-family: Monaco, Menlo, Ubuntu Mono, monospace;
  font-size: 12px;
  display: inline-block;
}

.path-level-0 {
  color: #d32f2f;
  font-weight: 600;
}

.path-level-1 {
  color: #1976d2;
}

.path-level-2 {
  color: #388e3c;
}

.path-level-3 {
  color: #f57c00;
}

.required-badge {
  color: #fff;
  background: #ff5722;
  border-radius: 3px;
  margin-left: 6px;
  padding: 2px 5px;
  font-size: 10px;
  font-weight: 500;
}

.type-badge {
  color: #333;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px 6px;
  font-size: 11px;
  font-weight: 500;
  display: inline-block;
}

.col-title {
  color: #333;
  font-size: .9rem;
  font-weight: 500;
}

.col-cde {
  font-size: .85rem;
}

.cde-value {
  color: #06c;
  background: #e8f4f8;
  border-radius: 3px;
  padding: 2px 6px;
  font-family: Monaco, Menlo, Ubuntu Mono, monospace;
  font-size: 11px;
  display: inline-block;
}

.no-cde {
  color: #ccc;
  font-size: 14px;
}

.constraints-list {
  margin: 0;
  padding-left: 15px;
  font-size: 13px;
}

.constraints-list li {
  color: #555;
  margin-bottom: 3px;
}

.no-constraints {
  color: #999;
  font-size: 13px;
  font-style: italic;
}

.col-description {
  color: #555;
  font-size: 14px;
  line-height: 1.4;
}

.comment {
  background: #fff3cd;
  border-left: 3px solid #ffc107;
  border-radius: 3px;
  margin-top: 8px;
  padding: 8px;
  font-size: 13px;
}

.comment strong {
  color: #856404;
}

@media (width <= 1400px) {
  .table-header, .table-row {
    grid-template-columns: 1.2fr .6fr 1fr .8fr 1.5fr 1.8fr;
    gap: 10px;
    padding: 12px;
  }
}

@media (width <= 768px) {
  .flattened-data-view {
    padding: 10px;
  }

  .table-header, .table-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .col-variable, .col-type, .col-title, .col-cde, .col-constraints, .col-description {
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 8px;
  }

  .col-variable:before {
    content: "Variable: ";
    color: #666;
    font-weight: 600;
  }

  .col-type:before {
    content: "Type: ";
    color: #666;
    font-weight: 600;
  }

  .col-title:before {
    content: "Title: ";
    color: #666;
    font-weight: 600;
  }

  .col-cde:before {
    content: "CDE: ";
    color: #666;
    font-weight: 600;
  }

  .col-constraints:before {
    content: "Constraints: ";
    color: #666;
    font-weight: 600;
  }

  .col-description:before {
    content: "Description: ";
    color: #666;
    font-weight: 600;
  }
}

.cde-reference-view {
  background: #fff;
  width: 100%;
  max-width: 100%;
  max-height: calc(100vh - 200px);
  padding: 20px;
  overflow: hidden auto;
}

.cde-header {
  margin-bottom: 24px;
}

.cde-header h2 {
  color: #2c3e50;
  margin: 0 0 8px;
  font-size: 24px;
}

.cde-header p {
  color: #7f8c8d;
  margin: 0 0 16px;
  font-size: 14px;
}

.header-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  display: flex;
}

.search-box {
  flex: 1;
  min-width: 300px;
  position: relative;
}

.search-input {
  border: 1px solid #dfe6e9;
  border-radius: 6px;
  width: 100%;
  padding: 10px 36px 10px 12px;
  font-size: 14px;
  transition: border-color .2s;
}

.search-input:focus {
  border-color: #3498db;
  outline: none;
}

.clear-search {
  color: #95a5a6;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px 8px;
  font-size: 18px;
  transition: color .2s;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.clear-search:hover {
  color: #e74c3c;
}

.stats {
  flex-wrap: wrap;
  gap: 16px;
  display: flex;
}

.stat {
  color: #2c3e50;
  background: #ecf0f1;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
}

.stat-warning {
  color: #856404;
  background: #fff3cd;
}

.export-button {
  color: #fff;
  cursor: pointer;
  background: #3498db;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  transition: background .2s;
}

.export-button:hover {
  background: #2980b9;
}

.cde-content {
  flex-direction: column;
  gap: 32px;
  display: flex;
}

.cde-collection {
  background: #fff;
  border: 1px solid #dfe6e9;
  border-radius: 8px;
  overflow: hidden;
}

.collection-header {
  color: #fff;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 16px 20px;
  font-size: 18px;
  font-weight: 600;
  display: flex;
}

.collection-count {
  opacity: .9;
  font-size: 14px;
  font-weight: normal;
}

.cde-table {
  flex-direction: column;
  display: flex;
}

.table-header {
  color: #2c3e50;
  z-index: 10;
  background: #f8f9fa;
  border-bottom: 2px solid #dfe6e9;
  grid-template-columns: 120px 180px 90px 90px 180px 1fr 110px;
  gap: 12px;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 600;
  display: grid;
  position: sticky;
  top: 0;
}

.table-row {
  border-bottom: 1px solid #ecf0f1;
  grid-template-columns: 120px 180px 90px 90px 180px 1fr 110px;
  gap: 12px;
  padding: 16px;
  transition: background .2s;
  display: grid;
}

.table-row:hover {
  background: #f8f9fa;
}

.col-collection, .col-item {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.item-name {
  color: #2c3e50;
  background: #f1f3f5;
  border-radius: 4px;
  width: fit-content;
  padding: 4px 8px;
  font-family: Courier New, monospace;
  font-size: 13px;
  font-weight: 600;
  display: inline-block;
}

.item-title {
  color: #7f8c8d;
  font-size: 12px;
  font-style: italic;
}

.collection-badge {
  text-transform: uppercase;
  color: #1565c0;
  background: #e3f2fd;
  border-radius: 4px;
  width: fit-content;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  display: inline-block;
}

.col-type, .col-required, .col-cde {
  align-items: center;
  display: flex;
}

.type-badge {
  text-transform: lowercase;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
}

.type-string {
  color: #1565c0;
  background: #e3f2fd;
}

.type-number, .type-integer {
  color: #6a1b9a;
  background: #f3e5f5;
}

.type-boolean {
  color: #2e7d32;
  background: #e8f5e8;
}

.type-array {
  color: #e65100;
  background: #fff3e0;
}

.type-object {
  color: #c2185b;
  background: #fce4ec;
}

.required-badge {
  text-transform: uppercase;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
}

.required-badge.required {
  color: #c62828;
  background: #ffebee;
}

.required-badge.nullable {
  color: #2e7d32;
  background: #e8f5e9;
}

.col-values {
  color: #2c3e50;
  font-size: 13px;
}

.values-text {
  word-break: break-word;
  background: #f8f9fa;
  border-radius: 4px;
  padding: 6px 8px;
  font-family: Courier New, monospace;
  font-size: 12px;
}

.col-description {
  color: #34495e;
  font-size: 13px;
  line-height: 1.5;
}

.comments {
  color: #856404;
  background: #fff9e6;
  border-left: 3px solid #ffc107;
  border-radius: 4px;
  margin-top: 8px;
  padding: 8px 12px;
  font-size: 12px;
}

.comments strong {
  color: #e67e22;
}

.cde-value {
  color: #155724;
  background: #d4edda;
  border-radius: 4px;
  padding: 4px 10px;
  font-family: Courier New, monospace;
  font-size: 12px;
  font-weight: 500;
}

.cde-tbd {
  color: #856404;
  background: #fff3cd;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  font-style: italic;
  font-weight: 600;
}

.no-cde {
  color: #95a5a6;
  font-size: 12px;
  font-style: italic;
}

@media (width <= 1400px) {
  .table-header, .table-row {
    grid-template-columns: 100px 160px 80px 80px 160px 1fr 100px;
    gap: 10px;
  }
}

@media (width <= 1200px) {
  .table-header, .table-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .table-header {
    display: none;
  }

  .table-row {
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    flex-direction: column;
    margin-bottom: 12px;
    display: flex;
  }

  .table-row > div:before {
    content: attr(data-label);
    color: #7f8c8d;
    text-transform: uppercase;
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 600;
    display: block;
  }
}

.app {
  background: #f5f5f5;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  display: flex;
}

.app-header {
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  display: flex;
  box-shadow: 0 2px 4px #0000001a;
}

.header-left {
  align-items: center;
  gap: 12px;
  display: flex;
}

.logo {
  width: auto;
  height: 36px;
}

.header-text h1 {
  color: #1976d2;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
}

.header-text p {
  color: #666;
  margin: 2px 0 0;
  font-size: .9rem;
}

.header-right {
  align-items: center;
  display: flex;
}

.api-button {
  color: #fff;
  cursor: pointer;
  background: #1976d2;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.api-button:hover {
  background: #1565c0;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px #1976d24d;
}

.api-button:active {
  transform: translateY(0);
}

.schema-navigation {
  gap: 6px;
  margin: 12px 16px;
  padding: 0 2px;
  display: flex;
}

.schema-nav-button {
  color: #666;
  cursor: pointer;
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  min-width: 120px;
  padding: 8px 14px;
  font-size: .9rem;
  font-weight: 500;
  transition: all .2s;
}

.schema-nav-button:hover {
  color: #1976d2;
  background: #f8f9fa;
  border-color: #1976d2;
}

.schema-nav-button.active {
  color: #fff;
  background: #1976d2;
  border-color: #1976d2;
  font-weight: 600;
}

.schema-content {
  flex: 1;
  margin: 0 16px 16px;
  overflow: hidden;
}

* {
  box-sizing: border-box;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #f5f5f5;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}

#root {
  width: 100%;
  height: 100vh;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, Courier New, monospace;
}

.src-widgets-OpenSeadragon-module__viewer-L_bS58 {
  height: 100%;
}

.src-pages-girder-item-module__itemPage-JvY3Ed {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
}

.src-pages-girder-item-module__metadataPanel-kcfEhc {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 1rem;
}

.src-pages-girder-item-module__metadataPanel-kcfEhc h2 {
  margin-top: 0;
  font-size: 1.25rem;
}

.src-pages-girder-item-module__metadataGrid-CtFCBL {
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: .5rem 1.5rem;
  display: grid;
}

.src-pages-girder-item-module__metadataLabel-iwzMzf {
  color: #495057;
  font-weight: 600;
}

.src-pages-girder-item-module__metadataValueWithDetails-xB8o2P {
  flex-direction: column;
  align-items: flex-start;
  gap: .35rem;
  display: flex;
}

.src-pages-girder-item-module__valueAndToggle-J8wSjZ {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: inline-flex;
}

.src-pages-girder-item-module__detailsToggle-M8ijQe {
  cursor: pointer;
  color: #495057;
  background: #fff;
  border: 1px solid #adb5bd;
  border-radius: 4px;
  padding: .2rem .5rem;
  font-size: .8rem;
}

.src-pages-girder-item-module__detailsToggle-M8ijQe:hover {
  color: #212529;
  background: #e9ecef;
}

.src-pages-girder-item-module__detailsBlock-pCD15F {
  width: 100%;
  max-width: 100%;
  margin-top: .25rem;
}

.src-pages-girder-item-module__detailsPre-aVyNjC {
  white-space: pre-wrap;
  word-break: break-word;
  background: #f1f3f5;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  max-height: 280px;
  margin: 0;
  padding: .75rem;
  font-size: .8rem;
  line-height: 1.4;
  overflow: auto;
}

.src-pages-girder-item-module__copyJson-M4LAQo {
  cursor: pointer;
  color: #0d6efd;
  background: #fff;
  border: 1px solid #0d6efd;
  border-radius: 4px;
  padding: .25rem .5rem;
  font-size: .8rem;
}

.src-pages-girder-item-module__copyJson-M4LAQo:hover {
  background: #e7f1ff;
}

.src-pages-girder-item-module__viewerContainer-o_HhdG {
  background: #000;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  width: 100%;
  height: 65vh;
  min-height: 400px;
  position: relative;
  overflow: hidden;
}

.src-pages-girder-item-module__viewerFullscreen-uTb8HI {
  z-index: 1000;
  background: #000;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-pages-girder-item-module__viewerTopBar-s8r2Tv {
  background: #212529;
  border-bottom: 1px solid #495057;
  flex-shrink: 0;
  align-items: center;
  gap: 12px;
  min-height: 28px;
  margin: 0;
  padding: 2px 6px;
  display: flex;
}

.src-pages-girder-item-module__viewerTopBar-s8r2Tv a.src-pages-girder-item-module__viewerTopBarBack-cCDizQ {
  color: #e9ecef;
  border: 1px solid #495057;
  border-radius: 4px;
  margin-right: 12px;
  padding: 2px 8px;
  font-size: .85rem;
  text-decoration: none;
}

.src-pages-girder-item-module__viewerTopBar-s8r2Tv a.src-pages-girder-item-module__viewerTopBarBack-cCDizQ:hover {
  color: #fff;
  background: #495057;
}

.src-pages-girder-item-module__viewerTopBarTitle-oYzrhD {
  color: #e9ecef;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  padding-left: 12px;
  font-size: .85rem;
  overflow: hidden;
}

.src-pages-girder-item-module__viewerTopBarSave-H6tpLw {
  cursor: pointer;
  color: #fff;
  background: #0d6efd;
  border: 1px solid #0d6efd;
  border-radius: 4px;
  padding: 2px 10px;
  font-size: .85rem;
}

.src-pages-girder-item-module__viewerTopBarSave-H6tpLw:hover:not(:disabled) {
  background: #0b5ed7;
}

.src-pages-girder-item-module__viewerTopBarSave-H6tpLw:disabled {
  opacity: .7;
  cursor: not-allowed;
}

.src-pages-girder-item-module__viewerTopBarSaved-fIteto {
  color: #198754;
  font-size: .85rem;
}

.src-pages-girder-item-module__viewerTopBarError-efzoNA {
  color: #dc3545;
  font-size: .85rem;
}

.src-pages-girder-item-module__viewerFullscreenContent-spiz_2 {
  flex: 1;
  min-height: 0;
  position: relative;
}

.src-pages-girder-item-module__toolbar-r9QLr3 {
  gap: .5rem;
  margin-bottom: .75rem;
  display: flex;
}

.src-pages-girder-item-module__toolbar-r9QLr3 button {
  cursor: pointer;
  color: #fff;
  background: #0d6efd;
  border: 1px solid #0d6efd;
  border-radius: 4px;
  padding: .35rem .75rem;
  font-size: .9rem;
}

.src-pages-girder-item-module__toolbar-r9QLr3 button:hover {
  background: #0b5ed7;
}

.src-pages-girder-item-module__toolbar-r9QLr3 button.src-pages-girder-item-module__secondary-kus1NI {
  color: #0d6efd;
  background: #fff;
}

.src-pages-girder-item-module__toolbar-r9QLr3 button.src-pages-girder-item-module__secondary-kus1NI:hover {
  background: #e7f1ff;
}

.src-pages-girder-item-module__noViewer-LGnGkk {
  color: #6c757d;
  padding: 1rem;
  font-style: italic;
}

.src-pages-girder-item-module__dsaLink-BJcSPm {
  color: #0d6efd;
  padding: .35rem .75rem;
  font-size: .9rem;
  text-decoration: none;
}

.src-pages-girder-item-module__dsaLink-BJcSPm:hover {
  text-decoration: underline;
}

.src-pages-girder-styles-module__breadcrumb-X2y1Sh {
  color: #6c757d;
  margin-bottom: 1rem;
  padding: .5rem 0;
  font-size: .9rem;
}

.src-pages-girder-styles-module__breadcrumb-X2y1Sh a {
  color: #0d6efd;
  text-decoration: none;
}

.src-pages-girder-styles-module__breadcrumb-X2y1Sh a:hover {
  text-decoration: underline;
}

.src-pages-girder-styles-module__breadcrumb-X2y1Sh span {
  color: #adb5bd;
  margin: 0 .35rem;
}

.src-pages-girder-styles-module__pageTitle-UPmH8v {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  font-weight: 600;
}

.src-pages-girder-styles-module__cardList-YSU9Ut {
  flex-wrap: wrap;
  gap: .75rem;
  display: flex;
}

.src-pages-girder-styles-module__folder-UchcxZ {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  min-width: 140px;
  margin: 0;
  padding: .75rem 1rem;
  transition: background .15s, border-color .15s;
}

.src-pages-girder-styles-module__folder-UchcxZ:hover {
  background: #e9ecef;
  border-color: #adb5bd;
}

.src-pages-girder-styles-module__folder-UchcxZ a {
  color: #212529;
  font-weight: 500;
  text-decoration: none;
  display: block;
}

.src-pages-girder-styles-module__collectionCard-NMCYJp {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  min-width: 160px;
  margin: 0;
  padding: 1rem 1.25rem;
  transition: background .15s, border-color .15s;
}

.src-pages-girder-styles-module__collectionCard-NMCYJp:hover {
  background: #f8f9fa;
  border-color: #adb5bd;
}

.src-pages-girder-styles-module__collectionCard-NMCYJp a {
  color: #212529;
  font-weight: 500;
  text-decoration: none;
  display: block;
}

.src-pages-girder-styles-module__itemgrid-krWO2N {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .75rem;
  display: grid;
}

.src-pages-girder-styles-module__emptyHint-lTsZs5 {
  color: #6c757d;
  margin: .5rem 0;
  font-style: italic;
}

.annotation-ui-noselect {
  user-select: none;
}

.ui-dialog {
  font-size: 14px;
}

.ui-dialog, .ui-dialog-content {
  box-sizing: content-box;
}

.flex-row {
  flex-direction: row;
  display: flex;
}

.annotation-ui-mainwindow .templates {
  display: none;
}

.annotation-ui-mainwindow {
  color: #000;
  box-sizing: border-box;
  border: thin solid gray;
  grid-template-rows: auto auto minmax(4em, 1fr) auto;
  width: 16em;
  min-width: 12em;
  height: 100%;
  padding: 2px;
  display: grid;
  overflow: hidden;
}

.annotation-visibility-controls {
  border-bottom: thin solid gray;
  flex-grow: 0;
  flex-shrink: 0;
  margin-bottom: 2px;
  padding-bottom: 2px;
  display: flex;
}

.annotation-visibility-controls .visibility-buttons {
  flex-grow: 0;
  margin-right: 5px;
  display: flex;
}

.annotation-visibility-controls .annotation-opacity-container {
  flex-grow: 1;
}

.annotation-ui-mainwindow button.btn {
  padding: 0 3px;
}

.file-button {
  margin-right: .3em;
  padding: .1em .5em;
}

.annotation-ui label {
  margin: 0;
}

.annotation-ui-feature-collections {
  border-bottom: thin solid gray;
  overflow: auto;
}

.annotation-ui-feature-collections:empty:before {
  content: "Click below to begin a new feature collection";
  color: gray;
}

.feature-collection {
  opacity: .1;
  border: thin solid #0000;
  padding: 2px;
}

.annotation-ui-feature-collections .feature-collection {
  transition: opacity 1s;
}

.annotation-ui-feature-collections .feature-collection.inserted:not(.trashed):not(.draganddrop-dragging) {
  opacity: 1;
}

.annotation-ui-feature-collections .feature-collection:not(.trashed).selected {
  background-color: azure;
  border: thin solid #000;
}

.annotation-ui-feature-collections .feature-collection:not(.trashed, .annotation-hidden, .selected):hover, .feature-collection.svg-hovered:not(.trashed):not(.annotation-hidden) {
  background-color: #fafad2;
  border: thin solid #000;
}

.feature-collection.annotation-hidden [data-action="hide"], .feature-collection:not(.annotation-hidden) [data-action="show"] {
  display: none;
}

.feature-collection.annotation-hidden .features {
  pointer-events: none;
  opacity: .5;
}

.annotation-ui-feature-collections .name {
  font-weight: bold;
}

.annotation-details {
  flex-grow: 1;
}

.feature-item {
  margin-left: 1em;
}

.feature-collection [data-action], .feature [data-action] {
  margin-left: .2em;
}

.hoverable-actions:not(:hover) .onhover {
  visibility: hidden;
}

.hoverable-actions:hover .editablecontent .onhover {
  visibility: visible;
}

.feature-collection.trashed {
  opacity: .3;
  pointer-events: none;
  background-color: #8b0000;
}

.annotation-header {
  grid-template-columns: auto 1fr auto auto auto;
  display: grid;
}

.feature-collection.trashed .annotation-header [data-action="trash"] {
  pointer-events: all;
  visibility: visible;
}

.feature-collection .toggle-list {
  flex-grow: 0;
}

.feature-collection .features {
  flex-grow: 1;
}

.features.collapsed .features-list, .features:not(.collapsed) .features-summary, .features.collapsed [data-action="collapse-up"], .features:not(.collapsed) [data-action="collapse-down"] {
  display: none;
}

.features-summary:not([data-num-elements="1"]) .pluralize:before {
  content: "s";
}

.feature.selected {
  background-color: green;
}

.feature {
  cursor: default;
}

.annotation-ui-mainwindow.disabled .disable-when-annotations-hidden, .annotation-ui-mainwindow.deactivated .disable-when-deactivated {
  opacity: .5;
  pointer-events: none;
  cursor: not-allowed;
}

.annotation-ui-grid {
  background-color: #fff;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: auto 1fr auto;
  width: 100%;
  height: 100%;
  display: grid;
}

.annotation-ui-grid .center {
  z-index: 0;
  grid-area: 2 / 2 / 3 / 3;
  position: relative;
}

.annotation-ui-grid .top {
  text-align: center;
  border-bottom: thin solid gray;
  grid-area: 1 / 1 / 2 / 3;
}

.annotation-ui-grid .bottom {
  grid-area: 3 / 1 / 4 / 3;
}

.annotation-ui-grid .left {
  grid-area: 2 / 1 / 3 / 2;
}

.annotation-ui-grid .right {
  grid-area: 1 / 3 / 4 / 4;
  position: relative;
}

.annotation-ui-grid .resize-right {
  cursor: grab;
  text-align: center;
  user-select: none;
  background-color: #c4c4c4;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  width: 15px;
  padding: 10px 0;
  position: absolute;
  top: 50%;
  left: -15px;
  transform: translate(0, -50%);
}

.annotation-ui-grid .resize-right:before {
  content: "||";
}

.annotation-ui-grid .resize-right.resizing {
  cursor: grabbing;
}

.annotation-ui-grid .right:not(:hover) .resize-right {
  display: none;
}

.annotation-ui-drawing-toolbar .pseudohidden, .annotation-ui-drawing-toolbar .invisible {
  visibility: hidden;
  border: none;
  width: 0;
  height: 0;
  padding: 0;
  overflow: hidden;
}

.annotation-ui-drawing-toolbar {
  text-align: left;
  background-color: #d3d3d3;
  max-width: 100%;
  display: inline-block;
}

.annotation-ui-drawing-toolbar button[disabled] {
  pointer-events: none;
  cursor: not-allowed;
  border: thin solid #0000;
}

.annotation-ui-drawing-toolbar button:not([disabled]) {
  border: thin solid #c3c3c3;
}

.annotation-ui-drawing-toolbar button:not([disabled]):hover {
  z-index: 2;
  border: thin solid #292929;
}

.annotation-ui-drawing-toolbar .dropdowns > :not(.active) {
  display: none;
}

.annotation-ui-buttonbar > .btn.active {
  color: #000;
  background-color: #a9a9a9;
}

.annotation-ui-buttonbar > .btn:not(.active) {
  color: #3e3e3e;
  background-color: #d3d3d3;
}

.dropdowns-container {
  background-color: inherit;
  position: relative;
}

.dropdowns {
  color: #000;
  background-color: inherit;
  min-width: 100%;
  position: absolute;
}

.dropdowns:has(.dropdown.active .ruler-toolbar), .dropdowns:has(.dropdown.active .linestring-toolbar), .dropdowns:has(.dropdown.active .brush-toolbar) {
  min-width: 280px;
}

.dropdown {
  vertical-align: middle;
  grid-template-columns: auto;
  column-gap: 1em;
  width: 100%;
  display: grid;
}

.dropdown.brush-toolbar {
  grid-template-columns: auto minmax(8em, 1fr) auto auto;
}

.dropdown.polygon-toolbar {
  grid-template-columns: 1fr auto auto auto auto auto;
}

.dropdown.polygon-toolbar button[data-action="simplify"] {
  margin-right: .2em;
}

.dropdown.linestring-toolbar {
  grid-template-columns: auto minmax(8em, 1fr) auto auto;
}

.dropdown.ruler-toolbar {
  flex-direction: column;
  align-items: stretch;
  padding-bottom: .5em;
  display: flex;
}

.dropdown.ruler-toolbar .ruler-length-row {
  flex-wrap: nowrap;
  align-items: center;
  display: flex;
}

.dropdown.ruler-toolbar .ruler-details-toggle {
  margin-left: auto;
  display: flex;
}

.dropdown.ruler-toolbar .ruler-details-panel[hidden] {
  display: none !important;
}

.dropdown.ruler-toolbar .ruler-details-content {
  min-width: 0;
}

.dropdown.ruler-toolbar .ruler-instructions {
  min-width: 0;
  display: block;
}

.dropdown.ruler-toolbar .ruler-details-panel .ruler-width-input {
  align-self: center;
}

canvas.selectable-layer {
  cursor: pointer;
}

canvas.point-tool-grab {
  cursor: grab;
}

canvas.point-tool-grabbing {
  cursor: grabbing;
}

canvas.rectangle-tool-move {
  cursor: move;
}

canvas.rectangle-tool-resize {
  cursor: nesw-resize;
}

canvas.transform-tool-move {
  cursor: move;
}

canvas.transform-tool-resize {
  cursor: nesw-resize;
}

canvas.transform-tool-rotate {
  cursor: pointer;
}

.tool-action[data-tool-action="segment"] {
  cursor: move;
}

.tool-action[data-tool-action="stroke"] {
  cursor: copy;
}

.tool-action[data-tool-action="segment-erase"] {
  cursor: not-allowed;
}

.tool-action[data-tool-action="colorpicker"] {
  cursor: none;
}

.dropdown.wand-toolbar {
  grid-template-columns: 5em 1fr auto auto;
}

.wand-toolbar .threshold-container {
  flex-direction: column;
  display: flex;
}

.wand-toolbar .threshold-container label, .wand-toolbar .label {
  margin-bottom: 0;
  font-size: .8em;
}

.wand-toolbar .toggles {
  grid-template-columns: 7em 5em 8em;
  column-gap: 2px;
  display: grid;
}

.wand-toolbar .option-toggle {
  cursor: pointer;
  user-select: none;
  grid-template-rows: auto auto;
  display: grid;
}

.wand-toolbar .option-toggle:hover .option {
  background-color: #a9a9a9;
}

.wand-toolbar .option-toggle .option:not(.selected) {
  display: none;
}

.viewer-controls-topleft {
  display: flex;
}

.style-toolbar .style-row {
  grid-template-columns: auto auto auto auto;
  align-items: center;
  column-gap: .5em;
  display: grid;
}

.style-toolbar .style-item {
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
  width: 7em;
  padding-left: .5em;
  display: inline-block;
  overflow: hidden;
}

.style-toolbar .style-item.selected {
  outline: solid #87cefa;
}

.style-toolbar .hierarchy-up {
  cursor: pointer;
  padding: 0 .5em;
}

.style-toolbar input[type="number"] {
  width: 3.5em;
}

.style-toolbar .colorpicker-row.hidden {
  display: none;
}

.style-toolbar .colorpicker-row {
  grid-template-columns: repeat(4, auto);
  display: grid;
}

.style-toolbar .preview {
  background: repeating-conic-gradient(#d0d0d0 0% 25%, #fff 0% 50%) 50% / 20px 20px;
  display: block;
  position: relative;
}

.style-toolbar .preview:after {
  content: "Preview";
  visibility: hidden;
}

.style-toolbar .preview .bg {
  outline: thin solid #000;
  display: block;
  position: absolute;
  inset: 0;
}

.style-toolbar .preview .text {
  padding: 0 .2em;
  display: block;
  position: absolute;
}

.style-toolbar input[type="range"] {
  display: inline-block;
}

.new-feature, .new-feature-collection {
  cursor: pointer;
}

.new-feature:hover, .new-feature-collection:hover {
  background-color: #faebd7;
  outline: thin solid gray;
}

.annotation-ui-filedialog {
  grid-template-columns: auto auto auto;
  display: grid;
}

.annotation-ui-filedialog > div {
  padding: 0 .3em;
}

.annotation-ui-filedialog .featurecollection-selection {
  border-left: thin solid gray;
  border-right: thin solid gray;
  width: 15em;
  overflow-x: hidden;
}

.annotation-ui-filedialog .featurecollection-list {
  flex-direction: column;
  display: flex;
  overflow: auto;
}

.annotation-ui-filedialog .localstorage-key-list:before {
  content: "Saved in local storage:";
  color: gray;
  display: block;
}

.annotation-ui-filedialog .localstorage-key-list:empty:after {
  content: "No items were found in local storage";
  color: gray;
  font-style: italic;
}

.annotation-ui-filedialog .localstorage-key {
  cursor: pointer;
}

.annotation-ui-filedialog .localstorage-key:hover {
  background-color: #fafad2;
}

.annotation-ui-filedialog .localstorage-key-test.key-exists:after {
  content: "(overwrite)";
  color: #fff;
  background-color: #be6342;
  padding: 0 .2em;
  font-weight: bold;
}

.annotation-ui-filedialog .finalize-panel {
  width: 15em;
  overflow-x: hidden;
}

.annotation-ui-filedialog .header {
  white-space: nowrap;
  border-bottom: thin solid gray;
  margin-bottom: 2px;
  padding-bottom: 2px;
}

.annotation-ui-filedialog button {
  display: block;
}

.annotation-ui-filedialog .file-actions {
  flex-direction: column;
  display: flex;
}

.annotation-ui-filedialog .file-actions hr {
  margin: 5px 0;
}

button[disabled] {
  opacity: .3;
}

.dropdown button[data-action="erase"].active {
  background-color: #bb5656;
}

.feature .bounding-element {
  margin-right: -1.2em;
}

.feature .bounding-element:not(.active) {
  visibility: visible;
  color: #d3d3d3;
}

.feature .bounding-element.active {
  visibility: visible;
  color: #000;
}

.feature:not(:hover) .bounding-element:not(.active) {
  visibility: hidden;
}

.hidden {
  display: none;
}

.draganddrop-dragging {
  opacity: .3;
}

.draganddrop-hide {
  display: none;
}

.draganddrop-drop-target {
  outline: thick solid #706f6f;
}

.draganddrop-drop-target:hover {
  outline-color: #000;
}

.draganddrop-drop-target > * > * {
  pointer-events: none;
}

.draganddrop-placeholder {
  border: thin solid #000;
  border-radius: 2px;
}

.draganddrop-placeholder > * {
  visibility: hidden;
}

input[type="range"] {
  width: 100%;
  display: block;
}

.btn {
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-image: none;
  border: 1px solid #0000;
  margin-bottom: 0;
  padding: 2px 8px;
  font-size: 14px;
  display: inline-block;
}

.btn.btn-sm {
  font-size: 12px;
}

.icon {
  vertical-align: -.125em;
  width: 1em;
  height: 1em;
}

[data-action] > * {
  pointer-events: none;
}

.rotate-by {
  transform: rotate(var(--rotate-angle));
}

.src-widgets-WsiCard-module__wsiCard-Rt61gF {
  background-color: #d3d3d3;
  border: thin solid gray;
  border-radius: 5px;
  width: 10em;
  height: 10em;
  margin: .2em;
  position: relative;
  overflow: hidden;
}

.src-widgets-WsiCard-module__wsiCard-Rt61gF > div {
  width: 100%;
  height: 100%;
}

.src-widgets-WsiCard-module__wsiCard-Rt61gF img {
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.src-widgets-WsiCard-module__wsiCard-Rt61gF .src-widgets-WsiCard-module__title-Jg3gAc {
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #0009;
  padding: .25em .35em;
  font-size: .85em;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.src-pages-girder-BdsaItemsTable-module__page-zJRz3G {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1rem;
}

.src-pages-girder-BdsaItemsTable-module__header-NCMG_q {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
  display: flex;
}

.src-pages-girder-BdsaItemsTable-module__filters-d4fA5k {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  display: flex;
}

.src-pages-girder-BdsaItemsTable-module__filters-d4fA5k input, .src-pages-girder-BdsaItemsTable-module__filters-d4fA5k select {
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: .35rem .5rem;
  font-size: .9rem;
}

.src-pages-girder-BdsaItemsTable-module__tableWrap-qGunf5 {
  border: 1px solid #dee2e6;
  border-radius: 8px;
  overflow-x: auto;
}

.src-pages-girder-BdsaItemsTable-module__table-vCjrHm {
  border-collapse: collapse;
  width: 100%;
  font-size: .9rem;
}

.src-pages-girder-BdsaItemsTable-module__table-vCjrHm th, .src-pages-girder-BdsaItemsTable-module__table-vCjrHm td {
  text-align: left;
  border-bottom: 1px solid #dee2e6;
  padding: .5rem .75rem;
}

.src-pages-girder-BdsaItemsTable-module__table-vCjrHm th {
  color: #495057;
  background: #f8f9fa;
  font-weight: 600;
}

.src-pages-girder-BdsaItemsTable-module__table-vCjrHm tbody tr:hover {
  background: #f8f9fa;
}

.src-pages-girder-BdsaItemsTable-module__table-vCjrHm tbody tr:last-child td {
  border-bottom: none;
}

.src-pages-girder-BdsaItemsTable-module__link-SXHd2Z {
  color: #0d6efd;
  text-decoration: none;
}

.src-pages-girder-BdsaItemsTable-module__link-SXHd2Z:hover {
  text-decoration: underline;
}

.src-pages-girder-BdsaItemsTable-module__pagination-rxoxnV {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1rem;
  display: flex;
}

.src-pages-girder-BdsaItemsTable-module__pagination-rxoxnV button {
  cursor: pointer;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  padding: .35rem .75rem;
  font-size: .9rem;
}

.src-pages-girder-BdsaItemsTable-module__pagination-rxoxnV button:hover:not(:disabled) {
  background: #e9ecef;
}

.src-pages-girder-BdsaItemsTable-module__pagination-rxoxnV button:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-girder-BdsaItemsTable-module__loading-V6YYsV {
  text-align: center;
  color: #6c757d;
  padding: 2rem;
}

.src-pages-girder-BdsaItemsTable-module__error-DYATFT {
  color: #dc3545;
  background: #f8d7da;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 1rem;
}

.src-pages-girder-BdsaItemsTable-module__summary-fmQV7I {
  color: #6c757d;
  font-size: .9rem;
}

.src-layouts-Viewer-module__viewerLayout-vnh17s {
  background: #fff;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
}

.src-pages-projects-hub-ProjectsPageShell-module__shell-ggeBwy {
  max-width: 56rem;
  padding: 0 0 2rem;
}

.src-pages-projects-hub-ProjectsPageShell-module__header-zcEmwM {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
  display: flex;
}

.src-pages-projects-hub-ProjectsPageShell-module__headerText-bzD1y4 {
  min-width: 0;
}

.src-pages-projects-hub-ProjectsPageShell-module__title-ord7R0 {
  color: #24292e;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
}

.src-pages-projects-hub-ProjectsPageShell-module__subtitle-tN6Gtd {
  color: #586069;
  max-width: 42rem;
  margin: .35em 0 0;
  font-size: .95rem;
  line-height: 1.45;
}

.src-pages-projects-hub-ProjectsPageShell-module__headerActions-o6al8F {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.src-pages-projects-hub-ProjectsPageShell-module__callout-WgCIP1 {
  color: #24292e;
  background: #f6f8fa;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  margin-bottom: 1rem;
  padding: .75em 1em;
  font-size: .9rem;
  line-height: 1.45;
}

.src-pages-projects-hub-ProjectsPageShell-module__loading-rEGbku {
  color: #586069;
  margin: 1rem 0;
  font-style: italic;
}

.src-pages-projects-hub-ProjectsPageShell-module__errorBox-fPBa0F {
  background: #fff5f5;
  border: 1px solid #feb2b2;
  border-radius: 6px;
  margin-bottom: 1rem;
  padding: 1rem 1.25rem;
}

.src-pages-projects-hub-ProjectsPageShell-module__errorText-RXZtZv {
  color: #742a2a;
  margin: 0 0 .75rem;
  font-size: .95rem;
}

.src-pages-projects-hub-ProjectsPageShell-module__retryBtn-p49jPW {
  color: #c53030;
  cursor: pointer;
  background: #fff;
  border: 1px solid #c53030;
  border-radius: 4px;
  padding: .35em .75em;
  font-size: .9em;
}

.src-pages-projects-hub-ProjectsPageShell-module__retryBtn-p49jPW:hover {
  background: #fff5f5;
}

.src-pages-projects-ProjectsHome-module__pageHeader-fFdw2Q {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5em;
  margin-bottom: 1em;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__pageTitle-Itp9E_ {
  margin: 0;
  font-size: 1.4em;
  font-weight: 600;
}

.src-pages-projects-ProjectsHome-module__headerActions-LKJIT3 {
  flex-wrap: wrap;
  gap: .5em;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__breadcrumb-fWxjH5 {
  color: #586069;
  flex-wrap: wrap;
  align-items: center;
  gap: .4em;
  margin-bottom: 1em;
  font-size: .9em;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__breadcrumbLink-eZ5X5y {
  color: #007bff;
  cursor: pointer;
  font-size: inherit;
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
}

.src-pages-projects-ProjectsHome-module__breadcrumbLink-eZ5X5y:hover {
  color: #0056b3;
}

.src-pages-projects-ProjectsHome-module__breadcrumbSeparator-dnvqbX {
  color: #ccc;
  user-select: none;
}

.src-pages-projects-ProjectsHome-module__breadcrumbCurrent-Xkd0Kw {
  color: #333;
  font-weight: 500;
}

.src-pages-projects-ProjectsHome-module__folderList-WUU_SP {
  flex-direction: column;
  gap: .5em;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__folderRow-JVCVL5 {
  cursor: pointer;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  align-items: center;
  gap: 1em;
  padding: 12px 16px;
  transition: box-shadow .15s, transform .15s;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__folderRow-JVCVL5:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px #00000014;
}

.src-pages-projects-ProjectsHome-module__folderName-yNbsiJ {
  color: #24292e;
  flex: 1;
  font-size: 1em;
  font-weight: 500;
}

.src-pages-projects-ProjectsHome-module__folderRowActions-M1UOp0 {
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__dsaPill-ictY45 {
  color: #495057;
  background: #e9ecef;
  border: 1px solid #dee2e6;
  border-radius: 3px;
  flex-shrink: 0;
  padding: 2px 6px;
  font-size: .72rem;
  text-decoration: none;
  transition: background .12s, color .12s;
}

.src-pages-projects-ProjectsHome-module__dsaPill-ictY45:hover {
  color: #212529;
  background: #dee2e6;
}

.src-pages-projects-ProjectsHome-module__browseKind-EPyki8 {
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  position: relative;
}

.src-pages-projects-ProjectsHome-module__browseKind-EPyki8 svg {
  display: block;
}

.src-pages-projects-ProjectsHome-module__browseKindFolder-KNxjqg {
  color: #475569;
}

.src-pages-projects-ProjectsHome-module__browseKindProject-cOyEEI {
  color: #0d9488;
}

.src-pages-projects-ProjectsHome-module__visuallyHidden-rcGSxc {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.src-pages-projects-ProjectsHome-module__typeBadge-jTixGG {
  color: #fff;
  white-space: nowrap;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 2px 8px;
  font-size: .78em;
  font-weight: 600;
}

.src-pages-projects-ProjectsHome-module__typeBadgeOrg-kM2mU9 {
  background: #1f6feb;
}

.src-pages-projects-ProjectsHome-module__typeBadgeProject-ute2Jn {
  background: #28a745;
}

.src-pages-projects-ProjectsHome-module__typeBadgeSubfolder-iEO5B0 {
  background: #6c757d;
}

.src-pages-projects-ProjectsHome-module__accessPointBadge-ITLThJ {
  color: #0969da;
  background: #e7f1ff;
  border-radius: 3px;
  flex-shrink: 0;
  padding: 2px 6px;
  font-size: .7rem;
  font-weight: 500;
}

.src-pages-projects-ProjectsHome-module__folderRowAccessPoint-v3pDEf {
  border-left: 3px solid #0969da;
}

.src-pages-projects-ProjectsHome-module__hubProjectStatusPublished-fF0MSV, .src-pages-projects-ProjectsHome-module__hubProjectStatusDraft-nQFCza, .src-pages-projects-ProjectsHome-module__hubProjectStatusClosed-YIqjYI, .src-pages-projects-ProjectsHome-module__hubProjectStatusArchived-Fql8r1 {
  letter-spacing: .02em;
  border-radius: 3px;
  flex-shrink: 0;
  padding: 2px 7px;
  font-size: .68rem;
  font-weight: 600;
}

.src-pages-projects-ProjectsHome-module__hubProjectStatusPublished-fF0MSV {
  color: #1a7f37;
  background: #dafbe1;
}

.src-pages-projects-ProjectsHome-module__hubProjectStatusDraft-nQFCza {
  color: #9a6700;
  background: #fff8c5;
}

.src-pages-projects-ProjectsHome-module__hubProjectStatusClosed-YIqjYI {
  color: #0c5460;
  background: #e7f5ff;
}

.src-pages-projects-ProjectsHome-module__hubProjectStatusArchived-Fql8r1 {
  color: #495057;
  background: #f1f3f5;
}

.src-pages-projects-ProjectsHome-module__emptyState-kNbHGS {
  color: #586069;
  text-align: center;
  padding: 1.5em 0;
  font-style: italic;
}

.src-pages-projects-ProjectsHome-module__emptyStatePlain-dRX96Y {
  color: #586069;
  max-width: 40rem;
  margin: 0;
  font-size: .95rem;
  line-height: 1.5;
}

.src-pages-projects-ProjectsHome-module__browseSections-h7suY4 {
  flex-direction: column;
  gap: .65rem;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__browseSection-0soR2U {
  margin: 0;
}

.src-pages-projects-ProjectsHome-module__browseSectionHeading-qBJpVg {
  color: #24292e;
  margin: 0 0 .12em;
  font-size: .88rem;
  font-weight: 600;
}

.src-pages-projects-ProjectsHome-module__browseSectionHint-TZ3tTv {
  color: #57606a;
  margin: 0 0 .3rem;
  font-size: .76rem;
  line-height: 1.35;
}

.src-pages-projects-ProjectsHome-module__hubList-o7Gj0q {
  flex-direction: column;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__hubRow-K3m_jC {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .65rem .85rem .65rem 1rem;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__hubRowFolder-WRzIFH {
  background: #f7f8fa;
  border-color: #e2e4e9;
}

.src-pages-projects-ProjectsHome-module__hubRowProject-ClJz5M {
  background: #f8faf9;
  border-color: #dfe7e6;
}

.src-pages-projects-ProjectsHome-module__hubRowPrimary-EKwkbM {
  min-width: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
  color: inherit;
  background: none;
  border: none;
  border-radius: 6px;
  flex: 1;
  align-items: center;
  gap: .5rem;
  margin: -.35rem -.25rem;
  padding: .35rem .5rem;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__hubRowPrimary-EKwkbM:hover {
  background: #f6f8fa;
}

.src-pages-projects-ProjectsHome-module__hubRowFolder-WRzIFH .src-pages-projects-ProjectsHome-module__hubRowPrimary-EKwkbM:hover {
  background: #eceff3;
}

.src-pages-projects-ProjectsHome-module__hubRowProject-ClJz5M .src-pages-projects-ProjectsHome-module__hubRowPrimary-EKwkbM:hover {
  background: #ebf2f1;
}

.src-pages-projects-ProjectsHome-module__hubRowPrimary-EKwkbM:focus {
  outline: none;
}

.src-pages-projects-ProjectsHome-module__hubRowPrimary-EKwkbM:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #0969da;
}

.src-pages-projects-ProjectsHome-module__hubRowPrimaryTrail-P_ODVU {
  opacity: .92;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.src-pages-projects-ProjectsHome-module__hubRowPrimaryFolder-JEFh4X .src-pages-projects-ProjectsHome-module__hubRowPrimaryTrail-P_ODVU {
  color: #475569;
}

.src-pages-projects-ProjectsHome-module__hubRowPrimaryProject-UepFZ6 .src-pages-projects-ProjectsHome-module__hubRowPrimaryTrail-P_ODVU {
  color: #0f766e;
}

.src-pages-projects-ProjectsHome-module__hubRowMain-lS2PrN {
  flex: 1;
  min-width: 0;
}

.src-pages-projects-ProjectsHome-module__hubRowTitleRow-qPeQ4J {
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__hubRowName-UPl1Vr {
  color: #24292e;
  font-size: 1.05rem;
  font-weight: 600;
}

.src-pages-projects-ProjectsHome-module__hubRowRenameBtn-aqWdGo {
  color: #57606a;
  cursor: pointer;
  opacity: 0;
  background: none;
  border: none;
  border-radius: 4px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  padding: 0;
  transition: opacity .12s, background .12s, color .12s;
  display: inline-flex;
}

.src-pages-projects-ProjectsHome-module__hubRow-K3m_jC:hover .src-pages-projects-ProjectsHome-module__hubRowRenameBtn-aqWdGo, .src-pages-projects-ProjectsHome-module__hubRow-K3m_jC:focus-within .src-pages-projects-ProjectsHome-module__hubRowRenameBtn-aqWdGo {
  opacity: 1;
}

.src-pages-projects-ProjectsHome-module__hubRowRenameBtn-aqWdGo:hover {
  color: #24292e;
  background: #0000000f;
}

.src-pages-projects-ProjectsHome-module__hubRowRenameBtn-aqWdGo:focus-visible {
  opacity: 1;
  outline-offset: 1px;
  outline: 2px solid #0969da;
}

.src-pages-projects-ProjectsHome-module__hubRowRenameBtn-aqWdGo svg {
  width: 16px;
  height: 16px;
}

.src-pages-projects-ProjectsHome-module__breadcrumbRenameCluster-bjw4hp {
  align-items: center;
  gap: .2rem;
  max-width: 100%;
  display: inline-flex;
}

.src-pages-projects-ProjectsHome-module__breadcrumbRenameBtn-XCUQwi {
  color: #57606a;
  cursor: pointer;
  opacity: 0;
  background: none;
  border: none;
  border-radius: 4px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  transition: opacity .12s, background .12s;
  display: inline-flex;
}

.src-pages-projects-ProjectsHome-module__breadcrumbRenameCluster-bjw4hp:hover .src-pages-projects-ProjectsHome-module__breadcrumbRenameBtn-XCUQwi, .src-pages-projects-ProjectsHome-module__breadcrumbRenameCluster-bjw4hp:focus-within .src-pages-projects-ProjectsHome-module__breadcrumbRenameBtn-XCUQwi {
  opacity: 1;
}

.src-pages-projects-ProjectsHome-module__breadcrumbRenameBtn-XCUQwi:hover {
  color: #24292e;
  background: #0000000f;
}

.src-pages-projects-ProjectsHome-module__breadcrumbRenameBtn-XCUQwi:focus-visible {
  opacity: 1;
  outline-offset: 1px;
  outline: 2px solid #0969da;
}

.src-pages-projects-ProjectsHome-module__breadcrumbRenameBtn-XCUQwi svg {
  width: 14px;
  height: 14px;
}

.src-pages-projects-ProjectsHome-module__roleChipList-GZZMHE {
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .5rem;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__roleChip-HboiUn {
  color: #374151;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  padding: .15em .5em;
  font-size: .78rem;
  display: inline-block;
}

.src-pages-projects-ProjectsHome-module__hubRowActions-ZpgZOz {
  flex-wrap: nowrap;
  flex-shrink: 0;
  align-items: center;
  gap: .15rem;
  display: flex;
}

.src-pages-projects-ProjectsHome-module__hubIconBtn-ilHN7a, a.src-pages-projects-ProjectsHome-module__hubIconLink-dXD9B8 {
  color: #57606a;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  text-decoration: none;
  display: inline-flex;
}

.src-pages-projects-ProjectsHome-module__hubIconBtn-ilHN7a:hover, a.src-pages-projects-ProjectsHome-module__hubIconLink-dXD9B8:hover {
  color: #24292e;
  background: #eaeef2;
}

.src-pages-projects-ProjectsHome-module__hubIconBtn-ilHN7a:focus {
  outline: none;
}

.src-pages-projects-ProjectsHome-module__hubIconBtn-ilHN7a:focus-visible, a.src-pages-projects-ProjectsHome-module__hubIconLink-dXD9B8:focus-visible {
  outline-offset: 1px;
  outline: 2px solid #0969da;
}

.src-pages-projects-ProjectsHome-module__girderLink-dFlzZG {
  color: #6c757d;
  font-size: .85rem;
  text-decoration: underline;
}

.src-pages-projects-ProjectsHome-module__girderLink-dFlzZG:hover {
  color: #495057;
}

.src-pages-projects-ProjectsHome-module__buttonPrimary-beC9HF {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #007bff;
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: .4em .8em;
  font-size: .95em;
}

.src-pages-projects-ProjectsHome-module__buttonPrimary-beC9HF:hover:not(:disabled) {
  background: #0069d9;
  border-color: #0069d9;
}

.src-pages-projects-ProjectsHome-module__buttonPrimary-beC9HF:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-projects-ProjectsHome-module__buttonSecondary-c9CbNV {
  color: #6c757d;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #6c757d;
  border-radius: 4px;
  padding: .4em .8em;
  font-size: .95em;
}

.src-pages-projects-ProjectsHome-module__buttonSecondary-c9CbNV:hover:not(:disabled) {
  color: #fff;
  background: #6c757d;
}

.src-pages-projects-ProjectsHome-module__buttonSecondary-c9CbNV:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-projects-ProjectsHome-module__linkButton-v_bPE3 {
  color: #007bff;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-size: .9em;
  text-decoration: underline;
}

.src-pages-projects-ProjectsHome-module__linkButton-v_bPE3:hover {
  color: #0056b3;
}

.src-pages-projects-ProjectsHome-module__manageLink-id010U {
  color: #6c757d;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0 .25em;
  font-size: .85em;
  text-decoration: none;
}

.src-pages-projects-ProjectsHome-module__manageLink-id010U:hover {
  color: #495057;
  text-decoration: underline;
}

.src-pages-projects-ProjectsHome-module__rowIconChevron-HfA5fK {
  color: #ccc;
  user-select: none;
  font-size: 1.1em;
  line-height: 1;
}

.src-pages-projects-ProjectsHome-module__rowIconEdit-WbF4ja {
  color: #6c757d;
  user-select: none;
  font-size: 1em;
  line-height: 1;
}

.src-pages-projects-ProjectsHome-module__myProjectsSection-invj0X {
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 1.5em;
  padding-bottom: 1em;
}

.src-pages-projects-ProjectsHome-module__myProjectsTitle-CxbxzX {
  color: #24292e;
  margin: 0 0 .5em;
  font-size: 1em;
  font-weight: 600;
}

.src-pages-projects-ProjectsHome-module__errorMessage-Wmph6k {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin-bottom: 1em;
  padding: .6em 1em;
  font-size: .9em;
}

.src-pages-projects-CreateFolderModal-module__modalOverlay-aYDQWD {
  z-index: 1000;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-pages-projects-CreateFolderModal-module__modalContent-bGOxgm {
  background-color: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: 90%;
  max-width: 480px;
  display: flex;
  box-shadow: 0 4px 6px #0000001a;
}

.src-pages-projects-CreateFolderModal-module__modalHeader-bzXTqL {
  border-bottom: 1px solid #e1e4e8;
  justify-content: space-between;
  align-items: center;
  padding: 1em 1.5em;
  display: flex;
}

.src-pages-projects-CreateFolderModal-module__modalTitle-QPO_83 {
  color: #24292e;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.src-pages-projects-CreateFolderModal-module__closeButton-v6WiHY {
  cursor: pointer;
  color: #6a737d;
  background: none;
  border: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 1.5em;
  transition: background .2s;
  display: flex;
}

.src-pages-projects-CreateFolderModal-module__closeButton-v6WiHY:hover {
  color: #24292e;
  background: #f6f8fa;
}

.src-pages-projects-CreateFolderModal-module__modalBody-I0GPQl {
  flex-direction: column;
  gap: 1.2em;
  padding: 1.5em;
  display: flex;
}

.src-pages-projects-CreateFolderModal-module__fieldGroup-tBH4om {
  flex-direction: column;
  gap: .4em;
  display: flex;
}

.src-pages-projects-CreateFolderModal-module__fieldLabel-HCTM9a {
  color: #24292e;
  font-size: .9em;
  font-weight: 500;
}

.src-pages-projects-CreateFolderModal-module__textInput-yI8Ixr {
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 100%;
  padding: 8px 12px;
  font-size: .95em;
}

.src-pages-projects-CreateFolderModal-module__textInput-yI8Ixr:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 2px #007bff1a;
}

.src-pages-projects-CreateFolderModal-module__radioGroup-kJQX3G {
  flex-direction: column;
  gap: .6em;
  display: flex;
}

.src-pages-projects-CreateFolderModal-module__radioLabel-yDe81v {
  cursor: pointer;
  color: #24292e;
  align-items: flex-start;
  gap: .6em;
  font-size: .95em;
  display: flex;
}

.src-pages-projects-CreateFolderModal-module__radioLabel-yDe81v input[type="radio"] {
  cursor: pointer;
  flex-shrink: 0;
  margin-top: 2px;
}

.src-pages-projects-CreateFolderModal-module__radioDescription-wWiI5y {
  color: #6a737d;
  margin-top: 1px;
  font-size: .82em;
}

.src-pages-projects-CreateFolderModal-module__errorMessage-rLH6Ld {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  padding: .6em 1em;
  font-size: .9em;
}

.src-pages-projects-CreateFolderModal-module__modalFooter-zuCqX9 {
  border-top: 1px solid #e1e4e8;
  justify-content: flex-end;
  gap: .75em;
  padding: 1em 1.5em;
  display: flex;
}

.src-pages-projects-CreateFolderModal-module__submitButton-MmakLx {
  color: #fff;
  cursor: pointer;
  background: #1f6feb;
  border: none;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: background .2s;
}

.src-pages-projects-CreateFolderModal-module__submitButton-MmakLx:hover:not(:disabled) {
  background: #0969da;
}

.src-pages-projects-CreateFolderModal-module__submitButton-MmakLx:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-projects-CreateFolderModal-module__cancelButton-F5KMBA {
  color: #24292e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #e1e4e8;
  border-radius: 6px;
  padding: .5em 1em;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}

.src-pages-projects-CreateFolderModal-module__cancelButton-F5KMBA:hover:not(:disabled) {
  background: #f6f8fa;
  border-color: #d1d5db;
}

.src-pages-projects-CreateFolderModal-module__cancelButton-F5KMBA:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-components-UserPicker-module__wrapper-sjtnkB {
  width: 100%;
  display: inline-block;
  position: relative;
}

.src-components-UserPicker-module__input-Rglf_A {
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 100%;
  padding: .4em .6em;
  font-size: .95em;
}

.src-components-UserPicker-module__input-Rglf_A:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 0 2px #007bff26;
}

.src-components-UserPicker-module__loadingHint-oHryvk {
  color: #999;
  pointer-events: none;
  font-size: .8em;
  position: absolute;
  top: 50%;
  right: .6em;
  transform: translateY(-50%);
}

.src-components-UserPicker-module__dropdown-hK7iVt {
  z-index: 100;
  background: #fff;
  border: 1px solid #ccc;
  border-top: none;
  border-radius: 0 0 4px 4px;
  max-height: 220px;
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow-y: auto;
  box-shadow: 0 4px 12px #0000001a;
}

.src-components-UserPicker-module__dropdownItem-RCFkz1 {
  text-align: left;
  cursor: pointer;
  color: #24292e;
  background: none;
  border: none;
  width: 100%;
  padding: .5em .8em;
  font-size: .9em;
  display: block;
}

.src-components-UserPicker-module__dropdownItem-RCFkz1:hover {
  background: #f0f4ff;
}

.src-components-UserPicker-module__noResults-E3x8Jx {
  color: #999;
  padding: .5em .8em;
  font-size: .88em;
  font-style: italic;
}

.src-components-PrincipalAccessEditor-module__root-TSq1w9 {
  flex-direction: column;
  gap: 1em;
  display: flex;
}

.src-components-PrincipalAccessEditor-module__section-AsJx1_ {
  flex-direction: column;
  gap: .25em;
  display: flex;
}

.src-components-PrincipalAccessEditor-module__sectionLabel-A_TywT {
  color: #24292e;
  font-size: .9em;
  font-weight: 600;
}

.src-components-PrincipalAccessEditor-module__row-_9Klg4 {
  align-items: center;
  gap: .5em;
  padding: .25em 0;
  display: flex;
}

.src-components-PrincipalAccessEditor-module__name-k9GHyp {
  color: #24292e;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
  font-size: .9em;
  overflow: hidden;
}

.src-components-PrincipalAccessEditor-module__levelLabel-ANJJ53 {
  color: #586069;
  font-size: .88em;
}

.src-components-PrincipalAccessEditor-module__levelSelect-aZAOBD {
  border: 1px solid #ccc;
  border-radius: 4px;
  min-width: 5em;
  padding: .2em .4em;
  font-size: .9em;
}

.src-components-PrincipalAccessEditor-module__removeBtn-bSaS0X {
  color: #dc3545;
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  padding: 0 .3em;
  font-size: .9em;
  line-height: 1;
}

.src-components-PrincipalAccessEditor-module__removeBtn-bSaS0X:hover {
  color: #a71d2a;
}

.src-components-PrincipalAccessEditor-module__empty-o3T1mx {
  color: #999;
  margin: 0;
  font-size: .85em;
  font-style: italic;
}

.src-components-PrincipalAccessEditor-module__addRow-JADAZk {
  flex-wrap: wrap;
  align-items: center;
  gap: .5em;
  margin-top: .25em;
  display: flex;
}

.src-components-PrincipalAccessEditor-module__addRow-JADAZk > :first-child {
  flex: 1;
  min-width: 140px;
}

.src-components-PrincipalAccessEditor-module__addButton-INFEdA {
  color: #007bff;
  cursor: pointer;
  background: none;
  border: 1px solid #007bff;
  border-radius: 4px;
  align-self: flex-start;
  margin-top: .25em;
  padding: .3em .6em;
  font-size: .9em;
}

.src-components-PrincipalAccessEditor-module__addButton-INFEdA:hover {
  color: #fff;
  background: #007bff;
}

.src-components-PrincipalAccessEditor-module__cancelAddBtn-xEUf63 {
  color: #6c757d;
  cursor: pointer;
  background: none;
  border: 1px solid #6c757d;
  border-radius: 4px;
  padding: .3em .6em;
  font-size: .9em;
}

.src-components-PrincipalAccessEditor-module__cancelAddBtn-xEUf63:hover {
  color: #fff;
  background: #6c757d;
}

.src-pages-projects-hub-RenameResourceModal-module__scrim-GqT75X {
  z-index: 12000;
  background: #00000059;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-pages-projects-hub-RenameResourceModal-module__panel-Jcbjne {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  width: 100%;
  max-width: 22rem;
  padding: 1.1rem 1.25rem;
  box-shadow: 0 8px 32px #0000002e;
}

.src-pages-projects-hub-RenameResourceModal-module__title-fFQ95R {
  color: #24292e;
  margin: 0 0 .75rem;
  font-size: 1.05rem;
  font-weight: 600;
}

.src-pages-projects-hub-RenameResourceModal-module__label-abwjbl {
  color: #444;
  margin-bottom: .35rem;
  font-size: .82rem;
  font-weight: 500;
  display: block;
}

.src-pages-projects-hub-RenameResourceModal-module__input-K0MX58 {
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 100%;
  padding: .45rem .55rem;
  font-size: .95rem;
}

.src-pages-projects-hub-RenameResourceModal-module__input-K0MX58:focus {
  outline-offset: 1px;
  outline: 2px solid #007bff59;
}

.src-pages-projects-hub-RenameResourceModal-module__error-o8yZ6D {
  color: #c62828;
  margin: .5rem 0 0;
  font-size: .82rem;
}

.src-pages-projects-hub-RenameResourceModal-module__actions-ZhzjQl {
  justify-content: flex-end;
  gap: .5rem;
  margin-top: 1rem;
  display: flex;
}

.src-pages-projects-hub-RenameResourceModal-module__btnPrimary-muwYx_, .src-pages-projects-hub-RenameResourceModal-module__btnSecondary-amItHA {
  cursor: pointer;
  border-radius: 4px;
  padding: .4rem .85rem;
  font-size: .9rem;
}

.src-pages-projects-hub-RenameResourceModal-module__btnSecondary-amItHA {
  color: #333;
  background: #fff;
  border: 1px solid #ccc;
}

.src-pages-projects-hub-RenameResourceModal-module__btnPrimary-muwYx_ {
  color: #fff;
  background: #007bff;
  border: 1px solid #007bff;
}

.src-pages-projects-hub-RenameResourceModal-module__btnPrimary-muwYx_:disabled, .src-pages-projects-hub-RenameResourceModal-module__btnSecondary-amItHA:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-projects-ProjectEditForm-module__form-zbHljb {
  flex-direction: column;
  gap: 1em;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__settingsScrollAnchor-YjAcmY {
  scroll-margin-top: 4.5rem;
}

.src-pages-projects-ProjectEditForm-module__panel-JcDBIB {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 16px;
}

.src-pages-projects-ProjectEditForm-module__panelDisabled-ipbtJ0 {
  opacity: .55;
  pointer-events: none;
}

.src-pages-projects-ProjectEditForm-module__panelLockBanner-HqeTNL {
  color: #495057;
  background: #f1f3f5;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  margin: 0 0 12px;
  padding: 10px 12px;
  font-size: .85rem;
  line-height: 1.4;
}

.src-pages-projects-ProjectEditForm-module__panelTitle-ssFuYj {
  color: #24292e;
  margin: 0 0 12px;
  font-size: 1em;
  font-weight: 600;
}

.src-pages-projects-ProjectEditForm-module__panelTitleRow-NkAtqJ {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: .35rem;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__panelTitleRow-NkAtqJ .src-pages-projects-ProjectEditForm-module__panelTitle-ssFuYj {
  margin-bottom: 0;
}

.src-pages-projects-ProjectEditForm-module__panelTitleActions-cwTBa9 {
  align-items: center;
  gap: .35rem;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__itemsProgressTooltipWrap-tJRvcG {
  display: inline-flex;
}

.src-pages-projects-ProjectEditForm-module__persistenceNote-UKcmrY {
  color: #586069;
  margin: 0 0 12px;
  font-size: .82rem;
  line-height: 1.35;
}

.src-pages-projects-ProjectEditForm-module__publishedCheckboxRow-Af0raL {
  cursor: pointer;
  align-items: center;
  gap: .5em;
  font-size: .95em;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__publishedCheckboxRow-Af0raL input {
  flex-shrink: 0;
}

.src-pages-projects-ProjectEditForm-module__publishedHelp-g4SNpD {
  color: #586069;
  margin: .5em 0 0 1.5em;
  font-size: .88em;
}

.src-pages-projects-ProjectEditForm-module__roiReminderCallout-VbaNnJ {
  color: #24292e;
  background: #fff8e6;
  border: 1px solid #f0d78c;
  border-radius: 6px;
  margin: 0 0 12px;
  padding: 10px 12px;
  font-size: .85rem;
  line-height: 1.45;
}

.src-pages-projects-ProjectEditForm-module__roiReminderCallout-VbaNnJ a {
  color: #007bff;
  font-weight: 500;
}

.src-pages-projects-ProjectEditForm-module__roiCoverageSuccess-jJKFRb {
  color: #1a5928;
  background: #e8f5e9;
  border: 1px solid #a5d6a7;
  border-radius: 6px;
  margin: 0 0 12px;
  padding: 8px 12px;
  font-size: .82rem;
  line-height: 1.4;
}

.src-pages-projects-ProjectEditForm-module__publishRoiCheckError-F79AnA {
  color: #c62828;
  margin: 8px 0 0;
  font-size: .82rem;
}

.src-pages-projects-ProjectEditForm-module__publishWarningsBox-w3cYKB {
  color: #7c2d12;
  background: linear-gradient(#fffbeb 0%, #fef3c7 100%);
  border: 1px solid #f59e0b;
  border-left: 4px solid #d97706;
  border-radius: 6px;
  margin: 0 0 12px;
  padding: 10px 12px;
  font-size: .84rem;
  line-height: 1.45;
  box-shadow: 0 1px 2px #b4530914;
}

.src-pages-projects-ProjectEditForm-module__publishWarningsHeader-xrlDjK {
  align-items: center;
  gap: .45rem;
  margin-bottom: .45rem;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__publishWarningsIcon-yJiBis {
  color: #fff;
  background: #d97706;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.35rem;
  height: 1.35rem;
  font-size: .8rem;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.src-pages-projects-ProjectEditForm-module__publishWarningsHeading-DBwm3z {
  color: #78350f;
  font-size: .88rem;
}

.src-pages-projects-ProjectEditForm-module__publishWarningsList-lx3Wuf {
  margin: 0;
  padding: 0;
  list-style: none;
}

.src-pages-projects-ProjectEditForm-module__publishWarningsItem-rVfTMn {
  align-items: flex-start;
  gap: .45rem;
  margin-top: .35rem;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__publishWarningsItem-rVfTMn:first-child {
  margin-top: .15rem;
}

.src-pages-projects-ProjectEditForm-module__publishWarningsItemIcon-LCJRdO {
  color: #b45309;
  background: #d9770633;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: .1em;
  font-size: .65rem;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.src-pages-projects-ProjectEditForm-module__statusShortcutsRow-TKo720 {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin: .65rem 0 .85rem;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__participantShareBlock-NaMlAV {
  background: #f6f8fa;
  border: 1px solid #d8dee4;
  border-radius: 6px;
  margin: .5rem 0 .85rem;
  padding: .75rem .85rem;
}

.src-pages-projects-ProjectEditForm-module__participantShareBlockDraft-PYR4RQ {
  opacity: .92;
}

.src-pages-projects-ProjectEditForm-module__participantShareHeading-B34EZT {
  color: #24292e;
  margin: 0 0 .35rem;
  font-size: .9rem;
  font-weight: 600;
}

.src-pages-projects-ProjectEditForm-module__participantShareHint-m5p3Q9 {
  color: #57606a;
  margin: 0 0 .55rem;
  font-size: .8rem;
  line-height: 1.4;
}

.src-pages-projects-ProjectEditForm-module__participantShareRow-agvFhF {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__participantShareUrl-_UNkej {
  color: #24292e;
  word-break: break-all;
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 4px;
  flex: 1;
  min-width: 12rem;
  padding: .4em .55em;
  font-family: ui-monospace, monospace;
  font-size: .8rem;
}

.src-pages-projects-ProjectEditForm-module__participantShareUrlDisabled-hgjwcx {
  color: #8c959f;
  user-select: none;
  cursor: not-allowed;
  background: #f0f3f6;
  border-color: #d8dee4;
}

.src-pages-projects-ProjectEditForm-module__participantShareCopyBtn-rg8TIN {
  color: #0969da;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #0969da;
  border-radius: 4px;
  flex-shrink: 0;
  padding: .4em .75em;
  font-size: .8rem;
}

.src-pages-projects-ProjectEditForm-module__participantShareCopyBtn-rg8TIN:hover:not(:disabled) {
  color: #fff;
  background: #0969da;
}

.src-pages-projects-ProjectEditForm-module__participantShareCopyBtn-rg8TIN:disabled {
  opacity: .45;
  cursor: not-allowed;
  color: #8c959f;
  background: #f6f8fa;
  border-color: #8c959f;
}

.src-pages-projects-ProjectEditForm-module__participantShareCopyCopied-nt4Xt3 {
  color: #1a7f37;
  cursor: default;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #1a7f37;
  border-radius: 4px;
  flex-shrink: 0;
  padding: .4em .75em;
  font-size: .8rem;
}

.src-pages-projects-ProjectEditForm-module__statusActionsRow-DimQRB {
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin-top: .5rem;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__inlineTooltipWrap-CQcjaK {
  display: inline-flex;
}

.src-pages-projects-ProjectEditForm-module__publishedCheckboxRowDisabled-jO7k0l {
  opacity: .65;
  cursor: wait;
}

.src-pages-projects-ProjectEditForm-module__publishedCheckboxRowDisabled-jO7k0l input {
  cursor: wait;
}

.src-pages-projects-ProjectEditForm-module__roleSection-vRtRem {
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 1.1em;
  padding-bottom: 1em;
}

.src-pages-projects-ProjectEditForm-module__roleSection-vRtRem:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.src-pages-projects-ProjectEditForm-module__roleSectionHeader-jLdNKj {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5em;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__roleSectionTitle-IoKfYI {
  color: #24292e;
  align-items: center;
  gap: .5em;
  font-size: .9em;
  font-weight: 500;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__addRoleButton-LQNwzJ {
  color: #007bff;
  cursor: pointer;
  background: #fff;
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: .2em .6em;
  font-size: .82em;
}

.src-pages-projects-ProjectEditForm-module__addRoleButton-LQNwzJ:hover {
  color: #fff;
  background: #007bff;
}

.src-pages-projects-ProjectEditForm-module__cancelAddButton-Ayzp7z {
  color: #6c757d;
  cursor: pointer;
  background: #fff;
  border: 1px solid #6c757d;
  border-radius: 4px;
  margin-left: .5em;
  padding: .2em .6em;
  font-size: .82em;
}

.src-pages-projects-ProjectEditForm-module__cancelAddButton-Ayzp7z:hover {
  color: #fff;
  background: #6c757d;
}

.src-pages-projects-ProjectEditForm-module__participantRow-UIQH6L {
  align-items: center;
  gap: .6em;
  padding: .25em 0;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__participantName-x3Ok1R {
  color: #24292e;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-size: .9em;
  overflow: hidden;
}

.src-pages-projects-ProjectEditForm-module__removeButton-HOn4jC {
  color: #dc3545;
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  padding: 0 .2em;
  font-size: .9em;
  line-height: 1;
}

.src-pages-projects-ProjectEditForm-module__removeButton-HOn4jC:hover {
  color: #a71d2a;
}

.src-pages-projects-ProjectEditForm-module__addParticipantRow-cW23WJ {
  align-items: center;
  gap: 0;
  margin-top: .4em;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__emptyRoleState-N8sqoW {
  color: #999;
  margin: .1em 0 0;
  font-size: .85em;
  font-style: italic;
}

.src-pages-projects-ProjectEditForm-module__roleBadge-wtsskj {
  color: #fff;
  white-space: nowrap;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 2px 7px;
  font-size: .75em;
  font-weight: 600;
}

.src-pages-projects-ProjectEditForm-module__roleBadgeAnnotator-FUjJZj {
  background: #1f6feb;
}

.src-pages-projects-ProjectEditForm-module__roleBadgeReviewer-lrfC3t {
  background: #6f42c1;
}

.src-pages-projects-ProjectEditForm-module__roleBadgeAdmin-MXs1Oz {
  background: #dc3545;
}

.src-pages-projects-ProjectEditForm-module__uiSelectRow-QvlCOQ {
  align-items: center;
  gap: .75em;
  margin-bottom: 1em;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__uiSelectLabel-WjjsWX {
  white-space: nowrap;
  font-size: .9em;
  font-weight: 500;
}

.src-pages-projects-ProjectEditForm-module__uiSelect-PYnOpB {
  border: 1px solid #ccc;
  border-radius: 4px;
  flex: 1;
  padding: .35em .5em;
  font-size: .95em;
}

.src-pages-projects-ProjectEditForm-module__configFormWrapper-hOHJ7Q {
  max-width: 560px;
  min-height: 120px;
}

.src-pages-projects-ProjectEditForm-module__emptyState-Mvy0Vm {
  color: #586069;
  margin: 0;
  font-size: .9em;
  font-style: italic;
}

.src-pages-projects-ProjectEditForm-module__itemActionError-TDAoyH {
  color: #dc3545;
  margin: 0 0 8px;
  font-size: .88em;
}

.src-pages-projects-ProjectEditForm-module__bulkBar-LJyequ {
  background: #f0f4ff;
  border: 1px solid #c7d7fb;
  border-radius: 4px;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 6px 10px;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__bulkCount-gM_5Cy {
  color: #24292e;
  flex-shrink: 0;
  font-size: .85em;
  font-weight: 500;
}

.src-pages-projects-ProjectEditForm-module__bulkMoveSelect-kW50Uf {
  border: 1px solid #ccc;
  border-radius: 4px;
  flex: 1;
  min-width: 0;
  padding: 3px 6px;
  font-size: .85em;
}

.src-pages-projects-ProjectEditForm-module__bulkMoveButton-XzRMZY {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: none;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 3px 10px;
  font-size: .85em;
}

.src-pages-projects-ProjectEditForm-module__bulkMoveButton-XzRMZY:hover:not(:disabled) {
  background: #0056b3;
}

.src-pages-projects-ProjectEditForm-module__bulkMoveButton-XzRMZY:disabled {
  opacity: .5;
  cursor: default;
}

.src-pages-projects-ProjectEditForm-module__itemGroup-fbdowb {
  border: 1px solid #e8eaed;
  border-radius: 5px;
  margin-bottom: 14px;
  overflow: hidden;
}

.src-pages-projects-ProjectEditForm-module__itemGroupHeader-_r95bF {
  background: #f6f8fa;
  border-bottom: 1px solid #e8eaed;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__groupCheckbox-cuJttG {
  cursor: pointer;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.src-pages-projects-ProjectEditForm-module__itemGroupLabel-fClDNm {
  color: #24292e;
  flex: 1;
  font-size: .85em;
  font-weight: 600;
}

.src-pages-projects-ProjectEditForm-module__dsaPill-SON1z8 {
  color: #495057;
  background: #e9ecef;
  border: 1px solid #dee2e6;
  border-radius: 3px;
  flex-shrink: 0;
  padding: 2px 6px;
  font-size: .72rem;
  text-decoration: none;
  transition: background .12s, color .12s;
}

.src-pages-projects-ProjectEditForm-module__dsaPill-SON1z8:hover {
  color: #212529;
  background: #dee2e6;
}

.src-pages-projects-ProjectEditForm-module__deleteSubfolderButton-M63aug {
  color: #dc3545;
  cursor: pointer;
  background: none;
  border: 1px solid #dc3545;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 2px 7px;
  font-size: .75em;
}

.src-pages-projects-ProjectEditForm-module__deleteSubfolderButton-M63aug:hover {
  color: #fff;
  background: #dc3545;
}

.src-pages-projects-ProjectEditForm-module__emptyGroupState-Qw0hJf {
  color: #999;
  margin: 0;
  padding: 6px 10px;
  font-size: .82em;
  font-style: italic;
}

.src-pages-projects-ProjectEditForm-module__itemRow-RYB6q8 {
  border-bottom: 1px solid #f0f0f0;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  transition: background .1s;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__itemRow-RYB6q8:last-child {
  border-bottom: none;
}

.src-pages-projects-ProjectEditForm-module__itemRow-RYB6q8:hover {
  background: #f9fbff;
}

.src-pages-projects-ProjectEditForm-module__itemRowChecked-XmfLGR {
  background: #eaf2ff;
}

.src-pages-projects-ProjectEditForm-module__itemRowChecked-XmfLGR:hover {
  background: #dbeafe;
}

.src-pages-projects-ProjectEditForm-module__itemCheckbox-Q4RAcS {
  cursor: pointer;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.src-pages-projects-ProjectEditForm-module__itemThumbnail-Pe7LIM {
  object-fit: contain;
  cursor: pointer;
  background: #f4f4f4;
  border: 1px solid #e0e0e0;
  border-radius: 3px;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  transition: border-color .15s, opacity .15s;
}

.src-pages-projects-ProjectEditForm-module__itemThumbnail-Pe7LIM:hover {
  opacity: .85;
  border-color: #0969da;
}

.src-pages-projects-ProjectEditForm-module__itemName-Cl4cKU {
  color: #24292e;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-size: .88em;
  overflow: hidden;
}

.src-pages-projects-ProjectEditForm-module__singleMoveSelect-HTlSUV {
  color: #586069;
  background: #fff;
  border: 1px solid #d1d5da;
  border-radius: 4px;
  flex-shrink: 0;
  max-width: 130px;
  padding: 2px 4px;
  font-size: .78em;
}

.src-pages-projects-ProjectEditForm-module__deleteItemButton-aDU984 {
  color: #dc3545;
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  padding: 0 2px;
  font-size: .85em;
  line-height: 1;
}

.src-pages-projects-ProjectEditForm-module__deleteItemButton-aDU984:hover {
  color: #a71d2a;
}

.src-pages-projects-ProjectEditForm-module__itemGroupActions-vG5PmH {
  flex-shrink: 0;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__itemGroupActionButton-VOhD9W {
  color: #007bff;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: .75em;
}

.src-pages-projects-ProjectEditForm-module__itemGroupActionButton-VOhD9W:hover {
  color: #fff;
  background: #007bff;
}

.src-pages-projects-ProjectEditForm-module__inlineSubfolderCreate-f1__uD {
  background: #f0f6ff;
  border-bottom: 1px solid #e8eaed;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__inlineError-I96UUY {
  color: #dc3545;
  flex-shrink: 0;
  font-size: .8em;
}

.src-pages-projects-ProjectEditForm-module__itemGroupNested-gYTfd0 {
  border-left: 2px solid #d0d7de;
}

.src-pages-projects-ProjectEditForm-module__itemsFooter-TyDKZR {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__addItemsButton-sl_GtS {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: none;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 6px 14px;
  font-size: .88em;
}

.src-pages-projects-ProjectEditForm-module__addItemsButton-sl_GtS:hover {
  background: #0056b3;
}

.src-pages-projects-ProjectEditForm-module__createSubfolderRow-t6BaZN {
  flex: 1;
  align-items: center;
  gap: 6px;
  min-width: 220px;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__subfolderInput-DfZNX0 {
  border: 1px solid #ccc;
  border-radius: 4px;
  flex: 1;
  min-width: 0;
  padding: 5px 8px;
  font-size: .88em;
}

.src-pages-projects-ProjectEditForm-module__createSubfolderButton-UcJP0z {
  color: #007bff;
  cursor: pointer;
  background: #fff;
  border: 1px solid #007bff;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 5px 12px;
  font-size: .85em;
}

.src-pages-projects-ProjectEditForm-module__createSubfolderButton-UcJP0z:hover:not(:disabled) {
  color: #fff;
  background: #007bff;
}

.src-pages-projects-ProjectEditForm-module__createSubfolderButton-UcJP0z:disabled {
  opacity: .5;
  cursor: default;
}

.src-pages-projects-ProjectEditForm-module__confirmOverlay-Dz3IE7 {
  z-index: 1100;
  background: #0006;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-pages-projects-ProjectEditForm-module__confirmDialog-Ffagd9 {
  background: #fff;
  border-radius: 8px;
  width: 90%;
  max-width: 400px;
  padding: 24px;
  box-shadow: 0 6px 24px #0003;
}

.src-pages-projects-ProjectEditForm-module__confirmDialogWide-DlO2yl {
  max-width: 440px;
}

.src-pages-projects-ProjectEditForm-module__confirmDialogTitle-sx0LcK {
  color: #24292e;
  margin: 0 0 12px;
  font-size: 1.05em;
  font-weight: 600;
}

.src-pages-projects-ProjectEditForm-module__confirmMsg-n6GM_k {
  color: #24292e;
  margin: 0 0 18px;
  font-size: .95em;
  line-height: 1.5;
}

.src-pages-projects-ProjectEditForm-module__confirmInputRow-FP3LmB {
  flex-direction: column;
  gap: 6px;
  margin: 0 0 18px;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__confirmInputLabel-_XU5jb {
  color: #57606a;
  font-size: .84em;
  font-weight: 600;
}

.src-pages-projects-ProjectEditForm-module__confirmInput-Ud6Sk3 {
  color: #24292e;
  background: #fff;
  border: 1px solid #d0d7de;
  border-radius: 6px;
  width: 100%;
  min-width: 0;
  padding: 7px 9px;
  font-size: .92em;
}

.src-pages-projects-ProjectEditForm-module__confirmInput-Ud6Sk3:focus {
  outline-offset: 1px;
  border-color: #0969da;
  outline: 2px solid #0969da4d;
}

.src-pages-projects-ProjectEditForm-module__confirmActions-zvpTKN {
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__buttonSecondary-JFyNw_ {
  cursor: pointer;
  color: #24292e;
  background: #fff;
  border: 1px solid #d1d5da;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: .9em;
}

.src-pages-projects-ProjectEditForm-module__buttonSecondary-JFyNw_:hover {
  background: #f6f8fa;
}

.src-pages-projects-ProjectEditForm-module__buttonDanger-cqsMWb {
  color: #fff;
  cursor: pointer;
  background: #dc3545;
  border: none;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: .9em;
}

.src-pages-projects-ProjectEditForm-module__buttonDanger-cqsMWb:hover {
  background: #a71d2a;
}

.src-pages-projects-ProjectEditForm-module__buttonPrimary-Du_17r {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: none;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: .9em;
}

.src-pages-projects-ProjectEditForm-module__buttonPrimary-Du_17r:hover {
  background: #0069d9;
}

.src-pages-projects-ProjectEditForm-module__uploadProgressList-aiRtv3 {
  background: #f6f8fa;
  border-bottom: 1px solid #e8eaed;
  flex-direction: column;
  gap: 4px;
  padding: 6px 10px;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__uploadProgressRow-CFyXog {
  align-items: center;
  gap: 8px;
  font-size: .82em;
  display: flex;
}

.src-pages-projects-ProjectEditForm-module__uploadFileName-B0j8UO {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #24292e;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.src-pages-projects-ProjectEditForm-module__uploadBarTrack-wNW50f {
  background: #e0e0e0;
  border-radius: 3px;
  flex-shrink: 0;
  width: 120px;
  height: 6px;
  overflow: hidden;
}

.src-pages-projects-ProjectEditForm-module__uploadBarFill-E7ECTC {
  background: #28a745;
  border-radius: 3px;
  height: 100%;
  transition: width .1s linear;
}

.src-pages-projects-ProjectEditForm-module__uploadDone-Z7WT_O {
  color: #28a745;
  flex-shrink: 0;
  font-weight: 600;
}

.src-pages-projects-ProjectEditForm-module__uploadError-vR2dRn {
  color: #dc3545;
  flex-shrink: 0;
  font-size: .9em;
}

.src-pages-projects-ProjectEditForm-module__uploadDismissButton-pkMQHF {
  color: #586069;
  cursor: pointer;
  background: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  align-self: flex-end;
  margin-top: 2px;
  padding: 2px 8px;
  font-size: .78em;
}

.src-pages-projects-ProjectEditForm-module__uploadDismissButton-pkMQHF:hover {
  color: #24292e;
  background: #e9ecef;
  border-color: #999;
}

.src-pages-projects-ProjectDetail-module__pageHeader-BblaxB {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: .75em;
  margin-bottom: 1.2em;
  display: flex;
}

.src-pages-projects-ProjectDetail-module__headerLeft-bA1SoT {
  flex-direction: column;
  gap: .2em;
  display: flex;
}

.src-pages-projects-ProjectDetail-module__titleRow-tVDF4k {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  display: flex;
}

.src-pages-projects-ProjectDetail-module__pageTitle-XoTxXR {
  margin: 0;
  font-size: 1.4em;
  font-weight: 600;
}

.src-pages-projects-ProjectDetail-module__titleRenameBtn-u0engC {
  color: #57606a;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 4px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  display: inline-flex;
}

.src-pages-projects-ProjectDetail-module__titleRenameBtn-u0engC:hover {
  color: #24292e;
  background: #0000000f;
}

.src-pages-projects-ProjectDetail-module__titleRenameBtn-u0engC:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #0969da;
}

.src-pages-projects-ProjectDetail-module__titleRenameBtn-u0engC svg {
  width: 18px;
  height: 18px;
}

.src-pages-projects-ProjectDetail-module__headerActions-AIumbD {
  flex-wrap: wrap;
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-pages-projects-ProjectDetail-module__breadcrumb-oGkzEI {
  color: #586069;
  align-items: center;
  gap: .4em;
  font-size: .88em;
  display: flex;
}

.src-pages-projects-ProjectDetail-module__breadcrumbLink-XfwQ5W {
  color: #007bff;
  text-decoration: underline;
}

.src-pages-projects-ProjectDetail-module__breadcrumbLink-XfwQ5W:hover {
  color: #0056b3;
}

.src-pages-projects-ProjectDetail-module__breadcrumbSeparator-ilMBbW {
  color: #ccc;
  user-select: none;
}

.src-pages-projects-ProjectDetail-module__breadcrumbCurrent-rTnpMt {
  color: #333;
  font-weight: 500;
}

.src-pages-projects-ProjectDetail-module__buttonPrimary-VPfort {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #007bff;
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: .4em .9em;
  font-size: .95em;
}

.src-pages-projects-ProjectDetail-module__buttonPrimary-VPfort:hover:not(:disabled) {
  background: #0069d9;
  border-color: #0069d9;
}

.src-pages-projects-ProjectDetail-module__buttonPrimary-VPfort:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-projects-ProjectDetail-module__buttonSecondary-cEkDUh {
  color: #6c757d;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #6c757d;
  border-radius: 4px;
  padding: .4em .9em;
  font-size: .95em;
}

.src-pages-projects-ProjectDetail-module__buttonSecondary-cEkDUh:hover:not(:disabled) {
  color: #fff;
  background: #6c757d;
}

.src-pages-projects-ProjectDetail-module__buttonSecondary-cEkDUh:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.src-pages-projects-ProjectDetail-module__buttonOpen-QpRpl8 {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #28a745;
  border: 1px solid #28a745;
  border-radius: 4px;
  padding: .4em .9em;
  font-size: .95em;
}

.src-pages-projects-ProjectDetail-module__buttonOpen-QpRpl8:hover:not(:disabled) {
  background: #218838;
  border-color: #1e7e34;
}

.src-pages-projects-ProjectDetail-module__buttonOpen-QpRpl8:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.src-pages-projects-ProjectDetail-module__backLink-UPD1rC {
  color: #007bff;
  font-size: .9em;
  text-decoration: underline;
}

.src-pages-projects-ProjectDetail-module__backLink-UPD1rC:hover {
  color: #0056b3;
}

.src-pages-projects-ProjectDetail-module__loading-mYMKTo {
  color: #586069;
  padding: 1.5em 0;
}

.src-pages-projects-ProjectDetail-module__errorMessage-fs2tg4 {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin-bottom: 1em;
  padding: .6em 1em;
  font-size: .9em;
}

.src-pages-projects-ProjectDetail-module__successMessage-VrR1Th {
  color: #155724;
  background: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  margin-bottom: 1em;
  padding: .6em 1em;
  font-size: .9em;
}

.src-pages-projects-ProjectDetail-module__pageWithStickyDraft-eK0xJZ {
  padding-top: 3.25rem;
}

.src-pages-projects-ProjectDetail-module__stickyDraftBar-u4JAsf {
  z-index: 2000;
  background: #fff8e1;
  border-bottom: 1px solid #ffc107;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 1px 4px #00000014;
}

.src-pages-projects-ProjectDetail-module__stickyDraftBarInner-M2OD_q {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .75rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: .5rem 1rem;
  display: flex;
}

.src-pages-projects-ProjectDetail-module__stickyDraftMessage-ffTcn6 {
  color: #856404;
  margin-right: auto;
  font-size: .9rem;
  font-weight: 600;
}

.src-pages-projects-ProjectDetail-module__stickyDraftActions-CoWeiW {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.src-pages-projects-ProjectDetail-module__subRow-fNFBeR {
  margin-top: .15rem;
}

.src-pages-projects-ProjectDetail-module__textLink-Q7nV5m {
  color: #007bff;
  font-size: .88em;
  text-decoration: underline;
}

.src-pages-projects-ProjectDetail-module__textLink-Q7nV5m:hover:not(.src-pages-projects-ProjectDetail-module__textLinkDisabled-QVPX_w) {
  color: #0056b3;
}

.src-pages-projects-ProjectDetail-module__textLinkDisabled-QVPX_w {
  color: #6c757d;
  cursor: not-allowed;
  pointer-events: none;
}

.src-pages-projects-ProjectDetail-module__tooltipAnchor-Iet7As {
  display: inline-flex;
}

.src-pages-projects-ProjectDetail-module__statusBadgeRow-JqJZgp {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-top: .35rem;
  display: flex;
}

.src-pages-projects-ProjectDetail-module__statusBadgeDraft-c4sIzB {
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #856404;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 4px;
  align-items: center;
  padding: .2rem .55rem;
  font-size: .78rem;
  font-weight: 600;
  display: inline-flex;
}

.src-pages-projects-ProjectDetail-module__statusBadgePublished-ega5dr {
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #155724;
  background: #d4edda;
  border: 1px solid #28a745;
  border-radius: 4px;
  align-items: center;
  padding: .2rem .55rem;
  font-size: .78rem;
  font-weight: 600;
  display: inline-flex;
}

.src-pages-projects-ProjectDetail-module__statusBadgeClosed-Wgulc8 {
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #0c5460;
  background: #e7f5ff;
  border: 1px solid #0dcaf0;
  border-radius: 4px;
  align-items: center;
  padding: .2rem .55rem;
  font-size: .78rem;
  font-weight: 600;
  display: inline-flex;
}

.src-pages-projects-ProjectDetail-module__statusBadgeArchived-BP3dZL {
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #495057;
  background: #f1f3f5;
  border: 1px solid #adb5bd;
  border-radius: 4px;
  align-items: center;
  padding: .2rem .55rem;
  font-size: .78rem;
  font-weight: 600;
  display: inline-flex;
}

.src-pages-projects-ProjectDetail-module__statusBadgeSub-jSKQvM {
  color: #586069;
  text-transform: none;
  font-size: .82rem;
  font-weight: normal;
}

.src-pages-projects-ProjectEdit-RoleSection-module__roleSection-s_i4VQ {
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 1.1em;
  padding-bottom: 1em;
}

.src-pages-projects-ProjectEdit-RoleSection-module__roleSection-s_i4VQ:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.src-pages-projects-ProjectEdit-RoleSection-module__roleSectionHeader-tttspG {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5em;
  display: flex;
}

.src-pages-projects-ProjectEdit-RoleSection-module__roleSectionTitle-krEB04 {
  color: #24292e;
  align-items: center;
  gap: .5em;
  font-size: .9em;
  font-weight: 500;
  display: flex;
}

.src-pages-projects-ProjectEdit-RoleSection-module__addRoleButton-gYXDas {
  color: #007bff;
  cursor: pointer;
  background: #fff;
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: .2em .6em;
  font-size: .82em;
}

.src-pages-projects-ProjectEdit-RoleSection-module__addRoleButton-gYXDas:hover {
  color: #fff;
  background: #007bff;
}

.src-pages-projects-ProjectEdit-RoleSection-module__cancelAddButton-vpmPtl {
  color: #6c757d;
  cursor: pointer;
  background: #fff;
  border: 1px solid #6c757d;
  border-radius: 4px;
  margin-left: .5em;
  padding: .2em .6em;
  font-size: .82em;
}

.src-pages-projects-ProjectEdit-RoleSection-module__cancelAddButton-vpmPtl:hover {
  color: #fff;
  background: #6c757d;
}

.src-pages-projects-ProjectEdit-RoleSection-module__participantRow-VKbSy1 {
  align-items: center;
  gap: .6em;
  padding: .25em 0;
  display: flex;
}

.src-pages-projects-ProjectEdit-RoleSection-module__participantName-xN3h28 {
  color: #24292e;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-size: .9em;
  overflow: hidden;
}

.src-pages-projects-ProjectEdit-RoleSection-module__removeButton-NHWZPf {
  color: #dc3545;
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  padding: 0 .2em;
  font-size: .9em;
  line-height: 1;
}

.src-pages-projects-ProjectEdit-RoleSection-module__removeButton-NHWZPf:hover {
  color: #a71d2a;
}

.src-pages-projects-ProjectEdit-RoleSection-module__addParticipantRow-mzjicY {
  align-items: center;
  gap: 0;
  margin-top: .4em;
  display: flex;
}

.src-pages-projects-ProjectEdit-RoleSection-module__emptyRoleState-d7t2wh {
  color: #999;
  margin: .1em 0 0;
  font-size: .85em;
  font-style: italic;
}

.src-pages-projects-ProjectEdit-RoleSection-module__roleBadge-ePA07p {
  color: #fff;
  white-space: nowrap;
  border-radius: 4px;
  flex-shrink: 0;
  padding: 2px 7px;
  font-size: .75em;
  font-weight: 600;
}

.src-pages-projects-ProjectEdit-RoleSection-module__roleBadgeAnnotator-UAhXNS {
  background: #1f6feb;
}

.src-pages-projects-ProjectEdit-RoleSection-module__roleBadgeReviewer-pI8aBX {
  background: #6f42c1;
}

.src-pages-projects-ProjectEdit-RoleSection-module__roleBadgeAdmin-nZZjXM {
  background: #dc3545;
}

.src-components-ItemPicker-module__overlay-C073Yw {
  z-index: 1000;
  background: #00000073;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-components-ItemPicker-module__modal-Da1WVM {
  background: #fff;
  border-radius: 8px;
  flex-direction: column;
  width: min(680px, 95vw);
  max-height: 82vh;
  display: flex;
  overflow: hidden;
  box-shadow: 0 8px 32px #00000038;
}

.src-components-ItemPicker-module__header-zYfqD8 {
  border-bottom: 1px solid #e0e0e0;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px 10px;
  display: flex;
}

.src-components-ItemPicker-module__title-U0hOdR {
  color: #24292e;
  margin: 0;
  font-size: 1.05em;
  font-weight: 600;
}

.src-components-ItemPicker-module__closeButton-ZZf96d {
  color: #586069;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0 .3em;
  font-size: 1em;
  line-height: 1;
}

.src-components-ItemPicker-module__closeButton-ZZf96d:hover {
  color: #24292e;
}

.src-components-ItemPicker-module__breadcrumb-Wv9Ela {
  background: #f6f8fa;
  border-bottom: 1px solid #e0e0e0;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  gap: 0;
  padding: 8px 18px;
  font-size: .85em;
  display: flex;
}

.src-components-ItemPicker-module__breadcrumbEntry-oBnVLF {
  align-items: center;
  display: flex;
}

.src-components-ItemPicker-module__breadcrumbSep-zTpSXs {
  color: #999;
  padding: 0 5px;
}

.src-components-ItemPicker-module__breadcrumbLink-ZojTKH {
  color: #0366d6;
  cursor: pointer;
  font-size: inherit;
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
}

.src-components-ItemPicker-module__breadcrumbLink-ZojTKH:hover {
  color: #024ea4;
}

.src-components-ItemPicker-module__breadcrumbCurrent-B1jcNU {
  color: #24292e;
  font-weight: 500;
}

.src-components-ItemPicker-module__body-OGsj54 {
  flex: 1;
  padding: 8px 0;
  overflow-y: auto;
}

.src-components-ItemPicker-module__loadingMsg-MeH8LA, .src-components-ItemPicker-module__emptyMsg-faTMba {
  color: #586069;
  margin: 0;
  padding: 16px 18px;
  font-size: .9em;
  font-style: italic;
}

.src-components-ItemPicker-module__row-NWpUih {
  cursor: default;
  align-items: center;
  gap: 8px;
  padding: 6px 18px;
  transition: background .1s;
  display: flex;
}

.src-components-ItemPicker-module__row-NWpUih:hover {
  background: #f6f8fa;
}

.src-components-ItemPicker-module__rowSelected-WzGfaz {
  background: #dbeafe;
}

.src-components-ItemPicker-module__rowSelected-WzGfaz:hover {
  background: #c7dffb;
}

.src-components-ItemPicker-module__rowDimmed-S4IptT {
  opacity: .45;
}

.src-components-ItemPicker-module__checkbox-zFmtuc {
  cursor: pointer;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
}

.src-components-ItemPicker-module__typeIcon-ex4Fvp {
  flex-shrink: 0;
  font-size: 1em;
}

.src-components-ItemPicker-module__navButton-aqXeSK {
  color: #0366d6;
  cursor: pointer;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: none;
  border: none;
  flex: 1;
  min-width: 0;
  padding: 0;
  font-size: .9em;
  overflow: hidden;
}

.src-components-ItemPicker-module__navButton-aqXeSK:hover {
  text-decoration: underline;
}

.src-components-ItemPicker-module__itemLabel-ADxs3G {
  color: #24292e;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  flex: 1;
  min-width: 0;
  font-size: .9em;
  overflow: hidden;
}

.src-components-ItemPicker-module__typeBadge-Wh6rJU {
  color: #586069;
  background: #e8eaed;
  border-radius: 3px;
  flex-shrink: 0;
  padding: 2px 6px;
  font-size: .72em;
}

.src-components-ItemPicker-module__alreadyBadge-RkUaZZ {
  color: #999;
  margin-left: 6px;
  font-size: .78em;
  font-style: italic;
}

.src-components-ItemPicker-module__footer-asXgHp {
  border-top: 1px solid #e0e0e0;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  display: flex;
}

.src-components-ItemPicker-module__selectionSummary-IVWSS5 {
  color: #586069;
  font-size: .85em;
}

.src-components-ItemPicker-module__footerActions-GY49AQ {
  gap: 8px;
  display: flex;
}

.src-components-ItemPicker-module__buttonPrimary-n9n0Ss {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: none;
  border-radius: 4px;
  padding: 6px 16px;
  font-size: .9em;
}

.src-components-ItemPicker-module__buttonPrimary-n9n0Ss:hover:not(:disabled) {
  background: #0056b3;
}

.src-components-ItemPicker-module__buttonPrimary-n9n0Ss:disabled {
  opacity: .5;
  cursor: default;
}

.src-components-ItemPicker-module__buttonSecondary-puKcb1 {
  color: #24292e;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d1d5da;
  border-radius: 4px;
  padding: 6px 16px;
  font-size: .9em;
}

.src-components-ItemPicker-module__buttonSecondary-puKcb1:hover {
  background: #f6f8fa;
}

.src-pages-projects-SlidePreviewModal-module__backdrop-WCrHcL {
  z-index: 1000;
  background: #0000008c;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-pages-projects-SlidePreviewModal-module__panel-lNerCY {
  background: #fff;
  border-radius: 6px;
  flex-direction: column;
  width: min(85vw, 900px);
  height: min(85vh, 700px);
  display: flex;
  overflow: hidden;
  box-shadow: 0 8px 32px #00000047;
}

.src-pages-projects-SlidePreviewModal-module__header-ZGJokX {
  background: #f8f8f8;
  border-bottom: 1px solid #e0e0e0;
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  display: flex;
}

.src-pages-projects-SlidePreviewModal-module__title-DLAQvD {
  color: #24292e;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: calc(100% - 40px);
  font-size: .92em;
  font-weight: 600;
  overflow: hidden;
}

.src-pages-projects-SlidePreviewModal-module__closeBtn-ZszExX {
  color: #555;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 3px;
  flex-shrink: 0;
  padding: 2px 6px;
  font-size: 1.4em;
  line-height: 1;
}

.src-pages-projects-SlidePreviewModal-module__closeBtn-ZszExX:hover {
  color: #111;
  background: #e8e8e8;
}

.src-pages-projects-SlidePreviewModal-module__viewerWrap-ac5Zq9 {
  background: #1a1a1a;
  flex: 1;
  min-height: 0;
}

.src-components-AnnotationStylePicker-module__root-Uy4A_t {
  flex-wrap: wrap;
  align-items: center;
  gap: .75em 1em;
  display: flex;
}

.src-components-AnnotationStylePicker-module__field-nCXmKQ {
  align-items: center;
  gap: .35em;
  display: inline-flex;
}

.src-components-AnnotationStylePicker-module__label-p5CF9F {
  color: #24292e;
  white-space: nowrap;
  font-size: .85em;
}

.src-components-AnnotationStylePicker-module__colorInput-uG1HCI {
  cursor: pointer;
  background: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 2em;
  height: 1.6em;
  padding: 0;
}

.src-components-AnnotationStylePicker-module__numberInput-ECX5kW {
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 4em;
  padding: .25em .4em;
  font-size: .9em;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__fieldGroup-V7K1zA {
  flex-direction: column;
  gap: .4em;
  display: flex;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__fieldLabel-GTQPnx {
  color: #24292e;
  font-size: .9em;
  font-weight: 600;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__subLabel-Hibe97 {
  color: #444;
  font-size: .85em;
  font-weight: 600;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__hint-pCwDYg {
  color: #586069;
  margin: 0 0 .35em;
  font-size: .88em;
  line-height: 1.35;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__radioLabel-IFDfIQ {
  cursor: pointer;
  align-items: center;
  gap: .45em;
  font-size: .9em;
  display: flex;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__categoriesHeader-E3aAgn {
  justify-content: space-between;
  align-items: center;
  margin-top: .5rem;
  margin-bottom: .4em;
  display: flex;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__addButton-DpBHyW {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: .3em .7em;
  font-size: .85em;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__addButton-DpBHyW:hover {
  background: #0069d9;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__empty-qxi6r7 {
  color: #586069;
  margin: 0;
  font-size: .9em;
  font-style: italic;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__categoryBlock-qF28jR {
  margin-bottom: .6em;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__categoryRow-B8WvpD {
  align-items: center;
  gap: .5em;
  margin-bottom: .35em;
  display: flex;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__stylePickerWrap-_spiCi {
  margin-left: .5em;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__categoryLabel-bldhzT {
  border: 1px solid #ccc;
  border-radius: 4px;
  flex: 1;
  padding: .35em .5em;
  font-size: .9em;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__removeButton-xC1ObB {
  color: #999;
  cursor: pointer;
  background: none;
  border: none;
  padding: .2em;
  font-size: 1.1em;
  line-height: 1;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__removeButton-xC1ObB:hover {
  color: #c00;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__editRoiRow-xgFKvr {
  border-top: 1px solid #e1e4e8;
  margin-top: .75rem;
  padding-top: .65rem;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__editRoiHint-jUmRF_ {
  color: #586069;
  margin: 0;
  font-size: .85em;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__editRoiLink-WphMD6 {
  color: #495057;
  background: #fff;
  border: 1px solid #6c757d;
  border-radius: 4px;
  padding: .35em .75em;
  font-size: .88em;
  text-decoration: none;
  display: inline-block;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__editRoiLink-WphMD6:hover {
  color: #fff;
  background: #6c757d;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__editRoiTooltipWrap-i3RbSS {
  display: inline-flex;
}

.src-pages-projects-uis-RoiCategoriesConfigSection-module__editRoiFakeButton-UZde11 {
  color: #868e96;
  cursor: not-allowed;
  user-select: none;
  background: #f1f3f5;
  border: 1px solid #ced4da;
  border-radius: 4px;
  padding: .35em .75em;
  font-size: .88em;
  display: inline-block;
}

.src-pages-projects-ProjectItemListWithProgress-module__list-vU7dAZ {
  flex-direction: column;
  display: flex;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemRow-fByPzx {
  text-align: left;
  cursor: pointer;
  color: #212529;
  background: none;
  border: none;
  border-left: 3px solid #0000;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 5px 10px;
  font-size: .875rem;
  transition: background .1s;
  display: flex;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemRow-fByPzx:hover {
  background: #f5f5f5;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemRowActive-_dy9Wp {
  background: #e8f0fe;
  border-left-color: #0969da;
  font-weight: 500;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemRowActive-_dy9Wp:hover {
  background: #dce8fd;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemIndex-aaCWFf {
  color: #adb5bd;
  font-variant-numeric: tabular-nums;
  text-align: right;
  flex-shrink: 0;
  min-width: 1.8em;
  font-size: .75rem;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemThumb-oLTEw_ {
  object-fit: contain;
  background: #f4f4f4;
  border: 1px solid #e0e0e0;
  border-radius: 3px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemName-IU2VYB {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-size: .82rem;
  overflow: hidden;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemProgress-abZ1Y6 {
  text-align: center;
  border-radius: 10px;
  flex-shrink: 0;
  min-width: 5.5em;
  padding: 2px 8px;
  font-size: .75rem;
  font-weight: 500;
}

.src-pages-projects-ProjectItemListWithProgress-module__progressBadgeNotStarted-J7CK2D {
  color: #6c757d;
  background: #e9ecef;
}

.src-pages-projects-ProjectItemListWithProgress-module__progressBadgeInProgress-msXLlv {
  color: #b45309;
  background: #fff3e0;
}

.src-pages-projects-ProjectItemListWithProgress-module__progressBadgeCompleted-so69qE {
  color: #0d6832;
  background: #e6f4ea;
}

.src-pages-projects-ProjectItemListWithProgress-module__itemProgress-abZ1Y6 .src-pages-projects-ProjectItemListWithProgress-module__progressBadgeIcon-y9IkxT {
  vertical-align: -.15em;
  width: .9em;
  height: .9em;
  margin-right: 4px;
  display: inline-block;
}

.src-pages-projects-ProjectHomepage-module__page-NuCWiR {
  max-width: 720px;
  margin: 0 auto;
  padding: 1.5em 1em;
}

.src-pages-projects-ProjectHomepage-module__loading-J8IyCR {
  color: #586069;
  text-align: center;
  padding: 2em;
}

.src-pages-projects-ProjectHomepage-module__errorMessage-cqZiS9 {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin-bottom: 1em;
  padding: .6em 1em;
  font-size: .9em;
}

.src-pages-projects-ProjectHomepage-module__pageHeader-nZOVH7 {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1em;
  margin-bottom: 1.5em;
  display: flex;
}

.src-pages-projects-ProjectHomepage-module__headerLeft-W1qft_ {
  flex-direction: column;
  gap: .3em;
  display: flex;
}

.src-pages-projects-ProjectHomepage-module__headerActions-AD6jxB {
  flex-shrink: 0;
  gap: .5em;
  display: flex;
}

.src-pages-projects-ProjectHomepage-module__backLink-DQbiQJ {
  color: #586069;
  font-size: .9em;
  text-decoration: none;
}

.src-pages-projects-ProjectHomepage-module__backLink-DQbiQJ:hover {
  color: #007bff;
  text-decoration: underline;
}

.src-pages-projects-ProjectHomepage-module__pageTitle-gPLMn4 {
  color: #24292e;
  margin: 0;
  font-size: 1.5em;
  font-weight: 600;
}

.src-pages-projects-ProjectHomepage-module__myRoles-nSNWhE {
  flex-wrap: wrap;
  gap: .4em;
  margin-top: .2em;
  display: flex;
}

.src-pages-projects-ProjectHomepage-module__roleBadge-XRDlEZ {
  color: #fff;
  white-space: nowrap;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: .78em;
  font-weight: 600;
}

.src-pages-projects-ProjectHomepage-module__roleBadge_annotator-kayix0 {
  background: #0366d6;
}

.src-pages-projects-ProjectHomepage-module__roleBadge_reviewer-m2u8z5 {
  background: #6f42c1;
}

.src-pages-projects-ProjectHomepage-module__roleBadge_admin-vxbPcH {
  background: #28a745;
}

.src-pages-projects-ProjectHomepage-module__instructionsCard-iELiud, .src-pages-projects-ProjectHomepage-module__actionCard-rVhI_S {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 1em;
  padding: 1.2em 1.4em;
}

.src-pages-projects-ProjectHomepage-module__sectionTitle-mlVNk3 {
  color: #24292e;
  margin: 0 0 .5em;
  font-size: 1em;
  font-weight: 600;
}

.src-pages-projects-ProjectHomepage-module__annotationTaskHeader-ZBq8mW {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75em 1em;
  margin-bottom: .35em;
  display: flex;
}

.src-pages-projects-ProjectHomepage-module__annotationTaskHeader-ZBq8mW .src-pages-projects-ProjectHomepage-module__sectionTitle-mlVNk3 {
  flex: 1;
  min-width: 0;
  margin: 0;
}

.src-pages-projects-ProjectHomepage-module__annotationTaskHeader-ZBq8mW .src-pages-projects-ProjectHomepage-module__buttonOpen-azbbJc {
  flex-shrink: 0;
  align-self: flex-start;
}

.src-pages-projects-ProjectHomepage-module__annotationSubheading-TBN7gm {
  color: #24292e;
  margin: .75em 0 .35em;
  font-size: .92em;
  font-weight: 600;
}

.src-pages-projects-ProjectHomepage-module__instructionsText-uRb3HW {
  color: #444;
  white-space: pre-wrap;
  margin: 0;
  font-size: .95em;
  line-height: 1.5;
}

.src-pages-projects-ProjectHomepage-module__noInstructions-hmeQWq {
  color: #586069;
  margin: 0;
  font-size: .9em;
  font-style: italic;
}

.src-pages-projects-ProjectHomepage-module__actionDescription-sDu6po {
  color: #444;
  margin: 0 0 1em;
  font-size: .95em;
}

.src-pages-projects-ProjectHomepage-module__progressListWrap-ArNhpd {
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  max-height: 320px;
  overflow-y: auto;
}

.src-pages-projects-ProjectHomepage-module__buttonPrimary-bqzemM {
  color: #fff;
  cursor: pointer;
  background: #007bff;
  border: 1px solid #007bff;
  border-radius: 4px;
  padding: .5em 1em;
  font-size: .95em;
  font-weight: 600;
}

.src-pages-projects-ProjectHomepage-module__buttonPrimary-bqzemM:hover {
  background: #0069d9;
  border-color: #0069d9;
}

.src-pages-projects-ProjectHomepage-module__buttonOpen-azbbJc {
  color: #fff;
  cursor: pointer;
  background: #28a745;
  border: none;
  border-radius: 4px;
  padding: .5em 1.2em;
  font-size: 1em;
  font-weight: 600;
  transition: background .15s;
}

.src-pages-projects-ProjectHomepage-module__buttonOpen-azbbJc:hover:not(:disabled) {
  background: #218838;
}

.src-pages-projects-ProjectHomepage-module__buttonOpen-azbbJc:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.src-pages-projects-ProjectHomepage-module__buttonSecondary-fklAWY {
  color: #6c757d;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #6c757d;
  border-radius: 4px;
  padding: .4em .8em;
  font-size: .9em;
}

.src-pages-projects-ProjectHomepage-module__buttonSecondary-fklAWY:hover {
  color: #fff;
  background: #6c757d;
}

.src-pages-projects-ProjectHomepage-module__emptyStateCard-N8JAmE {
  background: #f0f7ff;
  border: 1px solid #0969da;
  border-radius: 8px;
  margin-bottom: 1em;
  padding: 1.2em 1.4em;
}

.src-pages-projects-ProjectHomepage-module__emptyStateTitle-ZXynzs {
  color: #0969da;
  margin: 0 0 .6em;
  font-size: 1.05em;
  font-weight: 600;
}

.src-pages-projects-ProjectHomepage-module__emptyStateList-vzxVsa {
  color: #444;
  margin: 0 0 1em;
  padding-left: 1.4em;
  font-size: .95em;
  line-height: 1.6;
}

.src-pages-projects-ProjectHomepage-module__emptyStateActions-Rqcm4B {
  margin-top: .5em;
}

.src-pages-projects-ProjectProgressPage-module__page-pY1XmB {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.5em 1em;
}

.src-pages-projects-ProjectProgressPage-module__loading-ImoRX2 {
  color: #586069;
  text-align: center;
  padding: 2em;
}

.src-pages-projects-ProjectProgressPage-module__errorMessage-NbSI2K {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  margin-bottom: 1em;
  padding: .6em 1em;
  font-size: .9em;
}

.src-pages-projects-ProjectProgressPage-module__headerRow-lKQRiT {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1em;
  margin-bottom: 1em;
  display: flex;
}

.src-pages-projects-ProjectProgressPage-module__title-Ng9QN5 {
  margin: 0;
  font-size: 1.35em;
  font-weight: 600;
}

.src-pages-projects-ProjectProgressPage-module__subTitle-_nwPB6 {
  color: #586069;
  margin: .25em 0 0;
  font-size: .9em;
}

.src-pages-projects-ProjectProgressPage-module__actions-UP7ufZ {
  flex-wrap: wrap;
  align-items: center;
  gap: .5em;
  display: flex;
}

.src-pages-projects-ProjectProgressPage-module__actionsLabel-crJA8_ {
  color: #24292e;
  margin-right: .25em;
  font-size: .9em;
}

.src-pages-projects-ProjectProgressPage-module__buttonSecondary-_ZVcoU {
  color: #6c757d;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #6c757d;
  border-radius: 4px;
  padding: .4em .8em;
  font-size: .9em;
}

.src-pages-projects-ProjectProgressPage-module__buttonSecondary-_ZVcoU:hover {
  color: #fff;
  background: #6c757d;
}

.src-pages-projects-ProjectProgressPage-module__exportPreview-GJ5mb0 {
  background: #f6f8fa;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 1em;
  overflow: hidden;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewHeader-EEzwa6 {
  background: #eef1f4;
  border-bottom: 1px solid #e0e0e0;
  justify-content: space-between;
  align-items: center;
  gap: .5em;
  padding: .5em .75em;
  display: flex;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewTitle-bhmH3z {
  color: #24292e;
  font-size: .9em;
  font-weight: 600;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewLoading-AgDUGF {
  color: #586069;
  padding: 1.5em;
  font-size: .9em;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewContent-Jw8Hk_ {
  white-space: pre-wrap;
  word-break: break-all;
  max-height: 50vh;
  margin: 0;
  padding: .75em 1em;
  font-size: .8em;
  line-height: 1.4;
  overflow: auto;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewTableWrap-OFwyVH {
  max-height: 50vh;
  overflow: auto;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewTable-uR1JsU {
  border-collapse: collapse;
  width: 100%;
  font-size: .8em;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewTable-uR1JsU th, .src-pages-projects-ProjectProgressPage-module__exportPreviewTable-uR1JsU td {
  text-align: left;
  white-space: nowrap;
  border: 1px solid #e0e0e0;
  padding: .35em .5em;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewTable-uR1JsU th {
  z-index: 1;
  background: #eef1f4;
  font-weight: 600;
  position: sticky;
  top: 0;
}

.src-pages-projects-ProjectProgressPage-module__exportPreviewTable-uR1JsU tbody tr:nth-child(2n) {
  background: #f9f9f9;
}

.src-pages-projects-ProjectProgressPage-module__tableWrap-sEeyTi {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  max-height: 70vh;
  overflow: auto;
}

.src-pages-projects-ProjectProgressPage-module__table-dUHBbO {
  border-collapse: collapse;
  table-layout: fixed;
  min-width: 760px;
}

.src-pages-projects-ProjectProgressPage-module__th-yqUomT, .src-pages-projects-ProjectProgressPage-module__td-huFcO4 {
  vertical-align: top;
  border-bottom: 1px solid #eee;
  padding: 8px 10px;
  font-size: .88em;
  overflow: hidden;
}

.src-pages-projects-ProjectProgressPage-module__th-yqUomT {
  z-index: 2;
  text-align: left;
  color: #24292e;
  background: #f6f8fa;
  font-weight: 600;
  position: sticky;
  top: 0;
}

.src-pages-projects-ProjectProgressPage-module__itemHeader-toT7dA {
  z-index: 3;
  background: #f6f8fa;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  position: sticky;
  top: 0;
  left: 0;
  box-shadow: 2px 0 4px #0000000f;
}

.src-pages-projects-ProjectProgressPage-module__itemCell-ZTtr6M {
  white-space: nowrap;
  z-index: 1;
  background: #fff;
  align-items: center;
  gap: .5em;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  font-weight: 500;
  display: flex;
  position: sticky;
  left: 0;
  overflow: hidden;
  box-shadow: 2px 0 4px #0000000f;
}

.src-pages-projects-ProjectProgressPage-module__itemThumbButton-PMqLc4 {
  cursor: pointer;
  vertical-align: middle;
  background: none;
  border: none;
  margin: 0;
  padding: 0;
}

.src-pages-projects-ProjectProgressPage-module__itemThumbButton-PMqLc4:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #2f855a;
}

.src-pages-projects-ProjectProgressPage-module__itemThumb-ODVL8G {
  object-fit: contain;
  vertical-align: middle;
  background: #f6f8fa;
  border-radius: 4px;
  width: 40px;
  height: 40px;
  margin-right: .5em;
}

.src-pages-projects-ProjectProgressPage-module__itemNameTooltipWrap-IwQKOK {
  min-width: 0;
  overflow: hidden;
}

.src-pages-projects-ProjectProgressPage-module__itemName-cp5A6K {
  text-overflow: ellipsis;
  vertical-align: middle;
  min-width: 0;
  overflow: hidden;
}

.src-pages-projects-ProjectProgressPage-module__userHeader-RavHYN {
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 140px;
  min-width: 100px;
  overflow: hidden;
}

.src-pages-projects-ProjectProgressPage-module__summaryCol-zdNh9d {
  z-index: 1;
  background: #f6f8fa;
  width: 120px;
  min-width: 100px;
  font-weight: 600;
  position: sticky;
  right: 0;
  box-shadow: -2px 0 4px #0000000f;
}

.src-pages-projects-ProjectProgressPage-module__th-yqUomT.src-pages-projects-ProjectProgressPage-module__summaryCol-zdNh9d {
  z-index: 3;
}

.src-pages-projects-ProjectProgressPage-module__tableFooter-Knu5hU {
  box-sizing: border-box;
  z-index: 10;
  background: #f0f2f5;
  border-top: 2px solid #e0e0e0;
  width: max-content;
  min-width: 760px;
  font-size: .88em;
  font-weight: 600;
  display: grid;
  position: sticky;
  bottom: 0;
  left: 0;
}

.src-pages-projects-ProjectProgressPage-module__tableFooterCell-APJjhN {
  border-bottom: none;
  padding: 8px 10px;
}

.src-pages-projects-ProjectProgressPage-module__tableFooter-Knu5hU .src-pages-projects-ProjectProgressPage-module__summaryLabel-zLpZdB {
  white-space: nowrap;
  z-index: 11;
  background: #f0f2f5;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  padding: 8px 10px;
  position: sticky;
  left: 0;
  box-shadow: 2px 0 4px #0000000f;
}

.src-pages-projects-ProjectProgressPage-module__tableFooter-Knu5hU .src-pages-projects-ProjectProgressPage-module__summaryCol-zdNh9d {
  z-index: 11;
  background: #f6f8fa;
  padding: 8px 10px;
  position: sticky;
  right: 0;
  box-shadow: -2px 0 4px #0000000f;
}

.src-pages-projects-ProjectProgressPage-module__summaryLabel-zLpZdB {
  white-space: nowrap;
}

.src-pages-projects-ProjectProgressPage-module__summaryText-MqeLfN {
  color: #24292e;
}

.src-pages-projects-ProjectProgressPage-module__badge-K2TTFW {
  white-space: nowrap;
  border-radius: 10px;
  padding: 2px 8px;
  font-size: .78em;
  font-weight: 600;
  display: inline-block;
}

.src-pages-projects-ProjectProgressPage-module__badgeNotStarted-yun2Hd {
  color: #6c757d;
  background: #e9ecef;
}

.src-pages-projects-ProjectProgressPage-module__badgeInProgress-BMNYJt {
  color: #b45309;
  background: #fff3e0;
}

.src-pages-projects-ProjectProgressPage-module__badgeCompleted-jJnzRV {
  color: #0d6832;
  background: #e6f4ea;
}

.src-pages-projects-ProjectProgressPage-module__muted-qGqACO {
  color: #6c757d;
  font-weight: 400;
}

.src-pages-projects-ViewerTopBar-module__topBar-stOKlE {
  color: #212529;
  z-index: 10;
  background: #f0f2f5;
  border-bottom: 1px solid #dee2e6;
  flex-shrink: 0;
  align-items: center;
  gap: .4em;
  height: 42px;
  padding: 0 .75em;
  font-size: .875rem;
  display: flex;
  position: relative;
}

.src-pages-projects-ViewerTopBar-module__divider-wH1Fr3 {
  background: #ced4da;
  flex-shrink: 0;
  width: 1px;
  height: 22px;
  margin: 0 .1em;
}

.src-pages-projects-ViewerTopBar-module__spacer-FvNSSB {
  flex: 1;
}

.src-pages-projects-ViewerTopBar-module__backLink-NS1Suc {
  color: #495057;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: .85rem;
  text-decoration: none;
  transition: color .15s;
}

.src-pages-projects-ViewerTopBar-module__backLink-NS1Suc:hover {
  color: #0056b3;
  text-decoration: underline;
}

.src-pages-projects-ViewerTopBar-module__itemNav-nr0BRI {
  flex-shrink: 0;
  align-items: center;
  gap: .1em;
  display: flex;
  position: relative;
}

.src-pages-projects-ViewerTopBar-module__navArrow-b_eCeN {
  color: #6c757d;
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  padding: 0 .1em;
  font-size: 1.1rem;
  line-height: 1;
  transition: color .15s;
}

.src-pages-projects-ViewerTopBar-module__navArrow-b_eCeN:hover:not(:disabled) {
  color: #212529;
}

.src-pages-projects-ViewerTopBar-module__navArrow-b_eCeN:disabled {
  opacity: .3;
  cursor: default;
}

.src-pages-projects-ViewerTopBar-module__itemNavTrigger-SdPVUn {
  cursor: pointer;
  user-select: none;
  border-radius: 4px;
  flex-shrink: 0;
  align-items: center;
  gap: .4em;
  width: 220px;
  padding: 2px 6px;
  transition: background .12s;
  display: flex;
}

.src-pages-projects-ViewerTopBar-module__itemNavTrigger-SdPVUn:hover {
  background: #e2e6ea;
}

.src-pages-projects-ViewerTopBar-module__itemNavTriggerPinned-iln56o {
  background: #dee2e6;
}

.src-pages-projects-ViewerTopBar-module__itemCount-a653_f {
  color: #6c757d;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: .78rem;
}

.src-pages-projects-ViewerTopBar-module__itemName-z6rMpG {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #212529;
  flex: 1;
  min-width: 0;
  font-size: .85rem;
  font-weight: 500;
  overflow: hidden;
}

.src-pages-projects-ViewerTopBar-module__itemNavAccessory-rIht_d {
  flex-shrink: 0;
  align-items: center;
  min-width: 0;
  display: flex;
}

.src-pages-projects-ViewerTopBar-module__itemPanel-C8OhOT {
  z-index: 200;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  min-width: 280px;
  max-height: 320px;
  padding: 4px 0;
  position: absolute;
  top: 100%;
  left: 0;
  overflow-y: auto;
  box-shadow: 0 4px 16px #00000021;
}

.src-pages-projects-ViewerTopBar-module__taskSection-DmI9o_ {
  flex-wrap: wrap;
  flex-shrink: 1;
  align-items: center;
  gap: .3em;
  min-width: 0;
  display: flex;
}

.src-pages-projects-ViewerTopBar-module__validationMessage-g1aZhw {
  color: #856404;
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 4px;
  flex-basis: 100%;
  width: 100%;
  margin-top: .2em;
  padding: .25em .5em;
  font-size: .85rem;
}

.src-pages-projects-ViewerTopBar-module__scaleMessage-apgXAa {
  color: #0c5460;
  background: #d1ecf1;
  border: 1px solid #17a2b8;
  border-radius: 4px;
  flex-basis: 100%;
  width: 100%;
  margin-top: .2em;
  padding: .25em .5em;
  font-size: .85rem;
}

.src-pages-projects-ViewerTopBar-module__taskLabel-k1rDBz {
  color: #6c757d;
  white-space: nowrap;
  letter-spacing: .01em;
  flex-shrink: 0;
  font-size: .78rem;
  font-weight: 500;
}

.src-pages-projects-ViewerTopBar-module__taskControls-RJRh4X {
  flex-shrink: 1;
  align-items: center;
  gap: .3em;
  min-width: 0;
  display: flex;
}

.src-pages-projects-ViewerTopBar-module__instructionsWrapper-XTIayF {
  flex-shrink: 0;
  position: relative;
}

.src-pages-projects-ViewerTopBar-module__instructionsBtn-E6valp {
  color: #6c757d;
  cursor: pointer;
  background: none;
  border: 1px solid #ced4da;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  padding: 0;
  font-size: .85rem;
  line-height: 1;
  transition: border-color .15s, color .15s, background .15s;
  display: flex;
}

.src-pages-projects-ViewerTopBar-module__instructionsBtn-E6valp:hover {
  color: #212529;
  border-color: #6c757d;
}

.src-pages-projects-ViewerTopBar-module__instructionsBtnPinned-r8zZ9i {
  color: #212529;
  background: #dee2e6;
  border-color: #6c757d;
}

.src-pages-projects-ViewerTopBar-module__instructionsPopover-DaOf7n {
  z-index: 200;
  color: #212529;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  width: 280px;
  padding: .75em 1em;
  font-size: .85rem;
  line-height: 1.5;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  box-shadow: 0 4px 14px #0000001f;
}

.src-pages-projects-ViewerTopBar-module__instructionsClose-vu8QpK {
  float: right;
  color: #adb5bd;
  cursor: pointer;
  background: none;
  border: none;
  margin-left: .5em;
  padding: 0;
  font-size: .85rem;
  line-height: 1;
}

.src-pages-projects-ViewerTopBar-module__instructionsClose-vu8QpK:hover {
  color: #6c757d;
}

.src-pages-projects-ViewerTopBar-module__instructionsText-ynpaUb {
  clear: both;
  white-space: pre-wrap;
}

.src-pages-projects-ViewerTopBar-module__savingIndicator-zmmsIn {
  color: #6c757d;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: .8rem;
}

.src-pages-projects-ViewerTopBar-module__savedIndicator-kJwhTj {
  color: #28a745;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: .8rem;
}

.src-pages-projects-ViewerTopBar-module__saveErrorIndicator-A1yZyx {
  color: #dc3545;
  white-space: nowrap;
  cursor: help;
  flex-shrink: 0;
  font-size: .8rem;
}

.src-pages-projects-ViewerTopBar-module__resetBtn-A156f7 {
  color: #6c757d;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  flex-shrink: 0;
  padding: .2em .65em;
  font-size: .82rem;
  transition: border-color .15s, color .15s, background .15s;
}

.src-pages-projects-ViewerTopBar-module__resetBtn-A156f7:hover:not(:disabled) {
  color: #dc3545;
  background: #fff5f5;
  border-color: #dc3545;
}

.src-pages-projects-ViewerTopBar-module__resetBtn-A156f7:disabled {
  opacity: .4;
  cursor: default;
}

.src-pages-projects-ViewerTopBar-module__deleteSelectedBtn-ZGSM1t {
  color: #6c757d;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  flex-shrink: 0;
  padding: .2em .5em;
  font-size: 1rem;
  line-height: 1;
  transition: border-color .15s, color .15s, background .15s;
}

.src-pages-projects-ViewerTopBar-module__deleteSelectedBtn-ZGSM1t:hover {
  color: #dc3545;
  background: #fff5f5;
  border-color: #dc3545;
}

.src-pages-projects-ViewerTopBar-module__completeBtn-U_m8NC {
  color: #155724;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #28a745;
  border-radius: 4px;
  flex-shrink: 0;
  padding: .2em .75em;
  font-size: .82rem;
  transition: background .15s, border-color .15s, color .15s;
}

.src-pages-projects-ViewerTopBar-module__completeBtn-U_m8NC:not(.src-pages-projects-ViewerTopBar-module__completeBtnDone-n9cpwI):hover:not(:disabled) {
  background: #e8f5e9;
  border-color: #1e7e34;
}

.src-pages-projects-ViewerTopBar-module__completeBtn-U_m8NC:disabled {
  color: #adb5bd;
  cursor: default;
  background: #e9ecef;
  border: 1px solid #dee2e6;
}

.src-pages-projects-ViewerTopBar-module__completeBtnDone-n9cpwI {
  color: #fff;
  background: #28a745;
  border: 1px solid #28a745;
}

.src-pages-projects-ViewerTopBar-module__completeBtnDone-n9cpwI:hover {
  color: #fff;
  background: #0d4d28;
  border-color: #0a3d1e;
}

.src-pages-projects-ViewerTopBar-module__invisibleQuestion-NaDn5B {
  visibility: hidden;
  user-select: none;
  pointer-events: none;
}

.src-pages-projects-ViewerTopBar-module__completeBtnCheckIcon-vG_ZRC {
  vertical-align: -.15em;
  width: 1.1em;
  height: 1.1em;
  margin-left: .15em;
  display: inline-block;
}

.src-pages-projects-ViewerTopBar-module__confirmRow-RINmzA {
  flex-shrink: 0;
  align-items: center;
  gap: .3em;
  display: flex;
}

.src-pages-projects-ViewerTopBar-module__confirmText-rzReTk {
  color: #856404;
  white-space: nowrap;
  font-size: .82rem;
}

.src-pages-projects-ViewerTopBar-module__confirmYes-SpZXP4 {
  color: #fff;
  cursor: pointer;
  background: #28a745;
  border: none;
  border-radius: 4px;
  padding: .15em .6em;
  font-size: .8rem;
}

.src-pages-projects-ViewerTopBar-module__confirmYes-SpZXP4:hover {
  background: #218838;
}

.src-pages-projects-ViewerTopBar-module__confirmCancel-L1xTKd {
  color: #fff;
  cursor: pointer;
  background: #6c757d;
  border: none;
  border-radius: 4px;
  padding: .15em .6em;
  font-size: .8rem;
}

.src-pages-projects-ViewerTopBar-module__confirmCancel-L1xTKd:hover {
  background: #5a6268;
}

.src-pages-projects-ViewerTopBar-module__finishConfirmBackdrop-Eb5DB2 {
  z-index: 20000;
  background: #00000059;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: fixed;
  inset: 0;
}

.src-pages-projects-ViewerTopBar-module__finishConfirmDialog-HoUOWK {
  background: #fff;
  border: 1px solid #ced4da;
  border-radius: 8px;
  width: 100%;
  max-width: 28rem;
  padding: 1rem 1.1rem;
  box-shadow: 0 8px 24px #00000026;
}

.src-pages-projects-ViewerTopBar-module__finishConfirmTitle-P6pNxy {
  color: #212529;
  margin-bottom: .5rem;
  font-size: 1rem;
  font-weight: 600;
}

.src-pages-projects-ViewerTopBar-module__finishConfirmBody-WwxwPp {
  color: #495057;
  margin-bottom: 1rem;
  font-size: .9rem;
  line-height: 1.45;
}

.src-pages-projects-ViewerTopBar-module__finishConfirmActions-GdedoA {
  justify-content: flex-end;
  gap: .5rem;
  display: flex;
}

.src-pages-projects-ViewerTopBar-module__loginWidget-IVxl9N {
  flex-shrink: 0;
}

.viewerLoginBtn {
  cursor: pointer;
  border-radius: 4px;
  padding: .15em .6em;
  font-size: .8rem;
  color: #495057 !important;
  background: #fff !important;
  border: 1px solid #ced4da !important;
}

.viewerLoginBtn:hover {
  color: #212529 !important;
  background: #e9ecef !important;
  border-color: #6c757d !important;
}

.src-pages-projects-uis-RoiNavigator-module__wrap-V3Za5K {
  flex-shrink: 0;
  align-items: center;
  gap: .1em;
  display: flex;
}

.src-pages-projects-uis-RoiNavigator-module__arrowBtn-G7Be8I {
  color: #6c757d;
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  padding: 0 .1em;
  font-size: 1.1rem;
  line-height: 1;
  transition: color .15s;
}

.src-pages-projects-uis-RoiNavigator-module__arrowBtn-G7Be8I:hover:not(:disabled) {
  color: #212529;
}

.src-pages-projects-uis-RoiNavigator-module__arrowBtn-G7Be8I:disabled {
  opacity: .3;
  cursor: default;
}

.src-pages-projects-uis-RoiNavigator-module__indexWrap-OHKDPM {
  display: inline-flex;
  position: relative;
}

.src-pages-projects-uis-RoiNavigator-module__indexButton-fAqRXG {
  font-variant-numeric: tabular-nums;
  color: #212529;
  cursor: pointer;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  background: none;
  border: none;
  border-radius: 4px;
  min-width: 0;
  max-width: 7rem;
  padding: 2px 6px;
  font-size: .78rem;
  transition: background .12s;
  overflow: hidden;
}

.src-pages-projects-uis-RoiNavigator-module__indexButton-fAqRXG:hover:not(:disabled) {
  background: #e2e6ea;
}

.src-pages-projects-uis-RoiNavigator-module__indexButtonPinned-hNPHBu {
  background: #dee2e6;
}

.src-pages-projects-uis-RoiNavigator-module__indexButton-fAqRXG:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.src-pages-projects-uis-RoiNavigator-module__popover-LezZjf {
  z-index: 220;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #ccc);
  border-radius: 4px;
  min-width: 11rem;
  max-width: 18rem;
  max-height: 14rem;
  margin-top: 4px;
  padding: .35rem 0;
  position: absolute;
  top: 100%;
  left: 50%;
  overflow-y: auto;
  transform: translateX(-50%);
  box-shadow: 0 4px 12px #0000001f;
}

.src-pages-projects-uis-RoiNavigator-module__popoverTitle-nJ23ce {
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: .02em;
  padding: .2rem .65rem .35rem;
  font-size: .72rem;
  font-weight: 600;
}

.src-pages-projects-uis-RoiNavigator-module__popoverItem-aLE5yH {
  text-align: left;
  cursor: pointer;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: none;
  border: none;
  width: 100%;
  padding: .35rem .65rem;
  font-size: .8125rem;
  display: block;
  overflow: hidden;
}

.src-pages-projects-uis-RoiNavigator-module__popoverItem-aLE5yH:hover {
  background: var(--color-surface-hover, #f0f0f0);
}

.src-pages-projects-uis-RoiNavigator-module__popoverItemActive-sSUUQm {
  background: var(--color-surface-active, #e8e8e8);
  font-weight: 600;
}

.src-pages-projects-ProjectViewer-module__viewerPage-OHNW31 {
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.src-pages-projects-ProjectViewer-module__viewerBody-L2AK1o {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.src-pages-projects-ProjectViewer-module__reviewSidebar-lrEeQE {
  box-sizing: border-box;
  background: #f9fafb;
  border-right: 1px solid #e1e4e8;
  width: 260px;
  padding: .75em .75em .75em 0;
}

.src-pages-projects-ProjectViewer-module__reviewSidebarTitle-sECGUG {
  margin: 0 0 .5em;
  font-size: .95em;
  font-weight: 600;
}

.src-pages-projects-ProjectViewer-module__reviewSidebarHint-nE_f8j {
  color: #6c757d;
  margin-top: .75em;
  font-size: .8em;
}

.src-pages-projects-ProjectViewer-module__reviewLegend-B32wP_ {
  flex-wrap: wrap;
  gap: .35em;
  display: flex;
}

.src-pages-projects-ProjectViewer-module__reviewLegendLabel-rJVAHz {
  color: #4b5563;
  align-self: center;
  margin-right: .25em;
  font-size: .8em;
  font-weight: 600;
}

.src-pages-projects-ProjectViewer-module__reviewLegendChip-BSdr8N {
  cursor: pointer;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  align-items: center;
  gap: .25em;
  padding: 2px 6px;
  font-size: .78em;
  display: inline-flex;
}

.src-pages-projects-ProjectViewer-module__reviewLegendChipActive-WCi5MH {
  background: #e6f4ea;
  border-color: #16a34a;
}

.src-pages-projects-ProjectViewer-module__reviewLegendColor-Z_DeNz {
  border: 1px solid #d1d5db;
  border-radius: 999px;
  width: 10px;
  height: 10px;
}

.src-pages-projects-ProjectViewer-module__reviewViewport-NRCD19 {
  flex: 1;
  min-width: 0;
  padding-left: .75em;
  position: relative;
}

.src-pages-projects-ProjectViewer-module__reviewTooltip-ObtE7i {
  color: #fff;
  pointer-events: none;
  z-index: 10;
  white-space: nowrap;
  background: #000000d9;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: .8rem;
  position: fixed;
  box-shadow: 0 1px 3px #0003;
}

.src-pages-projects-ProjectViewer-module__reviewViewportPlaceholder-LDs6fS {
  color: #6b7280;
  border: 1px dashed #d1d5db;
  border-radius: 6px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: .9em;
  display: flex;
}

.src-pages-projects-ProjectViewer-module__loading-ctX9JT {
  color: #adb5bd;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding: 1.5em;
  display: flex;
}

.src-pages-projects-ProjectViewer-module__centeredMessage-qYG5C9 {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  max-width: 480px;
  display: flex;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.src-pages-projects-ProjectViewer-module__errorMessage-aoT6ZB {
  color: #721c24;
  background: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  padding: .6em 1em;
  font-size: .9em;
}

.src-pages-projects-ProjectViewer-module__backLink-gOXpxp {
  color: #007bff;
  font-size: .9em;
  text-decoration: underline;
}

.src-pages-projects-ProjectViewer-module__backLink-gOXpxp:hover {
  color: #0056b3;
}

