/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

 @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;1,300;1,400&display=swap');

trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 5em;
  outline: none;
}

trix-toolbar * {
  box-sizing: border-box;
}
trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto;
}
trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px;
}
trix-toolbar .trix-button-group:not(:first-child) {
  margin-left: 1.5vw;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 0;
  }
}
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button-group-spacer {
    display: none;
  }
}
trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent;
}
trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}
trix-toolbar .trix-button.trix-active {
  background: #cbeefa;
  color: rgb(0, 0, 0);
}
trix-toolbar .trix-button:not(:disabled) {
  cursor: pointer;
}
trix-toolbar .trix-button:disabled {
  color: rgba(0, 0, 0, 0.125);
}
@media (max-width: 768px) {
  trix-toolbar .trix-button {
    letter-spacing: -0.01em;
    padding: 0 0.3em;
  }
}
trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button--icon {
    height: 2em;
    max-width: calc(0.8em + 3.5vw);
  }
}
trix-toolbar .trix-button--icon::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.6;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button--icon::before {
    right: 6%;
    left: 6%;
  }
}
trix-toolbar .trix-button--icon.trix-active::before {
  opacity: 1;
}
trix-toolbar .trix-button--icon:disabled::before {
  opacity: 0.125;
}
trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  top: 8%;
  bottom: 4%;
}
trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-dialogs {
  position: relative;
}
trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5;
}
trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
trix-toolbar .trix-input--dialog.validate:invalid {
  box-shadow: #F00 0px 0px 1.5px 1px;
}
trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none;
}
trix-toolbar .trix-dialog--link {
  max-width: 600px;
}
trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline;
}
trix-toolbar .trix-dialog__link-fields .trix-input {
  flex: 1;
}
trix-toolbar .trix-dialog__link-fields .trix-button-group {
  flex: 0 0 content;
  margin: 0;
}

trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

trix-editor [data-trix-mutable] ::-moz-selection, trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection {
  background: none;
}
trix-editor [data-trix-mutable] ::selection, trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection {
  background: none;
}

trix-editor [data-trix-mutable].attachment__caption-editor:focus::-moz-selection {
  background: highlight;
}
trix-editor [data-trix-mutable].attachment__caption-editor:focus::selection {
  background: highlight;
}

trix-editor [data-trix-mutable].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent;
}
trix-editor [data-trix-mutable].attachment img {
  box-shadow: 0 0 0 2px highlight;
}
trix-editor .attachment {
  position: relative;
}
trix-editor .attachment:hover {
  cursor: default;
}
trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text;
}
trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in;
}
trix-editor .attachment__progress[value="100"] {
  opacity: 0;
}
trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center;
}
trix-editor .trix-button-group {
  display: inline-flex;
}
trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent;
}
trix-editor .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}
trix-editor .trix-button.trix-active {
  background: #cbeefa;
}
trix-editor .trix-button:not(:disabled) {
  cursor: pointer;
}
trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);
}
trix-editor .trix-button--remove::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 90%;
}
trix-editor .trix-button--remove:hover {
  border-color: #333;
}
trix-editor .trix-button--remove:hover::before {
  opacity: 1;
}
trix-editor .attachment__metadata-container {
  position: relative;
}
trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
}
trix-editor .attachment__metadata .attachment__name {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
trix-editor .attachment__metadata .attachment__size {
  margin-left: 0.2em;
  white-space: nowrap;
}

.trix-content {
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
}
.trix-content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.trix-content h1 {
  font-size: 1.2em;
  line-height: 1.2;
}
.trix-content blockquote {
  border: 0 solid #ccc;
  border-left-width: 0.3em;
  margin-left: 0.3em;
  padding-left: 0.6em;
}
.trix-content [dir=rtl] blockquote,
.trix-content blockquote[dir=rtl] {
  border-width: 0;
  border-right-width: 0.3em;
  margin-right: 0.3em;
  padding-right: 0.6em;
}
.trix-content li {
  margin-left: 1em;
}
.trix-content [dir=rtl] li {
  margin-right: 1em;
}
.trix-content pre {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.5em;
  white-space: pre;
  background-color: #eee;
  overflow-x: auto;
}
.trix-content img {
  max-width: 100%;
  height: auto;
}
.trix-content .attachment {
  display: inline-block;
  position: relative;
  max-width: 100%;
}
.trix-content .attachment a {
  color: inherit;
  text-decoration: none;
}
.trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
  color: inherit;
}
.trix-content .attachment__caption {
  text-align: center;
}
.trix-content .attachment__caption .attachment__name + .attachment__size::before {
  content: " •";
}
.trix-content .attachment--preview {
  width: 100%;
  text-align: center;
}
.trix-content .attachment--preview .attachment__caption {
  color: #666;
  font-size: 0.9em;
  line-height: 1.2;
}
.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 2px;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}
.trix-content .attachment-gallery {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.trix-content .attachment-gallery .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}
.trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
  flex-basis: 50%;
  max-width: 50%;
}
/* line 13, app/assets/stylesheets/actiontext.scss */
.trix-content .attachment-gallery > action-text-attachment,
.trix-content .attachment-gallery > .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

/* line 22, app/assets/stylesheets/actiontext.scss */
.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--2 > .attachment, .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

/* line 31, app/assets/stylesheets/actiontext.scss */
.trix-content action-text-attachment .attachment {
  padding: 0 !important;
  max-width: 100% !important;
}

/* line 37, app/assets/stylesheets/actiontext.scss */
.trix-content strong {
  font-weight: bold;
}

/* line 47, app/assets/stylesheets/actiontext.scss */
.trix-content ul,
trix-editor ul {
  list-style-type: disc;
  padding-left: 1.5rem;
}

/* line 52, app/assets/stylesheets/actiontext.scss */
.trix-content ol,
trix-editor ol {
  list-style-type: decimal;
  padding-left: 1.5rem;
}
@charset "UTF-8";
/*
 * Athlete Manager (admin) — uses design tokens from admin/shared.scss
 */
/* line 5, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__main {
  display: flex;
  align-items: center;
  gap: var(--spacing-xl);
  padding: var(--spacing-xl) var(--spacing-2xl);
}

/* line 12, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__identity {
  flex: 1;
  min-width: 0;
}

/* line 17, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__title-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
}

/* line 24, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__title {
  margin: 0;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-heading);
}

/* line 31, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__subtitle {
  margin: var(--spacing-xs) 0 0;
}

/* line 35, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__actions {
  display: flex;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
}

/* line 41, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__facts {
  border-top: 1px solid var(--color-border-subtle);
  background: var(--color-white);
  padding: var(--spacing-md) var(--spacing-2xl);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--spacing-lg);
}

/* line 50, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__fact-label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-xs);
}

/* line 59, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hero__fact-value {
  font-size: var(--font-size-sm);
}

/* line 63, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
}

/* line 70, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-card__link {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-500);
  text-decoration: none;
}

/* line 76, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-card__link:hover {
  color: var(--color-primary);
}

/* line 81, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-lg);
  padding-bottom: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
  border-bottom: 1px solid var(--color-border-subtle);
}

/* line 90, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-metric__label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-xs);
}

/* line 99, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-metric__value {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-heading);
  line-height: var(--line-height-tight);
}

/* line 106, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-metric__detail {
  margin-top: var(--spacing-xs);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

/* line 112, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-card__owed {
  margin-bottom: var(--spacing-xl);
}

/* line 116, app/assets/stylesheets/admin/athletes.scss */
.admin-earnings-card__history {
  padding-top: var(--spacing-xl);
  border-top: 1px solid var(--color-border-subtle);
}

/* line 121, app/assets/stylesheets/admin/athletes.scss */
.admin-activity-timeline__empty {
  padding: var(--spacing-md) var(--spacing-lg);
  margin: 0;
}

/* line 126, app/assets/stylesheets/admin/athletes.scss */
.admin-activity-timeline__label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
}

/* line 131, app/assets/stylesheets/admin/athletes.scss */
.admin-activity-timeline__detail {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  margin-top: 2px;
}

/* line 137, app/assets/stylesheets/admin/athletes.scss */
.admin-activity-timeline__time {
  font-size: var(--font-size-xs);
  color: var(--color-gray-400);
  margin-top: var(--spacing-xs);
}

/* line 143, app/assets/stylesheets/admin/athletes.scss */
.admin-activity-timeline__note {
  margin-top: var(--spacing-md);
  padding: var(--spacing-md);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background: var(--color-gray-50);
}

/* line 151, app/assets/stylesheets/admin/athletes.scss */
.admin-activity-timeline__note-meta {
  font-size: var(--font-size-xs);
  margin-bottom: var(--spacing-sm);
}

/* line 156, app/assets/stylesheets/admin/athletes.scss */
.admin-activity-timeline__note-heading {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-sm);
}

/* line 164, app/assets/stylesheets/admin/athletes.scss */
.admin-activity-timeline__note-body {
  font-size: var(--font-size-sm);
  white-space: pre-wrap;
  line-height: var(--line-height-relaxed);
}

/* line 170, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-deadline-compact {
  margin: var(--spacing-sm) 0 0;
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  line-height: var(--line-height-normal);
  max-width: 14rem;
}

/* line 178, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-step-heading {
  margin: 0 0 var(--spacing-sm);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
}

/* line 185, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-step-lead {
  margin-top: 0;
  margin-bottom: var(--spacing-3xl);
  max-width: 42rem;
}

/* line 191, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-page-title {
  margin-bottom: 0;
}

/* line 195, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-stack-card {
  margin-bottom: var(--spacing-3xl);
}

/* line 199, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-workspace-stack {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}

@media (min-width: 1024px) {
  /* line 207, app/assets/stylesheets/admin/athletes.scss */
  .admin-athlete-manage-layout:has(.admin-athlete-manage-layout__notes) {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    align-items: start;
    column-gap: var(--spacing-xl);
    row-gap: 0;
  }
}

/* line 217, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-manage-layout__main {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
  min-width: 0;
}

/* line 224, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-manage-layout__notes {
  min-width: 0;
}

/* line 228, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-manage-panel {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
}

/* line 234, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-workspace-stack .idol-action-card,
.admin-athlete-workspace-stack .idol-action-card:last-child,
.admin-athlete-workspace-stack .admin-athlete-manage-panel .idol-action-card,
.admin-athlete-workspace-stack .admin-athlete-manage-panel .idol-action-card:last-child,
.admin-athlete-workspace-stack turbo-frame .idol-action-card,
.admin-athlete-workspace-stack turbo-frame .idol-action-card:last-child {
  margin-bottom: 0;
}

/* line 243, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-workspace-stack form .admin-athlete-form-section--panel {
  margin-top: 0;
}

/* line 247, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-panel-heading,
.admin-athlete-empty-title,
.admin-notes-drawer__title {
  margin: 0;
}

/* line 253, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-empty-title {
  margin-bottom: var(--spacing-md);
}

/* line 257, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-empty-copy {
  margin-bottom: var(--spacing-xl);
}

/* line 261, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-developer-preview {
  margin-top: var(--spacing-xl);
  margin-bottom: 0;
}

/* line 266, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-invite-copy {
  display: flex;
  gap: var(--spacing-sm);
  align-items: stretch;
  margin-top: var(--spacing-md);
}

/* line 273, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-invite-copy__input {
  flex: 1 1 auto;
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: var(--font-size-sm);
}

/* line 280, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-invite-copy__button {
  flex: 0 0 auto;
}

/* line 284, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-flash--compact {
  margin-bottom: var(--spacing-xl);
}

/* line 288, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-flash--section {
  margin-bottom: var(--spacing-3xl);
}

/* line 292, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-flash--top {
  margin-top: var(--spacing-3xl);
}

/* line 296, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-error-text {
  color: var(--color-danger);
}

/* line 300, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-hidden {
  display: none;
}

/* line 304, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-file-input {
  padding: var(--spacing-sm);
}

/* line 308, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-feature-preview {
  margin-top: var(--spacing-sm);
}

/* line 312, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-checkbox-label {
  cursor: pointer;
}

/* line 316, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-checkbox-label .form-label {
  margin-bottom: 0;
}

/* line 320, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-submit-spaced {
  margin-top: var(--spacing-lg);
}

/* line 324, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-3xl);
}

/* line 333, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  align-items: center;
}

/* line 340, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-toolbar form.button_to {
  display: inline-flex;
  margin: 0;
}

/* line 345, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-toolbar form.button_to .btn {
  margin: 0;
}

/* line 349, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-3xl);
}

/* line 356, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-meta-grid--flush {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  /* line 361, app/assets/stylesheets/admin/athletes.scss */
  .admin-athletes-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 540px) {
  /* line 367, app/assets/stylesheets/admin/athletes.scss */
  .admin-athletes-meta-grid {
    grid-template-columns: 1fr;
  }
}

/* line 372, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-stat {
  padding: var(--spacing-xl);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
  background: var(--color-gray-50);
}

/* line 379, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-stat__value {
  display: block;
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-900);
  line-height: var(--line-height-tight);
}

/* line 387, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-stat__value.safety-low {
  color: var(--color-success);
}

/* line 388, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-stat__value.safety-mid {
  color: var(--color-warning);
}

/* line 389, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-stat__value.safety-high {
  color: var(--color-danger);
}

/* line 391, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-stat__label {
  margin-top: var(--spacing-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-gray-500);
}

/* line 400, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-section {
  margin-top: 0;
  border-top: none;
}

/* line 405, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-section:first-of-type {
  margin-top: 0;
  border-top: none;
}

/* line 410, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-section__title {
  margin: 0;
}

/* line 414, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-section--panel {
  margin-top: var(--spacing-xl);
}

/* line 418, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-section--panel:first-of-type {
  margin-top: 0;
}

/* line 422, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-section__header,
.admin-athlete-form-section__body {
  padding: 0;
}

/* line 427, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-section__body .form-row:last-child,
.admin-athlete-form-section__body .form-group:last-child {
  margin-bottom: 0;
}

/* line 432, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-subsection__title {
  margin: 0 0 var(--spacing-md);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-700);
  line-height: var(--line-height-tight);
}

/* line 440, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-subsection--divider {
  margin-top: var(--spacing-2xl);
  padding-top: var(--spacing-2xl);
  border-top: 1px solid var(--color-gray-200);
}

@media (max-width: 1023px) {
  /* line 446, app/assets/stylesheets/admin/athletes.scss */
  .admin-internal-notes {
    margin-top: var(--spacing-3xl);
  }
}

/* line 452, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes .list-item-subtitle {
  white-space: pre-wrap;
}

/* line 456, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes .card-header .form-help {
  margin-top: var(--spacing-sm);
  margin-bottom: 0;
}

/* line 461, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__composer {
  margin-bottom: var(--spacing-2xl);
  padding-bottom: var(--spacing-2xl);
  border-bottom: 1px solid var(--color-gray-200);
}

/* line 467, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__composer-title {
  margin-top: 0;
  margin-bottom: var(--spacing-lg);
}

/* line 472, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__list {
  margin-top: 0;
}

/* line 476, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__timeline-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: var(--spacing-lg);
  border-bottom: 1px solid var(--color-gray-200);
}

/* line 484, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__timeline .admin-internal-notes__timeline-item:last-child {
  border-bottom: none;
}

/* line 488, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__load-more {
  margin-top: var(--spacing-lg);
}

/* line 492, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__timeline-row--support-thread {
  border-left: 3px solid color-mix(in srgb, var(--color-primary) 55%, white);
  padding-left: var(--spacing-md);
  margin-left: 0;
  background: color-mix(in srgb, var(--color-primary) 6%, var(--color-white));
}

/* line 499, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__support-thread {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  align-items: stretch;
}

/* line 506, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__meta.admin-internal-notes__thread-meta {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-xs);
}

/* line 515, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__meta.admin-internal-notes__thread-meta .admin-support-channel__time {
  flex-shrink: 0;
  white-space: nowrap;
  text-align: right;
}

/* line 521, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__thread-label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
}

/* Support inbox message bubbles (see conversation.scss) */
/* line 528, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__conv-exchange {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
  background: var(--conv-grey, #f6f5fb);
  border-radius: var(--radius-xl);
  padding: var(--spacing-md);
}

/* line 537, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__conv-exchange .conv-exchange__messages {
  gap: 0;
}

/* line 541, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer .admin-internal-notes__conv-exchange .conv-message:not(.conv-inline-reply) {
  min-width: 75%;
  max-width: 75%;
}

/* line 546, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__timeline-row--note {
  border-left: 3px solid var(--color-gray-200);
  padding-left: var(--spacing-md);
}

/* line 551, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-xs);
}

/* line 559, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__fan {
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-900);
}

/* line 564, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__time {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* line 569, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__thread-time-at {
  font-weight: var(--font-weight-normal);
  color: var(--color-gray-500);
}

/* line 574, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__thread-time-at::before {
  content: "\00a0·\00a0";
}

/* line 578, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__inline-reply {
  margin-top: var(--spacing-sm);
  width: 100%;
}

/* line 583, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer .admin-internal-notes__inline-reply.conv-inline-reply.conv-message {
  min-width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
}

/* line 589, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__sender {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--spacing-sm);
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
  margin-bottom: var(--spacing-xs);
}

/* line 599, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__time--inline {
  position: static;
  top: auto;
  right: auto;
  margin-left: auto;
  font-weight: var(--font-weight-normal);
}

/* line 607, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__body {
  font-size: var(--font-size-sm);
  color: var(--color-gray-900);
}

/* line 612, app/assets/stylesheets/admin/athletes.scss */
.admin-support-channel__report-link {
  margin-top: var(--spacing-md);
}

/* line 616, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__composer-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-md);
  margin-top: var(--spacing-md);
}

/* line 624, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes__flash {
  margin-bottom: var(--spacing-lg);
}

/* line 628, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__launcher {
  position: fixed;
  right: var(--spacing-2xl);
  bottom: var(--spacing-2xl);
  width: 72px;
  height: 72px;
  border: none;
  border-radius: 999px;
  background: var(--color-primary);
  color: var(--color-white);
  box-shadow: 0 14px 26px rgba(15, 23, 42, 0.24);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: calc(var(--z-modal) - 4);
}

/* line 646, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__launcher:hover {
  background: color-mix(in srgb, var(--color-primary) 88%, black);
}

/* line 650, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__launcher:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-primary-light) 75%, white);
  outline-offset: 2px;
}

/* line 655, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__count {
  position: absolute;
  top: 6px;
  right: 6px;
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--color-white);
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--spacing-xs);
}

/* line 672, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__overlay {
  position: fixed;
  inset: 0;
  border: none;
  background: rgba(2, 6, 23, 0.36);
  opacity: 0;
  transition: opacity var(--transition-normal);
  z-index: calc(var(--z-modal) - 3);
}

/* line 682, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__overlay.is-open {
  opacity: 1;
}

/* line 686, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  max-width: 480px;
  height: 100vh;
  background: var(--color-white);
  border-left: 1px solid var(--color-gray-200);
  box-shadow: -10px 0 24px rgba(15, 23, 42, 0.18);
  transform: translateX(100%);
  transition: transform var(--transition-normal);
  z-index: calc(var(--z-modal) - 2);
  overflow-y: auto;
  padding: var(--spacing-2xl);
}

/* line 703, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__panel.is-open {
  transform: translateX(0);
}

/* line 707, app/assets/stylesheets/admin/athletes.scss */
.admin-notes-drawer__panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-xl);
}

/* line 715, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes--loading {
  margin-top: 0;
}

/* line 719, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes--drawer {
  margin-top: 0;
  border: none;
  box-shadow: none;
  background: transparent;
}

/* line 726, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes--drawer .card-body {
  padding: 0;
}

/* line 730, app/assets/stylesheets/admin/athletes.scss */
.admin-internal-notes--drawer .admin-internal-notes__composer {
  padding-bottom: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
}

/* line 735, app/assets/stylesheets/admin/athletes.scss */
body.admin-notes-drawer-open {
  overflow: hidden;
}

/* line 739, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-table-muted {
  color: var(--color-gray-400);
}

/* line 743, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-deadline-table {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
}

/* line 748, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-next-steps {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  align-items: center;
  margin-top: var(--spacing-2xl);
}

/* line 756, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-next-steps--flush {
  margin-top: 0;
}

/* line 760, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-next-steps--spaced {
  margin-top: 0;
  margin-bottom: var(--spacing-xl);
}

/* line 765, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-actions {
  margin-top: var(--spacing-2xl);
}

/* line 769, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-form-actions--flush {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

/* line 775, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-action-card {
  margin-top: 0;
}

/* line 779, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-message-field {
  margin-top: var(--spacing-xl);
}

/* line 783, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-assistant-panel {
  margin-top: 0;
}

/* line 787, app/assets/stylesheets/admin/athletes.scss */
.admin-athlete-reference-list {
  margin: var(--spacing-xs) 0 0;
  padding-left: 1.1rem;
}

/* line 792, app/assets/stylesheets/admin/athletes.scss */
.idol-career-suggestion-card__annotations {
  margin-top: var(--spacing-md);
}

/* line 796, app/assets/stylesheets/admin/athletes.scss */
.idol-career-suggestion-card__annotations .form-help {
  margin: var(--spacing-sm) 0 0;
}

/* line 800, app/assets/stylesheets/admin/athletes.scss */
.admin-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  justify-content: flex-end;
  margin-top: var(--spacing-xl);
}

/* line 808, app/assets/stylesheets/admin/athletes.scss */
.admin-modal-preview {
  background: var(--color-gray-50);
  padding: var(--spacing-lg);
  border-radius: var(--radius-md);
  margin: var(--spacing-xl) 0;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  border: 1px solid var(--color-gray-200);
}

/* Main athlete list table */
/* line 821, app/assets/stylesheets/admin/athletes.scss */
.table-container.admin-athletes-table-wrap {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

/* line 827, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-section {
  margin-top: var(--spacing-2xl);
}

/* line 831, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-section:first-of-type {
  margin-top: var(--spacing-xl);
}

/* line 835, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-section__title {
  margin-bottom: var(--spacing-md);
}

/* line 839, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-panel {
  margin-top: var(--spacing-2xl);
}

/* line 843, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-panel:first-of-type {
  margin-top: var(--spacing-xl);
}

/* line 847, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-panel__body {
  padding-top: var(--spacing-lg);
}

/* line 851, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-status-group {
  margin-bottom: var(--spacing-2xl);
}

/* line 855, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-status-group__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
}

/* line 863, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-status-group__title {
  margin-bottom: 0;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-700);
}

/* line 870, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-sort-form {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin: 0;
}

/* line 877, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-sort-form__label {
  margin: 0;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-gray-500);
}

/* line 886, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-sort-form__select {
  min-width: 200px;
  padding: var(--spacing-xs) var(--spacing-md);
  font-size: var(--font-size-sm);
}

/* line 892, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--condensed {
  table-layout: fixed;
  min-width: 860px;
}

/* line 897, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--approved-metrics {
  table-layout: auto;
  width: max-content;
  min-width: 1280px;
}

/* line 903, app/assets/stylesheets/admin/athletes.scss */
.table.admin-athletes-table--approved-metrics th,
.table.admin-athletes-table--approved-metrics td {
  white-space: nowrap;
}

/* line 908, app/assets/stylesheets/admin/athletes.scss */
.table.admin-athletes-table--condensed th,
.table.admin-athletes-table--condensed td {
  padding: var(--spacing-sm) var(--spacing-md);
}

/* line 913, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-col--name {
  width: 240px;
}

/* line 914, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-col--status {
  width: 180px;
}

/* line 915, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-col--deadline {
  width: 220px;
}

/* line 916, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-col--created-by {
  width: 100px;
}

/* line 917, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-col--metric {
  width: 6%;
}

/* line 918, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-col--metric-lg {
  width: 9%;
}

/* line 919, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-col--metrics {
  width: 420px;
}

/* line 920, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-col--abuse {
  width: 260px;
}

/* line 922, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--condensed .admin-athletes-cell--name,
.admin-athletes-table--condensed .admin-athletes-cell--created-by {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 929, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--condensed .admin-athletes-cell--status,
.admin-athletes-table--condensed .admin-athletes-cell--deadline {
  white-space: nowrap;
}

/* line 934, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--approved-metrics th,
.admin-athletes-table--approved-metrics td {
  text-align: center;
}

/* line 939, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--approved-metrics th {
  white-space: normal;
  word-break: break-word;
  line-height: var(--line-height-tight);
}

/* line 945, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--approved-metrics .admin-athletes-cell--name,
.admin-athletes-table--approved-metrics .admin-athletes-cell--created-by,
.admin-athletes-table--approved-metrics .admin-athletes-cell--status,
.admin-athletes-table--approved-metrics .admin-athletes-cell--deadline {
  text-align: left;
}

/* line 952, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--approved-metrics .admin-athletes-head--metrics {
  white-space: normal;
}

/* line 956, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--approved-metrics .admin-athletes-cell--metrics {
  text-align: left;
  white-space: normal;
}

/* line 961, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-table--approved-metrics .admin-athletes-cell--abuse,
.admin-athletes-table--approved-metrics .admin-athletes-head--abuse {
  text-align: center;
  white-space: nowrap;
}

/* line 967, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-metrics-pies {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
}

/* line 974, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-metric-pie {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  min-width: 42px;
}

/* line 982, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-metric-pie__chart {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-block;
  background: conic-gradient(var(--metric-color) calc(var(--metric-percent) * 1%), var(--color-gray-200) 0);
  box-shadow: inset 0 0 0 2px var(--color-white), 0 0 0 1px var(--color-gray-200);
}

/* line 994, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-metric-pie__label {
  font-size: 10px;
  line-height: 1;
  color: var(--color-gray-500);
  white-space: nowrap;
}

/* line 1001, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-cell--created-by {
  text-align: center;
}

/* line 1005, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-name-link {
  color: inherit;
  text-decoration: none;
}

/* line 1010, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-name-link:hover {
  text-decoration: underline;
}

/* line 1014, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-cell__subtext {
  margin-top: 2px;
  color: var(--color-gray-500);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
}

/* line 1021, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 1027, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__bar-wrap {
  position: relative;
  display: inline-block;
  width: 320px;
  max-width: 100%;
}

/* line 1034, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__bar {
  position: relative;
  width: 100%;
  min-width: 200px;
  max-width: 320px;
  height: 22px;
  min-height: 20px;
  border-radius: 999px;
  background: var(--color-gray-100);
  border: 1px solid var(--color-gray-200);
  overflow: hidden;
}

/* line 1047, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__segment {
  position: absolute;
  top: 0;
  bottom: 0;
}

/* line 1053, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__segment--answered {
  left: 0;
  width: calc(var(--answered-pct) * 1%);
  background: var(--color-success);
}

/* line 1059, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__segment--outstanding {
  left: calc(var(--answered-pct) * 1%);
  width: calc(var(--outstanding-pct) * 1%);
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--color-success) 45%, transparent) 0 6px, color-mix(in srgb, var(--color-success) 15%, transparent) 6px 12px);
  border-left: 1px solid color-mix(in srgb, var(--color-success) 65%, white);
  border-right: 1px solid color-mix(in srgb, var(--color-success) 45%, white);
}

/* line 1072, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__popover {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 4;
  min-width: 240px;
  display: none;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: var(--shadow-lg);
  font-size: var(--font-size-xs);
  color: var(--color-gray-700);
  text-align: left;
}

/* line 1089, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__bar-wrap:hover .admin-athletes-prcm__popover,
.admin-athletes-prcm__bar-wrap:focus-within .admin-athletes-prcm__popover {
  display: block;
}

/* line 1094, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* line 1101, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__key {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  color: var(--color-gray-500);
}

/* line 1109, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__swatch {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  border: 1px solid var(--color-gray-300);
}

/* line 1116, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__swatch--answered {
  background: var(--color-success);
}

/* line 1120, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__swatch--outstanding {
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--color-success) 45%, transparent) 0 3px, color-mix(in srgb, var(--color-success) 15%, transparent) 3px 6px);
}

/* line 1129, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-prcm__swatch--missed {
  background: var(--color-gray-100);
}

/* line 1133, app/assets/stylesheets/admin/athletes.scss */
.admin-athletes-open-btn {
  min-width: 88px;
  text-align: center;
}
@charset "UTF-8";
/*
 * Admin main dashboard — users#index
 *
 * Naming: `admin-dash-*` (BEM). Root wrapper on the page: `.admin-dashboard`.
 * Sections: `admin-dash-panel` + `--payments | --idols | --home | --safety | --products`.
 * Formerly split across feature_categories.scss; merged here with clearer names.
 */
/* ── Page title ─────────────────────────────────────────────────── */
/* line 10, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-page-title {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-900);
  margin: 0 0 var(--spacing-3xl) 0;
}

/* ── Section wrappers ───────────────────────────────────────────── */
/* line 18, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: 0 var(--spacing-2xl);
  margin-bottom: var(--spacing-3xl);
}

/* line 26, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__title {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-2xl);
  padding: var(--spacing-2xl) 0;
}

/* line 39, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__title--collapsible {
  cursor: pointer;
  user-select: none;
}

/* line 44, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__title--collapsible:hover {
  color: var(--color-gray-700);
}

/* line 48, app/assets/stylesheets/admin/dashboard.scss */
[data-collapsed="true"] > .admin-dash-panel__title {
  margin-bottom: 0;
}

/* line 52, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__arrow {
  font-size: 9px;
  color: var(--color-gray-400);
  transition: transform var(--transition-fast);
  flex-shrink: 0;
  width: 12px;
  text-align: center;
}

/* line 61, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: var(--radius-full);
  background-color: var(--color-gray-200);
  color: var(--color-gray-600);
  font-size: 10px;
  font-weight: var(--font-weight-bold);
}

/* ── Pending Payments section ───────────────────────────────────── */
/* line 76, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--payments {
  border-color: var(--color-primary);
  background: linear-gradient(to bottom, var(--color-primary-light) 0%, var(--color-white) 80px);
}

/* line 81, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--payments .admin-dash-panel__title {
  color: var(--color-primary-hover);
}

/* line 85, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--payments .admin-dash-panel__title--collapsible:hover {
  color: var(--color-primary);
}

/* line 89, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--payments .admin-dash-panel__title > svg {
  color: var(--color-primary);
}

/* line 93, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__count--payments {
  background-color: var(--color-primary);
  color: var(--color-white);
}

/* ── Revenue chart ─────────────────────────────────────────────── */
/* line 99, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--revenue {
  border-color: var(--color-primary);
  background: linear-gradient(to bottom, var(--color-brand-soft) 0%, var(--color-white) 88px);
}

/* line 104, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--revenue .admin-dash-panel__title {
  color: var(--color-primary-hover);
}

/* line 108, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--revenue .admin-dash-panel__title > svg {
  color: var(--color-primary);
}

/* line 112, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__count--revenue {
  background-color: var(--color-primary);
  color: var(--color-white);
}

/* line 117, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-revenue-help {
  margin: 0 0 var(--spacing-xl) 0;
  max-width: 52rem;
}

/* line 122, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-revenue-chart-wrap {
  position: relative;
  height: 280px;
  width: 100%;
}

/* line 128, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-revenue-empty {
  margin: 0;
}

/* line 132, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile--payment {
  border: 1px solid var(--color-brand-soft);
}

/* line 136, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile--payable.admin-dash-tile--payment {
  transition: box-shadow var(--transition-normal), transform var(--transition-normal);
}

/* line 140, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile--payable.admin-dash-tile--payment:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

/* line 145, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile--payable {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-bottom: 40px;
}

/* line 152, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__payable-link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

/* line 162, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__pay-btn {
  position: absolute;
  left: var(--spacing-sm);
  right: var(--spacing-sm);
  bottom: var(--spacing-sm);
  z-index: 3;
  justify-content: center;
}

/* ── Payment history table ─────────────────────────────────────── */
/* line 172, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-payment-history {
  max-height: 320px;
  overflow-y: auto;
  overflow-x: auto;
  margin-top: var(--spacing-2xl);
  border-top: 1px solid var(--color-brand-soft);
}

/* line 180, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-payment-user-link {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: var(--font-weight-medium);
}

/* line 186, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-payment-user-link:hover {
  color: var(--color-primary-hover);
  text-decoration: underline;
}

/* line 191, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-payment-amount {
  font-weight: var(--font-weight-semibold);
}

/* line 195, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-payment-notes {
  color: var(--color-gray-500);
  font-size: var(--font-size-xs);
  font-style: italic;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 205, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-payment-delete {
  color: var(--color-danger) !important;
  border-color: var(--color-danger-light) !important;
}

/* line 210, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-payment-delete:hover {
  background: var(--color-danger-light) !important;
  border-color: var(--color-danger) !important;
}

/* ── Pending badge (used in Idols section for pending approval) ── */
/* line 216, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-attention-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 2;
  padding: 1px 7px;
  border-radius: var(--radius-full);
  font-size: 9px;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 229, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-attention-badge--approval {
  background: var(--color-warning);
  color: var(--color-white);
}

/* line 234, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-attention-badge--payment {
  background: var(--color-primary);
  color: var(--color-white);
}

/* line 239, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile--pending {
  border: 1px solid var(--color-warning-light);
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

/* line 246, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-step-filters {
  margin: 0 0 var(--spacing-lg);
  padding-bottom: var(--spacing-md);
  border-bottom: 1px solid var(--color-gray-100);
}

/* line 252, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-step-filters__label {
  display: block;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-sm);
}

/* line 262, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-step-filters__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xs);
  align-items: center;
}

/* line 269, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-step-chip {
  padding: 4px 10px;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-gray-200);
  background: var(--color-white);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-600);
  cursor: pointer;
  transition: border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);
}

/* line 281, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-step-chip:hover {
  border-color: var(--color-gray-300);
  color: var(--color-gray-800);
}

/* line 286, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-step-chip.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-white);
}

/* line 292, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-step-chip--clear {
  border-style: dashed;
  color: var(--color-gray-500);
}

/* line 297, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-pipeline-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-xl);
  padding-bottom: var(--spacing-lg);
  border-bottom: 1px solid var(--color-gray-100);
}

/* line 308, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-pipeline-toolbar__intro {
  flex: 1 1 220px;
  min-width: 0;
}

/* line 313, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-pipeline-toolbar__label {
  display: block;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-xs);
}

/* line 323, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-pipeline-toolbar__hint {
  margin: 0;
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  line-height: 1.45;
  max-width: 40rem;
}

/* line 331, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-pipeline-toolbar__search {
  flex-shrink: 0;
}

/* line 335, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-subsection {
  margin-bottom: var(--spacing-2xl);
}

/* line 339, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-subsection:last-of-type {
  margin-bottom: 0;
}

/* line 343, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-subsection__title {
  margin: 0 0 var(--spacing-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
}

/* line 350, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-subsection__lead {
  margin: 0 0 var(--spacing-md);
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  max-width: 42rem;
  line-height: 1.45;
}

/* line 358, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-subsection__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}

/* line 367, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-subsection__head .admin-dash-toolbar-search {
  flex-shrink: 0;
}

/* line 371, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-strip--pipeline .admin-dash-tile--pipeline {
  /* Match .admin-dash-tile__image (150px); do not widen the card for the step track — it fits at this width. */
  flex: 0 0 150px;
  width: 150px;
  display: flex;
  flex-direction: column;
  padding-bottom: var(--spacing-sm);
  cursor: default;
}

/* line 381, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile--pipeline-pending {
  border: 1px solid var(--color-warning-light);
}

/* line 385, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__pipeline-profile {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  text-decoration: none;
  color: inherit;
  min-height: 0;
}

/* line 394, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__pipeline-profile .admin-dash-tile__image {
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
}

/* line 400, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__pipeline-profile .admin-dash-tile__body {
  padding: var(--spacing-sm) var(--spacing-md) var(--spacing-xs);
}

/* line 404, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-step-track {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 3px;
  padding: var(--spacing-xs) var(--spacing-xs);
  min-width: 0;
  /* allow flex parent to stay 150px; dots shrink-wrap */
}

/* line 414, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idol-step-track .admin-dash-step-dot {
  width: 5px;
  height: 5px;
  border-radius: var(--radius-full);
  background: var(--color-gray-200);
  flex-shrink: 0;
}

/* line 422, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-step-dot--done {
  background: var(--color-primary) !important;
  opacity: 0.75;
}

/* line 427, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-step-dot--current {
  background: var(--color-primary);
  opacity: 1;
  box-shadow: 0 0 0 2px var(--color-white), 0 0 0 3px var(--color-primary);
}

/* line 433, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__pipeline-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--spacing-sm);
  padding: 0 var(--spacing-sm) var(--spacing-sm);
  margin-top: auto;
}

/* line 442, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-step-pill {
  display: block;
  text-align: center;
  font-size: 10px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-700);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  background: var(--color-gray-50);
}

/* line 453, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-step-pill--current {
  background: var(--color-brand-soft);
  color: var(--color-primary);
}

/* line 458, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__assist-btn {
  width: 100%;
  text-align: center;
  justify-content: center;
}

/* Home section */
/* line 465, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--home {
  border-color: var(--color-gray-200);
}

/* line 469, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--home .admin-dash-panel__title svg {
  color: var(--color-primary);
}

/* ── Category rows inside home section ──────────────────────────── */
/* line 474, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category {
  margin-bottom: var(--spacing-3xl);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

/* line 479, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category:last-child {
  margin-bottom: 0;
}

/* line 483, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category.sortable-ghost {
  opacity: 0.3;
}

/* line 487, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category.sortable-chosen {
  box-shadow: var(--shadow-xl);
}

/* line 491, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--spacing-lg);
}

/* line 498, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__title-text {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
}

/* line 504, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: var(--radius-full);
  background-color: var(--color-gray-100);
  color: var(--color-gray-500);
  font-size: 10px;
  font-weight: var(--font-weight-bold);
}

/* Inline icon buttons for category actions */
/* line 519, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: var(--radius-md);
  color: var(--color-gray-400);
  text-decoration: none;
  transition: all var(--transition-fast);
}

/* line 531, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__action:hover {
  background-color: var(--color-gray-100);
  color: var(--color-gray-700);
}

/* line 536, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__action--add {
  color: var(--color-success);
}

/* line 540, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__action--add:hover {
  background-color: var(--color-success-light);
  color: var(--color-success-hover);
}

/* line 545, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__action--danger:hover {
  background-color: var(--color-danger-light);
  color: var(--color-danger);
}

/* Empty state per category */
/* line 551, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__empty {
  padding: var(--spacing-2xl);
  text-align: center;
  color: var(--color-gray-400);
  font-size: var(--font-size-sm);
  background: var(--color-gray-50);
  border-radius: var(--radius-lg);
}

/* line 560, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__empty a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: var(--font-weight-medium);
}

/* line 566, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__empty a:hover {
  text-decoration: underline;
}

/* New category button row */
/* line 571, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-home__footer {
  margin-top: var(--spacing-2xl);
  padding-top: var(--spacing-2xl);
  border-top: 1px dashed var(--color-gray-200);
}

/* line 577, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-home__new-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-500);
  text-decoration: none;
  transition: all var(--transition-fast);
}

/* line 590, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-home__new-btn:hover {
  background-color: var(--color-gray-50);
  color: var(--color-primary);
}

/* ── Horizontal scrolling tiles ─────────────────────────────────── */
/* line 596, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-strip {
  display: flex;
  gap: var(--spacing-xl);
  overflow-x: auto;
  overflow-y: visible;
  padding-bottom: var(--spacing-sm);
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* line 606, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-strip::-webkit-scrollbar {
  height: 5px;
}

/* line 610, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-strip::-webkit-scrollbar-track {
  background: transparent;
}

/* line 614, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-strip::-webkit-scrollbar-thumb {
  background: var(--color-gray-200);
  border-radius: var(--radius-full);
}

/* line 619, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-strip::-webkit-scrollbar-thumb:hover {
  background: var(--color-gray-300);
}

/* ── Feature tiles ──────────────────────────────────────────────── */
/* line 624, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile {
  position: relative;
  flex: 0 0 150px;
  width: 150px;
  border-radius: var(--radius-xl);
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: box-shadow var(--transition-normal), transform var(--transition-normal);
  cursor: default;
}

/* line 636, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile:hover {
  box-shadow: var(--shadow-lg);
}

/* line 640, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile.sortable-ghost {
  opacity: 0.3;
  box-shadow: none;
}

/* line 645, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile.sortable-chosen {
  box-shadow: var(--shadow-xl);
  transform: scale(1.03);
}

/* line 650, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile.sortable-drag {
  transform: rotate(3deg) scale(1.05);
  box-shadow: var(--shadow-2xl);
}

/* Hover action icons (top right) */
/* line 656, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__actions {
  position: absolute;
  top: 6px;
  right: 6px;
  display: flex;
  gap: 4px;
  z-index: 2;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
  pointer-events: none;
}

/* line 669, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile:hover .admin-dash-tile__actions {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* line 675, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  color: var(--color-gray-600);
  text-decoration: none;
  transition: all var(--transition-fast);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

/* line 690, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__action:hover {
  background: var(--color-white);
  color: var(--color-primary);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}

/* line 696, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__action--danger:hover {
  color: var(--color-danger);
}

/* Tile image */
/* line 701, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__image {
  width: 150px;
  height: 150px;
  overflow: hidden;
  background: var(--color-gray-100);
}

/* line 708, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 715, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray-300);
}

/* Tile text */
/* line 725, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__body {
  padding: var(--spacing-sm) var(--spacing-md) var(--spacing-xs);
}

/* line 729, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
  line-height: var(--line-height-tight);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 739, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__meta {
  font-size: 11px;
  color: var(--color-gray-500);
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Tile drag handle */
/* line 749, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__drag {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px 0 6px;
  cursor: grab;
  color: var(--color-gray-300);
  transition: color var(--transition-fast);
}

/* line 759, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__drag:hover {
  color: var(--color-gray-500);
}

/* line 763, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__drag:active {
  cursor: grabbing;
}

/* Category drag handle */
/* line 768, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__drag {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  color: var(--color-gray-300);
  padding: var(--spacing-xs);
  border-radius: var(--radius-sm);
  transition: color var(--transition-fast), background-color var(--transition-fast);
}

/* line 779, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__drag:hover {
  color: var(--color-gray-500);
  background-color: var(--color-gray-100);
}

/* line 784, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-category__drag:active {
  cursor: grabbing;
}

/* ── Idols section ──────────────────────────────────────────────── */
/* line 789, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--idols {
  border-color: var(--color-gray-200);
}

/* line 793, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--idols .admin-dash-panel__title svg {
  color: var(--color-gray-400);
}

/* line 797, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__count--pending {
  background-color: var(--color-warning);
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 804, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__count--onboarding {
  background-color: var(--color-primary);
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 811, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-wrap {
  margin-top: var(--spacing-2xl);
  border-top: 1px solid var(--color-gray-200);
  padding-top: var(--spacing-lg);
}

/* line 817, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--idols .admin-dash-panel__body > .admin-dash-idols-wrap:first-child {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
}

/* line 823, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-md);
  flex-wrap: wrap;
}

/* line 832, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-toolbar__label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
}

/* line 840, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-toolbar .admin-dash-toolbar-search {
  margin-left: auto;
  flex-shrink: 0;
}

/* line 845, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-toolbar-search {
  position: relative;
}

/* line 849, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-toolbar-search__icon {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-gray-400);
  pointer-events: none;
}

/* line 858, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-toolbar-search__input {
  padding: var(--spacing-xs) var(--spacing-md) var(--spacing-xs) 28px;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-normal);
  text-transform: none;
  letter-spacing: normal;
  color: var(--color-gray-800);
  background: var(--color-white);
  width: 180px;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

/* line 872, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-toolbar-search__input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
}

/* line 878, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-toolbar-search__input::placeholder {
  color: var(--color-gray-400);
}

/* line 882, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-toolbar-search__input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  background: var(--color-gray-50);
}

/* line 888, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-scroll {
  max-height: 360px;
  overflow: auto;
}

/* line 893, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-table--grouped {
  table-layout: fixed;
  min-width: 980px;
}

/* line 898, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-col--athlete {
  width: 18%;
}

/* line 899, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-col--status {
  width: 18%;
}

/* line 900, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-col--progress {
  width: 15%;
}

/* line 901, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-col--deadline {
  width: 15%;
}

/* line 902, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-col--created-by {
  width: 14%;
}

/* line 903, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-col--updated {
  width: 12%;
}

/* line 904, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-col--action {
  width: 8%;
}

/* line 906, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-table--grouped .admin-dash-idols-cell--athlete,
.admin-dash-idols-table--grouped .admin-dash-idols-cell--created-by {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 913, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-table--grouped .admin-dash-idols-cell--status,
.admin-dash-idols-table--grouped .admin-dash-idols-cell--progress,
.admin-dash-idols-table--grouped .admin-dash-idols-cell--deadline,
.admin-dash-idols-table--grouped .admin-dash-idols-cell--updated {
  white-space: nowrap;
  text-align: left;
}

/* line 921, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-table--grouped .admin-dash-idols-cell--action {
  text-align: right;
  white-space: nowrap;
}

/* line 926, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-table .admin-dash-idols-th-photo {
  width: 48px;
}

/* line 930, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-table .admin-dash-idols-th-activity {
  white-space: nowrap;
  width: 1%;
}

/* line 935, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-td-thumb {
  vertical-align: middle;
  width: 48px;
  padding: var(--spacing-xs) var(--spacing-sm) !important;
}

/* line 941, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-thumb-link {
  display: block;
  line-height: 0;
}

/* line 946, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-thumb {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  object-fit: cover;
  display: block;
}

/* line 954, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-thumb-placeholder {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  background: var(--color-gray-100);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray-400);
}

/* line 965, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-name-link {
  color: var(--color-gray-800);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
}

/* line 971, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-name-link:hover {
  color: var(--color-primary);
  text-decoration: underline;
}

/* line 976, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-td-org {
  color: var(--color-gray-600);
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 984, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-td-activity {
  white-space: nowrap;
}

/* line 988, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-idols-empty {
  margin: 0;
}

/* line 992, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-tile__visit {
  font-size: 10px;
  color: var(--color-gray-400);
  margin-top: 2px;
}

/* ── Safety analysis section ────────────────────────────────────── */
/* line 999, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--safety {
  border-color: var(--color-gray-200);
}

/* line 1003, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel--safety .admin-dash-panel__title svg {
  color: var(--color-danger);
}

/* line 1007, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-panel__count--safety {
  background-color: var(--color-gray-200);
  color: var(--color-gray-600);
}

/* line 1012, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-severity-toggle {
  margin-left: var(--spacing-sm);
  background-color: transparent;
  color: var(--color-danger);
  border: 1px solid var(--color-danger);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  cursor: pointer;
  font-family: inherit;
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}

/* line 1027, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-severity-toggle:hover:not(.active) {
  background-color: var(--color-danger-light);
  color: var(--color-danger-text);
  border-color: var(--color-danger-hover);
}

/* line 1033, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-severity-toggle.active {
  background-color: var(--color-danger);
  color: var(--color-white);
  border-color: var(--color-danger);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12);
}

/* line 1040, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-severity-toggle.active:hover {
  background-color: var(--color-danger-hover);
  border-color: var(--color-danger-hover);
}

/* line 1045, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-severity-toggle:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

/* line 1050, app/assets/stylesheets/admin/dashboard.scss */
.admin-dash-safety-table-wrap--full {
  max-height: 500px;
}

@media (max-width: 768px) {
  /* line 1055, app/assets/stylesheets/admin/dashboard.scss */
  .admin-dash-category__header {
    padding: var(--spacing-sm) var(--spacing-md);
  }
  /* line 1059, app/assets/stylesheets/admin/dashboard.scss */
  .admin-dash-category {
    margin-bottom: var(--spacing-md);
  }
  /* line 1063, app/assets/stylesheets/admin/dashboard.scss */
  .admin-dash-home__footer {
    padding: var(--spacing-md);
  }
  /* line 1067, app/assets/stylesheets/admin/dashboard.scss */
  .admin-dash-panel__title {
    padding: var(--spacing-md);
  }
  /* line 1071, app/assets/stylesheets/admin/dashboard.scss */
  .admin-dash-panel__body {
    padding: var(--spacing-md);
  }
  /* line 1075, app/assets/stylesheets/admin/dashboard.scss */
  .admin-dash-revenue-chart-wrap {
    min-height: 12rem;
  }
}
/*
 * Payment-specific admin styles
 * Uses design system variables from admin/shared.scss
 * Most styles are now handled by the shared design system
 */
/* Custom payment-specific styles can go here if needed */
/*
 * Product-specific admin styles
 * Uses design system variables from admin/shared.scss
 */
/* Priority badge that gets updated via JavaScript */
/* line 7, app/assets/stylesheets/admin/products.scss */
.priority-badge {
  min-width: 80px;
  text-align: center;
}
@charset "UTF-8";
/*
 * Admin Design System
 * Hex source of truth: OffScript Admin/colors_and_type.css (os-neutral + os-purple scales).
 */
/* line 6, app/assets/stylesheets/admin/shared.scss */
:root {
  /* Color Palette */
  --color-primary: #7140f3;
  --color-primary-hover: #5f38c7;
  --color-primary-light: #f8f5ff;
  --color-surface-warm: #f8f5ff;
  --color-brand-soft: #f0ebfe;
  --color-border-subtle: #eeeeee;
  --color-secondary: #757575;
  --color-secondary-hover: #474747;
  --color-secondary-light: #f3f3f3;
  --color-success: #1f8a5b;
  --color-success-hover: #176b47;
  --color-success-light: #e4f4ec;
  --color-success-text: #176b47;
  --color-danger: #d1374a;
  --color-danger-hover: #b82d3e;
  --color-danger-light: #fbe5e8;
  --color-danger-text: #991b1b;
  --color-warning: #FF5F15;
  --color-warning-hover: #D14A00;
  --color-warning-light: #FFF3EB;
  --color-warning-text: #7A5218;
  /* Heading / emphasis (OffscriptClient: dark, dark-grey) */
  --color-dark: #2b2145;
  --color-heading: var(--color-dark);
  /* Neutral Colors (os-neutral scale) */
  --color-white: #ffffff;
  --color-gray-50: #f3f3f3;
  --color-gray-100: #eeeeee;
  --color-gray-200: #e7e7e7;
  --color-gray-300: #d1d1d1;
  --color-gray-400: #a3a3a3;
  --color-gray-500: #757575;
  --color-gray-600: #474747;
  --color-gray-700: #3c3c3c;
  --color-gray-800: #2b2145;
  --color-gray-900: #191919;
  /* Typography */
  --font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  /* Spacing Scale */
  --spacing-2xs: 0.125rem;
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 0.75rem;
  --spacing-lg: 1rem;
  --spacing-xl: 1.25rem;
  --spacing-2xl: 1.5rem;
  --spacing-3xl: 2rem;
  --spacing-4xl: 2.5rem;
  --spacing-5xl: 3rem;
  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 8px 15px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 16px 25px rgba(0, 0, 0, 0.1);
  /* Focus Ring */
  --focus-ring: 0 0 0 3px rgba(113, 64, 243, 0.28);
  /* Transitions */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.2s ease;
  --transition-slow: 0.3s ease;
  /* Z-Index Scale */
  --z-dropdown: 1000;
  --z-fixed: 1020;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  /* Layout */
  --nav-height: 56px;
  --admin-sticky-top: calc(var(--nav-height) + var(--spacing-2xl));
  --container-max-width: 1200px;
  --admin-rail-width: 180px;
}

/* Reset and Base Styles */
/* line 121, app/assets/stylesheets/admin/shared.scss */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* line 127, app/assets/stylesheets/admin/shared.scss */
body {
  margin: 0;
  padding: 0;
}

/* line 132, app/assets/stylesheets/admin/shared.scss */
.admin-layout-main {
  font-family: var(--font-family-base);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: var(--color-gray-900);
  background-color: var(--color-primary-light);
  min-height: 100vh;
}

/* Layout Components */
/* line 142, app/assets/stylesheets/admin/shared.scss */
.admin-shell {
  height: 100vh;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* line 150, app/assets/stylesheets/admin/shared.scss */
.admin-shell__body {
  display: flex;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding-top: var(--nav-height);
}

/* line 158, app/assets/stylesheets/admin/shared.scss */
.admin-shell__rail {
  width: var(--admin-rail-width);
  flex-shrink: 0;
  align-self: stretch;
  min-height: 100%;
  overflow-y: auto;
  background: var(--color-white);
  border-right: 1px solid var(--color-gray-200);
  padding: var(--spacing-xl) var(--spacing-md);
}

/* line 169, app/assets/stylesheets/admin/shared.scss */
.admin-shell__main {
  flex: 1;
  min-width: 0;
  overflow: auto;
  background: var(--color-primary-light);
}

/* line 176, app/assets/stylesheets/admin/shared.scss */
.admin-layout-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* line 187, app/assets/stylesheets/admin/shared.scss */
.admin-container {
  max-width: var(--container-max-width);
  width: 100%;
  margin: 0 auto;
  padding: var(--spacing-2xl) var(--spacing-3xl) var(--spacing-3xl);
}

/* line 194, app/assets/stylesheets/admin/shared.scss */
.admin-container--with-rail,
.admin-shell__body:has(.admin-shell__rail) .admin-shell__main .admin-container {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: var(--spacing-xl) var(--spacing-2xl) var(--spacing-2xl);
}

/* line 202, app/assets/stylesheets/admin/shared.scss */
.admin-page-card {
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* line 210, app/assets/stylesheets/admin/shared.scss */
.admin-page-card .admin-page-header {
  padding: var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-border-subtle);
}

/* line 216, app/assets/stylesheets/admin/shared.scss */
.admin-page-card .admin-filter-row {
  padding: var(--spacing-md) var(--spacing-xl);
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-border-subtle);
}

/* line 222, app/assets/stylesheets/admin/shared.scss */
.admin-page-card .admin-data-table {
  border-radius: 0;
}

/* line 226, app/assets/stylesheets/admin/shared.scss */
.admin-page-card > .card,
.admin-page-card > .admin-orgs-columns {
  margin: var(--spacing-xl);
}

/* line 231, app/assets/stylesheets/admin/shared.scss */
.admin-container--with-athlete-subnav {
  padding-top: var(--spacing-lg);
}

/* Navigation */
/* line 236, app/assets/stylesheets/admin/shared.scss */
.admin-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: var(--nav-height);
  z-index: var(--z-fixed);
  background: var(--color-white);
  border-bottom: 1px solid var(--color-gray-200);
  box-shadow: var(--shadow-sm);
}

/* line 249, app/assets/stylesheets/admin/shared.scss */
.admin-nav-inner {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 var(--spacing-xl);
  gap: var(--spacing-xl);
}

/* line 257, app/assets/stylesheets/admin/shared.scss */
.admin-nav__brand {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-900);
  text-decoration: none;
  margin-right: var(--spacing-md);
}

/* line 268, app/assets/stylesheets/admin/shared.scss */
.nav-links {
  display: flex;
  gap: var(--spacing-lg);
  align-items: stretch;
  height: 100%;
}

/* line 275, app/assets/stylesheets/admin/shared.scss */
.nav-link {
  display: inline-flex;
  align-items: center;
  padding: 0 var(--spacing-sm);
  text-decoration: none;
  color: var(--color-gray-600);
  border-radius: 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color var(--transition-fast), border-color var(--transition-fast);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-sm);
  background: transparent;
}

/* line 290, app/assets/stylesheets/admin/shared.scss */
.nav-link:hover {
  color: var(--color-gray-900);
}

/* line 294, app/assets/stylesheets/admin/shared.scss */
.nav-link.active {
  color: var(--color-gray-900);
  font-weight: var(--font-weight-bold);
  border-bottom-color: var(--color-primary);
  background: transparent;
}

/* line 301, app/assets/stylesheets/admin/shared.scss */
.admin-nav-rail__eyebrow {
  font-size: 0.625rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-gray-400);
  padding: 0 var(--spacing-sm) var(--spacing-sm);
}

/* line 310, app/assets/stylesheets/admin/shared.scss */
.admin-nav-rail__link {
  display: block;
  padding: var(--spacing-sm) var(--spacing-sm);
  border-radius: var(--radius-sm);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-600);
  text-decoration: none;
  margin-bottom: 2px;
}

/* line 321, app/assets/stylesheets/admin/shared.scss */
.admin-nav-rail__link:hover {
  background: var(--color-gray-50);
}

/* line 325, app/assets/stylesheets/admin/shared.scss */
.admin-nav-rail__link.active {
  background: var(--color-brand-soft);
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
}

/* line 331, app/assets/stylesheets/admin/shared.scss */
.admin-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--spacing-lg);
  padding-bottom: var(--spacing-lg);
  border-bottom: 1px solid var(--color-border-subtle);
  margin-bottom: var(--spacing-lg);
}

/* line 341, app/assets/stylesheets/admin/shared.scss */
.admin-page-header__title {
  margin: 0;
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.01em;
  color: var(--color-heading);
}

/* line 349, app/assets/stylesheets/admin/shared.scss */
.admin-page-header__count {
  color: var(--color-gray-400);
  font-weight: var(--font-weight-medium);
}

/* line 354, app/assets/stylesheets/admin/shared.scss */
.admin-section-card {
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  margin-bottom: var(--spacing-lg);
}

/* line 363, app/assets/stylesheets/admin/shared.scss */
.admin-section-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-md) var(--spacing-xl);
  border-bottom: 1px solid var(--color-border-subtle);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
}

/* line 373, app/assets/stylesheets/admin/shared.scss */
.admin-section-card__body {
  padding: var(--spacing-xl);
}

/* line 377, app/assets/stylesheets/admin/shared.scss */
.admin-data-table__head,
.admin-data-table__row {
  display: grid;
  gap: var(--spacing-lg);
  align-items: center;
  padding: var(--spacing-sm) var(--spacing-xl);
}

/* line 385, app/assets/stylesheets/admin/shared.scss */
.admin-data-table__head {
  background: var(--color-gray-50);
  border-bottom: 1px solid var(--color-gray-200);
  font-size: 0.65rem;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-400);
}

/* line 395, app/assets/stylesheets/admin/shared.scss */
.admin-data-table__row {
  border-bottom: 1px solid var(--color-border-subtle);
  min-height: 56px;
  text-decoration: none;
  color: inherit;
}

/* line 402, app/assets/stylesheets/admin/shared.scss */
.admin-data-table__row:hover {
  background: var(--color-gray-50);
}

/* line 406, app/assets/stylesheets/admin/shared.scss */
.admin-data-table__section {
  padding: var(--spacing-sm) var(--spacing-xl);
  background: var(--color-gray-50);
  border-top: 1px solid var(--color-border-subtle);
  border-bottom: 1px solid var(--color-border-subtle);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-gray-600);
}

/* line 418, app/assets/stylesheets/admin/shared.scss */
.admin-filter-row__search {
  max-width: 280px;
}

/* line 422, app/assets/stylesheets/admin/shared.scss */
.admin-filter-row__count {
  margin-left: auto;
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* line 428, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table {
  --admin-table-cols: minmax(0, 2.4fr) minmax(0, 0.9fr) minmax(0, 1.5fr) minmax(0, 1.6fr) 24px;
}

/* line 432, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__head,
.admin-athlete-list-table__row {
  grid-template-columns: var(--admin-table-cols);
}

/* line 437, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__chevron-col {
  width: 24px;
}

/* line 441, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__athlete {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

/* line 448, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-primary);
  border: 1px solid var(--color-white);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  box-shadow: var(--shadow-sm);
}

/* line 463, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-avatar--hero {
  width: 72px;
  height: 72px;
  border-width: 2px;
}

/* line 468, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-avatar--hero .admin-athlete-avatar__initials {
  font-size: 1.25rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.02em;
}

/* line 475, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-avatar__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 482, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-avatar__initials {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.04em;
  color: var(--color-white);
}

/* line 489, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__athlete-text {
  min-width: 0;
}

/* line 493, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__name {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  color: var(--color-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 502, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__team {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* line 507, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__last-visit {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
}

/* line 512, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__unreplied-count {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
}

/* line 518, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__unreplied-label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-500);
}

/* line 524, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__unreplied-due {
  font-size: 0.69rem;
  color: var(--color-warning);
}

/* line 529, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__empty {
  font-size: var(--font-size-xs);
  color: var(--color-gray-400);
}

/* line 534, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-list-table__chevron {
  color: var(--color-gray-400);
  text-align: right;
}

/* line 539, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 545, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__dots {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* line 551, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-gray-300);
  flex: none;
}

/* line 559, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__dot--complete {
  background: var(--color-success);
}

/* line 563, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__dot--skipped {
  background: var(--color-warning);
}

/* line 567, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__dot--current,
.admin-onboarding-status__dot--pending {
  background: var(--color-gray-300);
}

/* line 572, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__caption {
  font-size: 0.69rem;
  color: var(--color-gray-500);
  line-height: var(--line-height-tight);
}

/* line 578, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__caption--warning {
  color: var(--color-warning);
}

/* line 582, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__caption-prefix {
  color: var(--color-gray-400);
}

/* line 586, app/assets/stylesheets/admin/shared.scss */
.admin-onboarding-status__caption--warning .admin-onboarding-status__caption-prefix {
  color: var(--color-warning);
}

/* line 590, app/assets/stylesheets/admin/shared.scss */
.admin-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  background: rgba(43, 33, 69, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xl);
}

/* line 601, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel {
  background: var(--color-white);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-2xl);
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow: auto;
}

/* line 611, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel--wide {
  max-width: 640px;
}

/* line 615, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__header {
  padding: var(--spacing-lg) var(--spacing-xl);
  border-bottom: 1px solid var(--color-border-subtle);
}

/* line 620, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__body {
  padding: var(--spacing-xl);
}

/* line 624, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__footer {
  padding: var(--spacing-md) var(--spacing-xl);
  border-top: 1px solid var(--color-border-subtle);
  display: flex;
  justify-content: flex-end;
  gap: var(--spacing-sm);
}

/* line 632, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__footer--inset {
  margin: 0 calc(var(--spacing-xl) * -1) calc(var(--spacing-xl) * -1);
  padding: var(--spacing-lg) var(--spacing-xl);
}

/* line 637, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__title {
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-heading);
}

/* line 644, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__subtitle {
  margin: var(--spacing-xs) 0 0;
}

/* line 648, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__contact-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-sm);
}

/* line 655, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__sender-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-sm);
}

/* line 661, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__sender-option {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  cursor: pointer;
}

/* line 671, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__sender-option span {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
}

/* line 676, app/assets/stylesheets/admin/shared.scss */
.admin-modal-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  margin-bottom: var(--spacing-lg);
}

/* line 683, app/assets/stylesheets/admin/shared.scss */
.admin-filter-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding-bottom: var(--spacing-md);
  border-bottom: 1px solid var(--color-border-subtle);
  margin-bottom: 0;
}

/* line 692, app/assets/stylesheets/admin/shared.scss */
.admin-activity-timeline {
  padding: var(--spacing-lg) var(--spacing-md);
}

/* line 696, app/assets/stylesheets/admin/shared.scss */
.admin-activity-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: var(--spacing-md);
  padding-bottom: var(--spacing-lg);
}

/* line 704, app/assets/stylesheets/admin/shared.scss */
.admin-activity-timeline__item:last-child {
  padding-bottom: 0;
}

/* line 709, app/assets/stylesheets/admin/shared.scss */
.admin-activity-timeline__item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 22px;
  bottom: 0;
  width: 2px;
  background: var(--color-brand-soft, color-mix(in srgb, var(--color-primary) 18%, transparent));
  border-radius: 1px;
}

/* line 720, app/assets/stylesheets/admin/shared.scss */
.admin-activity-timeline__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-top: 6px;
  background: var(--color-primary);
  border: none;
  z-index: 1;
}

/* line 731, app/assets/stylesheets/admin/shared.scss */
.admin-activity-timeline__dot--done,
.admin-activity-timeline__dot--invite,
.admin-activity-timeline__dot--onboarding,
.admin-activity-timeline__dot--engagement,
.admin-activity-timeline__dot--account,
.admin-activity-timeline__dot--client-telemetry {
  background: var(--color-primary);
}

/* line 740, app/assets/stylesheets/admin/shared.scss */
.admin-activity-timeline__dot--dismissed {
  background: var(--color-gray-400);
}

/* line 744, app/assets/stylesheets/admin/shared.scss */
.admin-activity-timeline__body {
  min-width: 0;
}

/* line 748, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

/* line 758, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__header {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 764, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-heading);
  line-height: var(--line-height-tight);
}

/* line 771, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__summary {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  line-height: var(--line-height-normal);
  overflow-wrap: anywhere;
}

/* line 778, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__time {
  margin-top: 2px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: var(--font-size-xs);
  letter-spacing: 0.01em;
  color: var(--color-gray-400);
}

/* line 786, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__detail {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg);
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
}

/* line 796, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--spacing-lg);
  row-gap: var(--spacing-md);
  margin: 0;
}

@media (max-width: 640px) {
  /* line 805, app/assets/stylesheets/admin/shared.scss */
  .admin-activity-event-card__meta {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 810, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__meta-row {
  display: grid;
  grid-template-columns: minmax(70px, auto) minmax(0, 1fr);
  column-gap: var(--spacing-md);
  align-items: baseline;
  padding: 0;
}

/* line 818, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__meta-label {
  font-size: 0.7rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-gray-400);
  margin: 0;
}

/* line 827, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__meta-value {
  font-size: var(--font-size-sm);
  color: var(--color-gray-900, var(--color-heading));
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

/* line 835, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__message {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
}

/* line 841, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__message-label {
  font-size: 0.7rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-gray-400);
}

/* line 849, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__message-body {
  padding: var(--spacing-md);
  background: var(--color-gray-50, #f4f4f6);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  color: var(--color-gray-900, var(--color-heading));
}

/* line 857, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__message-body p {
  margin: 0 0 var(--spacing-sm);
}

/* line 861, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__message-body p:last-child {
  margin-bottom: 0;
}

/* line 866, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__code {
  display: inline-block;
  padding: 2px 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  background: var(--color-gray-50);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  color: var(--color-gray-800);
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* line 879, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__link {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: var(--font-weight-medium);
}

/* line 885, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__link:hover {
  text-decoration: underline;
}

/* line 889, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__json {
  margin: 0;
  padding: var(--spacing-sm) var(--spacing-md);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: var(--line-height-normal);
  color: var(--color-gray-800);
  background: var(--color-gray-50);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  white-space: pre-wrap;
  overflow-x: auto;
}

/* line 903, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-sm);
}

/* line 910, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__actions .btn,
.admin-activity-event-card__actions .btn-outline,
.admin-activity-event-card__actions .btn-resend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  border-radius: var(--radius-md);
  line-height: 1;
  text-decoration: none;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}

/* line 925, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__actions .btn-outline {
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  color: var(--color-gray-800);
}

/* line 931, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__actions .btn-outline:hover {
  background: var(--color-gray-50, #f4f4f6);
}

/* line 936, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__actions .btn-resend {
  background: var(--color-brand-soft, color-mix(in srgb, var(--color-primary) 14%, white));
  color: var(--color-primary);
  border: 1px solid color-mix(in srgb, var(--color-primary) 24%, transparent);
}

/* line 942, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__actions .btn-resend:hover {
  background: color-mix(in srgb, var(--color-primary) 22%, white);
}

/* line 946, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* line 955, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__copy {
  display: inline-flex;
  align-items: center;
  position: relative;
}

/* line 961, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__copy-source {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}

/* line 975, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__raw {
  padding-top: var(--spacing-xs);
  border-top: 1px solid var(--color-border-subtle);
}

/* line 980, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__raw[open] .admin-activity-event-card__raw-summary {
  color: var(--color-gray-700);
}

/* line 984, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__raw-summary {
  cursor: pointer;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-500);
  list-style: none;
  padding: var(--spacing-xs) 0;
  user-select: none;
}

/* line 994, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__raw-summary::marker,
.admin-activity-event-card__raw-summary::-webkit-details-marker {
  display: none;
}

/* line 999, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__raw-summary::before {
  content: "▸";
  display: inline-block;
  margin-right: var(--spacing-xs);
  transition: transform var(--transition-fast);
}

/* line 1006, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__raw[open] .admin-activity-event-card__raw-summary::before {
  transform: rotate(90deg);
}

/* line 1010, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__raw-body {
  display: grid;
  gap: var(--spacing-sm);
  padding-top: var(--spacing-xs);
}

/* line 1016, app/assets/stylesheets/admin/shared.scss */
.admin-activity-event-card__raw-textarea {
  width: 100%;
  min-height: 7rem;
  padding: var(--spacing-sm) var(--spacing-md);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: var(--line-height-normal);
  color: var(--color-gray-800);
  background: var(--color-gray-50);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  resize: vertical;
}

/* line 1030, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-hero {
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  margin-bottom: var(--spacing-lg);
}

/* line 1039, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-tabs {
  display: flex;
  gap: var(--spacing-xs);
  border-bottom: 1px solid var(--color-border-subtle);
  margin-bottom: var(--spacing-lg);
}

/* line 1046, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-tabs__tab {
  position: relative;
  padding: var(--spacing-md) var(--spacing-lg);
  border: 0;
  background: transparent;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-500);
  text-decoration: none;
  cursor: pointer;
}

/* line 1058, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-tabs__tab.active {
  color: var(--color-gray-900);
}

/* line 1062, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-tabs__tab.active::after {
  content: "";
  position: absolute;
  left: var(--spacing-lg);
  right: var(--spacing-lg);
  bottom: -1px;
  height: 2px;
  background: var(--color-primary);
  border-radius: 2px;
}

/* line 1073, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-breadcrumb {
  margin: 0 0 var(--spacing-lg);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

/* line 1078, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-breadcrumb a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: var(--font-weight-medium);
}

/* line 1083, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-breadcrumb a:hover {
  text-decoration: underline;
}

/* line 1088, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-breadcrumb span {
  color: var(--color-gray-800);
  font-weight: var(--font-weight-semibold);
}

/* line 1094, app/assets/stylesheets/admin/shared.scss */
.admin-workspace-card {
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* line 1102, app/assets/stylesheets/admin/shared.scss */
.admin-workspace-card__header {
  padding: var(--spacing-lg) var(--spacing-xl);
  border-bottom: 1px solid var(--color-border-subtle);
}

/* line 1107, app/assets/stylesheets/admin/shared.scss */
.admin-workspace-card__label {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  margin: 0;
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-primary);
}

/* line 1118, app/assets/stylesheets/admin/shared.scss */
.admin-workspace-card__label svg {
  flex-shrink: 0;
  color: var(--color-primary);
}

/* line 1124, app/assets/stylesheets/admin/shared.scss */
.admin-workspace-card__body {
  padding: var(--spacing-xl);
}

/* line 1128, app/assets/stylesheets/admin/shared.scss */
.admin-workspace-card__body--flush {
  padding: 0;
}

/* line 1132, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-workspace-stack .admin-internal-notes.admin-workspace-card .card-header,
.admin-athlete-workspace-stack .admin-internal-notes.admin-workspace-card .card-body {
  border: 0;
  background: transparent;
  padding: 0;
}

/* line 1139, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-workspace-stack .admin-internal-notes.admin-workspace-card .card-header {
  padding: var(--spacing-lg) var(--spacing-xl);
  border-bottom: 1px solid var(--color-border-subtle);
}

/* line 1144, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-workspace-stack .admin-internal-notes.admin-workspace-card .card-body {
  padding: var(--spacing-xl);
}

/* line 1148, app/assets/stylesheets/admin/shared.scss */
.admin-athlete-workspace-stack .admin-internal-notes.admin-workspace-card .section-title {
  margin: 0;
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-primary);
}

/* Typography */
/* line 1158, app/assets/stylesheets/admin/shared.scss */
.page-title {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-3xl);
  color: var(--color-gray-900);
  line-height: var(--line-height-tight);
}

/* line 1166, app/assets/stylesheets/admin/shared.scss */
.section-title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-2xl);
  color: var(--color-gray-800);
}

/* line 1173, app/assets/stylesheets/admin/shared.scss */
.subsection-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-lg);
  color: var(--color-gray-700);
}

/* Button System */
/* line 1181, app/assets/stylesheets/admin/shared.scss */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-md) var(--spacing-2xl);
  border-radius: var(--radius-md);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all var(--transition-normal);
  line-height: var(--line-height-tight);
  white-space: nowrap;
}

/* line 1197, app/assets/stylesheets/admin/shared.scss */
.btn:focus {
  outline: none;
  box-shadow: var(--focus-ring);
}

/* line 1202, app/assets/stylesheets/admin/shared.scss */
.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Button Variants */
/* line 1208, app/assets/stylesheets/admin/shared.scss */
.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-white);
}

/* line 1213, app/assets/stylesheets/admin/shared.scss */
.btn-primary:hover:not(:disabled) {
  background-color: var(--color-primary-hover);
}

/* line 1217, app/assets/stylesheets/admin/shared.scss */
.btn-secondary {
  background-color: var(--color-secondary);
  color: var(--color-white);
}

/* line 1222, app/assets/stylesheets/admin/shared.scss */
.btn-secondary:hover:not(:disabled) {
  background-color: var(--color-secondary-hover);
}

/* line 1226, app/assets/stylesheets/admin/shared.scss */
.btn-success {
  background-color: var(--color-success);
  color: var(--color-white);
}

/* line 1231, app/assets/stylesheets/admin/shared.scss */
.btn-success:hover:not(:disabled) {
  background-color: var(--color-success-hover);
}

/* line 1235, app/assets/stylesheets/admin/shared.scss */
.btn-danger {
  background-color: var(--color-danger);
  color: var(--color-white);
}

/* line 1240, app/assets/stylesheets/admin/shared.scss */
.btn-danger:hover:not(:disabled) {
  background-color: var(--color-danger-hover);
}

/* line 1244, app/assets/stylesheets/admin/shared.scss */
.btn-outline {
  background-color: transparent;
  border: 1px solid var(--color-gray-300);
  color: var(--color-gray-700);
}

/* line 1250, app/assets/stylesheets/admin/shared.scss */
.btn-outline:hover:not(:disabled) {
  background-color: var(--color-gray-50);
  border-color: var(--color-gray-400);
}

/* Button Sizes */
/* line 1256, app/assets/stylesheets/admin/shared.scss */
.btn-sm {
  padding: var(--spacing-sm) var(--spacing-lg);
  font-size: var(--font-size-xs);
}

/* line 1261, app/assets/stylesheets/admin/shared.scss */
.btn-lg {
  padding: var(--spacing-xl) var(--spacing-3xl);
  font-size: var(--font-size-lg);
}

/* Card System */
/* line 1267, app/assets/stylesheets/admin/shared.scss */
.card {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* line 1275, app/assets/stylesheets/admin/shared.scss */
.card-header {
  padding: var(--spacing-2xl);
  border-bottom: 1px solid var(--color-gray-200);
  background-color: var(--color-gray-50);
}

/* line 1281, app/assets/stylesheets/admin/shared.scss */
.card-body {
  padding: var(--spacing-2xl);
}

/* line 1285, app/assets/stylesheets/admin/shared.scss */
.card-body--flush {
  padding: 0;
}

/* line 1289, app/assets/stylesheets/admin/shared.scss */
.card-footer {
  padding: var(--spacing-2xl);
  border-top: 1px solid var(--color-gray-200);
  background-color: var(--color-gray-50);
}

/* Table System */
/* line 1296, app/assets/stylesheets/admin/shared.scss */
.table-container {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* line 1304, app/assets/stylesheets/admin/shared.scss */
.table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-white);
}

/* line 1310, app/assets/stylesheets/admin/shared.scss */
.table th,
.table td {
  padding: var(--spacing-lg) var(--spacing-xl);
  text-align: left;
  border-bottom: 1px solid var(--color-gray-200);
}

/* line 1317, app/assets/stylesheets/admin/shared.scss */
.table th {
  background-color: var(--color-gray-50);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-700);
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 1326, app/assets/stylesheets/admin/shared.scss */
.table tbody tr:hover {
  background-color: var(--color-gray-50);
}

/* line 1330, app/assets/stylesheets/admin/shared.scss */
.table tbody tr:last-child td {
  border-bottom: none;
}

/* line 1334, app/assets/stylesheets/admin/shared.scss */
.table a:not(.btn) {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: var(--font-weight-medium);
  transition: color var(--transition-normal);
}

/* line 1341, app/assets/stylesheets/admin/shared.scss */
.table a:not(.btn):hover {
  color: var(--color-primary-hover);
  text-decoration: underline;
}

/* Form System */
/* line 1347, app/assets/stylesheets/admin/shared.scss */
.form-container {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: var(--spacing-3xl);
}

/* line 1354, app/assets/stylesheets/admin/shared.scss */
.form-group {
  margin-bottom: var(--spacing-2xl);
}

/* line 1358, app/assets/stylesheets/admin/shared.scss */
.form-row {
  display: flex;
  gap: var(--spacing-2xl);
  margin-bottom: var(--spacing-2xl);
}

/* line 1364, app/assets/stylesheets/admin/shared.scss */
.form-row .form-group {
  flex: 1;
  margin-bottom: 0;
}

/* line 1369, app/assets/stylesheets/admin/shared.scss */
.form-label {
  display: block;
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-700);
  font-size: var(--font-size-sm);
  margin-bottom: var(--spacing-sm);
}

/* line 1377, app/assets/stylesheets/admin/shared.scss */
.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: var(--spacing-md) var(--spacing-lg);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-base);
  color: var(--color-gray-800);
  background-color: var(--color-white);
  transition: all var(--transition-normal);
}

/* line 1390, app/assets/stylesheets/admin/shared.scss */
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
}

/* line 1398, app/assets/stylesheets/admin/shared.scss */
.form-input::placeholder {
  color: var(--color-gray-400);
}

/* line 1402, app/assets/stylesheets/admin/shared.scss */
.form-textarea {
  resize: vertical;
  min-height: 120px;
}

/* line 1407, app/assets/stylesheets/admin/shared.scss */
.form-help {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  margin-top: var(--spacing-xs);
  line-height: var(--line-height-normal);
}

/* line 1414, app/assets/stylesheets/admin/shared.scss */
.form-help--flush {
  margin-top: 0;
}

/* line 1418, app/assets/stylesheets/admin/shared.scss */
.form-help--danger {
  color: var(--color-danger);
}

/* line 1422, app/assets/stylesheets/admin/shared.scss */
.u-mb-lg {
  margin-bottom: var(--spacing-lg);
}

/* line 1426, app/assets/stylesheets/admin/shared.scss */
.u-m-0 {
  margin: 0;
}

/* line 1430, app/assets/stylesheets/admin/shared.scss */
.u-mt-xs {
  margin-top: var(--spacing-xs);
}

/* line 1434, app/assets/stylesheets/admin/shared.scss */
.u-hidden {
  display: none;
}

/* line 1438, app/assets/stylesheets/admin/shared.scss */
.text-right {
  text-align: right;
}

/* line 1442, app/assets/stylesheets/admin/shared.scss */
.whitespace-nowrap {
  white-space: nowrap;
}

/* line 1446, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-columns--padded {
  margin: 0;
  padding: var(--spacing-xl);
}

/* line 1451, app/assets/stylesheets/admin/shared.scss */
.form-help--padded {
  padding: var(--spacing-lg);
  margin: 0;
}

/* line 1456, app/assets/stylesheets/admin/shared.scss */
.form-group--spaced-top {
  margin-top: var(--spacing-xl);
}

/* line 1460, app/assets/stylesheets/admin/shared.scss */
.form-label--secondary {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

/* line 1466, app/assets/stylesheets/admin/shared.scss */
.idol-action-card--narrow {
  max-width: 640px;
  margin: 0 auto;
}

/* line 1471, app/assets/stylesheets/admin/shared.scss */
.admin-profile-badge {
  display: inline-block;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}

/* line 1481, app/assets/stylesheets/admin/shared.scss */
.admin-profile-badge--idol {
  background: var(--color-brand-soft);
  color: var(--color-primary);
}

/* line 1486, app/assets/stylesheets/admin/shared.scss */
.admin-profile-badge--system {
  background: var(--color-warning-light);
  color: var(--color-warning-text);
}

/* line 1491, app/assets/stylesheets/admin/shared.scss */
.admin-user-link {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 6px;
  row-gap: 2px;
  min-width: 0;
  max-width: 100%;
}

/* line 1501, app/assets/stylesheets/admin/shared.scss */
.admin-user-link__name {
  font-weight: var(--font-weight-medium);
  word-break: break-word;
  overflow-wrap: break-word;
  min-width: 0;
}

/* line 1508, app/assets/stylesheets/admin/shared.scss */
.form-actions {
  display: flex;
  gap: var(--spacing-lg);
  margin-top: var(--spacing-3xl);
  padding-top: var(--spacing-2xl);
  border-top: 1px solid var(--color-gray-200);
}

/* Form Error States */
/* line 1517, app/assets/stylesheets/admin/shared.scss */
.field_with_errors .form-input,
.field_with_errors .form-select,
.field_with_errors .form-textarea {
  border-color: var(--color-danger);
  box-shadow: 0 0 0 3px var(--color-danger-light);
}

/* line 1524, app/assets/stylesheets/admin/shared.scss */
.field_with_errors .form-label {
  color: var(--color-danger);
}

/* line 1528, app/assets/stylesheets/admin/shared.scss */
.error-explanation {
  background-color: var(--color-danger-light);
  border: 1px solid var(--color-danger-text);
  border-radius: var(--radius-md);
  padding: var(--spacing-2xl);
  margin-bottom: var(--spacing-3xl);
}

/* line 1536, app/assets/stylesheets/admin/shared.scss */
.error-explanation h2 {
  color: var(--color-danger-text);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--spacing-lg) 0;
}

/* line 1543, app/assets/stylesheets/admin/shared.scss */
.error-explanation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 1549, app/assets/stylesheets/admin/shared.scss */
.error-explanation li {
  color: var(--color-danger-text);
  margin-bottom: var(--spacing-sm);
  font-size: var(--font-size-sm);
}

/* Flash Messages */
/* line 1556, app/assets/stylesheets/admin/shared.scss */
.flash-message {
  padding: var(--spacing-2xl);
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-2xl);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-sm);
}

/* line 1564, app/assets/stylesheets/admin/shared.scss */
.flash-success {
  background-color: var(--color-success-light);
  color: var(--color-success-text);
  border: 1px solid var(--color-success);
}

/* line 1570, app/assets/stylesheets/admin/shared.scss */
.flash-error {
  background-color: var(--color-danger-light);
  color: var(--color-danger-text);
  border: 1px solid var(--color-danger);
}

/* line 1576, app/assets/stylesheets/admin/shared.scss */
.flash-warning {
  background-color: var(--color-warning-light);
  color: var(--color-warning-text);
  border: 1px solid var(--color-warning);
}

/* List System */
/* line 1583, app/assets/stylesheets/admin/shared.scss */
.list-container {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

/* line 1591, app/assets/stylesheets/admin/shared.scss */
.list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-lg) var(--spacing-xl);
  border-bottom: 1px solid var(--color-gray-200);
  transition: background-color var(--transition-fast);
}

/* line 1600, app/assets/stylesheets/admin/shared.scss */
.list-item:last-child {
  border-bottom: none;
}

/* line 1604, app/assets/stylesheets/admin/shared.scss */
.list-item:hover {
  background-color: var(--color-gray-50);
}

/* line 1608, app/assets/stylesheets/admin/shared.scss */
.list-item-content {
  flex: 1;
}

/* line 1612, app/assets/stylesheets/admin/shared.scss */
.list-item-title {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  color: var(--color-heading);
  margin-bottom: var(--spacing-xs);
}

/* line 1619, app/assets/stylesheets/admin/shared.scss */
.list-item-subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

/* line 1624, app/assets/stylesheets/admin/shared.scss */
.list-item-actions {
  display: flex;
  gap: var(--spacing-sm);
  margin-left: var(--spacing-lg);
}

/* line 1630, app/assets/stylesheets/admin/shared.scss */
.list-item-actions form.button_to {
  display: inline-flex;
  margin: 0;
}

/* Badge System (aliases admin-status-pill for legacy markup) */
/* line 1636, app/assets/stylesheets/admin/shared.scss */
.badge,
.admin-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 22px;
  padding: 0 10px;
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* line 1650, app/assets/stylesheets/admin/shared.scss */
.badge-primary,
.admin-status-pill--brand {
  background: var(--color-brand-soft);
  color: var(--color-primary);
}

/* line 1656, app/assets/stylesheets/admin/shared.scss */
.badge-success,
.admin-status-pill--success {
  background: var(--color-success-light);
  color: var(--color-success);
}

/* line 1662, app/assets/stylesheets/admin/shared.scss */
.badge-danger,
.admin-status-pill--danger {
  background: var(--color-danger-light);
  color: var(--color-danger-text);
}

/* line 1668, app/assets/stylesheets/admin/shared.scss */
.badge-warning,
.admin-status-pill--pending {
  background: var(--color-warning-light);
  color: var(--color-warning);
}

/* line 1674, app/assets/stylesheets/admin/shared.scss */
.badge-secondary,
.admin-status-pill--secondary {
  background: var(--color-secondary-light);
  color: var(--color-secondary);
}

/* line 1680, app/assets/stylesheets/admin/shared.scss */
.safety-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 22px;
  padding: 0 8px;
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* line 1694, app/assets/stylesheets/admin/shared.scss */
.safety-pill.safety-low {
  background: var(--color-success-light);
  color: var(--color-success);
}

/* line 1699, app/assets/stylesheets/admin/shared.scss */
.safety-pill.safety-mid {
  background: var(--color-warning-light);
  color: var(--color-warning);
}

/* line 1704, app/assets/stylesheets/admin/shared.scss */
.safety-pill.safety-high {
  background: var(--color-danger-light);
  color: var(--color-danger-text);
}

/* Rich Text Editor */
/* line 1710, app/assets/stylesheets/admin/shared.scss */
.trix-editor {
  border: 1px solid var(--color-gray-300) !important;
  border-radius: var(--radius-md) !important;
  min-height: 200px;
  padding: var(--spacing-lg) !important;
  font-size: var(--font-size-base) !important;
  line-height: var(--line-height-normal) !important;
}

/* line 1719, app/assets/stylesheets/admin/shared.scss */
.trix-editor:focus {
  border-color: var(--color-primary) !important;
  box-shadow: var(--focus-ring) !important;
}

/* Test cycle template rich text: keep Trix toolbar under the fixed admin nav while scrolling */
/* line 1725, app/assets/stylesheets/admin/shared.scss */
[data-controller="test-cycle-template-editor"] trix-toolbar {
  position: sticky;
  top: calc(var(--nav-height) + var(--spacing-sm));
  z-index: calc(var(--z-fixed) - 1);
  background-color: var(--color-white);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

/* Utility Classes */
/* line 1734, app/assets/stylesheets/admin/shared.scss */
.text-center {
  text-align: center;
}

/* line 1735, app/assets/stylesheets/admin/shared.scss */
.text-left {
  text-align: left;
}

/* line 1736, app/assets/stylesheets/admin/shared.scss */
.text-right {
  text-align: right;
}

/* line 1738, app/assets/stylesheets/admin/shared.scss */
.mt-auto {
  margin-top: auto;
}

/* line 1739, app/assets/stylesheets/admin/shared.scss */
.mb-auto {
  margin-bottom: auto;
}

/* line 1740, app/assets/stylesheets/admin/shared.scss */
.ml-auto {
  margin-left: auto;
}

/* line 1741, app/assets/stylesheets/admin/shared.scss */
.mr-auto {
  margin-right: auto;
}

/* line 1743, app/assets/stylesheets/admin/shared.scss */
.flex {
  display: flex;
}

/* line 1744, app/assets/stylesheets/admin/shared.scss */
.flex-col {
  flex-direction: column;
}

/* line 1745, app/assets/stylesheets/admin/shared.scss */
.flex-row {
  flex-direction: row;
}

/* line 1746, app/assets/stylesheets/admin/shared.scss */
.flex-wrap {
  flex-wrap: wrap;
}

/* line 1747, app/assets/stylesheets/admin/shared.scss */
.flex-nowrap {
  flex-wrap: nowrap;
}

/* line 1749, app/assets/stylesheets/admin/shared.scss */
.items-start {
  align-items: flex-start;
}

/* line 1750, app/assets/stylesheets/admin/shared.scss */
.items-center {
  align-items: center;
}

/* line 1751, app/assets/stylesheets/admin/shared.scss */
.items-end {
  align-items: flex-end;
}

/* line 1752, app/assets/stylesheets/admin/shared.scss */
.items-stretch {
  align-items: stretch;
}

/* line 1753, app/assets/stylesheets/admin/shared.scss */
.items-baseline {
  align-items: baseline;
}

/* line 1755, app/assets/stylesheets/admin/shared.scss */
.justify-start {
  justify-content: flex-start;
}

/* line 1756, app/assets/stylesheets/admin/shared.scss */
.justify-center {
  justify-content: center;
}

/* line 1757, app/assets/stylesheets/admin/shared.scss */
.justify-end {
  justify-content: flex-end;
}

/* line 1758, app/assets/stylesheets/admin/shared.scss */
.justify-between {
  justify-content: space-between;
}

/* line 1759, app/assets/stylesheets/admin/shared.scss */
.justify-around {
  justify-content: space-around;
}

/* line 1760, app/assets/stylesheets/admin/shared.scss */
.justify-evenly {
  justify-content: space-evenly;
}

/* line 1762, app/assets/stylesheets/admin/shared.scss */
.flex-1 {
  flex: 1 1 0%;
}

/* line 1763, app/assets/stylesheets/admin/shared.scss */
.flex-auto {
  flex: 1 1 auto;
}

/* line 1764, app/assets/stylesheets/admin/shared.scss */
.flex-initial {
  flex: 0 1 auto;
}

/* line 1765, app/assets/stylesheets/admin/shared.scss */
.flex-none {
  flex: none;
}

/* Layout Utilities - Grid */
/* line 1768, app/assets/stylesheets/admin/shared.scss */
.grid {
  display: grid;
}

/* line 1769, app/assets/stylesheets/admin/shared.scss */
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

/* line 1770, app/assets/stylesheets/admin/shared.scss */
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 1771, app/assets/stylesheets/admin/shared.scss */
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* line 1772, app/assets/stylesheets/admin/shared.scss */
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* line 1773, app/assets/stylesheets/admin/shared.scss */
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* line 1774, app/assets/stylesheets/admin/shared.scss */
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* line 1776, app/assets/stylesheets/admin/shared.scss */
.col-span-1 {
  grid-column: span 1 / span 1;
}

/* line 1777, app/assets/stylesheets/admin/shared.scss */
.col-span-2 {
  grid-column: span 2 / span 2;
}

/* line 1778, app/assets/stylesheets/admin/shared.scss */
.col-span-3 {
  grid-column: span 3 / span 3;
}

/* line 1779, app/assets/stylesheets/admin/shared.scss */
.col-span-4 {
  grid-column: span 4 / span 4;
}

/* line 1780, app/assets/stylesheets/admin/shared.scss */
.col-span-5 {
  grid-column: span 5 / span 5;
}

/* line 1781, app/assets/stylesheets/admin/shared.scss */
.col-span-6 {
  grid-column: span 6 / span 6;
}

/* line 1783, app/assets/stylesheets/admin/shared.scss */
.gap-1 {
  gap: var(--spacing-xs);
}

/* line 1784, app/assets/stylesheets/admin/shared.scss */
.gap-2 {
  gap: var(--spacing-sm);
}

/* line 1785, app/assets/stylesheets/admin/shared.scss */
.gap-3 {
  gap: var(--spacing-md);
}

/* line 1786, app/assets/stylesheets/admin/shared.scss */
.gap-4 {
  gap: var(--spacing-lg);
}

/* line 1787, app/assets/stylesheets/admin/shared.scss */
.gap-5 {
  gap: var(--spacing-xl);
}

/* line 1788, app/assets/stylesheets/admin/shared.scss */
.gap-6 {
  gap: var(--spacing-2xl);
}

/* line 1789, app/assets/stylesheets/admin/shared.scss */
.gap-8 {
  gap: var(--spacing-3xl);
}

/* Table-like Layout Utilities */
/* line 1792, app/assets/stylesheets/admin/shared.scss */
.table-row {
  display: grid;
  align-items: center;
  padding: var(--spacing-lg) var(--spacing-2xl);
  border-bottom: 1px solid var(--color-gray-200);
  transition: background-color var(--transition-fast);
}

/* line 1800, app/assets/stylesheets/admin/shared.scss */
.table-row:hover {
  background-color: var(--color-gray-50);
}

/* line 1804, app/assets/stylesheets/admin/shared.scss */
.table-row:last-child {
  border-bottom: none;
}

/* Drag and Drop Table Row Layout */
/* line 1809, app/assets/stylesheets/admin/shared.scss */
.draggable-table-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--spacing-lg);
  padding: var(--spacing-lg) var(--spacing-2xl);
  border-bottom: 1px solid var(--color-gray-200);
  background: var(--color-white);
  transition: all var(--transition-normal);
}

/* line 1820, app/assets/stylesheets/admin/shared.scss */
.draggable-table-row:hover {
  background-color: var(--color-gray-50);
  box-shadow: var(--shadow-sm);
}

/* line 1825, app/assets/stylesheets/admin/shared.scss */
.draggable-table-row:last-child {
  border-bottom: none;
}

/* line 1829, app/assets/stylesheets/admin/shared.scss */
.drag-handle-column {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  color: var(--color-gray-400);
  padding: var(--spacing-sm);
}

/* line 1838, app/assets/stylesheets/admin/shared.scss */
.drag-handle-column:active {
  cursor: grabbing;
}

/* line 1842, app/assets/stylesheets/admin/shared.scss */
.content-column {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--spacing-lg);
  align-items: center;
}

/* line 1849, app/assets/stylesheets/admin/shared.scss */
.actions-column {
  display: flex;
  gap: var(--spacing-sm);
  justify-content: flex-end;
}

/* Drag and Drop Styling */
/* line 1856, app/assets/stylesheets/admin/shared.scss */
.sortable-ghost {
  opacity: 0.4;
  background-color: var(--color-primary-light) !important;
}

/* line 1861, app/assets/stylesheets/admin/shared.scss */
.sortable-chosen {
  cursor: grabbing;
}

/* line 1865, app/assets/stylesheets/admin/shared.scss */
.sortable-drag {
  transform: rotate(5deg);
  box-shadow: var(--shadow-xl);
}

/* Table Header Styling for Drag Tables */
/* line 1871, app/assets/stylesheets/admin/shared.scss */
.draggable-table-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--spacing-lg);
  padding: var(--spacing-lg) var(--spacing-2xl);
  background: var(--color-gray-50);
  border-bottom: 1px solid var(--color-gray-200);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

/* line 1886, app/assets/stylesheets/admin/shared.scss */
.draggable-table-header .drag-handle-column,
.draggable-table-header .actions-column {
  visibility: hidden;
}

/* Manual test cycles */
/* line 1892, app/assets/stylesheets/admin/shared.scss */
.test-cycle-template-content {
  min-height: 24rem;
}

/* line 1896, app/assets/stylesheets/admin/shared.scss */
.test-cycle-template-content .attachment,
.test-cycle-template-content action-text-attachment,
.test-cycle-rich-content .attachment,
.test-cycle-rich-content action-text-attachment {
  max-width: min(100%, 42rem);
}

/* line 1903, app/assets/stylesheets/admin/shared.scss */
.test-cycle-template-content img,
.test-cycle-rich-content img {
  display: block;
  max-width: 100%;
  max-height: 32rem;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* line 1913, app/assets/stylesheets/admin/shared.scss */
.test-cycle-template-editor__checkbox-group {
  border-left: 1px solid var(--color-gray-300);
}

/* line 1917, app/assets/stylesheets/admin/shared.scss */
.test-cycle-template-editor__checkbox-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2.6em;
  padding: 0 0.6em !important;
  color: var(--color-gray-800) !important;
  font-size: 1.15rem !important;
  font-weight: var(--font-weight-normal) !important;
  line-height: 1 !important;
  text-indent: 0 !important;
}

/* line 1930, app/assets/stylesheets/admin/shared.scss */
.test-cycle-checkbox-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.25rem;
  color: var(--color-gray-700);
  font-size: 1.15em;
  font-weight: var(--font-weight-normal);
  line-height: 1;
  vertical-align: -0.08em;
  user-select: none;
}

/* line 1943, app/assets/stylesheets/admin/shared.scss */
.test-cycle-start-modal {
  width: 36rem;
  max-width: 92vw;
  border: 0;
  border-radius: var(--radius-xl);
  padding: var(--spacing-3xl);
  box-shadow: var(--shadow-2xl);
}

/* line 1952, app/assets/stylesheets/admin/shared.scss */
.test-cycle-start-modal::backdrop {
  background: rgba(17, 24, 39, 0.55);
}

/* line 1956, app/assets/stylesheets/admin/shared.scss */
.test-cycle-start-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--spacing-xl);
  margin-bottom: var(--spacing-2xl);
}

/* line 1964, app/assets/stylesheets/admin/shared.scss */
.test-cycle-start-modal__title {
  margin: 0;
  color: var(--color-gray-900);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-tight);
}

/* line 1971, app/assets/stylesheets/admin/shared.scss */
.test-cycle-start-modal .admin-modal-close {
  border: 0;
  background: transparent;
  color: var(--color-gray-500);
  cursor: pointer;
  font-size: 1.75rem;
  line-height: 1;
  padding: 0;
}

/* line 1981, app/assets/stylesheets/admin/shared.scss */
.test-cycle-start-modal .admin-modal-close:hover,
.test-cycle-start-modal .admin-modal-close:focus {
  color: var(--color-gray-800);
}

/* line 1986, app/assets/stylesheets/admin/shared.scss */
.test-cycle-start-modal__form .form-actions {
  justify-content: flex-end;
}

/* line 1990, app/assets/stylesheets/admin/shared.scss */
.test-cycle-report-meta p {
  margin: var(--spacing-sm) 0;
}

/* line 1994, app/assets/stylesheets/admin/shared.scss */
.test-cycle-stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xl);
  margin: var(--spacing-2xl) 0;
}

/* line 2001, app/assets/stylesheets/admin/shared.scss */
.test-cycle-stat {
  text-align: center;
  padding: var(--spacing-xl);
  border-radius: var(--radius-lg);
  min-width: 6rem;
  border: 1px solid var(--color-gray-200);
}

/* line 2009, app/assets/stylesheets/admin/shared.scss */
.test-cycle-stat__value {
  display: block;
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
}

/* line 2015, app/assets/stylesheets/admin/shared.scss */
.test-cycle-stat__label {
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
}

/* line 2020, app/assets/stylesheets/admin/shared.scss */
.test-cycle-stat--pass .test-cycle-stat__value {
  color: var(--color-success-text);
}

/* line 2024, app/assets/stylesheets/admin/shared.scss */
.test-cycle-stat--fail .test-cycle-stat__value {
  color: var(--color-danger-text);
}

/* line 2028, app/assets/stylesheets/admin/shared.scss */
.test-cycle-stat--pending .test-cycle-stat__value {
  color: var(--color-warning-text);
}

/* line 2032, app/assets/stylesheets/admin/shared.scss */
.test-cycle-progress {
  height: 10px;
  background: var(--color-gray-200);
  border-radius: var(--radius-sm);
  overflow: hidden;
  max-width: 32rem;
}

/* line 2040, app/assets/stylesheets/admin/shared.scss */
.test-cycle-progress__bar {
  height: 100%;
  background: var(--color-primary);
  transition: width 0.2s ease;
}

/* line 2046, app/assets/stylesheets/admin/shared.scss */
.test-cycle-checklist__status {
  min-height: 1.25rem;
  margin: var(--spacing-md) 0;
  color: var(--color-gray-600);
  font-size: var(--font-size-sm);
}

/* line 2053, app/assets/stylesheets/admin/shared.scss */
.test-cycle-checklist__status--error {
  color: var(--color-danger-text);
}

/* line 2057, app/assets/stylesheets/admin/shared.scss */
.test-cycle-rich-content-card {
  position: relative;
  z-index: 2;
  margin-top: var(--spacing-2xl);
  overflow: visible;
}

/* line 2064, app/assets/stylesheets/admin/shared.scss */
.test-cycle-rich-content-card .card-body {
  overflow: visible;
}

/* line 2068, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__connection {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
  margin-bottom: var(--spacing-2xl);
  padding: var(--spacing-lg);
  border: 1px solid var(--color-success);
  border-radius: var(--radius-md);
  background: var(--color-success-light);
}

/* line 2081, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__connection--disconnected {
  border-color: var(--color-gray-200);
  background: var(--color-gray-50);
}

/* line 2086, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__connection-meta,
.github-issue-panel__connection-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-sm);
}

/* line 2094, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__connection-meta {
  color: var(--color-gray-700);
  font-size: var(--font-size-sm);
}

/* line 2099, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__connection-meta p {
  margin: var(--spacing-xs) 0 0;
}

/* line 2103, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__connection-hint {
  color: var(--color-gray-600);
  font-size: var(--font-size-sm);
}

/* line 2108, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__status-dot {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 999px;
  background: var(--color-success);
  box-shadow: 0 0 0 3px var(--color-success-light);
}

/* line 2116, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__status-dot--disconnected {
  background: var(--color-gray-400);
  box-shadow: 0 0 0 3px var(--color-gray-100);
}

/* line 2121, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__repo-pill {
  padding: var(--spacing-xs) var(--spacing-sm);
  border: 1px solid var(--color-gray-200);
  border-radius: 999px;
  background: var(--color-white);
  color: var(--color-gray-700);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
}

/* line 2131, app/assets/stylesheets/admin/shared.scss */
.github-issue-panel__disconnect-form {
  display: inline-flex;
  margin: 0;
}

/* line 2136, app/assets/stylesheets/admin/shared.scss */
.test-cycle-rich-content .hidden {
  display: none !important;
}

/* line 2140, app/assets/stylesheets/admin/shared.scss */
.test-cycle-rich-content .attachment__caption {
  display: none;
}

/* line 2144, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
  margin: 0 0.35rem;
  vertical-align: baseline;
  font-size: var(--font-size-sm);
}

/* line 2153, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__checkbox {
  width: 1rem;
  height: 1rem;
  accent-color: var(--color-success);
}

/* line 2159, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-association {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
  margin: 0 0.35rem 0 var(--spacing-xl) !important;
  vertical-align: baseline;
  font-size: var(--font-size-sm);
}

/* line 2168, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-summary,
.test-cycle-check-item__issue-controls,
.test-cycle-check-item__issue-form {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs);
}

/* line 2177, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-empty {
  color: var(--color-gray-500);
}

/* line 2181, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-link {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
}

/* line 2186, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-toggle,
.test-cycle-check-item__issue-submit,
.test-cycle-check-item__issue-clear {
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-gray-700);
  cursor: pointer;
  font-size: var(--font-size-xs);
  padding: 0.15rem 0.4rem;
}

/* line 2198, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-toggle:hover,
.test-cycle-check-item__issue-submit:hover,
.test-cycle-check-item__issue-clear:hover {
  background: var(--color-gray-50);
}

/* line 2204, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-input {
  width: 20rem;
  max-width: 70vw;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  padding: var(--spacing-xs) var(--spacing-sm);
}

/* line 2213, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-dropdown {
  position: absolute;
  left: 0;
  top: calc(100% + var(--spacing-xs));
  z-index: var(--z-dropdown, 20);
  width: 34rem;
  max-width: 80vw;
  max-height: 18rem;
  overflow-y: auto;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: var(--shadow-lg);
}

/* line 2228, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-result {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--spacing-sm);
  width: 100%;
  padding: var(--spacing-md) var(--spacing-lg);
  border: 0;
  border-bottom: 1px solid var(--color-gray-100);
  background: transparent;
  color: var(--color-gray-800);
  cursor: pointer;
  font-size: var(--font-size-base);
  text-align: left;
}

/* line 2243, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-result:hover,
.test-cycle-check-item__issue-result:focus {
  outline: none;
  background: var(--color-gray-50);
}

/* line 2249, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-result-number {
  color: var(--color-gray-500);
  font-weight: var(--font-weight-semibold);
}

/* line 2254, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-result-empty {
  padding: var(--spacing-md) var(--spacing-lg);
  color: var(--color-gray-500);
  font-size: var(--font-size-base);
}

/* line 2260, app/assets/stylesheets/admin/shared.scss */
.test-cycle-check-item__issue-result-empty--error {
  color: var(--color-danger-text);
}

/* Recent signups + idol promote toggle (admin dashboard) */
/* line 2265, app/assets/stylesheets/admin/shared.scss */
.admin-dash-recent-signups-scroll {
  overflow-x: auto;
  margin-top: var(--spacing-sm);
}

/* line 2270, app/assets/stylesheets/admin/shared.scss */
.admin-dash-recent-signups-empty {
  padding-bottom: var(--spacing-xl);
}

/* line 2274, app/assets/stylesheets/admin/shared.scss */
.admin-dash-recent-signups-table {
  min-width: 100%;
}

/* line 2278, app/assets/stylesheets/admin/shared.scss */
.admin-dash-recent-signups-th-idol,
.admin-dash-recent-signups-td-toggle {
  width: 5rem;
  text-align: center;
  vertical-align: middle;
}

/* line 2285, app/assets/stylesheets/admin/shared.scss */
.admin-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* line 2297, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle-form {
  display: inline-block;
  margin: 0;
}

/* line 2302, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xs);
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: var(--radius-lg);
}

/* line 2313, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* line 2318, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle--locked {
  cursor: default;
  pointer-events: none;
  padding: var(--spacing-xs);
}

/* line 2324, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle__track {
  display: block;
  width: 2.75rem;
  height: 1.5rem;
  border-radius: 9999px;
  background: var(--color-gray-300);
  position: relative;
  transition: background 0.15s ease;
}

/* line 2334, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle--off:hover .admin-idol-toggle__track {
  background: var(--color-gray-400);
}

/* line 2338, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle--on .admin-idol-toggle__track {
  background: var(--color-success);
}

/* line 2342, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: var(--color-white);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  transition: transform 0.15s ease;
}

/* line 2354, app/assets/stylesheets/admin/shared.scss */
.admin-idol-toggle--on .admin-idol-toggle__thumb {
  transform: translateX(1.25rem);
}

/* Organizations admin */
/* line 2359, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-3xl);
  align-items: start;
}

@media (max-width: 960px) {
  /* line 2367, app/assets/stylesheets/admin/shared.scss */
  .admin-orgs-columns {
    grid-template-columns: 1fr;
  }
}

/* line 2372, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-column-help {
  margin-bottom: var(--spacing-lg);
}

/* line 2376, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-scroll-list {
  /* Sass interprets bare min(); emit CSS min() for mixed vh/rem units. */
  max-height: min(80vh, 40rem);
  overflow-y: auto;
}

/* line 2382, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-profession-group {
  border-bottom: 1px solid var(--color-gray-200);
}

/* line 2386, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-profession-group:last-child {
  border-bottom: none;
}

/* line 2390, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-profession-heading {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: var(--spacing-sm) var(--spacing-2xl);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-gray-600);
  background: linear-gradient(to bottom, var(--color-gray-100) 85%, transparent);
  border-bottom: 1px solid var(--color-gray-200);
}

/* line 2404, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-profession-group .list-item {
  padding-left: var(--spacing-2xl);
}

/* line 2408, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-list-item {
  align-items: flex-start;
}

/* line 2412, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-list-item-main {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
}

/* line 2418, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-thumb {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-gray-200);
  flex-shrink: 0;
}

/* line 2427, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-thumb-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-md);
  background: var(--color-primary);
  border: 1px solid var(--color-white);
  flex-shrink: 0;
  color: var(--color-white);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
}

/* line 2442, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-checkbox-label {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  width: 100%;
  cursor: pointer;
  margin: 0;
}

/* line 2451, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-checkbox {
  flex-shrink: 0;
}

/* line 2455, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-merge-actions {
  margin-top: var(--spacing-lg);
}

/* line 2459, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-merge-warning {
  margin-bottom: var(--spacing-2xl);
  max-width: 48rem;
}

/* line 2464, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-merge-summary {
  margin: 0 0 var(--spacing-2xl);
  padding-left: var(--spacing-2xl);
}

/* line 2469, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-radio-row {
  margin-bottom: var(--spacing-sm);
}

/* -------------------------------------------------------------------------- */
/* Admin mobile layout                                                        */
/* -------------------------------------------------------------------------- */
/* line 2477, app/assets/stylesheets/admin/shared.scss */
.admin-nav__menu-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin-right: var(--spacing-xs);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  background: var(--color-white);
  color: var(--color-gray-700);
  cursor: pointer;
  flex-shrink: 0;
}

/* line 2493, app/assets/stylesheets/admin/shared.scss */
.admin-shell__rail-backdrop {
  display: none;
}

/* line 2497, app/assets/stylesheets/admin/shared.scss */
body.admin-shell-rail-open {
  overflow: hidden;
}

@media (max-width: 768px) {
  /* line 2502, app/assets/stylesheets/admin/shared.scss */
  .admin-nav-inner {
    padding: 0 var(--spacing-md);
    gap: var(--spacing-md);
  }
  /* line 2507, app/assets/stylesheets/admin/shared.scss */
  .admin-nav__menu-btn {
    display: inline-flex;
  }
  /* line 2511, app/assets/stylesheets/admin/shared.scss */
  .admin-nav__brand {
    margin-right: 0;
    font-size: var(--font-size-xs);
  }
  /* line 2516, app/assets/stylesheets/admin/shared.scss */
  .nav-links {
    flex: 1;
    min-width: 0;
    gap: var(--spacing-md);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  /* line 2525, app/assets/stylesheets/admin/shared.scss */
  .nav-links::-webkit-scrollbar {
    display: none;
  }
  /* line 2529, app/assets/stylesheets/admin/shared.scss */
  .nav-link {
    flex-shrink: 0;
    padding: 0 var(--spacing-xs);
    font-size: var(--font-size-xs);
  }
  /* line 2535, app/assets/stylesheets/admin/shared.scss */
  .admin-container,
.admin-container--with-rail,
.admin-shell__body:has(.admin-shell__rail) .admin-shell__main .admin-container {
    padding: var(--spacing-md) var(--spacing-md) var(--spacing-lg);
  }
  /* line 2541, app/assets/stylesheets/admin/shared.scss */
  .admin-page-card .admin-page-header {
    padding: var(--spacing-md) var(--spacing-md) var(--spacing-sm);
  }
  /* line 2545, app/assets/stylesheets/admin/shared.scss */
  .admin-page-card .admin-filter-row {
    padding: var(--spacing-sm) var(--spacing-md);
  }
  /* line 2549, app/assets/stylesheets/admin/shared.scss */
  .admin-page-card > .card,
.admin-page-card > .admin-orgs-columns {
    margin: var(--spacing-md);
  }
  /* line 2554, app/assets/stylesheets/admin/shared.scss */
  .admin-page-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-sm);
    padding-bottom: var(--spacing-md);
    margin-bottom: var(--spacing-md);
  }
  /* line 2562, app/assets/stylesheets/admin/shared.scss */
  .admin-workspace-card__header {
    padding: var(--spacing-md);
  }
  /* line 2566, app/assets/stylesheets/admin/shared.scss */
  .admin-workspace-card__body {
    padding: var(--spacing-md);
  }
  /* line 2570, app/assets/stylesheets/admin/shared.scss */
  .admin-athlete-hero > div:first-child {
    padding: var(--spacing-md) !important;
    gap: var(--spacing-md) !important;
  }
  /* line 2575, app/assets/stylesheets/admin/shared.scss */
  .admin-athlete-hero > div:last-child {
    padding: var(--spacing-md) !important;
    gap: var(--spacing-md) !important;
  }
  /* line 2580, app/assets/stylesheets/admin/shared.scss */
  .admin-athlete-tabs {
    margin-bottom: var(--spacing-md);
  }
  /* line 2584, app/assets/stylesheets/admin/shared.scss */
  .admin-athlete-tabs__tab {
    padding: var(--spacing-sm) var(--spacing-md);
  }
  /* line 2588, app/assets/stylesheets/admin/shared.scss */
  .admin-athlete-workspace-stack {
    gap: var(--spacing-md);
  }
  /* line 2592, app/assets/stylesheets/admin/shared.scss */
  .admin-athlete-list-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* line 2598, app/assets/stylesheets/admin/shared.scss */
  .admin-shell__rail {
    position: fixed;
    top: var(--nav-height);
    left: 0;
    bottom: 0;
    z-index: var(--z-modal);
    width: min(17.5rem, 88vw);
    padding: var(--spacing-lg) var(--spacing-md);
    transform: translateX(-100%);
    transition: transform var(--transition-normal);
    box-shadow: var(--shadow-lg);
  }
  /* line 2611, app/assets/stylesheets/admin/shared.scss */
  .admin-shell--rail-open .admin-shell__rail {
    transform: translateX(0);
  }
  /* line 2615, app/assets/stylesheets/admin/shared.scss */
  .admin-shell__rail-backdrop {
    position: fixed;
    top: var(--nav-height);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: calc(var(--z-modal) - 1);
    background: rgba(15, 23, 42, 0.45);
  }
  /* line 2625, app/assets/stylesheets/admin/shared.scss */
  .admin-shell--rail-open .admin-shell__rail-backdrop {
    display: block;
  }
}

@media (min-width: 769px) {
  /* line 2631, app/assets/stylesheets/admin/shared.scss */
  .admin-shell__rail-backdrop {
    display: none !important;
  }
}

/* line 2636, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-edit-current-logo {
  margin-bottom: var(--spacing-md);
}

/* line 2640, app/assets/stylesheets/admin/shared.scss */
.admin-orgs-edit-preview {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-gray-200);
}
@charset "UTF-8";
/* Staff roles admin (super admin only) — cards and layout align with admin/shared */
/* line 3, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
  margin-bottom: var(--spacing-lg);
  font-size: var(--font-size-sm);
}

/* line 12, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-bc-sep {
  color: var(--color-gray-400);
}

/* line 16, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-bc-current {
  color: var(--color-gray-600);
  font-weight: var(--font-weight-medium);
}

/* line 21, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-3xl);
  align-items: start;
}

@media (max-width: 960px) {
  /* line 29, app/assets/stylesheets/admin/staff_roles.scss */
  .admin-staff-roles-columns {
    grid-template-columns: 1fr;
  }
}

/* line 34, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-card-header {
  border-left: 3px solid var(--color-primary);
  background: linear-gradient(to right, color-mix(in srgb, var(--color-primary) 8%, var(--color-white)), var(--color-gray-50));
}

/* line 43, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-card-header .subsection-title {
  margin: 0;
  color: var(--color-gray-800);
}

/* line 48, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-card-help {
  margin-top: 0;
  margin-bottom: var(--spacing-xl);
  max-width: 40rem;
}

/* line 54, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-card-actions {
  margin-top: var(--spacing-xl);
  padding-top: var(--spacing-lg);
  border-top: 1px solid var(--color-gray-100);
}

/* line 60, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-card .card-body > .admin-staff-roles-add-form + .list-container {
  margin-top: var(--spacing-2xl);
}

/* line 64, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: min(70vh, 36rem);
  overflow-y: auto;
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  background: var(--color-surface-warm);
}

/* line 75, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-lg);
  padding: var(--spacing-md) var(--spacing-lg);
  border-bottom: 1px solid var(--color-gray-100);
  font-size: var(--font-size-sm);
}

/* line 85, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-list-item:last-child {
  border-bottom: none;
}

/* line 89, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-list-main {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  min-width: 0;
  flex: 1 1 auto;
}

/* line 97, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-title {
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-900);
  line-height: var(--line-height-snug);
}

/* line 103, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-slug code {
  word-break: break-all;
  color: var(--color-gray-600);
  font-size: var(--font-size-xs);
}

/*
 * On/Off pill: must match for readonly <span> and toggle <button>.
 * Do not use `font: inherit` on the button — the row uses font-size-sm, which would
 * override .badge's font-size-xs and diverge from the span.
 */
/* line 114, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-list-item > .badge.admin-staff-roles-perm-state-badge {
  box-sizing: border-box;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xs) var(--spacing-md);
  border-radius: var(--radius-full);
  font-family: inherit;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  line-height: 1.25;
  text-transform: none;
  letter-spacing: normal;
  min-width: 2.75rem;
  text-align: center;
}

/* line 132, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-list-item > button.badge.admin-staff-roles-perm-state-badge.admin-staff-roles-perm-togglebtn {
  cursor: pointer;
  margin: 0;
  border: none;
  appearance: none;
  -webkit-appearance: none;
}

/* line 140, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-list-item > button.admin-staff-roles-perm-togglebtn:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* line 145, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-perm-list-item > button.admin-staff-roles-perm-togglebtn:disabled {
  opacity: 0.65;
  cursor: wait;
}

/* line 150, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-add-form {
  padding: var(--spacing-lg);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  background: var(--color-primary-light);
}

/* line 157, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-add-form .form-group:last-of-type {
  margin-bottom: 0;
}

/* line 161, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-members-list {
  box-shadow: none;
  border: 1px solid var(--color-gray-200);
  max-height: min(50vh, 28rem);
  overflow-y: auto;
}

/* line 168, app/assets/stylesheets/admin/staff_roles.scss */
.admin-staff-roles-you-label {
  margin: 0;
  align-self: center;
  font-style: italic;
}
@charset "UTF-8";
/*
 * Admin user show page, modals, safety tables, and shared form controls.
 * Main dashboard (users#index) styles: admin/dashboard.scss
 */
/* ── Layout ─────────────────────────────────────────────────────── */
/* line 7, app/assets/stylesheets/admin/users.scss */
.idol-show-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: var(--spacing-2xl);
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}

@media (max-width: 900px) {
  /* line 17, app/assets/stylesheets/admin/users.scss */
  .idol-show-layout {
    grid-template-columns: 1fr;
  }
}

/* ── Profile sidebar ────────────────────────────────────────────── */
/* line 23, app/assets/stylesheets/admin/users.scss */
.idol-profile-sidebar {
  position: sticky;
  top: var(--spacing-xl);
  align-self: start;
  max-height: calc(100vh - var(--nav-height) - var(--spacing-3xl));
  overflow-y: auto;
}

/* line 31, app/assets/stylesheets/admin/users.scss */
.idol-profile-card {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

/* Embedded idol preview (admin user show): same BEM as idols/show; overrides
   idols.scss full-page min-height, CTA bottom padding, 480px column, topbar centering. */
/* line 40, app/assets/stylesheets/admin/users.scss */
.idol-profile-card .idol-profile.idol-profile--admin-card {
  min-height: 0;
  width: 100%;
  max-width: 100%;
  align-items: stretch;
  background-color: var(--color-surface-warm);
  border-radius: inherit;
}

/* line 49, app/assets/stylesheets/admin/users.scss */
.idol-profile-card .idol-profile--admin-card .idol-profile__topbar {
  max-width: 100%;
  width: 100%;
  height: auto;
  min-height: 55px;
  padding: 10px 14px;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  box-sizing: border-box;
  border-bottom: 1px solid var(--color-gray-200);
}

/* line 63, app/assets/stylesheets/admin/users.scss */
.idol-profile-card .idol-profile--admin-card .idol-profile__topbar-title {
  flex: 1 1 120px;
  min-width: 0;
  text-align: left;
}

/* line 69, app/assets/stylesheets/admin/users.scss */
.idol-profile-card .idol-profile--admin-card .idol-profile__topbar-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  justify-content: flex-end;
}

/* line 78, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

/* line 85, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__head {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 91, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__badge {
  white-space: nowrap;
}

/* line 95, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__approve-form {
  margin: 0;
}

/* line 99, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__approve-btn {
  white-space: nowrap;
}

/* line 103, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__count {
  font-size: 11px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-500);
}

/* line 109, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__track {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* line 115, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-gray-300);
}

/* line 122, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__dot--done {
  background: var(--color-primary);
}

/* line 126, app/assets/stylesheets/admin/users.scss */
.admin-athlete-onboarding-status__dot--current {
  background: var(--color-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 22%, transparent);
}

@supports not (color: color-mix(in srgb, red, blue)) {
  /* line 132, app/assets/stylesheets/admin/users.scss */
  .admin-athlete-onboarding-status__dot--current {
    box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.2);
  }
}

/* line 137, app/assets/stylesheets/admin/users.scss */
.admin-athlete-topbar-copy {
  position: relative;
  display: inline-flex;
}

/* line 142, app/assets/stylesheets/admin/users.scss */
.admin-athlete-topbar-copy__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* line 154, app/assets/stylesheets/admin/users.scss */
.idol-profile-card .idol-profile--admin-card .idol-profile__body {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 0 12px 20px;
}

@media (min-width: 640px) {
  /* line 154, app/assets/stylesheets/admin/users.scss */
  .idol-profile-card .idol-profile--admin-card .idol-profile__body {
    padding: 0 12px 24px;
  }
}

/* line 165, app/assets/stylesheets/admin/users.scss */
.idol-profile-card .idol-profile--admin-card .idol-profile__video-container {
  margin: 8px 0 0;
}

/* ── Action cards ───────────────────────────────────────────────── */
/* line 170, app/assets/stylesheets/admin/users.scss */
.idol-show-main {
  min-width: 0;
}

/* line 174, app/assets/stylesheets/admin/users.scss */
.idol-action-card {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--spacing-2xl);
  margin-bottom: var(--spacing-xl);
}

/* line 182, app/assets/stylesheets/admin/users.scss */
.idol-action-card:last-child {
  margin-bottom: 0;
}

/* line 186, app/assets/stylesheets/admin/users.scss */
.idol-action-card-label {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-xl);
  padding-bottom: var(--spacing-lg);
  border-bottom: 1px solid var(--color-gray-100);
}

/* line 200, app/assets/stylesheets/admin/users.scss */
.idol-action-card-label svg {
  color: var(--color-primary);
}

/* ── Feature image preview ──────────────────────────────────────── */
/* line 205, app/assets/stylesheets/admin/users.scss */
.feature-item-img-preview {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-gray-200);
}

/* ── Broadcast form ─────────────────────────────────────────────── */
/* line 214, app/assets/stylesheets/admin/users.scss */
.broadcast-form-container {
  max-width: 800px;
  margin: 0 auto;
}

/* line 219, app/assets/stylesheets/admin/users.scss */
.broadcast-form-hint {
  display: block;
  color: var(--color-gray-500);
  font-size: var(--font-size-xs);
  font-style: italic;
  margin: var(--spacing-sm) 0;
}

/* line 227, app/assets/stylesheets/admin/users.scss */
.broadcast-form-hint--error {
  color: var(--color-danger);
  font-style: normal;
}

/* line 232, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-broadcasts-section {
  margin-top: var(--spacing-2xl);
  padding-top: var(--spacing-2xl);
  border-top: 1px solid var(--color-gray-200);
}

/* line 238, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-broadcasts-title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-heading);
  margin-bottom: var(--spacing-md);
}

/* line 245, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-broadcast-item {
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
}

/* ── Broadcast fan groups ───────────────────────────────────────── */
/* line 255, app/assets/stylesheets/admin/users.scss */
.broadcast-fan-group,
.fan-group {
  margin-bottom: var(--spacing-lg);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  overflow: hidden;
}

/* line 263, app/assets/stylesheets/admin/users.scss */
.broadcast-fan-group-header,
.fan-group-header {
  padding: var(--spacing-md) var(--spacing-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-gray-50);
  cursor: pointer;
  user-select: none;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

/* line 276, app/assets/stylesheets/admin/users.scss */
.broadcast-fan-group-header label,
.fan-group-header label {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  cursor: pointer;
}

/* line 284, app/assets/stylesheets/admin/users.scss */
.broadcast-expand-icon::before,
.expand-icon::before {
  content: "▼";
  font-size: 10px;
  color: var(--color-gray-400);
}

/* line 291, app/assets/stylesheets/admin/users.scss */
.broadcast-fan-group-header.expanded .broadcast-expand-icon::before,
.fan-group-header.expanded .expand-icon::before {
  content: "▲";
}

/* line 296, app/assets/stylesheets/admin/users.scss */
.broadcast-fan-list,
.fan-list {
  max-height: 200px;
  overflow-y: auto;
  padding: var(--spacing-sm) var(--spacing-lg) var(--spacing-lg) var(--spacing-3xl);
}

/* line 303, app/assets/stylesheets/admin/users.scss */
.broadcast-fan-list.collapsed,
.fan-list.collapsed {
  display: none;
}

/* line 308, app/assets/stylesheets/admin/users.scss */
.broadcast-fan-item,
.fan-item {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-xs) 0;
  cursor: pointer;
  font-size: var(--font-size-sm);
}

/* line 318, app/assets/stylesheets/admin/users.scss */
.broadcast-char-counter {
  text-align: right;
  margin-top: var(--spacing-xs);
  color: var(--color-gray-500);
  font-size: var(--font-size-xs);
}

/* line 325, app/assets/stylesheets/admin/users.scss */
.broadcast-char-counter.over-limit {
  color: var(--color-danger);
}

/* line 329, app/assets/stylesheets/admin/users.scss */
.broadcast-modal-preview {
  background: var(--color-gray-50);
  padding: var(--spacing-lg);
  border-radius: var(--radius-md);
  margin: var(--spacing-xl) 0;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-size: var(--font-size-sm);
}

/* ── Admin modal (reusable) ─────────────────────────────────────── */
/* line 340, app/assets/stylesheets/admin/users.scss */
.admin-modal {
  display: none;
  position: fixed;
  z-index: var(--z-modal);
  inset: 0;
  background: rgba(43, 33, 69, 0.55);
  padding: var(--spacing-xl);
}

/* line 349, app/assets/stylesheets/admin/users.scss */
.admin-modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 355, app/assets/stylesheets/admin/users.scss */
.admin-modal-content {
  background: var(--color-white);
  padding: var(--spacing-3xl);
  border-radius: var(--radius-xl);
  max-width: 480px;
  width: 90%;
  box-shadow: var(--shadow-2xl);
  max-height: 85vh;
  overflow-y: auto;
}

/* line 366, app/assets/stylesheets/admin/users.scss */
.admin-modal-content--wide {
  max-width: 560px;
}

/* line 370, app/assets/stylesheets/admin/users.scss */
.admin-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-xl);
}

/* line 377, app/assets/stylesheets/admin/users.scss */
.admin-modal-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  margin: 0;
}

/* line 383, app/assets/stylesheets/admin/users.scss */
.admin-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: var(--radius-md);
  background: transparent;
  font-size: 1.375rem;
  font-weight: 300;
  line-height: 1;
  color: var(--color-gray-400);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: color var(--transition-fast), background-color var(--transition-fast);
  outline: none;
  box-shadow: none;
  /* Cancel Tailwind / @tailwindcss/forms focus ring (purple glow) */
  --tw-ring-offset-width: 0;
  --tw-ring-width: 0;
  --tw-ring-color: transparent;
  --tw-ring-offset-color: transparent;
}

/* line 412, app/assets/stylesheets/admin/users.scss */
.admin-modal-close:hover {
  color: var(--color-gray-800);
  background: var(--color-gray-100);
  box-shadow: none;
}

/* line 418, app/assets/stylesheets/admin/users.scss */
.admin-modal-close:focus,
.admin-modal-close:focus-visible {
  outline: none;
  box-shadow: none;
  --tw-ring-shadow: 0 0 #0000;
  --tw-ring-offset-shadow: 0 0 #0000;
}

/* line 426, app/assets/stylesheets/admin/users.scss */
.admin-modal-close:focus-visible {
  outline: 2px solid var(--color-gray-400);
  outline-offset: 2px;
}

/* line 431, app/assets/stylesheets/admin/users.scss */
.admin-modal-close:active {
  background: var(--color-gray-200);
  color: var(--color-gray-900);
}

/* ── Previous broadcasts ────────────────────────────────────────── */
/* line 437, app/assets/stylesheets/admin/users.scss */
.broadcast-previous {
  margin-top: var(--spacing-2xl);
  padding-top: var(--spacing-2xl);
  border-top: 1px solid var(--color-gray-100);
}

/* line 443, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: var(--spacing-sm) 0;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
  transition: color var(--transition-fast);
}

/* line 457, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-header:hover {
  color: var(--color-gray-700);
}

/* line 461, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-arrow {
  font-size: var(--font-size-sm);
  transition: transform var(--transition-fast);
}

/* line 466, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-list {
  margin-top: var(--spacing-lg);
}

/* line 470, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-list.collapsed {
  display: none;
}

/* line 474, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-item {
  padding: var(--spacing-md);
  background: var(--color-gray-50);
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-sm);
  border: 1px solid var(--color-gray-100);
}

/* line 482, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-item:last-child {
  margin-bottom: 0;
}

/* line 486, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-meta {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-xs);
}

/* line 492, app/assets/stylesheets/admin/users.scss */
.broadcast-previous-content {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  line-height: var(--line-height-relaxed);
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* ── Payment card ───────────────────────────────────────────────── */
/* line 501, app/assets/stylesheets/admin/users.scss */
.payment-owed-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
}

/* line 507, app/assets/stylesheets/admin/users.scss */
.payment-owed-banner {
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: var(--spacing-sm);
  background: var(--color-primary-light);
  border: 1px solid color-mix(in srgb, var(--color-primary) 24%, var(--color-white));
  border-radius: var(--radius-md);
  padding: var(--spacing-md) var(--spacing-lg);
}

/* line 518, app/assets/stylesheets/admin/users.scss */
.payment-owed-amount {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
}

/* line 524, app/assets/stylesheets/admin/users.scss */
.payment-owed-label {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* line 529, app/assets/stylesheets/admin/users.scss */
.payment-inflows-list {
  max-height: 240px;
  overflow-y: auto;
  margin-bottom: var(--spacing-xl);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
}

/* line 537, app/assets/stylesheets/admin/users.scss */
.payment-inflow-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  padding: var(--spacing-sm) var(--spacing-lg);
  cursor: pointer;
  font-size: var(--font-size-sm);
  border-bottom: 1px solid var(--color-gray-100);
  transition: background-color var(--transition-fast);
}

/* line 548, app/assets/stylesheets/admin/users.scss */
.payment-inflow-row:last-child {
  border-bottom: none;
}

/* line 552, app/assets/stylesheets/admin/users.scss */
.payment-inflow-row:hover {
  background: var(--color-gray-50);
}

/* line 556, app/assets/stylesheets/admin/users.scss */
.payment-inflow-date {
  color: var(--color-gray-500);
  flex: 1;
}

/* line 561, app/assets/stylesheets/admin/users.scss */
.payment-inflow-amount {
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
}

/* line 566, app/assets/stylesheets/admin/users.scss */
.payment-form-bottom {
  border-top: 1px solid var(--color-gray-100);
  padding-top: var(--spacing-lg);
}

/* line 571, app/assets/stylesheets/admin/users.scss */
.payment-form-total {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
  margin-bottom: var(--spacing-md);
}

/* line 578, app/assets/stylesheets/admin/users.scss */
.payment-form-total span {
  font-size: var(--font-size-lg);
  color: var(--color-gray-900);
}

/* line 583, app/assets/stylesheets/admin/users.scss */
.payment-history-section {
  margin-top: var(--spacing-2xl);
  padding-top: var(--spacing-2xl);
  border-top: 1px solid var(--color-gray-100);
}

/* line 589, app/assets/stylesheets/admin/users.scss */
.payment-history-title {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-gray-500);
  margin-bottom: var(--spacing-lg);
}

/* line 598, app/assets/stylesheets/admin/users.scss */
.payment-history-row {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  padding: var(--spacing-sm) 0;
  font-size: var(--font-size-sm);
  border-bottom: 1px solid var(--color-gray-50);
}

/* line 607, app/assets/stylesheets/admin/users.scss */
.payment-history-row:last-child {
  border-bottom: none;
}

/* line 611, app/assets/stylesheets/admin/users.scss */
.payment-history-date {
  color: var(--color-gray-500);
}

/* line 615, app/assets/stylesheets/admin/users.scss */
.payment-history-amount {
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
}

/* line 620, app/assets/stylesheets/admin/users.scss */
.payment-history-note {
  flex: 1;
  color: var(--color-gray-400);
  font-size: var(--font-size-xs);
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Safety analysis section ───────────────────────────────────── */
/* line 631, app/assets/stylesheets/admin/users.scss */
.safety-flagged-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: var(--radius-full);
  background-color: var(--color-gray-200);
  color: var(--color-gray-600);
  font-size: 10px;
  font-weight: var(--font-weight-bold);
  margin-left: var(--spacing-xs);
}

/* line 646, app/assets/stylesheets/admin/users.scss */
.safety-table-wrap {
  max-height: 420px;
  overflow-y: auto;
  overflow-x: auto;
}

/* line 652, app/assets/stylesheets/admin/users.scss */
.safety-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-xs);
}

/* line 658, app/assets/stylesheets/admin/users.scss */
.safety-table thead {
  position: sticky;
  top: 0;
  z-index: 1;
}

/* line 664, app/assets/stylesheets/admin/users.scss */
.safety-table th {
  background: var(--color-gray-50);
  padding: var(--spacing-sm) var(--spacing-sm);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-gray-500);
  border-bottom: 1px solid var(--color-gray-200);
  white-space: nowrap;
  text-align: center;
}

/* line 676, app/assets/stylesheets/admin/users.scss */
.safety-th-fan,
.safety-td-fan {
  text-align: left;
  min-width: 100px;
  max-width: 140px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 686, app/assets/stylesheets/admin/users.scss */
.safety-th-date,
.safety-td-date {
  text-align: left;
  white-space: nowrap;
  color: var(--color-gray-400);
}

/* line 693, app/assets/stylesheets/admin/users.scss */
.safety-th-score {
  width: 44px;
}

/* line 697, app/assets/stylesheets/admin/users.scss */
.safety-th-action {
  width: 50px;
}

/* line 701, app/assets/stylesheets/admin/users.scss */
.safety-table td {
  padding: var(--spacing-xs) var(--spacing-sm);
  border-bottom: 1px solid var(--color-gray-100);
  text-align: center;
  vertical-align: middle;
}

/* line 708, app/assets/stylesheets/admin/users.scss */
.safety-table tbody tr:hover {
  background: var(--color-gray-50);
}

/* line 712, app/assets/stylesheets/admin/users.scss */
.safety-row-flagged {
  background: var(--color-danger-light);
}

/* line 716, app/assets/stylesheets/admin/users.scss */
.safety-row-flagged:hover {
  background: color-mix(in srgb, var(--color-danger-light) 88%, var(--color-danger) 12%) !important;
}

/* line 720, app/assets/stylesheets/admin/users.scss */
.safety-no-data {
  color: var(--color-gray-300);
  font-size: 10px;
}

/* line 725, app/assets/stylesheets/admin/users.scss */
.safety-view-btn {
  background: none;
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  padding: 2px var(--spacing-sm);
  font-size: 10px;
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-600);
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
}

/* line 738, app/assets/stylesheets/admin/users.scss */
a.safety-view-btn {
  display: inline-block;
  text-decoration: none;
  text-align: center;
}

/* line 744, app/assets/stylesheets/admin/users.scss */
.safety-view-btn:hover {
  border-color: var(--color-gray-400);
  color: var(--color-gray-800);
  background: var(--color-gray-50);
}

/* ── Safety modal extras ───────────────────────────────────────── */
/* line 751, app/assets/stylesheets/admin/users.scss */
.safety-modal-meta {
  display: flex;
  gap: var(--spacing-2xl);
  margin-bottom: var(--spacing-lg);
  font-size: var(--font-size-sm);
  color: var(--color-gray-600);
}

/* line 759, app/assets/stylesheets/admin/users.scss */
.safety-modal-label {
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-500);
}

/* line 764, app/assets/stylesheets/admin/users.scss */
.safety-modal-scores {
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  padding: var(--spacing-sm) var(--spacing-md);
  background: var(--color-gray-50);
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-lg);
}

/* line 773, app/assets/stylesheets/admin/users.scss */
.safety-modal-content {
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  line-height: var(--line-height-relaxed);
  max-height: 300px;
  overflow-y: auto;
}

/* ── Shared admin form bits (feature item new/edit, user show) ─── */
/* line 786, app/assets/stylesheets/admin/users.scss */
.idol-search-container {
  position: relative;
}

/* line 790, app/assets/stylesheets/admin/users.scss */
.form-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--color-primary);
  cursor: pointer;
}

/* ── Idol onboarding wizard (admin assist, app-inspired) ───────── */
/* line 798, app/assets/stylesheets/admin/users.scss */
.admin-container--onboarding {
  max-width: 720px;
}

/* line 802, app/assets/stylesheets/admin/users.scss */
.idol-onboarding {
  margin: 0 auto;
}

/* line 806, app/assets/stylesheets/admin/users.scss */
.idol-onboarding__hero {
  margin-bottom: var(--spacing-2xl);
}

/* line 810, app/assets/stylesheets/admin/users.scss */
.idol-onboarding__hero-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--spacing-xl);
  margin-bottom: var(--spacing-2xl);
}

/* line 818, app/assets/stylesheets/admin/users.scss */
.idol-onboarding__eyebrow {
  margin: 0 0 var(--spacing-xs);
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
}

/* line 827, app/assets/stylesheets/admin/users.scss */
.idol-onboarding__title {
  margin: 0 0 var(--spacing-sm);
  font-size: 1.75rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-900);
  letter-spacing: -0.02em;
}

/* line 835, app/assets/stylesheets/admin/users.scss */
.idol-onboarding__subtitle {
  margin: 0;
  max-width: 36rem;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  color: var(--color-gray-600);
}

/* line 843, app/assets/stylesheets/admin/users.scss */
.idol-onboarding__back {
  flex-shrink: 0;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary);
  text-decoration: none;
  white-space: nowrap;
}

/* line 852, app/assets/stylesheets/admin/users.scss */
.idol-onboarding__back:hover {
  text-decoration: underline;
}

/* Step checkmarks (horizontal wizard) */
/* line 857, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--spacing-md);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* line 865, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__steps {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: var(--spacing-xs);
  margin: 0;
  padding: 0 var(--spacing-xs);
  list-style: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

/* line 878, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__step {
  flex: 1 0 auto;
  min-width: 4.25rem;
  text-align: center;
}

/* line 884, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-xs);
  text-decoration: none;
  color: var(--color-gray-500);
  font-size: 10px;
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: var(--spacing-xs);
  border-radius: var(--radius-md);
  transition: color 0.15s ease, background 0.15s ease;
}

/* line 900, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__link:hover {
  color: var(--color-gray-800);
  background: var(--color-gray-50);
}

/* line 905, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__circle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--color-gray-200);
  background: var(--color-white);
  color: var(--color-gray-400);
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

/* line 920, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__link--current .idol-wizard-progress__circle {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 12%, white);
  color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);
}

@supports not (color: color-mix(in srgb, red, blue)) {
  /* line 928, app/assets/stylesheets/admin/users.scss */
  .idol-wizard-progress__link--current .idol-wizard-progress__circle {
    background: var(--color-white);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.2);
  }
}

/* line 934, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__link--done .idol-wizard-progress__circle {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-white);
}

/* line 940, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__check {
  stroke: currentColor;
}

/* line 944, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__link--current {
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
}

/* line 949, app/assets/stylesheets/admin/users.scss */
.idol-wizard-progress__label {
  max-width: 5.5rem;
  line-height: 1.2;
}

/* Main panel */
/* line 955, app/assets/stylesheets/admin/users.scss */
.admin-athlete-assistant {
  margin-top: 0;
}

/* line 959, app/assets/stylesheets/admin/users.scss */
.admin-athlete-assistant__title {
  margin: 0;
}

/* line 963, app/assets/stylesheets/admin/users.scss */
.admin-athlete-assistant__lead {
  margin: 0 0 var(--spacing-xl);
}

/* line 967, app/assets/stylesheets/admin/users.scss */
.admin-athlete-assistant .idol-onboarding__panel {
  border: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}

/* line 974, app/assets/stylesheets/admin/users.scss */
.idol-onboarding__panel {
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  padding: var(--spacing-2xl);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* line 982, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-step-header {
  margin-bottom: var(--spacing-xl);
  padding-bottom: var(--spacing-lg);
  border-bottom: 1px solid var(--color-gray-100);
}

/* line 988, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-step-title {
  margin: 0 0 var(--spacing-sm);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-900);
  line-height: var(--line-height-tight);
}

/* line 996, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-step-lead {
  margin: 0;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  color: var(--color-gray-600);
}

/* line 1003, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-field {
  margin-bottom: var(--spacing-lg);
}

/* line 1007, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-field__label {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
  margin-bottom: var(--spacing-sm);
}

/* line 1015, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-field__hint {
  margin: var(--spacing-xs) 0 0;
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  line-height: var(--line-height-relaxed);
}

/* line 1022, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-field__hint--muted {
  color: var(--color-gray-400);
}

/* line 1026, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-lg);
}

@media (max-width: 540px) {
  /* line 1033, app/assets/stylesheets/admin/users.scss */
  .idol-onboarding-field-row {
    grid-template-columns: 1fr;
  }
}

/* line 1038, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-field--half {
  margin-bottom: 0;
}

/* Selects & inputs — soft “card” fields like the app */
/* line 1043, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-select,
.idol-onboarding-input,
.idol-onboarding-file {
  width: 100%;
  max-width: 100%;
  padding: var(--spacing-md) var(--spacing-lg);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-900);
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

/* line 1058, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-select:focus,
.idol-onboarding-input:focus,
.idol-onboarding-file:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--color-white);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

@supports not (box-shadow: color-mix(in srgb, red, blue)) {
  /* line 1068, app/assets/stylesheets/admin/users.scss */
  .idol-onboarding-select:focus,
.idol-onboarding-input:focus,
.idol-onboarding-file:focus {
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.2);
  }
}

/* line 1075, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-select--lg {
  padding-top: var(--spacing-lg);
  padding-bottom: var(--spacing-lg);
  font-size: var(--font-size-lg);
}

/* line 1081, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-btn-primary {
  padding-left: var(--spacing-2xl);
  padding-right: var(--spacing-2xl);
  border-radius: var(--radius-lg);
  font-weight: var(--font-weight-semibold);
}

/* line 1088, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  margin-top: var(--spacing-2xl);
  padding-top: var(--spacing-lg);
  border-top: 1px solid var(--color-gray-100);
}

/* line 1097, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-preview {
  margin-bottom: var(--spacing-xl);
  padding: var(--spacing-md);
  background: var(--color-gray-50);
  border-radius: var(--radius-xl);
  border: 1px dashed var(--color-gray-200);
  max-width: 220px;
}

/* line 1106, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-preview__img {
  width: 100%;
  border-radius: var(--radius-lg);
  display: block;
}

/* line 1112, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-preview--video {
  max-width: 400px;
}

/* line 1116, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-preview__video {
  width: 100%;
  border-radius: var(--radius-lg);
  display: block;
}

/* line 1122, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-links {
  margin: 0 0 var(--spacing-xl);
  padding-left: var(--spacing-lg);
  line-height: 1.9;
}

/* line 1128, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-links__a {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
}

/* line 1134, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-toggle {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-md);
  padding: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-lg);
  cursor: pointer;
}

/* line 1146, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-toggle__title {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
}

/* Career step */
/* line 1153, app/assets/stylesheets/admin/users.scss */
.idol-career-block {
  margin-bottom: var(--spacing-2xl);
}

/* line 1157, app/assets/stylesheets/admin/users.scss */
.idol-career-block__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}

/* line 1165, app/assets/stylesheets/admin/users.scss */
.idol-career-block__title {
  margin: 0;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
  line-height: var(--line-height-tight);
}

/* line 1173, app/assets/stylesheets/admin/users.scss */
.idol-career-block__title--solo {
  margin-bottom: var(--spacing-md);
}

/* line 1177, app/assets/stylesheets/admin/users.scss */
.idol-career-block__action {
  flex-shrink: 0;
}

/* line 1181, app/assets/stylesheets/admin/users.scss */
.idol-career-card {
  padding: var(--spacing-lg);
  background: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-2xl);
}

/* line 1188, app/assets/stylesheets/admin/users.scss */
.idol-career-card--row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}

/* line 1196, app/assets/stylesheets/admin/users.scss */
.idol-career-card__row {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}

/* line 1202, app/assets/stylesheets/admin/users.scss */
.idol-career-card__main {
  min-width: 0;
  flex: 1 1 auto;
}

/* line 1207, app/assets/stylesheets/admin/users.scss */
.idol-career-card__meta-line {
  display: flex;
  align-items: baseline;
  gap: var(--spacing-sm);
  min-width: 0;
}

/* line 1214, app/assets/stylesheets/admin/users.scss */
.idol-career-card__separator {
  color: var(--color-gray-500);
  flex: 0 0 auto;
}

/* line 1219, app/assets/stylesheets/admin/users.scss */
.idol-career-card__org {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-gray-900);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1228, app/assets/stylesheets/admin/users.scss */
.idol-career-card__role {
  font-size: var(--font-size-base);
  color: var(--color-gray-900);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 1237, app/assets/stylesheets/admin/users.scss */
.idol-career-card__years {
  margin-top: 2px;
  font-size: var(--font-size-sm);
  color: var(--color-gray-900);
  font-weight: var(--font-weight-medium);
}

/* line 1244, app/assets/stylesheets/admin/users.scss */
.idol-career-card__present {
  color: var(--color-gray-900);
  font-weight: var(--font-weight-semibold);
}

/* line 1249, app/assets/stylesheets/admin/users.scss */
.idol-career-card__badge {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  border-radius: 14px;
  background: var(--color-gray-100);
  border: 1px solid var(--color-gray-200);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-900);
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08);
}

/* line 1265, app/assets/stylesheets/admin/users.scss */
.idol-career-card__drag {
  color: var(--color-gray-900);
  opacity: 0.85;
  font-size: var(--font-size-sm);
  line-height: 1;
  letter-spacing: -2px;
  user-select: none;
  cursor: grab;
  touch-action: none;
}

/* line 1276, app/assets/stylesheets/admin/users.scss */
.idol-career-card__drag:active {
  cursor: grabbing;
}

/* line 1280, app/assets/stylesheets/admin/users.scss */
.idol-career-list[data-sortable-past-stints="true"] .idol-career-card--row {
  transition: opacity 0.15s ease, transform 0.15s ease;
}

/* line 1284, app/assets/stylesheets/admin/users.scss */
.idol-career-list[data-sortable-past-stints="true"] .idol-career-card--row.is-dragging {
  opacity: 0.45;
  transform: scale(0.995);
}

/* line 1289, app/assets/stylesheets/admin/users.scss */
.idol-career-card__tools {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  flex-shrink: 0;
}

/* line 1296, app/assets/stylesheets/admin/users.scss */
.idol-career-card__remove {
  color: var(--color-danger);
  border-color: var(--color-gray-300);
}

/* line 1301, app/assets/stylesheets/admin/users.scss */
.idol-career-empty {
  padding: var(--spacing-xl);
  text-align: center;
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  background: var(--color-gray-50);
  border: 1px dashed var(--color-gray-200);
  border-radius: var(--radius-xl);
}

/* line 1311, app/assets/stylesheets/admin/users.scss */
.idol-career-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* line 1317, app/assets/stylesheets/admin/users.scss */
.idol-career-add-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: var(--spacing-lg) var(--spacing-xl);
  background: var(--color-gray-50);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-2xl);
  color: var(--color-gray-900);
  font-size: var(--font-size-lg);
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

/* line 1334, app/assets/stylesheets/admin/users.scss */
.idol-career-add-slot:hover {
  background: var(--color-gray-100);
  border-color: var(--color-gray-300);
  color: var(--color-gray-700);
}

/* line 1340, app/assets/stylesheets/admin/users.scss */
.idol-career-add-slot:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* line 1345, app/assets/stylesheets/admin/users.scss */
.idol-career-add-slot__plus {
  font-weight: var(--font-weight-semibold);
}

/* line 1349, app/assets/stylesheets/admin/users.scss */
.idol-career-past-add-wrap {
  margin-top: var(--spacing-md);
}

/* line 1353, app/assets/stylesheets/admin/users.scss */
.idol-career-field-hint {
  margin: 10px 0 0;
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
}

/* line 1359, app/assets/stylesheets/admin/users.scss */
.idol-career-status-form {
  margin-top: var(--spacing-xl);
  padding-top: var(--spacing-xl);
  border-top: 1px solid var(--color-gray-100);
}

/* line 1365, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions {
  margin-top: var(--spacing-2xl);
  padding-top: var(--spacing-xl);
  border-top: 1px solid var(--color-gray-100);
}

/* line 1371, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
}

/* line 1379, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__title {
  margin: 0;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-800);
  line-height: var(--line-height-tight);
}

/* line 1387, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__copy {
  margin: 0 0 var(--spacing-lg);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-relaxed);
  color: var(--color-gray-400);
}

/* line 1394, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__details {
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  background: var(--color-gray-50);
}

/* line 1400, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
  padding: var(--spacing-md) var(--spacing-lg);
  cursor: pointer;
  color: var(--color-gray-700);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  list-style: none;
}

/* line 1413, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__summary::-webkit-details-marker {
  display: none;
}

/* line 1417, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__summary::after {
  content: ">";
  color: var(--color-gray-400);
  font-size: var(--font-size-xs);
  transition: transform 0.2s ease;
}

/* line 1424, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__details[open] .idol-career-suggestions__summary {
  border-bottom: 1px solid var(--color-gray-200);
}

/* line 1428, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__details[open] .idol-career-suggestions__summary::after {
  transform: rotate(90deg);
}

/* line 1432, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__count {
  margin-left: auto;
  color: var(--color-gray-500);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 1441, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  padding: var(--spacing-lg);
}

/* line 1448, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__details > .idol-career-suggestion-card__annotations {
  margin: 0;
  padding: 0 var(--spacing-lg) var(--spacing-lg);
}

/* line 1453, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestion-card {
  padding: var(--spacing-md);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-2xl);
  background: var(--color-white);
}

@media (max-width: 740px) {
  /* line 1461, app/assets/stylesheets/admin/users.scss */
  .idol-career-card__tools {
    width: 100%;
    justify-content: flex-end;
  }
  /* line 1466, app/assets/stylesheets/admin/users.scss */
  .idol-career-card__badge {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
    font-size: 1.35rem;
  }
}

/* line 1474, app/assets/stylesheets/admin/users.scss */
.idol-career-card--suggestion {
  margin-bottom: 0;
}

/* line 1478, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestion-card__source-tags {
  margin: var(--spacing-sm) 0 0;
  font-size: var(--font-size-xs);
  color: var(--color-gray-600);
}

/* line 1484, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestion-card__source-tag {
  display: inline-block;
  margin-left: var(--spacing-2xs);
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 1492, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__sources {
  margin-top: var(--spacing-sm);
}

/* line 1496, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__sources-title {
  margin: 0 0 var(--spacing-2xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-600);
}

/* line 1503, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__sources-list {
  margin: 0;
  padding-left: var(--spacing-lg);
  display: grid;
  gap: var(--spacing-2xs);
}

/* line 1510, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__source-link {
  font-size: var(--font-size-xs);
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-word;
}

/* line 1518, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__source-index {
  margin-right: var(--spacing-2xs);
  font-size: var(--font-size-xs);
  color: var(--color-gray-600);
}

/* line 1524, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestion-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-md);
}

/* line 1531, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestion-card__actions .button_to {
  margin: 0;
}

/* line 1535, app/assets/stylesheets/admin/users.scss */
.idol-career-suggestions__empty {
  margin: 0;
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

/* Pricing step */
/* line 1542, app/assets/stylesheets/admin/users.scss */
.idol-pricing-lead-emphasis {
  font-style: italic;
}

/* line 1546, app/assets/stylesheets/admin/users.scss */
.idol-pricing-block {
  margin-bottom: var(--spacing-2xl);
}

/* line 1550, app/assets/stylesheets/admin/users.scss */
.idol-pricing-block__title {
  margin: 0 0 var(--spacing-sm);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-900);
}

/* line 1557, app/assets/stylesheets/admin/users.scss */
.idol-pricing-picker {
  padding: var(--spacing-lg);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-xl);
  background: var(--color-gray-50);
}

/* line 1564, app/assets/stylesheets/admin/users.scss */
.idol-pricing-picker__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--spacing-sm);
}

/* line 1571, app/assets/stylesheets/admin/users.scss */
.idol-pricing-picker__label {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
}

/* line 1576, app/assets/stylesheets/admin/users.scss */
.idol-pricing-picker__change {
  font-size: var(--font-size-xs);
  color: var(--color-gray-400);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 1583, app/assets/stylesheets/admin/users.scss */
.idol-pricing-forex-note {
  margin: 0;
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  line-height: var(--line-height-relaxed);
}

/* line 1590, app/assets/stylesheets/admin/users.scss */
.idol-pricing-admin-block {
  margin-top: var(--spacing-2xl);
  padding-top: var(--spacing-xl);
  border-top: 1px solid var(--color-gray-100);
}

/* line 1596, app/assets/stylesheets/admin/users.scss */
.idol-pricing-admin-copy {
  margin: 0 0 var(--spacing-md);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  line-height: var(--line-height-relaxed);
}

/* Stint modal */
/* line 1604, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-modal-shell {
  max-width: 440px;
}

/* line 1608, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-modal-body {
  padding-top: var(--spacing-sm);
}

/* line 1612, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-modal__errors {
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-lg);
  font-size: var(--font-size-sm);
  color: var(--color-danger-text);
  background: var(--color-danger-light);
  border: 1px solid color-mix(in srgb, var(--color-danger) 35%, var(--color-white));
  border-radius: var(--radius-md);
}

/* line 1622, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  margin-top: var(--spacing-xl);
}

/* line 1629, app/assets/stylesheets/admin/users.scss */
.idol-onboarding-field--modal {
  margin-bottom: var(--spacing-lg);
}
/* Admin Support Chat Interface - Matching Client Design System */
/* line 3, app/assets/stylesheets/admin_support.scss */
:root {
  /* Align with admin/shared.scss token names */
  --color-primary: #7140f3;
  /* Primary color palette */
  --primary: var(--color-primary);
  --primary-hover: #5A33C2;
  --primary-light: rgba(113, 64, 243, 0.1);
  --primary-opacity-50: rgba(113, 64, 243, 0.5);
  /* Color system */
  --white: #fbfbfb;
  --dark: #2B2145;
  --grey: #F3F3F3;
  --light-grey: #A3A3A3;
  --grey-3: #757575;
  --grey-4: #E7E7E7;
  --grey-5: #D1D1D1;
  --attention: #FF5F15;
  /* Semantic colors */
  --text-primary: var(--dark);
  --text-secondary: var(--grey-3);
  --text-muted: var(--light-grey);
  --background-primary: var(--white);
  --background-secondary: var(--white);
  --message-bg-received: var(--grey);
  --message-bg-sent: var(--primary);
  --message-text-received: var(--text-primary);
  --message-text-sent: var(--white);
  --border-default: var(--grey-4);
  --border-light: var(--grey);
  /* Spacing system */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  /* Border radius */
  --rounded-sm: 4px;
  --rounded: 13px;
  --rounded-lg: 12px;
  --rounded-full: 9999px;
  /* Typography */
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  /* Font weights */
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
}

/* Layout & Container System */
/* line 69, app/assets/stylesheets/admin_support.scss */
body:has(.support-chat-container) {
  margin: 0;
  padding: 0;
  height: 100vh;
  overflow: hidden;
}

/* line 76, app/assets/stylesheets/admin_support.scss */
body:has(.support-chat-container) main {
  margin: 0 !important;
  padding: 0 !important;
  height: 100vh;
  max-width: none !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
}

/* line 86, app/assets/stylesheets/admin_support.scss */
html:has(.support-chat-container),
body:has(.support-chat-container) {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

/* Fallback for browsers without :has() support */
/* line 94, app/assets/stylesheets/admin_support.scss */
html.no-has-support,
body.no-has-support.support-page {
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

/* line 103, app/assets/stylesheets/admin_support.scss */
main.no-has-support.support-page {
  margin: 0 !important;
  padding: 0 !important;
  height: 100vh;
  max-width: none !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Base container - matching client layout patterns */
/* line 114, app/assets/stylesheets/admin_support.scss */
.support-chat-container {
  display: flex;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
  background: var(--background-primary);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: var(--text-sm);
  line-height: 1.5;
  overflow: hidden;
  position: relative;
}

/* Shared Component Styles */
/* line 128, app/assets/stylesheets/admin_support.scss */
.avatar {
  border-radius: var(--rounded-full);
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--font-semibold);
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
  transition: all 0.15s ease;
}

/* line 140, app/assets/stylesheets/admin_support.scss */
.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}

/* line 148, app/assets/stylesheets/admin_support.scss */
.avatar--sm {
  width: 36px;
  height: 36px;
  font-size: var(--text-sm);
}

/* line 154, app/assets/stylesheets/admin_support.scss */
.avatar--md {
  width: var(--space-10);
  height: var(--space-10);
  font-size: var(--text-base);
}

/* line 161, app/assets/stylesheets/admin_support.scss */
.list-item {
  border-bottom: 1px solid var(--border-light);
  transition: all 0.15s ease;
  position: relative;
}

/* line 166, app/assets/stylesheets/admin_support.scss */
.list-item:hover {
  background: var(--primary-light);
}

/* line 170, app/assets/stylesheets/admin_support.scss */
.list-item--active {
  background: var(--primary);
  color: var(--white);
}

/* line 174, app/assets/stylesheets/admin_support.scss */
.list-item--active .list-item__name,
.list-item--active .list-item__preview,
.list-item--active .list-item__time,
.list-item--active .list-item__meta {
  color: var(--white);
}

/* line 181, app/assets/stylesheets/admin_support.scss */
.list-item--active .avatar {
  background: rgba(255, 255, 255, 0.25);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

/* line 187, app/assets/stylesheets/admin_support.scss */
.list-item--loading {
  opacity: 0.7;
  pointer-events: none;
}

/* line 191, app/assets/stylesheets/admin_support.scss */
.list-item--loading .avatar {
  animation: pulse 2s ease-in-out infinite;
}

/* line 197, app/assets/stylesheets/admin_support.scss */
.list-item__link {
  display: flex;
  align-items: center;
  padding: var(--space-3) var(--space-4);
  text-decoration: none;
  color: inherit;
  position: relative;
}

/* line 206, app/assets/stylesheets/admin_support.scss */
.list-item__content {
  flex: 1;
  min-width: 0;
  margin-left: var(--space-3);
}

/* line 212, app/assets/stylesheets/admin_support.scss */
.list-item__name {
  font-weight: var(--font-semibold);
  font-size: var(--text-base);
  color: var(--text-primary);
  margin-bottom: var(--space-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 222, app/assets/stylesheets/admin_support.scss */
.list-item__preview {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin-bottom: var(--space-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}

/* line 232, app/assets/stylesheets/admin_support.scss */
.list-item__time {
  font-size: var(--text-xs);
  color: var(--text-muted);
  white-space: nowrap;
}

/* line 238, app/assets/stylesheets/admin_support.scss */
.list-item__meta {
  font-size: var(--text-xs);
  color: var(--text-muted);
  margin-top: var(--space-1);
  font-style: italic;
}

/* line 245, app/assets/stylesheets/admin_support.scss */
.list-item__indicator {
  position: absolute;
  right: var(--space-4);
  top: 50%;
  transform: translateY(-50%);
}

/* line 251, app/assets/stylesheets/admin_support.scss */
.list-item__indicator--unread {
  width: var(--space-2);
  height: var(--space-2);
  background: var(--attention);
  border-radius: var(--rounded-full);
  right: var(--space-6);
}

/* line 259, app/assets/stylesheets/admin_support.scss */
.list-item__indicator--status {
  color: #22c55e;
  font-size: var(--text-sm);
  right: var(--space-3);
}

/* line 266, app/assets/stylesheets/admin_support.scss */
.button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: var(--rounded);
  font-weight: var(--font-semibold);
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 277, app/assets/stylesheets/admin_support.scss */
.button:disabled {
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* line 283, app/assets/stylesheets/admin_support.scss */
.button--primary {
  background: var(--primary);
  color: var(--white);
}

/* line 287, app/assets/stylesheets/admin_support.scss */
.button--primary:hover:not(:disabled) {
  background: var(--primary-hover);
  transform: translateY(-1px);
}

/* line 292, app/assets/stylesheets/admin_support.scss */
.button--primary:disabled {
  background: var(--grey-5) !important;
}

/* line 297, app/assets/stylesheets/admin_support.scss */
.button--round {
  border-radius: var(--rounded-full);
}

/* line 301, app/assets/stylesheets/admin_support.scss */
.button--sm {
  width: 36px;
  height: 36px;
  font-size: var(--text-sm);
}

/* line 306, app/assets/stylesheets/admin_support.scss */
.button--sm svg {
  width: 14px;
  height: 14px;
}

/* line 312, app/assets/stylesheets/admin_support.scss */
.button--md {
  width: 36px;
  height: 36px;
  font-size: var(--text-sm);
}

/* line 317, app/assets/stylesheets/admin_support.scss */
.button--md svg {
  width: 16px;
  height: 16px;
}

/* line 324, app/assets/stylesheets/admin_support.scss */
.input {
  border: 1px solid var(--border-default);
  border-radius: var(--rounded);
  font-size: var(--text-sm);
  font-family: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* line 331, app/assets/stylesheets/admin_support.scss */
.input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-light);
}

/* line 337, app/assets/stylesheets/admin_support.scss */
.input::placeholder {
  color: var(--text-muted);
}

/* line 341, app/assets/stylesheets/admin_support.scss */
.input--textarea {
  resize: none;
  line-height: 1.3 !important;
}

/* Sidebar */
/* line 348, app/assets/stylesheets/admin_support.scss */
.support-sidebar {
  width: 320px;
  background: var(--background-secondary);
  border-right: 1px solid var(--border-default);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}

/* line 358, app/assets/stylesheets/admin_support.scss */
.support-sidebar__header {
  padding: var(--space-4);
  border-bottom: 1px solid var(--border-light);
  background: var(--background-secondary);
}

/* line 363, app/assets/stylesheets/admin_support.scss */
.support-sidebar__header h2 {
  margin: 0 0 var(--space-2) 0;
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  letter-spacing: -0.025em;
}

/* line 372, app/assets/stylesheets/admin_support.scss */
.support-sidebar__count {
  font-size: var(--text-xs);
  color: var(--text-secondary);
  font-weight: var(--font-medium);
}

/* line 378, app/assets/stylesheets/admin_support.scss */
.support-sidebar__list {
  flex: 1;
  overflow-y: auto;
}

/* line 382, app/assets/stylesheets/admin_support.scss */
.support-sidebar__list::-webkit-scrollbar {
  width: 3px;
}

/* line 386, app/assets/stylesheets/admin_support.scss */
.support-sidebar__list::-webkit-scrollbar-track {
  background: transparent;
}

/* line 390, app/assets/stylesheets/admin_support.scss */
.support-sidebar__list::-webkit-scrollbar-thumb {
  background: var(--border-default);
  border-radius: var(--rounded-sm);
}

/* line 396, app/assets/stylesheets/admin_support.scss */
.support-sidebar__empty {
  padding: var(--space-6);
  text-align: center;
  color: var(--text-muted);
  font-size: var(--text-sm);
}

/* Main Content Area */
/* line 404, app/assets/stylesheets/admin_support.scss */
.support-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--background-secondary);
  min-width: 0;
}

/* line 412, app/assets/stylesheets/admin_support.scss */
.chat-header {
  padding: var(--space-4);
  border-bottom: 1px solid var(--border-light);
  background: var(--background-secondary);
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}

/* line 420, app/assets/stylesheets/admin_support.scss */
.chat-header__info {
  display: flex;
  align-items: center;
}

/* line 425, app/assets/stylesheets/admin_support.scss */
.chat-header__details {
  margin-left: var(--space-3);
}

/* line 428, app/assets/stylesheets/admin_support.scss */
.chat-header__details h3 {
  margin: 0;
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
  letter-spacing: -0.02em;
}

/* line 436, app/assets/stylesheets/admin_support.scss */
.chat-header__details p {
  margin: var(--space-1) 0 0 0;
  font-size: var(--text-xs);
  color: var(--text-secondary);
  font-weight: var(--font-medium);
}

/* Messages container */
/* line 445, app/assets/stylesheets/admin_support.scss */
.messages-container {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-4);
  background: var(--background-primary);
  scroll-behavior: smooth;
}

/* line 452, app/assets/stylesheets/admin_support.scss */
.messages-container::-webkit-scrollbar {
  width: 4px;
}

/* line 456, app/assets/stylesheets/admin_support.scss */
.messages-container::-webkit-scrollbar-track {
  background: transparent;
}

/* line 460, app/assets/stylesheets/admin_support.scss */
.messages-container::-webkit-scrollbar-thumb {
  background: var(--grey-5);
  border-radius: var(--rounded-sm);
}

/* Message bubbles - matching client Message component patterns */
/* line 467, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper {
  margin-bottom: var(--space-3);
  display: block;
  width: 100%;
  /* Message bubble styling - wrapper acts as the bubble */
}

/* line 473, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper .message-bubble {
  min-width: 48px;
  padding: var(--space-3);
  border-radius: var(--rounded);
  position: relative;
  word-wrap: break-word;
  transition: all 0.1s ease;
  box-shadow: var(--shadow-sm);
  display: inline-block;
  max-width: 75%;
}

/* line 484, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper .message-bubble:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* line 490, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper.sent {
  text-align: right;
}

/* line 493, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper.sent .message-bubble {
  background: var(--message-bg-sent);
  color: var(--message-text-sent);
  border-bottom-right-radius: var(--rounded-sm);
}

/* line 499, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper.sent .message-time {
  color: rgba(251, 251, 251, 0.7);
  text-align: right;
  margin-right: calc(25% + var(--space-2));
}

/* line 506, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper.received {
  text-align: left;
}

/* line 509, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper.received .message-bubble {
  background: var(--message-bg-received);
  color: var(--message-text-received);
  border-bottom-left-radius: var(--rounded-sm);
}

/* line 515, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper.received .message-time {
  color: var(--text-muted);
  text-align: left;
  margin-left: 0;
}

/* line 522, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper .message-content {
  line-height: 1.3;
  font-size: var(--text-sm);
  font-weight: 400;
  margin: 0;
  /* Handle formatted text */
  /* Add spacing between multiple messages in same bubble */
}

/* line 529, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper .message-content p {
  margin: 0 0 var(--space-1) 0;
}

/* line 532, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper .message-content p:last-child {
  margin-bottom: 0;
}

/* line 538, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper .message-content + .message-separator + .message-content {
  margin-top: var(--space-2);
}

/* line 543, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper .message-separator {
  height: var(--space-2);
}

/* line 547, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper .message-time {
  font-size: 10px;
  font-weight: var(--font-medium);
  opacity: 0.8;
  margin-top: var(--space-1);
  display: block;
}

/* line 555, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-wrapper.new {
  animation: messageSlideIn 0.3s ease-out;
}

/* Exchange wrapper - matching client Exchange component */
/* line 561, app/assets/stylesheets/admin_support.scss */
.exchange-wrapper {
  margin-bottom: var(--space-6);
  /* Increased spacing between conversations */
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--border-light);
}

/* line 566, app/assets/stylesheets/admin_support.scss */
.exchange-wrapper:last-child {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
}

/* TimestampDivider */
/* line 574, app/assets/stylesheets/admin_support.scss */
.timestamp-divider {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--space-3);
}

/* line 580, app/assets/stylesheets/admin_support.scss */
.timestamp-divider .timestamp-text {
  font-size: var(--text-xs);
  color: var(--text-muted);
  font-weight: var(--font-medium);
}

/* Input Components */
/* line 588, app/assets/stylesheets/admin_support.scss */
.input-container {
  margin-top: var(--space-4);
  padding: var(--space-3);
  background: var(--background-secondary);
  border: 1px solid var(--border-light);
  border-radius: var(--rounded);
  box-shadow: var(--shadow-sm);
}

/* line 596, app/assets/stylesheets/admin_support.scss */
.input-container:hover {
  border-color: var(--primary-opacity-50);
}

/* line 600, app/assets/stylesheets/admin_support.scss */
.input-container:focus-within {
  box-shadow: 0 0 0 2px var(--primary-light), var(--shadow-md);
}

/* line 605, app/assets/stylesheets/admin_support.scss */
.input-group {
  display: flex;
  gap: var(--space-2);
  align-items: flex-end;
}

/* line 610, app/assets/stylesheets/admin_support.scss */
.input-group .input {
  flex: 1;
  min-height: 36px;
  max-height: 80px;
  padding: var(--space-2) var(--space-3);
  background: var(--white);
}

/* line 619, app/assets/stylesheets/admin_support.scss */
.conversation-form {
  width: 100%;
}

/* line 623, app/assets/stylesheets/admin_support.scss */
.conversation-message-input {
  flex: 1;
  min-height: 36px;
  max-height: 80px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-default);
  border-radius: var(--rounded);
  font-size: var(--text-sm);
  line-height: 1.4;
  resize: none;
  font-family: inherit;
  background: var(--white);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* line 637, app/assets/stylesheets/admin_support.scss */
.conversation-message-input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-light);
}

/* line 643, app/assets/stylesheets/admin_support.scss */
.conversation-message-input::placeholder {
  color: var(--text-muted);
}

/* line 648, app/assets/stylesheets/admin_support.scss */
.conversation-send-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--primary);
  border: none;
  border-radius: var(--rounded);
  color: var(--white);
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}

/* line 663, app/assets/stylesheets/admin_support.scss */
.conversation-send-button:hover:not(:disabled) {
  background: var(--primary-hover);
  transform: translateY(-1px);
}

/* line 668, app/assets/stylesheets/admin_support.scss */
.conversation-send-button:active {
  transform: translateY(0);
}

/* line 672, app/assets/stylesheets/admin_support.scss */
.conversation-send-button:disabled {
  background: var(--grey-5);
  cursor: not-allowed;
  transform: none;
}

/* line 678, app/assets/stylesheets/admin_support.scss */
.conversation-send-button svg {
  width: 14px;
  height: 14px;
}

/* line 684, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container {
  padding: var(--space-4);
  border-top: 1px solid var(--border-light);
  background: var(--background-secondary);
  flex-shrink: 0;
  box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.05);
}

/* line 691, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .message-form {
  width: 100%;
}

/* line 695, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .input-group {
  display: flex;
  align-items: flex-end;
  gap: var(--space-2);
}

/* line 701, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .message-input {
  flex: 1;
  border: 1px solid var(--border-default);
  border-radius: var(--rounded);
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
  resize: none;
  outline: none;
  transition: all 0.2s ease;
  font-family: inherit;
  max-height: 100px;
  min-height: 20px;
  line-height: 1.4;
  background: var(--background-secondary);
}

/* line 716, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .message-input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--primary-light);
}

/* line 721, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .message-input::placeholder {
  color: var(--text-muted);
  font-weight: 400;
}

/* line 727, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .send-button {
  background: var(--primary);
  color: var(--white);
  border: none;
  border-radius: var(--rounded-full);
  width: 36px;
  height: 36px;
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}

/* line 744, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .send-button svg {
  width: 16px;
  height: 16px;
  transition: transform 0.15s ease;
}

/* line 750, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .send-button:hover {
  background: var(--primary-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* line 755, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .send-button:hover svg {
  transform: translateX(1px);
}

/* line 760, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .send-button:active {
  transform: translateY(0);
}

/* line 764, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .send-button:disabled {
  background: var(--grey-5);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* line 770, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-input-container .send-button:disabled svg {
  transform: none;
}

/* State Classes */
/* line 778, app/assets/stylesheets/admin_support.scss */
.empty-state {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-10) var(--space-4);
}

/* line 785, app/assets/stylesheets/admin_support.scss */
.empty-state__content {
  text-align: center;
  max-width: 330px;
}

/* line 789, app/assets/stylesheets/admin_support.scss */
.empty-state__content h3 {
  margin: 0 0 var(--space-3) 0;
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
}

/* line 796, app/assets/stylesheets/admin_support.scss */
.empty-state__content p {
  margin: 0 0 var(--space-4) 0;
  font-size: var(--text-sm);
  color: var(--text-muted);
  line-height: 1.5;
}

/* line 805, app/assets/stylesheets/admin_support.scss */
.new-conversation-form {
  margin-top: var(--space-4);
}

/* Accessibility */
/* line 810, app/assets/stylesheets/admin_support.scss */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  /* line 824, app/assets/stylesheets/admin_support.scss */
  .support-sidebar {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
  /* line 833, app/assets/stylesheets/admin_support.scss */
  .support-sidebar.open {
    transform: translateX(0);
  }
  /* line 838, app/assets/stylesheets/admin_support.scss */
  .support-main {
    width: 100%;
  }
  /* line 842, app/assets/stylesheets/admin_support.scss */
  .support-chat-container .messages-container {
    padding: var(--space-3) var(--space-4);
  }
  /* line 846, app/assets/stylesheets/admin_support.scss */
  .support-chat-container .message-input-container {
    padding: var(--space-3) var(--space-4) var(--space-4);
  }
  /* line 850, app/assets/stylesheets/admin_support.scss */
  .chat-header {
    padding: var(--space-3) var(--space-4);
  }
}

/* Animations */
@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* line 876, app/assets/stylesheets/admin_support.scss */
.loading-dots {
  display: inline-block;
  animation: loadingDots 1.4s infinite ease-in-out;
}

@keyframes loadingDots {
  0%, 80%, 100% {
    opacity: 0.3;
  }
  40% {
    opacity: 1;
  }
}

/* Animations */
@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* line 916, app/assets/stylesheets/admin_support.scss */
.loading-dots {
  display: inline-block;
  animation: loadingDots 1.4s infinite ease-in-out;
}

@keyframes loadingDots {
  0%, 80%, 100% {
    opacity: 0.3;
  }
  40% {
    opacity: 1;
  }
}

/* Typography improvements */
/* line 932, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-content strong {
  font-weight: var(--font-semibold);
}

/* line 936, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-content em {
  font-style: italic;
}

/* line 940, app/assets/stylesheets/admin_support.scss */
.support-chat-container .message-content code {
  background: rgba(0, 0, 0, 0.1);
  padding: var(--space-1);
  border-radius: var(--rounded-sm);
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  font-size: 0.9em;
}

/* Accessibility improvements */
/* line 951, app/assets/stylesheets/admin_support.scss */
.support-chat-container *:focus {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
@tailwind base;
@tailwind components;
@tailwind utilities;

/*

@layer components {
  .btn-primary {
    @apply py-2 px-4 bg-blue-200;
  }
}

*/
@charset "UTF-8";
/* =============================================================================
   Unified Conversation Styles
   Shared between regular conversations (rooms) and admin support chat
   ============================================================================= */
/* -----------------------------------------------------------------------------
   Design Tokens
   ----------------------------------------------------------------------------- */
/* line 9, app/assets/stylesheets/conversation.scss */
:root {
  /* Primary color palette */
  --conv-primary: #7c3aed;
  --conv-primary-hover: #5b21b6;
  --conv-primary-light: rgba(124, 58, 237, 0.1);
  --conv-primary-opacity-50: rgba(124, 58, 237, 0.5);
  /* Color system */
  --conv-white: #fbfbfb;
  --conv-dark: #2B2145;
  --conv-grey: #f6f5fb;
  --conv-light-grey: #A3A3A3;
  --conv-grey-3: #757575;
  --conv-grey-4: #E7E7E7;
  --conv-grey-5: #D1D1D1;
  --conv-attention: #FF5F15;
  /* Semantic colors */
  --conv-text-primary: #1f2933;
  --conv-text-secondary: #9aa0b6;
  --conv-text-muted: #a5a4bd;
  --conv-background-primary: #faf7ff;
  --conv-background-secondary: #fff;
  --conv-message-bg-received: #fff;
  --conv-message-bg-sent: var(--conv-primary);
  --conv-message-text-received: var(--conv-text-primary);
  --conv-message-text-sent: var(--conv-white);
  --conv-border-default: #ece6ff;
  --conv-border-light: #e3def5;
  /* Spacing system */
  --conv-space-1: 4px;
  --conv-space-2: 8px;
  --conv-space-3: 12px;
  --conv-space-4: 16px;
  --conv-space-5: 20px;
  --conv-space-6: 24px;
  --conv-space-8: 32px;
  --conv-space-10: 40px;
  /* Shadows */
  --conv-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --conv-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --conv-shadow-bubble: 0 12px 25px rgba(15, 14, 36, 0.08);
  --conv-shadow-active: 0 12px 25px rgba(124, 58, 237, 0.25);
  /* Border radius */
  --conv-rounded-sm: 4px;
  --conv-rounded: 12px;
  --conv-rounded-full: 9999px;
  /* Typography */
  --conv-text-xs: 12px;
  --conv-text-sm: 14px;
  --conv-text-base: 16px;
  --conv-text-lg: 18px;
  /* Font weights */
  --conv-font-medium: 500;
  --conv-font-semibold: 600;
  --conv-font-bold: 700;
  /* Message overlap (matching client's -26px); following bubble uses margin-top overlap.
     Bubbles followed by another chat bubble (not .conv-inline-reply) get extra padding-bottom in .conv-message */
  --conv-message-overlap: -20px;
}

/* -----------------------------------------------------------------------------
   Base Layout - Shared between rooms and support
   ----------------------------------------------------------------------------- */
/* line 79, app/assets/stylesheets/conversation.scss */
.conv-layout {
  display: flex;
  min-height: 100vh;
  flex-grow: 1;
  height: 100vh;
  background: var(--conv-background-primary);
  color: var(--conv-text-primary);
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Full viewport handling for all conversation layouts */
/* line 91, app/assets/stylesheets/conversation.scss */
body:has(.conv-layout) {
  margin: 0;
  padding: 0 !important;
  padding-bottom: 0 !important;
  height: 100vh;
  overflow: hidden;
}

/* line 99, app/assets/stylesheets/conversation.scss */
body:has(.conv-layout) main {
  margin: 0 !important;
  padding: 0 !important;
  height: 100vh;
  max-width: none !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
}

/* line 109, app/assets/stylesheets/conversation.scss */
body:has(.admin-nav):has(.conv-layout) main {
  padding-top: var(--nav-height) !important;
}

/* line 113, app/assets/stylesheets/conversation.scss */
body:has(.admin-nav) .admin-container:has(.conv-layout) {
  flex: 1;
  min-height: 0;
  height: calc(100vh - var(--nav-height));
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  display: flex;
}

/* line 124, app/assets/stylesheets/conversation.scss */
body:has(.admin-nav) .conv-layout {
  height: auto;
  min-height: 0;
  flex: 1;
}

/* line 130, app/assets/stylesheets/conversation.scss */
body:has(.admin-nav) .conv-main {
  min-height: 0;
}

/* line 134, app/assets/stylesheets/conversation.scss */
body:has(.admin-nav) .conv-sidebar {
  height: 100%;
}

/* Hide bottom tabs on conversation pages - they have their own navigation */
/* line 139, app/assets/stylesheets/conversation.scss */
body:has(.conv-layout) #app-bottom-tabs {
  display: none !important;
}

/* -----------------------------------------------------------------------------
   Sidebar - Rooms list
   ----------------------------------------------------------------------------- */
/* line 146, app/assets/stylesheets/conversation.scss */
.conv-sidebar {
  width: 320px;
  border-right: 1px solid var(--conv-border-default);
  background: var(--conv-background-secondary);
  padding: 1.5rem 1rem 2rem;
  display: none;
  flex-direction: column;
  gap: 1rem;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  flex-shrink: 0;
  box-shadow: var(--conv-shadow-sm);
}

@media (min-width: 1100px) {
  /* line 146, app/assets/stylesheets/conversation.scss */
  .conv-sidebar {
    display: flex;
  }
}

/* line 165, app/assets/stylesheets/conversation.scss */
.conv-sidebar__header {
  padding: 0 0.5rem;
  border-bottom: 1px solid var(--conv-border-light);
  padding-bottom: var(--conv-space-4);
}

/* line 170, app/assets/stylesheets/conversation.scss */
.conv-sidebar__header h2 {
  font-size: 1rem;
  font-weight: var(--conv-font-bold);
  margin: 0;
  color: var(--conv-text-primary);
  letter-spacing: -0.025em;
}

/* line 178, app/assets/stylesheets/conversation.scss */
.conv-sidebar__header p {
  margin: 0.15rem 0 0;
  font-size: 0.85rem;
  color: var(--conv-text-secondary);
}

/* line 185, app/assets/stylesheets/conversation.scss */
.conv-sidebar__count {
  font-size: var(--conv-text-xs);
  color: var(--conv-text-secondary);
  font-weight: var(--conv-font-medium);
  margin-top: var(--conv-space-2);
}

/* line 192, app/assets/stylesheets/conversation.scss */
.conv-sidebar__list {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 199, app/assets/stylesheets/conversation.scss */
.conv-sidebar__list::-webkit-scrollbar {
  width: 3px;
}

/* line 203, app/assets/stylesheets/conversation.scss */
.conv-sidebar__list::-webkit-scrollbar-track {
  background: transparent;
}

/* line 207, app/assets/stylesheets/conversation.scss */
.conv-sidebar__list::-webkit-scrollbar-thumb {
  background: var(--conv-border-default);
  border-radius: var(--conv-rounded-sm);
}

/* line 213, app/assets/stylesheets/conversation.scss */
.conv-sidebar__empty {
  padding: var(--conv-space-6);
  text-align: center;
  color: var(--conv-text-muted);
  font-size: var(--conv-text-sm);
}

/* line 221, app/assets/stylesheets/conversation.scss */
.conv-sidebar-section {
  display: flex;
  flex-direction: column;
  gap: var(--conv-space-2);
}

/* line 226, app/assets/stylesheets/conversation.scss */
.conv-sidebar-section--reports {
  border-bottom: 1px solid var(--conv-border-light);
  margin-bottom: var(--conv-space-2);
  padding-bottom: var(--conv-space-4);
}

/* line 232, app/assets/stylesheets/conversation.scss */
.conv-sidebar-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--conv-space-2);
  color: var(--conv-text-secondary);
  font-size: 0.72rem;
  font-weight: var(--conv-font-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* line 243, app/assets/stylesheets/conversation.scss */
.conv-sidebar-section__header strong {
  min-width: 22px;
  border-radius: var(--conv-rounded-full);
  background: #fee2e2;
  color: #991b1b;
  padding: 2px 7px;
  text-align: center;
  letter-spacing: 0;
}

/* line 253, app/assets/stylesheets/conversation.scss */
.conv-sidebar-section__header--rooms {
  margin-top: var(--conv-space-1);
}

/* Sidebar list item */
/* line 260, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.75rem;
  border-radius: var(--conv-rounded);
  text-decoration: none;
  color: inherit;
  transition: background 0.2s, box-shadow 0.2s;
  border-bottom: 1px solid var(--conv-border-light);
  position: relative;
}

/* line 272, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item:hover:not(.conv-sidebar-item--active) {
  background: rgba(0, 0, 0, 0.04);
}

/* line 276, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--active, .conv-sidebar-item--active:hover {
  background: linear-gradient(120deg, var(--conv-primary), var(--conv-primary-hover));
  color: #fff;
  box-shadow: var(--conv-shadow-active);
}

/* line 282, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--active .conv-sidebar-item__preview,
.conv-sidebar-item--active .conv-sidebar-item__time,
.conv-sidebar-item--active .conv-sidebar-item__meta, .conv-sidebar-item--active:hover .conv-sidebar-item__preview,
.conv-sidebar-item--active:hover .conv-sidebar-item__time,
.conv-sidebar-item--active:hover .conv-sidebar-item__meta {
  color: rgba(255, 255, 255, 0.8);
}

/* line 288, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--active .conv-sidebar-item__name, .conv-sidebar-item--active:hover .conv-sidebar-item__name {
  color: #fff;
}

/* line 292, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--active .conv-sidebar-item__report-badge, .conv-sidebar-item--active:hover .conv-sidebar-item__report-badge {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

/* line 298, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--loading {
  opacity: 0.7;
  pointer-events: none;
}

/* line 302, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--loading .conv-avatar {
  animation: conv-pulse 2s ease-in-out infinite;
}

/* line 307, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item__content {
  flex: 1;
  min-width: 0;
}

/* line 312, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item__name {
  font-weight: var(--conv-font-semibold);
  font-size: 0.95rem;
  color: var(--conv-text-primary);
  margin-bottom: var(--conv-space-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 322, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item__preview {
  font-size: 0.8rem;
  color: var(--conv-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}

/* line 331, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item__time {
  font-size: var(--conv-text-xs);
  color: var(--conv-text-muted);
  white-space: nowrap;
}

/* line 337, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item__meta {
  font-size: var(--conv-text-xs);
  color: var(--conv-text-muted);
  margin-top: var(--conv-space-1);
  font-style: italic;
}

/* line 344, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item__indicator {
  position: absolute;
  right: var(--conv-space-4);
  top: 50%;
  transform: translateY(-50%);
}

/* line 350, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item__indicator--unread {
  width: var(--conv-space-2);
  height: var(--conv-space-2);
  background: var(--conv-attention);
  border-radius: var(--conv-rounded-full);
  right: var(--conv-space-6);
}

/* line 359, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item__report-badge {
  width: 34px;
  height: 34px;
  border-radius: var(--conv-rounded-full);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: #fee2e2;
  color: #991b1b;
  font-size: var(--conv-text-sm);
  font-weight: var(--conv-font-bold);
}

/* line 373, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--report {
  border: 1px solid #fecaca;
  background: #fff7f7;
  color: var(--conv-text-primary);
}

/* line 378, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--report:hover:not(.conv-sidebar-item--active) {
  background: #fee2e2;
}

/* line 382, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--report.conv-sidebar-item--active, .conv-sidebar-item--report.conv-sidebar-item--active:hover {
  border-color: #f97316;
  background: linear-gradient(120deg, #f97316, #dc2626);
  color: #fff;
}

/* line 388, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--report.conv-sidebar-item--active .conv-sidebar-item__preview,
.conv-sidebar-item--report.conv-sidebar-item--active .conv-sidebar-item__time,
.conv-sidebar-item--report.conv-sidebar-item--active .conv-sidebar-item__meta, .conv-sidebar-item--report.conv-sidebar-item--active:hover .conv-sidebar-item__preview,
.conv-sidebar-item--report.conv-sidebar-item--active:hover .conv-sidebar-item__time,
.conv-sidebar-item--report.conv-sidebar-item--active:hover .conv-sidebar-item__meta {
  color: rgba(255, 255, 255, 0.84);
}

/* line 394, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--report.conv-sidebar-item--active .conv-sidebar-item__name, .conv-sidebar-item--report.conv-sidebar-item--active:hover .conv-sidebar-item__name {
  color: #fff;
}

/* line 398, app/assets/stylesheets/conversation.scss */
.conv-sidebar-item--report.conv-sidebar-item--active .conv-sidebar-item__report-badge, .conv-sidebar-item--report.conv-sidebar-item--active:hover .conv-sidebar-item__report-badge {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

/* -----------------------------------------------------------------------------
   Avatar
   ----------------------------------------------------------------------------- */
/* line 409, app/assets/stylesheets/conversation.scss */
.conv-avatar {
  border-radius: var(--conv-rounded-full);
  background: linear-gradient(135deg, var(--conv-primary) 0%, var(--conv-primary-hover) 100%);
  color: var(--conv-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--conv-font-semibold);
  flex-shrink: 0;
  box-shadow: var(--conv-shadow-sm);
  transition: all 0.15s ease;
}

/* line 421, app/assets/stylesheets/conversation.scss */
.conv-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  border: 2px solid rgba(124, 58, 237, 0.15);
}

/* line 430, app/assets/stylesheets/conversation.scss */
.conv-avatar--sm {
  width: 36px;
  height: 36px;
  font-size: var(--conv-text-sm);
}

/* line 436, app/assets/stylesheets/conversation.scss */
.conv-avatar--md {
  width: 44px;
  height: 44px;
  font-size: var(--conv-text-base);
}

/* line 442, app/assets/stylesheets/conversation.scss */
.conv-avatar--lg {
  width: 52px;
  height: 52px;
  font-size: var(--conv-text-lg);
}

/* -----------------------------------------------------------------------------
   Main Content Area
   ----------------------------------------------------------------------------- */
/* line 452, app/assets/stylesheets/conversation.scss */
.conv-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--conv-grey);
  position: relative;
  overflow: hidden;
  min-width: 0;
}

/* line 463, app/assets/stylesheets/conversation.scss */
.conv-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: var(--conv-background-secondary);
  border-bottom: 1px solid var(--conv-border-default);
  position: sticky;
  top: 0;
  z-index: 30;
  flex-shrink: 0;
  box-shadow: var(--conv-shadow-sm);
}

/* line 476, app/assets/stylesheets/conversation.scss */
.conv-header__back {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  border: none;
  background: transparent;
  color: var(--conv-primary);
  font-weight: var(--conv-font-semibold);
  text-decoration: none;
  cursor: pointer;
}

/* line 487, app/assets/stylesheets/conversation.scss */
.conv-header__back svg {
  width: 20px;
  height: 20px;
}

@media (min-width: 1100px) {
  /* line 476, app/assets/stylesheets/conversation.scss */
  .conv-header__back {
    display: none;
  }
}

/* line 497, app/assets/stylesheets/conversation.scss */
.conv-header__person {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 502, app/assets/stylesheets/conversation.scss */
.conv-header__person h1 {
  font-size: 1.25rem;
  margin: 0;
  font-weight: var(--conv-font-bold);
  letter-spacing: -0.02em;
}

/* line 509, app/assets/stylesheets/conversation.scss */
.conv-header__person p {
  margin: 0.15rem 0 0;
  color: var(--conv-text-secondary);
  font-size: 0.9rem;
}

/* line 517, app/assets/stylesheets/conversation.scss */
.conv-header__details h3 {
  margin: 0;
  font-size: var(--conv-text-base);
  font-weight: var(--conv-font-semibold);
  color: var(--conv-text-primary);
}

/* line 524, app/assets/stylesheets/conversation.scss */
.conv-header__details p {
  margin: var(--conv-space-1) 0 0 0;
  font-size: var(--conv-text-xs);
  color: var(--conv-text-secondary);
}

/* -----------------------------------------------------------------------------
   Conversation Thread
   ----------------------------------------------------------------------------- */
/* line 535, app/assets/stylesheets/conversation.scss */
.conv-thread {
  flex: 1;
  padding: 1.5rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  scroll-behavior: smooth;
  min-height: 0;
}

/* line 545, app/assets/stylesheets/conversation.scss */
.conv-layout--support .conv-thread {
  padding-bottom: 7rem;
  scroll-padding-bottom: 7rem;
}

/* line 550, app/assets/stylesheets/conversation.scss */
.conv-thread::-webkit-scrollbar {
  width: 4px;
}

/* line 554, app/assets/stylesheets/conversation.scss */
.conv-thread::-webkit-scrollbar-track {
  background: transparent;
}

/* line 558, app/assets/stylesheets/conversation.scss */
.conv-thread::-webkit-scrollbar-thumb {
  background: var(--conv-grey-5);
  border-radius: var(--conv-rounded-sm);
}

/* -----------------------------------------------------------------------------
   Timestamp Divider
   ----------------------------------------------------------------------------- */
/* line 567, app/assets/stylesheets/conversation.scss */
.conv-timestamp {
  text-align: center;
  font-size: 0.82rem;
  color: var(--conv-text-muted);
  position: relative;
  margin: 0.5rem 0;
}

/* line 574, app/assets/stylesheets/conversation.scss */
.conv-timestamp__text {
  background: var(--conv-grey);
  padding: 0 0.75rem;
  position: relative;
  z-index: 1;
  font-weight: var(--conv-font-medium);
}

/* line 582, app/assets/stylesheets/conversation.scss */
.conv-timestamp::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--conv-border-light);
  z-index: 0;
}

/* -----------------------------------------------------------------------------
   Exchange - Conversation group wrapper
   ----------------------------------------------------------------------------- */
/* line 597, app/assets/stylesheets/conversation.scss */
.conv-exchange {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: var(--conv-space-6);
  padding-bottom: var(--conv-space-4);
  border-bottom: 1px solid var(--conv-border-light);
}

/* line 605, app/assets/stylesheets/conversation.scss */
.conv-exchange:last-child {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
}

/* line 611, app/assets/stylesheets/conversation.scss */
.conv-exchange__messages {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 617, app/assets/stylesheets/conversation.scss */
.conv-exchange--with-report {
  gap: var(--conv-space-4);
}

/* line 621, app/assets/stylesheets/conversation.scss */
.conv-exchange__report-layout {
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(360px, 560px);
  justify-content: center;
  align-items: start;
  gap: var(--conv-space-5);
  width: 100%;
}

/* line 630, app/assets/stylesheets/conversation.scss */
.conv-exchange__report-column, .conv-exchange__dialog-column {
  min-width: 0;
}

/* line 635, app/assets/stylesheets/conversation.scss */
.conv-exchange__dialog-column {
  width: 100%;
  max-width: 560px;
}

/* line 639, app/assets/stylesheets/conversation.scss */
.conv-exchange__dialog-column .conv-message {
  min-width: 78%;
  max-width: 78%;
  flex-basis: 78%;
}

/* line 645, app/assets/stylesheets/conversation.scss */
.conv-exchange__dialog-column .conv-inline-reply.conv-message {
  min-width: 88% !important;
  max-width: 88% !important;
}

/* -----------------------------------------------------------------------------
   Message Bubble - With overlapping margins like client app
   ----------------------------------------------------------------------------- */
/* line 655, app/assets/stylesheets/conversation.scss */
.conv-message {
  max-width: 70%;
  min-width: 70%;
  flex-basis: 70%;
  border-radius: var(--conv-rounded);
  padding: 1rem 1.15rem;
  position: relative;
  box-shadow: var(--conv-shadow-bubble);
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  word-wrap: break-word;
  /* Received messages (left) */
  /* Sent messages (right) */
  /* Overlapping margin for non-first messages */
  /* Pair with overlap: the next bubble pulls up by --conv-message-overlap; add bottom space only when another chat bubble follows (not inline reply, not last in thread). */
  /* Last message spacing */
  /* Animation for new messages */
}

/* line 666, app/assets/stylesheets/conversation.scss */
.conv-message:hover {
  transform: translateY(-1px);
  box-shadow: var(--conv-shadow-md);
}

/* line 672, app/assets/stylesheets/conversation.scss */
.conv-message--received {
  align-self: flex-start;
  background: var(--conv-message-bg-received);
  color: var(--conv-message-text-received);
}

/* line 679, app/assets/stylesheets/conversation.scss */
.conv-message--sent {
  align-self: flex-end;
  background: var(--conv-message-bg-sent);
  color: var(--conv-message-text-sent);
}

/* line 684, app/assets/stylesheets/conversation.scss */
.conv-message--sent .conv-message__meta {
  color: rgba(255, 255, 255, 0.8);
}

/* line 688, app/assets/stylesheets/conversation.scss */
.conv-message--sent .conv-message__amount {
  color: rgba(255, 255, 255, 0.9);
}

/* line 694, app/assets/stylesheets/conversation.scss */
.conv-message--overlap {
  margin-top: var(--conv-message-overlap);
}

/* line 699, app/assets/stylesheets/conversation.scss */
.conv-message:has(+ .conv-message:not(.conv-inline-reply)) {
  padding-bottom: calc(-1 * var(--conv-message-overlap) + 1rem);
}

/* line 704, app/assets/stylesheets/conversation.scss */
.conv-message--last {
  margin-bottom: 45px;
}

/* line 709, app/assets/stylesheets/conversation.scss */
.conv-message--new {
  animation: conv-message-slide-in 0.3s ease-out;
}

/* line 713, app/assets/stylesheets/conversation.scss */
.conv-message__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 719, app/assets/stylesheets/conversation.scss */
.conv-message__label {
  font-size: var(--conv-text-base);
  font-weight: var(--conv-font-bold);
  color: var(--conv-light-grey);
  margin-bottom: var(--conv-space-1);
}

/* line 726, app/assets/stylesheets/conversation.scss */
.conv-message__text {
  font-size: 1rem;
  margin: 0;
  line-height: 1.4;
}

/* line 731, app/assets/stylesheets/conversation.scss */
.conv-message__text p {
  margin: 0;
}

/* line 734, app/assets/stylesheets/conversation.scss */
.conv-message__text p + p {
  margin-top: 0.4rem;
}

/* line 740, app/assets/stylesheets/conversation.scss */
.conv-message__media {
  border-radius: var(--conv-rounded);
  overflow: hidden;
}

/* line 744, app/assets/stylesheets/conversation.scss */
.conv-message__media img, .conv-message__media video {
  display: block;
  max-width: 100%;
  height: auto;
}

/* line 751, app/assets/stylesheets/conversation.scss */
.conv-message__footer {
  display: flex;
  align-items: center;
  margin-top: 0.6rem;
  gap: 0.5rem;
}

/* line 758, app/assets/stylesheets/conversation.scss */
.conv-message__amount {
  font-weight: var(--conv-font-semibold);
  font-size: 0.9rem;
  color: #7f7f8c;
}

/* line 764, app/assets/stylesheets/conversation.scss */
.conv-message__meta {
  margin-left: auto;
  text-align: right;
  font-size: 0.75rem;
  color: #9ea1b5;
}

/* line 771, app/assets/stylesheets/conversation.scss */
.conv-message__time {
  display: block;
}

/* line 775, app/assets/stylesheets/conversation.scss */
.conv-message__status {
  font-size: var(--conv-text-xs);
  color: var(--conv-light-grey);
  margin-top: var(--conv-space-1);
}

/* line 780, app/assets/stylesheets/conversation.scss */
.conv-message__status--sending {
  font-style: italic;
}

/* line 785, app/assets/stylesheets/conversation.scss */
.conv-message__action {
  border: none;
  background: rgba(255, 255, 255, 0.25);
  border-radius: var(--conv-rounded-full);
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--conv-primary-hover);
}

/* line 797, app/assets/stylesheets/conversation.scss */
.conv-message--sent .conv-message__action {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}

/* line 802, app/assets/stylesheets/conversation.scss */
.conv-message__action svg {
  width: 18px;
  height: 18px;
}

/* -----------------------------------------------------------------------------
   Inline Reply - Styled as a sent message bubble
   ----------------------------------------------------------------------------- */
/* line 812, app/assets/stylesheets/conversation.scss */
.conv-inline-reply {
  /* Override conv-message styles - make it a compact bubble aligned right */
  /* Expanded state */
  /* Format toggle for inside purple bubble */
  /* Input row with textarea and send button */
  /* Idol response controls - matches IdolResponseControls from mobile */
}

/* line 814, app/assets/stylesheets/conversation.scss */
.conv-inline-reply.conv-message {
  margin-top: var(--conv-space-3);
  padding: 0;
  min-width: 70% !important;
  max-width: 70% !important;
  flex-basis: auto !important;
  width: auto;
  box-shadow: none;
  background: transparent;
  align-self: flex-end !important;
}

/* line 826, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__trigger-wrapper {
  display: block;
}

/* line 830, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--conv-space-2);
  padding: 0.6rem 1rem;
  background: var(--conv-primary);
  border: none;
  width: 100%;
  border-radius: var(--conv-rounded);
  color: #fff;
  font-size: var(--conv-text-sm);
  font-weight: var(--conv-font-medium);
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: var(--conv-shadow-bubble);
}

/* line 846, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__trigger:hover {
  background: var(--conv-primary-hover);
  transform: translateY(-1px);
}

/* line 851, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__trigger svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* line 858, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__form {
  display: none;
  background: var(--conv-primary);
  border-radius: var(--conv-rounded);
  padding: 0.75rem;
  box-shadow: var(--conv-shadow-bubble);
  width: 100%;
}

/* line 867, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__recipient {
  margin-bottom: var(--conv-space-2);
  color: rgba(255, 255, 255, 0.9);
  font-size: var(--conv-text-xs);
  font-weight: var(--conv-font-medium);
}

/* line 873, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__recipient strong {
  color: #fff;
  font-weight: var(--conv-font-bold);
}

/* line 880, app/assets/stylesheets/conversation.scss */
.conv-inline-reply--expanded .conv-inline-reply__trigger-wrapper {
  display: none;
}

/* line 884, app/assets/stylesheets/conversation.scss */
.conv-inline-reply--expanded .conv-inline-reply__form {
  display: block;
}

/* line 889, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__format-toggle {
  margin-bottom: var(--conv-space-2);
}

/* line 894, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__input-row {
  display: flex;
  gap: var(--conv-space-2);
  align-items: flex-end;
}

/* line 900, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__textarea {
  flex: 1;
  min-height: 36px;
  max-height: 80px;
  padding: 0.5rem 0.75rem;
  border: none;
  border-radius: var(--conv-rounded);
  font-size: var(--conv-text-sm);
  line-height: 1.4;
  resize: none;
  font-family: inherit;
  background: rgba(255, 255, 255, 0.95);
  color: var(--conv-text-primary);
}

/* line 914, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__textarea:focus {
  outline: none;
  background: #fff;
}

/* line 919, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__textarea::placeholder {
  color: var(--conv-text-muted);
}

/* line 924, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__send {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: var(--conv-rounded);
  color: #fff;
  cursor: pointer;
  transition: all 0.15s ease;
  flex-shrink: 0;
}

/* line 938, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__send:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.3);
}

/* line 942, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__send:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* line 947, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__send svg {
  width: 14px;
  height: 14px;
}

/* line 953, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__note {
  margin: var(--conv-space-2) 0 0 0;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
  font-style: italic;
}

/* line 961, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__refund .conv-button,
.conv-inline-reply__refund .conv-response-button {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

/* line 966, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__refund .conv-button:hover,
.conv-inline-reply__refund .conv-response-button:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* line 972, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__app-only {
  display: flex;
  flex-direction: column;
  gap: var(--conv-space-2);
  width: 100%;
}

/* line 978, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__app-only p {
  margin: 0;
  color: var(--conv-text-secondary);
  font-size: var(--conv-text-sm);
  text-align: center;
}

/* line 987, app/assets/stylesheets/conversation.scss */
.conv-inline-reply__idol-controls {
  display: flex;
  flex-direction: column;
  gap: var(--conv-space-2);
  width: 100%;
}

/* Response buttons matching mobile ResponseControls */
/* line 996, app/assets/stylesheets/conversation.scss */
.conv-response-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--conv-space-2);
  padding: 0.75rem 1rem;
  border: none;
  border-radius: var(--conv-rounded);
  font-size: var(--conv-text-sm);
  font-weight: var(--conv-font-medium);
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  flex: 1;
}

/* line 1011, app/assets/stylesheets/conversation.scss */
.conv-response-button svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* line 1017, app/assets/stylesheets/conversation.scss */
.conv-response-button--primary {
  background: var(--conv-primary);
  color: #fff;
  box-shadow: var(--conv-shadow-bubble);
}

/* line 1022, app/assets/stylesheets/conversation.scss */
.conv-response-button--primary:hover {
  background: var(--conv-primary-hover);
  transform: translateY(-1px);
}

/* line 1028, app/assets/stylesheets/conversation.scss */
.conv-response-button--secondary {
  background: rgba(113, 64, 243, 0.15);
  color: var(--conv-primary);
  border: 1px solid var(--conv-primary);
}

/* line 1033, app/assets/stylesheets/conversation.scss */
.conv-response-button--secondary:hover {
  background: rgba(113, 64, 243, 0.25);
}

/* line 1039, app/assets/stylesheets/conversation.scss */
.conv-response-button-row {
  display: flex;
  gap: var(--conv-space-2);
  width: 100%;
}

/* Light variant format toggle (for inside purple bubble) */
/* line 1046, app/assets/stylesheets/conversation.scss */
.conv-format-toggle--light {
  display: inline-flex;
  background: rgba(255, 255, 255, 0.15);
  border-radius: var(--conv-rounded-full);
  padding: 0.15rem;
}

/* line 1053, app/assets/stylesheets/conversation.scss */
.conv-format-button--light {
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  padding: 0.3rem 0.6rem;
  font-size: 11px;
  border-radius: var(--conv-rounded-full);
}

/* line 1060, app/assets/stylesheets/conversation.scss */
.conv-format-button--light svg {
  width: 12px;
  height: 12px;
}

/* line 1065, app/assets/stylesheets/conversation.scss */
.conv-format-button--light:hover {
  color: #fff;
}

/* line 1069, app/assets/stylesheets/conversation.scss */
.conv-format-button--light.conv-format-button--active {
  background: rgba(255, 255, 255, 0.95);
  color: var(--conv-primary);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

/* -----------------------------------------------------------------------------
   Composer - Main message input area
   ----------------------------------------------------------------------------- */
/* line 1079, app/assets/stylesheets/conversation.scss */
.conv-composer {
  padding: 1.25rem 1.5rem 2rem;
  background: var(--conv-background-secondary);
  border-top: 1px solid var(--conv-border-default);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: sticky;
  bottom: 0;
  z-index: 25;
  box-shadow: 0 -8px 24px rgba(31, 24, 62, 0.08);
  flex-shrink: 0;
}

/* line 1093, app/assets/stylesheets/conversation.scss */
.conv-open-app-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--conv-rounded-full);
  background: var(--conv-primary);
  color: var(--conv-white);
  font-size: var(--conv-text-sm);
  font-weight: var(--conv-font-semibold);
  padding: 0.65rem 1rem;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: var(--conv-shadow-sm);
}

/* line 1107, app/assets/stylesheets/conversation.scss */
.conv-open-app-link:hover {
  background: var(--conv-primary-hover);
}

/* line 1112, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--conv-space-4);
  border: 1px solid var(--conv-border-default);
  border-radius: var(--conv-rounded);
  background: #f8f6ff;
  padding: var(--conv-space-4);
}

/* line 1122, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta h2 {
  margin: 0 0 var(--conv-space-1);
  color: var(--conv-text-primary);
  font-size: var(--conv-text-base);
  font-weight: var(--conv-font-bold);
}

/* line 1129, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta p {
  margin: 0;
  color: var(--conv-text-secondary);
  font-size: var(--conv-text-sm);
  line-height: 1.4;
}

/* line 1136, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta__eyebrow {
  color: var(--conv-primary) !important;
  font-size: var(--conv-text-xs) !important;
  font-weight: var(--conv-font-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* line 1144, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta__actions {
  display: flex;
  flex-shrink: 0;
  gap: var(--conv-space-2);
}

/* line 1150, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--conv-rounded);
  background: var(--conv-primary);
  color: var(--conv-white);
  font-size: var(--conv-text-sm);
  font-weight: var(--conv-font-semibold);
  padding: 0.75rem 1rem;
  text-decoration: none;
  white-space: nowrap;
}

/* line 1163, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta__button:hover {
  background: var(--conv-primary-hover);
}

/* line 1167, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta__button--secondary {
  border: 1px solid var(--conv-primary);
  background: var(--conv-white);
  color: var(--conv-primary);
}

/* line 1172, app/assets/stylesheets/conversation.scss */
.conv-read-only-cta__button--secondary:hover {
  background: var(--conv-primary-light);
}

/* line 1179, app/assets/stylesheets/conversation.scss */
.conv-reply-type {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-grow: 1;
  flex-wrap: nowrap;
  gap: 0.75rem;
  font-weight: var(--conv-font-semibold);
  color: #7b7f99;
}

/* line 1191, app/assets/stylesheets/conversation.scss */
.conv-format-toggle {
  display: inline-flex;
  background: #f2eeff;
  width: 100%;
  border-radius: var(--conv-rounded-full);
  padding: 0.2rem;
}

/* line 1199, app/assets/stylesheets/conversation.scss */
.conv-format-button {
  border-radius: var(--conv-rounded-full);
  flex-grow: 1;
  flex-wrap: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  border: none;
  background: transparent;
  color: #7b7f99;
  padding: 0.45rem 0.9rem;
  font-weight: var(--conv-font-semibold);
  cursor: pointer;
  transition: all 0.2s ease;
}

/* line 1215, app/assets/stylesheets/conversation.scss */
.conv-format-button--active, .conv-format-button[aria-checked="true"] {
  background: var(--conv-primary);
  color: #fff;
  box-shadow: 0 6px 15px rgba(124, 58, 237, 0.35);
}

/* line 1222, app/assets/stylesheets/conversation.scss */
.conv-format-button svg {
  width: 18px;
  height: 18px;
}

/* line 1228, app/assets/stylesheets/conversation.scss */
.conv-form {
  position: relative;
  background: #f8f6ff;
  border-radius: var(--conv-rounded);
  gap: 0.65rem;
  border: 1px solid #ede9ff;
  transition: border-color 0.2s ease;
}

/* line 1236, app/assets/stylesheets/conversation.scss */
.conv-form:has(.conv-textarea:focus) {
  border-color: var(--conv-primary);
}

/* line 1241, app/assets/stylesheets/conversation.scss */
.conv-textarea {
  border: none;
  background: transparent;
  resize: none;
  flex-grow: 1;
  width: 100%;
  font-size: 1rem;
  font-weight: var(--conv-font-medium);
  color: #5d6072;
  min-height: 2.4rem;
  padding: var(--conv-space-3);
  font-family: inherit;
}

/* line 1254, app/assets/stylesheets/conversation.scss */
.conv-textarea:focus {
  outline: none;
  border: none;
  box-shadow: none;
}

/* line 1260, app/assets/stylesheets/conversation.scss */
.conv-textarea::placeholder {
  color: #b0b3c8;
}

/* line 1265, app/assets/stylesheets/conversation.scss */
.conv-form-row {
  display: flex;
  align-items: flex-end;
  gap: var(--conv-space-2);
}

/* line 1271, app/assets/stylesheets/conversation.scss */
.conv-form-actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* line 1277, app/assets/stylesheets/conversation.scss */
.conv-send-button {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: var(--conv-primary);
  color: #fff;
  box-shadow: 0 10px 20px rgba(124, 58, 237, 0.35);
  transition: all 0.15s ease;
}

/* line 1294, app/assets/stylesheets/conversation.scss */
.conv-send-button svg {
  width: 20px;
  height: 20px;
}

/* line 1299, app/assets/stylesheets/conversation.scss */
.conv-send-button:hover:not(:disabled) {
  background: var(--conv-primary-hover);
  transform: translateY(-1px);
}

/* line 1304, app/assets/stylesheets/conversation.scss */
.conv-send-button:active {
  transform: translateY(0);
}

/* line 1308, app/assets/stylesheets/conversation.scss */
.conv-send-button:disabled {
  background: var(--conv-grey-5);
  cursor: not-allowed;
  box-shadow: none;
}

/* Media preview */
/* line 1316, app/assets/stylesheets/conversation.scss */
.conv-media-preview {
  border: 1px dashed #c9c1f3;
  border-radius: var(--conv-rounded);
  padding: 0.75rem;
  display: none;
  background: #faf8ff;
}

/* line 1323, app/assets/stylesheets/conversation.scss */
.conv-media-preview.is-visible {
  display: block;
}

/* line 1327, app/assets/stylesheets/conversation.scss */
.conv-media-preview__content {
  position: relative;
}

/* line 1331, app/assets/stylesheets/conversation.scss */
.conv-media-preview__image, .conv-media-preview__video {
  max-width: 100%;
  max-height: 200px;
  border-radius: var(--conv-rounded);
}

/* line 1338, app/assets/stylesheets/conversation.scss */
.conv-media-preview__remove {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--conv-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

/* Input group for inline forms */
/* line 1357, app/assets/stylesheets/conversation.scss */
.conv-input-group {
  display: flex;
  gap: var(--conv-space-2);
  align-items: flex-end;
}

/* line 1363, app/assets/stylesheets/conversation.scss */
.conv-input {
  flex: 1;
  min-height: 36px;
  max-height: 80px;
  padding: var(--conv-space-2) var(--conv-space-3);
  border: 1px solid var(--conv-border-default);
  border-radius: var(--conv-rounded);
  font-size: var(--conv-text-sm);
  line-height: 1.4;
  resize: none;
  font-family: inherit;
  background: var(--conv-white);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* line 1377, app/assets/stylesheets/conversation.scss */
.conv-input:focus {
  outline: none;
  border-color: var(--conv-primary);
  box-shadow: 0 0 0 2px var(--conv-primary-light);
}

/* line 1383, app/assets/stylesheets/conversation.scss */
.conv-input::placeholder {
  color: var(--conv-text-muted);
}

/* line 1388, app/assets/stylesheets/conversation.scss */
.conv-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: var(--conv-rounded);
  font-weight: var(--conv-font-semibold);
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
}

/* line 1399, app/assets/stylesheets/conversation.scss */
.conv-button:disabled {
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* line 1405, app/assets/stylesheets/conversation.scss */
.conv-button--primary {
  background: var(--conv-primary);
  color: var(--conv-white);
  box-shadow: var(--conv-shadow-sm);
}

/* line 1410, app/assets/stylesheets/conversation.scss */
.conv-button--primary:hover:not(:disabled) {
  background: var(--conv-primary-hover);
  transform: translateY(-1px);
}

/* line 1415, app/assets/stylesheets/conversation.scss */
.conv-button--primary:disabled {
  background: var(--conv-grey-5) !important;
}

/* line 1420, app/assets/stylesheets/conversation.scss */
.conv-button--sm {
  width: 36px;
  height: 36px;
  font-size: var(--conv-text-sm);
}

/* line 1425, app/assets/stylesheets/conversation.scss */
.conv-button--sm svg {
  width: 14px;
  height: 14px;
}

/* line 1431, app/assets/stylesheets/conversation.scss */
.conv-button--md {
  width: 44px;
  height: 44px;
  font-size: var(--conv-text-sm);
}

/* line 1436, app/assets/stylesheets/conversation.scss */
.conv-button--md svg {
  width: 16px;
  height: 16px;
}

/* -----------------------------------------------------------------------------
   Empty State
   ----------------------------------------------------------------------------- */
/* line 1446, app/assets/stylesheets/conversation.scss */
.conv-empty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
}

/* line 1454, app/assets/stylesheets/conversation.scss */
.conv-empty__content {
  max-width: 330px;
}

/* line 1457, app/assets/stylesheets/conversation.scss */
.conv-empty__content h3 {
  margin: 0 0 var(--conv-space-3) 0;
  font-size: var(--conv-text-lg);
  font-weight: var(--conv-font-semibold);
  color: var(--conv-text-primary);
}

/* line 1464, app/assets/stylesheets/conversation.scss */
.conv-empty__content p {
  margin: 0 0 var(--conv-space-4) 0;
  font-size: var(--conv-text-sm);
  color: var(--conv-text-muted);
  line-height: 1.5;
}

/* line 1472, app/assets/stylesheets/conversation.scss */
.conv-empty__text {
  color: #b2b2c6;
}

/* -----------------------------------------------------------------------------
   Attention Indicators (above/below scroll)
   ----------------------------------------------------------------------------- */
/* line 1480, app/assets/stylesheets/conversation.scss */
.conv-indicator {
  position: absolute;
  padding: var(--conv-space-2);
  right: 0;
  left: 0;
  z-index: 20;
  background: var(--conv-background-secondary);
  display: none;
}

/* line 1489, app/assets/stylesheets/conversation.scss */
.conv-indicator--above {
  top: 0;
  padding-bottom: var(--conv-space-2);
}

/* line 1494, app/assets/stylesheets/conversation.scss */
.conv-indicator--below {
  bottom: 0;
  padding-top: var(--conv-space-2);
}

/* line 1499, app/assets/stylesheets/conversation.scss */
.conv-indicator__content {
  padding: var(--conv-space-1) var(--conv-space-3);
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--conv-space-1);
}

/* line 1509, app/assets/stylesheets/conversation.scss */
.conv-indicator__text {
  color: var(--conv-primary);
  font-weight: var(--conv-font-bold);
  font-size: var(--conv-text-sm);
}

/* line 1515, app/assets/stylesheets/conversation.scss */
.conv-indicator__icon {
  color: var(--conv-primary);
}

/* -----------------------------------------------------------------------------
   Accessibility
   ----------------------------------------------------------------------------- */
/* line 1523, app/assets/stylesheets/conversation.scss */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* -----------------------------------------------------------------------------
   Animations
   ----------------------------------------------------------------------------- */
@keyframes conv-message-slide-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes conv-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* line 1558, app/assets/stylesheets/conversation.scss */
.conv-loading-dots {
  display: inline-block;
  animation: conv-loading-dots 1.4s infinite ease-in-out;
}

@keyframes conv-loading-dots {
  0%, 80%, 100% {
    opacity: 0.3;
  }
  40% {
    opacity: 1;
  }
}

/* -----------------------------------------------------------------------------
   Responsive Design
   ----------------------------------------------------------------------------- */
@media (max-width: 768px) {
  /* line 1576, app/assets/stylesheets/conversation.scss */
  .conv-sidebar {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
  /* line 1585, app/assets/stylesheets/conversation.scss */
  .conv-sidebar.is-open {
    transform: translateX(0);
  }
  /* line 1590, app/assets/stylesheets/conversation.scss */
  .conv-main {
    width: 100%;
  }
  /* line 1594, app/assets/stylesheets/conversation.scss */
  .conv-thread {
    padding: var(--conv-space-3) var(--conv-space-4);
  }
  /* line 1598, app/assets/stylesheets/conversation.scss */
  .conv-composer {
    padding: var(--conv-space-3) var(--conv-space-4) var(--conv-space-4);
  }
  /* line 1602, app/assets/stylesheets/conversation.scss */
  .conv-header {
    padding: var(--conv-space-3) var(--conv-space-4);
  }
  /* line 1606, app/assets/stylesheets/conversation.scss */
  .conv-read-only-cta {
    align-items: stretch;
    flex-direction: column;
  }
  /* line 1610, app/assets/stylesheets/conversation.scss */
  .conv-read-only-cta__actions {
    flex-direction: column;
  }
}

/* -----------------------------------------------------------------------------
   Typography improvements
   ----------------------------------------------------------------------------- */
/* line 1619, app/assets/stylesheets/conversation.scss */
.conv-message__text {
  /* Grouped messages within the same bubble */
}

/* line 1620, app/assets/stylesheets/conversation.scss */
.conv-message__text strong {
  font-weight: var(--conv-font-semibold);
}

/* line 1624, app/assets/stylesheets/conversation.scss */
.conv-message__text em {
  font-style: italic;
}

/* line 1628, app/assets/stylesheets/conversation.scss */
.conv-message__text code {
  background: rgba(0, 0, 0, 0.1);
  padding: var(--conv-space-1);
  border-radius: var(--conv-rounded-sm);
  font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
  font-size: 0.9em;
}

/* line 1637, app/assets/stylesheets/conversation.scss */
.conv-message__text--grouped {
  margin-top: var(--conv-space-2);
  padding-top: var(--conv-space-2);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* line 1642, app/assets/stylesheets/conversation.scss */
.conv-message--received .conv-message__text--grouped {
  border-top-color: rgba(0, 0, 0, 0.08);
}

/* -----------------------------------------------------------------------------
   Focus improvements for accessibility
   ----------------------------------------------------------------------------- */
/* line 1652, app/assets/stylesheets/conversation.scss */
.conv-layout *:focus-visible {
  outline: 2px solid var(--conv-primary);
  outline-offset: 2px;
}

/* -----------------------------------------------------------------------------
   Shared room invites
   ----------------------------------------------------------------------------- */
/* line 1662, app/assets/stylesheets/conversation.scss */
.conv-header__actions {
  margin-left: auto;
}

/* line 1666, app/assets/stylesheets/conversation.scss */
.conv-header__details p {
  margin: 0.15rem 0 0;
  color: var(--conv-text-secondary);
  font-size: var(--conv-text-sm);
}

/* line 1673, app/assets/stylesheets/conversation.scss */
.conv-shared-list-avatar {
  position: relative;
  width: 62px;
  height: 62px;
}

/* line 1678, app/assets/stylesheets/conversation.scss */
.conv-shared-list-avatar__athlete {
  position: relative;
  width: 62px;
  height: 62px;
}

/* line 1684, app/assets/stylesheets/conversation.scss */
.conv-shared-list-avatar__alert {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 12px;
  height: 12px;
  border-radius: var(--conv-rounded-full);
  border: 2px solid var(--conv-white);
  background: var(--conv-attention);
}

/* line 1695, app/assets/stylesheets/conversation.scss */
.conv-shared-list-avatar__members {
  position: absolute;
  left: -5px;
  bottom: -10px;
  height: 24px;
}

/* line 1702, app/assets/stylesheets/conversation.scss */
.conv-shared-list-avatar__member {
  position: absolute;
  top: 0;
}

/* line 1706, app/assets/stylesheets/conversation.scss */
.conv-shared-list-avatar__member img,
.conv-shared-list-avatar__member span {
  border: 1px solid var(--conv-white);
  box-shadow: var(--conv-shadow-sm);
}

/* line 1714, app/assets/stylesheets/conversation.scss */
.conv-invite-stack-button {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  height: 40px;
  display: flex;
  align-items: center;
}

/* line 1723, app/assets/stylesheets/conversation.scss */
.conv-invite-stack-button:focus-visible {
  border-radius: var(--conv-rounded-full);
}

/* line 1728, app/assets/stylesheets/conversation.scss */
.conv-invite-stack {
  position: relative;
  display: block;
  height: 34px;
}

/* line 1733, app/assets/stylesheets/conversation.scss */
.conv-invite-stack__slot, .conv-invite-stack__plus {
  position: absolute;
  top: 1px;
  width: 32px;
  height: 32px;
  border-radius: var(--conv-rounded-full);
  overflow: hidden;
}

/* line 1743, app/assets/stylesheets/conversation.scss */
.conv-invite-stack__plus {
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--conv-primary);
  background: var(--conv-white);
  color: var(--conv-primary);
  font-size: 18px;
  font-weight: var(--conv-font-semibold);
  line-height: 1;
}

/* line 1757, app/assets/stylesheets/conversation.scss */
.conv-avatar-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--conv-rounded-full);
  border: 1px solid var(--conv-grey-3);
  overflow: hidden;
  background: var(--conv-grey);
  color: var(--conv-grey-3);
}

/* line 1767, app/assets/stylesheets/conversation.scss */
.conv-avatar-placeholder svg {
  fill: currentColor;
}

/* line 1772, app/assets/stylesheets/conversation.scss */
.conv-invite-modal[hidden] {
  display: none;
}

/* line 1776, app/assets/stylesheets/conversation.scss */
.conv-invite-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  align-items: end;
  justify-items: center;
  padding: 0 var(--conv-space-5);
}

/* line 1785, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 14, 32, 0.48);
}

/* line 1791, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__panel {
  position: relative;
  width: 100%;
  max-width: 420px;
  border-radius: 24px 24px 0 0;
  background: var(--conv-background-secondary);
  box-shadow: var(--conv-shadow-bubble);
  padding: var(--conv-space-4) var(--conv-space-6) var(--conv-space-8);
}

/* line 1801, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__close {
  position: absolute;
  top: var(--conv-space-3);
  right: var(--conv-space-3);
  border: 0;
  background: transparent;
  color: var(--conv-text-secondary);
  font-size: 1.5rem;
  cursor: pointer;
}

/* line 1812, app/assets/stylesheets/conversation.scss */
.conv-invite-modal h2 {
  margin: var(--conv-space-8) 0 var(--conv-space-2);
  color: var(--conv-text-primary);
  font-size: 1.25rem;
  font-weight: var(--conv-font-bold);
  text-align: center;
}

/* line 1820, app/assets/stylesheets/conversation.scss */
.conv-invite-modal p {
  color: var(--conv-text-secondary);
  text-align: center;
}

/* line 1825, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__share {
  border: 0;
  border-radius: var(--conv-rounded);
  font-weight: var(--conv-font-semibold);
  cursor: pointer;
}

/* line 1832, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__members {
  margin: var(--conv-space-6) 0 var(--conv-space-5);
}

/* line 1836, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__member {
  display: flex;
  align-items: center;
  padding: var(--conv-space-2) 0;
  font-weight: var(--conv-font-semibold);
}

/* line 1842, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__member > span:last-child {
  margin-left: var(--conv-space-3);
}

/* line 1846, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__member--empty {
  opacity: 0.6;
  color: var(--conv-grey-3);
  font-weight: var(--conv-font-medium);
}

/* line 1853, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__hidden-link {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* line 1861, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__share {
  width: 100%;
  background: var(--conv-primary);
  color: var(--conv-white);
  padding: 0.85rem 1rem;
}

/* line 1867, app/assets/stylesheets/conversation.scss */
.conv-invite-modal__share:disabled {
  background: var(--conv-grey-5);
  color: var(--conv-grey-3);
  cursor: not-allowed;
}

/* -----------------------------------------------------------------------------
   Support report context (admin support sidebar)
   ----------------------------------------------------------------------------- */
/* line 1878, app/assets/stylesheets/conversation.scss */
.conv-report-context {
  margin: 0 auto var(--conv-space-6);
  max-width: 860px;
  border: 1px solid var(--conv-border-default);
  border-radius: var(--conv-rounded);
  background: var(--conv-background-secondary);
  padding: var(--conv-space-3) var(--conv-space-4);
  box-shadow: var(--conv-shadow-sm);
}

/* line 1887, app/assets/stylesheets/conversation.scss */
.conv-report-context .conv-report-internal__comment-header,
.conv-report-context .conv-report-actions {
  display: flex;
}

/* line 1892, app/assets/stylesheets/conversation.scss */
.conv-report-context__top {
  margin-bottom: var(--conv-space-3);
}

/* line 1896, app/assets/stylesheets/conversation.scss */
.conv-report-context__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--conv-space-3);
}

/* line 1903, app/assets/stylesheets/conversation.scss */
.conv-report-context__title {
  margin: 0;
  font-size: var(--conv-text-sm);
  font-weight: var(--conv-font-bold);
  color: var(--conv-text-primary);
  letter-spacing: 0.02em;
}

/* line 1911, app/assets/stylesheets/conversation.scss */
.conv-report-context__subtitle {
  margin: var(--conv-space-1) 0 0;
  font-size: var(--conv-text-xs);
  color: var(--conv-text-secondary);
  line-height: 1.35;
}

/* line 1918, app/assets/stylesheets/conversation.scss */
.conv-report-context__status {
  flex-shrink: 0;
  border-radius: var(--conv-rounded-full);
  padding: 2px var(--conv-space-2);
  font-size: 11px;
  font-weight: var(--conv-font-bold);
}

/* line 1925, app/assets/stylesheets/conversation.scss */
.conv-report-context__status--pending {
  background: var(--conv-primary-light);
  color: var(--conv-primary);
}

/* line 1930, app/assets/stylesheets/conversation.scss */
.conv-report-context__status--resolved {
  background: #dcfce7;
  color: #166534;
}

/* line 1936, app/assets/stylesheets/conversation.scss */
.conv-report-context__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--conv-space-2) var(--conv-space-4);
  margin: var(--conv-space-3) 0 0;
  padding: 0;
  border: 0;
}

/* line 1945, app/assets/stylesheets/conversation.scss */
.conv-report-context__meta-item {
  margin: 0;
  min-width: 0;
}

/* line 1949, app/assets/stylesheets/conversation.scss */
.conv-report-context__meta-item dt {
  margin: 0;
  font-size: 10px;
  font-weight: var(--conv-font-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--conv-text-secondary);
}

/* line 1958, app/assets/stylesheets/conversation.scss */
.conv-report-context__meta-item dd {
  margin: 2px 0 0;
  font-size: var(--conv-text-xs);
  font-weight: var(--conv-font-semibold);
  color: var(--conv-text-primary);
}

/* line 1966, app/assets/stylesheets/conversation.scss */
.conv-report-context__reasons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--conv-space-1);
  margin-top: var(--conv-space-2);
}

/* line 1972, app/assets/stylesheets/conversation.scss */
.conv-report-context__reasons span {
  border-radius: var(--conv-rounded-full);
  background: var(--conv-primary-light);
  color: var(--conv-primary);
  padding: 2px var(--conv-space-2);
  font-size: 11px;
  font-weight: var(--conv-font-semibold);
}

/* line 1982, app/assets/stylesheets/conversation.scss */
.conv-report-context__exchange {
  border-radius: var(--conv-rounded);
  border: 1px solid var(--conv-border-light);
  background: var(--conv-grey);
  padding: var(--conv-space-3);
}

/* line 1989, app/assets/stylesheets/conversation.scss */
.conv-report-context__details {
  margin-top: var(--conv-space-3);
  padding: var(--conv-space-2) var(--conv-space-3);
  border-radius: var(--conv-rounded-sm);
  border: 1px solid var(--conv-border-light);
  background: var(--conv-background-secondary);
  box-shadow: inset 0 0 0 1px var(--conv-primary-light);
}

/* line 1998, app/assets/stylesheets/conversation.scss */
.conv-report-context__details-label {
  display: block;
  font-size: 10px;
  font-weight: var(--conv-font-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--conv-text-secondary);
}

/* line 2007, app/assets/stylesheets/conversation.scss */
.conv-report-context__details-body {
  margin: var(--conv-space-1) 0 0;
  font-size: var(--conv-text-sm);
  line-height: 1.45;
  color: var(--conv-text-primary);
  white-space: pre-line;
}

/* line 2016, app/assets/stylesheets/conversation.scss */
.conv-exchange__report-column .conv-report-context {
  margin: 0;
  max-width: none;
  padding: var(--conv-space-3);
}

/* line 2022, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container {
  margin-top: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

/* line 2028, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row {
  display: flex;
  margin-top: var(--conv-space-3);
}

/* line 2032, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row--right {
  justify-content: flex-end;
}

/* line 2036, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row--left {
  justify-content: flex-start;
}

/* line 2040, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row--stacked {
  margin-top: var(--conv-space-1);
}

/* line 2045, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row-bubble,
.conv-report-context .message-chat-container .message-column {
  width: 100%;
  max-width: 680px;
}

/* line 2051, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row-bubble__stack {
  display: flex;
  flex-direction: column;
  gap: var(--conv-space-2);
  min-width: 0;
  width: 100%;
  max-width: 680px;
}

/* line 2059, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row-bubble__stack--right {
  align-items: stretch;
}

/* line 2062, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row-bubble__stack--right .message-column {
  align-self: flex-end;
  width: fit-content;
  max-width: 100%;
}

/* line 2069, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row-bubble__stack--left {
  align-items: stretch;
}

/* line 2072, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-row-bubble__stack--left .message-column {
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
}

/* line 2080, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-bubble {
  border-radius: 14px;
  padding: var(--conv-space-2) var(--conv-space-3);
  box-shadow: var(--conv-shadow-sm);
}

/* line 2085, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-bubble--purple {
  background: var(--conv-primary);
  color: var(--conv-white);
}

/* line 2090, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-bubble--grey {
  background: var(--conv-background-secondary);
  color: var(--conv-text-primary);
  border: 1px solid var(--conv-border-light);
}

/* line 2097, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-bubble-sender,
.conv-report-context .message-chat-container .message-bubble-footer {
  font-size: var(--conv-text-xs);
  opacity: 0.75;
}

/* line 2103, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-bubble-sender {
  font-weight: var(--conv-font-bold);
  margin-bottom: 2px;
}

/* line 2108, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-bubble-content {
  font-size: var(--conv-text-sm);
  line-height: 1.4;
}

/* line 2113, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-bubble-footer {
  margin-top: var(--conv-space-1);
}

/* line 2117, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .reported-indicator,
.conv-report-context .message-chat-container .deleted-indicator {
  margin-left: var(--conv-space-2);
  border-radius: var(--conv-rounded-full);
  padding: 2px 6px;
  font-size: 10px;
  font-weight: var(--conv-font-bold);
}

/* line 2126, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .reported-indicator {
  background: #fee2e2;
  color: #991b1b;
}

/* line 2131, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .deleted-indicator {
  background: #e5e7eb;
  color: #374151;
}

/* line 2136, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-replacement-block,
.conv-report-context .message-chat-container .message-original-block {
  display: grid;
  gap: var(--conv-space-1);
}

/* line 2142, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-original-block {
  margin-top: var(--conv-space-2);
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  padding-top: var(--conv-space-2);
}

/* line 2148, app/assets/stylesheets/conversation.scss */
.conv-report-context .message-chat-container .message-block-label {
  font-size: 10px;
  font-weight: var(--conv-font-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Safety score panel — shared by support report context & admin report#show */
/* line 2157, app/assets/stylesheets/conversation.scss */
.message-safety-panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: var(--conv-rounded);
  border: 1px solid var(--conv-border-default);
  background: var(--conv-background-secondary);
  padding: var(--conv-space-2) var(--conv-space-3);
  box-shadow: var(--conv-shadow-sm);
}

/* line 2167, app/assets/stylesheets/conversation.scss */
.message-safety-panel__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--conv-space-2);
  margin-bottom: var(--conv-space-2);
}

/* line 2176, app/assets/stylesheets/conversation.scss */
.message-safety-panel__title {
  font-size: var(--conv-text-xs);
  font-weight: var(--conv-font-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--conv-primary);
}

/* line 2184, app/assets/stylesheets/conversation.scss */
.message-safety-panel__hint {
  font-size: 10px;
  color: var(--conv-text-secondary);
}

/* line 2189, app/assets/stylesheets/conversation.scss */
.message-safety-panel__gauges {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2px;
  width: 100%;
  min-width: 0;
  padding-top: var(--conv-space-1);
  border-top: 1px solid var(--conv-border-light);
}

/* line 2201, app/assets/stylesheets/conversation.scss */
.message-safety-panel__gauge {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 0;
  max-width: 48px;
}

/* line 2211, app/assets/stylesheets/conversation.scss */
.message-safety-panel__gauge-label {
  font-size: 9px;
  font-weight: var(--conv-font-bold);
  color: var(--conv-text-secondary);
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
}

/* line 2220, app/assets/stylesheets/conversation.scss */
.message-safety-panel__gauge-ring {
  position: relative;
  width: 100%;
  max-width: 40px;
  aspect-ratio: 1;
  margin: 0 auto;
}

/* line 2228, app/assets/stylesheets/conversation.scss */
.message-safety-panel__svg {
  display: block;
  width: 100%;
  height: auto;
}

/* line 2234, app/assets/stylesheets/conversation.scss */
.message-safety-panel__track {
  stroke: var(--conv-grey-4);
}

/* line 2238, app/assets/stylesheets/conversation.scss */
.message-safety-panel__gauge-pct {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: var(--conv-font-bold);
  color: var(--conv-text-primary);
}

@media (max-width: 1180px) {
  /* line 2251, app/assets/stylesheets/conversation.scss */
  .conv-exchange__report-layout {
    grid-template-columns: 1fr;
    justify-content: stretch;
  }
  /* line 2256, app/assets/stylesheets/conversation.scss */
  .conv-exchange__dialog-column {
    max-width: none;
  }
}

/* line 2262, app/assets/stylesheets/conversation.scss */
.conv-report-internal {
  margin-top: var(--conv-space-3);
  border: 1px solid var(--conv-border-light);
  border-radius: var(--conv-rounded);
  background: var(--conv-grey);
  padding: var(--conv-space-2) var(--conv-space-3);
}

/* line 2269, app/assets/stylesheets/conversation.scss */
.conv-report-internal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--conv-space-2);
  flex-wrap: wrap;
}

/* line 2277, app/assets/stylesheets/conversation.scss */
.conv-report-internal__title {
  font-size: var(--conv-text-xs);
  font-weight: var(--conv-font-bold);
  color: var(--conv-text-primary);
}

/* line 2283, app/assets/stylesheets/conversation.scss */
.conv-report-internal__badge {
  font-size: 10px;
  font-weight: var(--conv-font-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--conv-primary);
  background: var(--conv-primary-light);
  border-radius: var(--conv-rounded-full);
  padding: 2px var(--conv-space-2);
}

/* line 2294, app/assets/stylesheets/conversation.scss */
.conv-report-internal__comments {
  display: grid;
  gap: var(--conv-space-2);
  margin: var(--conv-space-2) 0;
}

/* line 2300, app/assets/stylesheets/conversation.scss */
.conv-report-internal__comment {
  border-radius: var(--conv-rounded-sm);
  background: var(--conv-background-secondary);
  border: 1px solid var(--conv-border-light);
  padding: var(--conv-space-2);
}

/* line 2307, app/assets/stylesheets/conversation.scss */
.conv-report-internal__comment-header {
  display: flex;
  justify-content: space-between;
  gap: var(--conv-space-3);
  color: var(--conv-text-secondary);
  font-size: var(--conv-text-xs);
}

/* line 2315, app/assets/stylesheets/conversation.scss */
.conv-report-internal__comment-body {
  margin-top: var(--conv-space-1);
  color: var(--conv-text-primary);
  font-size: var(--conv-text-sm);
}

/* line 2321, app/assets/stylesheets/conversation.scss */
.conv-report-internal__empty {
  margin: 0;
  padding: var(--conv-space-1) 0;
  color: var(--conv-text-secondary);
  font-size: var(--conv-text-xs);
}

/* line 2329, app/assets/stylesheets/conversation.scss */
.conv-report-internal-form {
  display: grid;
  gap: var(--conv-space-2);
}

/* line 2333, app/assets/stylesheets/conversation.scss */
.conv-report-internal-form__textarea {
  width: 100%;
  resize: none;
  border: 1px solid var(--conv-border-default);
  border-radius: var(--conv-rounded-sm);
  background: var(--conv-background-secondary);
  padding: var(--conv-space-2);
  color: var(--conv-text-primary);
  font: inherit;
  font-size: var(--conv-text-sm);
  min-height: 2.75rem;
}

/* line 2346, app/assets/stylesheets/conversation.scss */
.conv-report-internal-form__send {
  justify-self: flex-end;
}

/* line 2351, app/assets/stylesheets/conversation.scss */
.conv-report-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--conv-space-2);
  justify-content: flex-end;
  margin-top: var(--conv-space-3);
}

/* line 2359, app/assets/stylesheets/conversation.scss */
.conv-report-actions form.button_to {
  display: inline-block;
  margin: 0;
  padding: 0;
}

/* line 2366, app/assets/stylesheets/conversation.scss */
.conv-report-action {
  appearance: none;
  border-radius: var(--conv-rounded);
  padding: 6px 12px;
  font-size: var(--conv-text-xs);
  font-weight: var(--conv-font-semibold);
  cursor: pointer;
  line-height: 1.25;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

/* line 2376, app/assets/stylesheets/conversation.scss */
.conv-report-action--delete {
  border: 1px solid rgba(220, 38, 38, 0.45);
  background: rgba(220, 38, 38, 0.06);
  color: #b91c1c;
}

/* line 2381, app/assets/stylesheets/conversation.scss */
.conv-report-action--delete:hover {
  background: rgba(220, 38, 38, 0.12);
  border-color: rgba(185, 28, 28, 0.55);
}

/* line 2387, app/assets/stylesheets/conversation.scss */
.conv-report-action--resolve {
  border: 1px solid var(--conv-primary);
  background: var(--conv-primary);
  color: var(--conv-white);
}

/* line 2392, app/assets/stylesheets/conversation.scss */
.conv-report-action--resolve:hover {
  background: var(--conv-primary-hover);
  border-color: var(--conv-primary-hover);
}
/* Devise Authentication Pages Styling - Matching OffscriptClient React Native App */

@layer base {
  /* Base Body Styling */
  body {
    font-family: 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

@layer components {
  /* Button Hover States */
  input[type="submit"]:hover,
  button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(113, 64, 243, 0.3);
  }

  input[type="submit"]:active,
  button:active {
    transform: translateY(0);
  }

  /* Link Hover States */
  a {
    transition: color 0.2s ease-in-out;
  }

  a:hover {
    opacity: 0.8;
  }

  /* Checkbox Styling */
  input[type="checkbox"]:checked {
    background-color: theme('colors.offscript.primary');
    border-color: theme('colors.offscript.primary');
  }

  input[type="checkbox"]:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(113, 64, 243, 0.1);
  }

  /* Error Message Styling */
  .field_with_errors {
    display: inline;
  }

  .field_with_errors input {
    @apply border-red-500;
  }

  /* Flash Messages */
  .alert {
    @apply py-4 px-6 rounded-offscript mb-6;
  }

  .alert-error,
  .alert-alert {
    @apply bg-red-50 border border-red-500 text-red-500;
  }

  .alert-notice,
  .alert-success {
    @apply bg-green-50 border border-green-600 text-green-600;
  }
}

@layer utilities {
  /* Smooth Transitions */
  * {
    transition: border-color 0.15s ease-in-out;
  }
}

/* Responsive adjustments */
@media (max-width: 640px) {
  body {
    padding: 0;
  }

  /* Adjust form spacing on mobile */
  input[type="email"],
  input[type="password"],
  input[type="text"] {
    font-size: 16px !important; /* Prevent zoom on iOS */
  }

  /* Adjust button sizes on mobile */
  input[type="submit"],
  button {
    min-height: 48px;
  }
}

/* iOS Safari specific fixes */
@supports (-webkit-touch-callout: none) {
  input[type="email"],
  input[type="password"],
  input[type="text"] {
    font-size: 16px;
  }
}
/* line 18, app/assets/stylesheets/idols.scss */
.idol-profile {
  min-height: 100vh;
  background-color: #fbfbfb;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 29, app/assets/stylesheets/idols.scss */
.idol-profile__topbar {
  width: 100%;
  max-width: 480px;
  height: 55px;
  background-color: #fbfbfb;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  flex-shrink: 0;
}

/* line 41, app/assets/stylesheets/idols.scss */
.idol-profile__topbar-title {
  margin: 0;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  color: #2B2145;
  text-align: center;
  word-break: break-word;
}

/* line 56, app/assets/stylesheets/idols.scss */
.idol-profile__body {
  width: 100%;
  max-width: 480px;
  padding: 0 24px 12px;
}

@media (min-width: 640px) {
  /* line 56, app/assets/stylesheets/idols.scss */
  .idol-profile__body {
    padding: 0 24px 12rem;
  }
}

/* line 71, app/assets/stylesheets/idols.scss */
.idol-profile__video-container {
  margin: 8px 52px 0;
  aspect-ratio: 3 / 4;
  border-radius: 12px;
  overflow: hidden;
  background-color: #000000;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  display: flex;
}

/* line 81, app/assets/stylesheets/idols.scss */
.idol-profile__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background-color: #000000;
}

/* line 89, app/assets/stylesheets/idols.scss */
.idol-profile__video-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom right, #F0F0F0, #E7E7E7);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* line 99, app/assets/stylesheets/idols.scss */
.idol-profile__video-placeholder-icon {
  width: 4rem;
  height: 4rem;
  color: #757575;
  margin-bottom: 0.75rem;
}

/* line 106, app/assets/stylesheets/idols.scss */
.idol-profile__video-placeholder-text {
  color: #757575;
  font-size: 14px;
  font-weight: 500;
  margin: 0;
}

/* line 123, app/assets/stylesheets/idols.scss */
.idol-profile__avatar-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 20px;
}

/* line 130, app/assets/stylesheets/idols.scss */
.idol-profile__avatar-row > img, .idol-profile__avatar-row > span {
  width: 70px;
  height: 70px;
  border-radius: 9999px;
  border: 2px solid #fbfbfb;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* line 140, app/assets/stylesheets/idols.scss */
.idol-profile__avatar-row > img {
  object-fit: cover;
  box-shadow: none;
}

/* line 145, app/assets/stylesheets/idols.scss */
.idol-profile__avatar-row > span {
  background-color: #7140F3;
  color: #fbfbfb;
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 156, app/assets/stylesheets/idols.scss */
.idol-profile__avatar-info {
  margin-left: 15px;
  flex: 1;
  min-width: 0;
}

/* line 165, app/assets/stylesheets/idols.scss */
.idol-profile__role-org {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  margin-bottom: 5px;
  color: #2B2145;
}

/* line 174, app/assets/stylesheets/idols.scss */
.idol-profile__role {
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
  color: #2B2145;
  word-break: break-word;
}

/* line 183, app/assets/stylesheets/idols.scss */
.idol-profile__role-sep {
  font-size: 17px;
  line-height: 23px;
  font-weight: 400;
  color: #2B2145;
  white-space: pre;
}

/* line 191, app/assets/stylesheets/idols.scss */
.idol-profile__org {
  font-size: 18px;
  line-height: 28px;
  font-weight: 400;
  color: #2B2145;
  word-break: break-word;
}

/* line 204, app/assets/stylesheets/idols.scss */
.idol-profile__pricing {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}

/* line 211, app/assets/stylesheets/idols.scss */
.idol-profile__pricing-item {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  color: #7140F3;
  text-decoration: none;
  font-size: 17px;
  line-height: 23px;
  font-weight: 400;
  cursor: pointer;
  transition: opacity 150ms;
}

/* line 223, app/assets/stylesheets/idols.scss */
.idol-profile__pricing-item:hover, .idol-profile__pricing-item:focus {
  color: #7140F3;
  text-decoration: none;
  opacity: 0.85;
}

/* line 230, app/assets/stylesheets/idols.scss */
.idol-profile__pricing-item:active {
  opacity: 0.7;
}

/* line 235, app/assets/stylesheets/idols.scss */
.idol-profile__pricing-icon {
  font-size: 20px;
  line-height: 1;
  color: #7140F3;
}

/* line 241, app/assets/stylesheets/idols.scss */
.idol-profile__pricing-text {
  color: #7140F3;
  margin-left: 4px;
}

/* line 246, app/assets/stylesheets/idols.scss */
.idol-profile__pricing-sep {
  margin: 0 7px;
  color: #2B2145;
  font-size: 17px;
  line-height: 23px;
  font-weight: 400;
}

/* line 258, app/assets/stylesheets/idols.scss */
.idol-profile__bio {
  margin-top: 20px;
  color: #2B2145;
  font-size: 17px;
  line-height: 23px;
  word-break: break-word;
}

/* line 265, app/assets/stylesheets/idols.scss */
.idol-profile__bio p {
  margin: 0;
}

/* line 268, app/assets/stylesheets/idols.scss */
.idol-profile__bio p + p {
  margin-top: 0.5em;
}

/* line 278, app/assets/stylesheets/idols.scss */
.idol-profile__career {
  margin-top: 20px;
}

/* line 282, app/assets/stylesheets/idols.scss */
.idol-profile__career-title {
  margin: 0;
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
  color: #2B2145;
}

/* line 290, app/assets/stylesheets/idols.scss */
.idol-profile__career-content {
  margin: 0;
  font-size: 17px;
  line-height: 23px;
  font-weight: 400;
  color: #2B2145;
  word-break: break-word;
}

/* line 307, app/assets/stylesheets/idols.scss */
.idol-profile-cta {
  position: fixed;
  bottom: 60px;
  left: 0;
  right: 0;
  z-index: 50;
  background-color: #fbfbfb;
  border-top: 1px solid #E7E7E7;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
}

/* line 319, app/assets/stylesheets/idols.scss */
.idol-profile-cta__container {
  width: 100%;
  max-width: 480px;
  padding: 0.75rem 1rem;
}

@media (min-width: 640px) {
  /* line 319, app/assets/stylesheets/idols.scss */
  .idol-profile-cta__container {
    padding: 1rem 1.5rem;
  }
}

/* line 329, app/assets/stylesheets/idols.scss */
.idol-profile-cta__layout {
  display: flex;
  flex-direction: column;
}

/* line 334, app/assets/stylesheets/idols.scss */
.idol-profile-cta__button-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 341, app/assets/stylesheets/idols.scss */
.idol-profile-cta__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  border-radius: 13px;
  background-color: #7140F3;
  padding: 0.45rem 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  transition: all 150ms;
  text-decoration: none;
}

@media (min-width: 640px) {
  /* line 341, app/assets/stylesheets/idols.scss */
  .idol-profile-cta__button {
    padding: 1rem 1.5rem;
    font-size: 1.125rem;
    min-height: 3.25rem;
  }
}

/* line 362, app/assets/stylesheets/idols.scss */
.idol-profile-cta__button:hover {
  background-color: rgba(113, 64, 243, 0.9);
  color: #ffffff;
  text-decoration: none;
}

/* line 368, app/assets/stylesheets/idols.scss */
.idol-profile-cta__button:active {
  transform: scale(0.98);
}

/* line 372, app/assets/stylesheets/idols.scss */
.idol-profile-cta__button--secondary {
  border: 1px solid #7140F3;
  background-color: #ffffff;
  color: #7140F3;
}

/* line 377, app/assets/stylesheets/idols.scss */
.idol-profile-cta__button--secondary:hover {
  background-color: rgba(113, 64, 243, 0.08);
  color: #7140F3;
}

/* line 384, app/assets/stylesheets/idols.scss */
.idol-profile-cta__hint {
  margin: 0.5rem 0 0;
  color: #6B7280;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: center;
}
/* line 5, app/assets/stylesheets/pages.scss */
nav {
  position: fixed;
  top: 0;
  height: 80px;
}

/* line 10, app/assets/stylesheets/pages.scss */
nav ul {
  list-style: none;
  display: flex;
  align-items: center;
}

/* line 21, app/assets/stylesheets/pages.scss */
section.home {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  font-family: "Poppins", sans-serif;
}

/* line 33, app/assets/stylesheets/pages.scss */
section.main {
  flex-grow: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 100vw;
}

/* line 41, app/assets/stylesheets/pages.scss */
section.main > img {
  max-width: 100%;
  margin: 0 20px;
}

/* line 46, app/assets/stylesheets/pages.scss */
section.main blockquote {
  text-align: center;
  font-size: calc(10px + 1.7vw);
  font-weight: bold;
  color: #191919;
  font-style: italic;
  letter-spacing: 3px;
  line-height: 1.3;
  padding-top: 20px;
}

/* line 56, app/assets/stylesheets/pages.scss */
section.main blockquote span {
  display: inline-block;
  white-space: nowrap;
}

/* line 61, app/assets/stylesheets/pages.scss */
section.main blockquote small {
  font-size: 18px;
}

/* line 67, app/assets/stylesheets/pages.scss */
section.social {
  display: flex;
  margin-bottom: 100px;
  width: 300px;
  max-width: 100%;
  justify-content: space-between;
}

/* line 74, app/assets/stylesheets/pages.scss */
section.social a {
  margin: 0 20px;
}

/* line 76, app/assets/stylesheets/pages.scss */
section.social a img {
  max-width: 50px;
  width: 100%;
}
/* line 25, app/assets/stylesheets/room_invites.scss */
.invite-preview-page {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  background-color: #000000;
  color: #2B2145;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* line 35, app/assets/stylesheets/room_invites.scss */
.invite-preview-page * {
  box-sizing: border-box;
}

/* line 43, app/assets/stylesheets/room_invites.scss */
.invite-preview {
  min-height: 100vh;
  min-height: 100dvh;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}

/* line 52, app/assets/stylesheets/room_invites.scss */
.invite-preview__sheet {
  width: 100%;
  max-width: 393px;
  max-height: 90vh;
  background-color: #fbfbfb;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 24px 24px 0 0;
  padding: 16px 24px 32px;
}

/* line 64, app/assets/stylesheets/room_invites.scss */
.invite-preview__close-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}

/* line 72, app/assets/stylesheets/room_invites.scss */
.invite-preview__close-icon {
  width: 36px;
  height: 36px;
  position: relative;
  display: block;
  flex-shrink: 0;
}

/* line 79, app/assets/stylesheets/room_invites.scss */
.invite-preview__close-icon::before, .invite-preview__close-icon::after {
  content: "";
  position: absolute;
  top: 17px;
  left: 10px;
  width: 16px;
  height: 2px;
  border-radius: 9999px;
  background-color: #757575;
}

/* line 91, app/assets/stylesheets/room_invites.scss */
.invite-preview__close-icon::before {
  transform: rotate(45deg);
}

/* line 95, app/assets/stylesheets/room_invites.scss */
.invite-preview__close-icon::after {
  transform: rotate(-45deg);
}

/* line 100, app/assets/stylesheets/room_invites.scss */
.invite-preview__intro {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 24px;
}

/* line 116, app/assets/stylesheets/room_invites.scss */
.invite-preview__athlete-avatar {
  flex-shrink: 0;
}

/* line 120, app/assets/stylesheets/room_invites.scss */
.invite-preview__athlete-avatar > img, .invite-preview__athlete-avatar > span {
  width: 72px;
  height: 72px;
  border-radius: 9999px;
  border: 2px solid #fbfbfb;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* line 130, app/assets/stylesheets/room_invites.scss */
.invite-preview__athlete-avatar > img {
  object-fit: cover;
  box-shadow: none;
  display: block;
}

/* line 136, app/assets/stylesheets/room_invites.scss */
.invite-preview__athlete-avatar > span {
  background-color: #7140F3;
  color: #fbfbfb;
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 151, app/assets/stylesheets/room_invites.scss */
.invite-preview__title {
  margin: 16px 0 0;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  color: #2B2145;
  text-align: center;
  word-break: break-word;
}

/* line 161, app/assets/stylesheets/room_invites.scss */
.invite-preview__subtitle {
  margin: 8px 0 0;
  font-size: 17px;
  line-height: 23px;
  font-weight: 400;
  color: #757575;
  text-align: center;
  white-space: pre-line;
  word-break: break-word;
}

/* line 172, app/assets/stylesheets/room_invites.scss */
.invite-preview__alert {
  margin: 0 0 12px;
  color: #f34040;
  font-size: 17px;
  line-height: 23px;
  text-align: center;
  width: 100%;
}

/* line 186, app/assets/stylesheets/room_invites.scss */
.invite-preview__members {
  width: 100%;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  flex-shrink: 1;
  overflow-y: auto;
}

/* line 195, app/assets/stylesheets/room_invites.scss */
.invite-preview__member {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 0;
  color: #2B2145;
  font-size: 17px;
  line-height: 23px;
  font-weight: 600;
}

/* line 205, app/assets/stylesheets/room_invites.scss */
.invite-preview__member--empty {
  opacity: 0.6;
}

/* line 214, app/assets/stylesheets/room_invites.scss */
.invite-preview__member > img, .invite-preview__member > span:first-child {
  width: 36px !important;
  height: 36px !important;
  border-radius: 9999px;
  flex-shrink: 0;
  border: 1px solid #fbfbfb;
  box-sizing: border-box;
  overflow: hidden;
}

/* line 225, app/assets/stylesheets/room_invites.scss */
.invite-preview__member > img {
  object-fit: cover;
  display: block;
  box-shadow: none;
}

/* line 235, app/assets/stylesheets/room_invites.scss */
.invite-preview__member > span.conv-avatar-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #F3F3F3;
  border: 1px solid #757575;
  color: #757575;
}

/* line 243, app/assets/stylesheets/room_invites.scss */
.invite-preview__member > span.conv-avatar-placeholder svg {
  fill: currentColor;
}

/* line 249, app/assets/stylesheets/room_invites.scss */
.invite-preview__member > span:not(.conv-avatar-placeholder) {
  font-size: 14px;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 257, app/assets/stylesheets/room_invites.scss */
.invite-preview__member-label {
  margin-left: 12px;
  flex: 1;
  min-width: 0;
}

/* line 262, app/assets/stylesheets/room_invites.scss */
.invite-preview__member--empty .invite-preview__member-label {
  color: #757575;
  font-weight: 400;
}

/* line 268, app/assets/stylesheets/room_invites.scss */
.invite-preview__actions {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 275, app/assets/stylesheets/room_invites.scss */
.invite-preview__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  text-align: center;
  border: 0;
  border-radius: 12px;
  background-color: #7140F3;
  padding: 0 24px;
  font-size: 16px;
  line-height: 23px;
  font-weight: 400;
  color: #ffffff;
  transition: all 150ms;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
}

/* line 295, app/assets/stylesheets/room_invites.scss */
.invite-preview__button:hover {
  background-color: rgba(113, 64, 243, 0.9);
  color: #ffffff;
  text-decoration: none;
}

/* line 301, app/assets/stylesheets/room_invites.scss */
.invite-preview__button:active {
  transform: scale(0.98);
}

/* line 305, app/assets/stylesheets/room_invites.scss */
.invite-preview__button--secondary {
  border: 1px solid #7140F3;
  background-color: #F8F5FF;
  color: #7140F3;
}

/* line 310, app/assets/stylesheets/room_invites.scss */
.invite-preview__button--secondary:hover {
  background-color: rgba(113, 64, 243, 0.08);
  color: #7140F3;
}

/* line 316, app/assets/stylesheets/room_invites.scss */
.invite-preview__button--disabled, .invite-preview__button:disabled {
  background-color: #A3A3A3;
  color: #ffffff;
  cursor: not-allowed;
  box-shadow: none;
}

/* line 323, app/assets/stylesheets/room_invites.scss */
.invite-preview__button--disabled:hover, .invite-preview__button:disabled:hover {
  background-color: #A3A3A3;
  color: #ffffff;
  transform: none;
}

/* line 331, app/assets/stylesheets/room_invites.scss */
.invite-preview__hint {
  margin: 0;
  color: #757575;
  font-size: 0.8125rem;
  line-height: 1.4;
  text-align: center;
}
/* line 6, app/assets/stylesheets/rooms.scss */
.room-layout {
  display: flex;
  min-height: 100vh;
  flex-grow: 1;
  height: 100vh;
  background: #faf7ff;
  color: #1f2933;
  overflow: hidden;
}

/* line 16, app/assets/stylesheets/rooms.scss */
.room-sidebar {
  width: 310px;
  border-right: 1px solid #ece6ff;
  background: #fff;
  padding: 1.5rem 1rem 2rem;
  display: none;
  flex-direction: column;
  gap: 1rem;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

@media (min-width: 1100px) {
  /* line 16, app/assets/stylesheets/rooms.scss */
  .room-sidebar {
    display: flex;
  }
}

/* line 33, app/assets/stylesheets/rooms.scss */
.room-sidebar__header {
  padding: 0 0.5rem;
}

/* line 36, app/assets/stylesheets/rooms.scss */
.room-sidebar__header h2 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  color: #1f1f38;
}

/* line 43, app/assets/stylesheets/rooms.scss */
.room-sidebar__header p {
  margin: 0.15rem 0 0;
  font-size: 0.85rem;
  color: #9aa0b6;
}

/* line 50, app/assets/stylesheets/rooms.scss */
.room-sidebar__list {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 58, app/assets/stylesheets/rooms.scss */
.room-sidebar__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.75rem;
  border-radius: 0.9rem;
  text-decoration: none;
  color: inherit;
  transition: background 0.2s, box-shadow 0.2s;
}

/* line 68, app/assets/stylesheets/rooms.scss */
.room-sidebar__item:hover {
  background: #f5f2ff;
}

/* line 72, app/assets/stylesheets/rooms.scss */
.room-sidebar__item--active {
  background: linear-gradient(120deg, #7c3aed, #5b21b6);
  color: #fff;
  box-shadow: 0 12px 25px rgba(124, 58, 237, 0.25);
}

/* line 77, app/assets/stylesheets/rooms.scss */
.room-sidebar__item--active .room-sidebar__preview,
.room-sidebar__item--active .room-sidebar__time {
  color: rgba(255, 255, 255, 0.8);
}

/* line 84, app/assets/stylesheets/rooms.scss */
.room-sidebar__avatar {
  flex-shrink: 0;
}

/* line 87, app/assets/stylesheets/rooms.scss */
.room-sidebar__avatar img {
  border: 2px solid rgba(124, 58, 237, 0.15);
  border-radius: 50%;
}

/* line 93, app/assets/stylesheets/rooms.scss */
.room-sidebar__text {
  flex: 1;
  min-width: 0;
}

/* line 98, app/assets/stylesheets/rooms.scss */
.room-sidebar__name {
  font-weight: 600;
  font-size: 0.95rem;
}

/* line 103, app/assets/stylesheets/rooms.scss */
.room-sidebar__preview {
  font-size: 0.8rem;
  color: #9aa0b6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 111, app/assets/stylesheets/rooms.scss */
.room-sidebar__meta {
  text-align: right;
  font-size: 0.74rem;
  color: #9aa0b6;
  white-space: nowrap;
}

/* line 119, app/assets/stylesheets/rooms.scss */
.room-detail {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: #f6f5fb;
  position: relative;
  overflow: hidden;
}

/* line 128, app/assets/stylesheets/rooms.scss */
.room-detail__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: #fff;
  border-bottom: 1px solid #ece6ff;
  position: sticky;
  top: 0;
  z-index: 30;
}

/* line 140, app/assets/stylesheets/rooms.scss */
.room-detail__back-button {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  border: none;
  background: transparent;
  color: #7c3aed;
  font-weight: 600;
  text-decoration: none;
}

/* line 150, app/assets/stylesheets/rooms.scss */
.room-detail__back-button svg {
  width: 20px;
  height: 20px;
}

@media (min-width: 1100px) {
  /* line 140, app/assets/stylesheets/rooms.scss */
  .room-detail__back-button {
    display: none;
  }
}

/* line 160, app/assets/stylesheets/rooms.scss */
.room-detail__person {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* line 165, app/assets/stylesheets/rooms.scss */
.room-detail__person h1 {
  font-size: 1.25rem;
  margin: 0;
}

/* line 170, app/assets/stylesheets/rooms.scss */
.room-detail__person p {
  margin: 0.15rem 0 0;
  color: #8c90a3;
  font-size: 0.9rem;
  max-width: 360px;
}

/* line 179, app/assets/stylesheets/rooms.scss */
.room-thread {
  flex: 1;
  padding: 1.5rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 187, app/assets/stylesheets/rooms.scss */
.room-thread__date {
  text-align: center;
  font-size: 0.82rem;
  color: #a5a4bd;
  position: relative;
  margin: 0.5rem 0;
}

/* line 194, app/assets/stylesheets/rooms.scss */
.room-thread__date span {
  background: #f6f5fb;
  padding: 0 0.75rem;
  position: relative;
  z-index: 1;
}

/* line 201, app/assets/stylesheets/rooms.scss */
.room-thread__date::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #e3def5;
  z-index: 0;
}

/* line 213, app/assets/stylesheets/rooms.scss */
.room-thread__conversation {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 219, app/assets/stylesheets/rooms.scss */
.room-thread__messages {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 226, app/assets/stylesheets/rooms.scss */
.room__message-bubble {
  max-width: 85%;
  border-radius: 1.5rem;
  padding: 1rem 1.15rem 0.65rem;
  position: relative;
  box-shadow: 0 12px 25px rgba(15, 14, 36, 0.08);
}

/* line 233, app/assets/stylesheets/rooms.scss */
.room__message-bubble--left {
  align-self: flex-start;
  background: #fff;
  border-top-left-radius: 0.6rem;
}

/* line 239, app/assets/stylesheets/rooms.scss */
.room__message-bubble--right {
  align-self: flex-end;
  background: #7c3aed;
  color: #fff;
  border-top-right-radius: 0.6rem;
}

/* line 245, app/assets/stylesheets/rooms.scss */
.room__message-bubble--right .room__message-amount {
  color: rgba(255, 255, 255, 0.9);
}

/* line 249, app/assets/stylesheets/rooms.scss */
.room__message-bubble--right .room__message-text {
  color: #fff;
}

/* line 255, app/assets/stylesheets/rooms.scss */
.room__message-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 261, app/assets/stylesheets/rooms.scss */
.room__message-text {
  font-size: 1rem;
  margin: 0;
}

/* line 265, app/assets/stylesheets/rooms.scss */
.room__message-text p {
  margin: 0;
}

/* line 268, app/assets/stylesheets/rooms.scss */
.room__message-text p + p {
  margin-top: 0.4rem;
}

/* line 274, app/assets/stylesheets/rooms.scss */
.room__message-footer {
  display: flex;
  align-items: center;
  margin-top: 0.6rem;
  gap: 0.5rem;
}

/* line 281, app/assets/stylesheets/rooms.scss */
.room__message-amount {
  font-weight: 600;
  font-size: 0.9rem;
  color: #7f7f8c;
}

/* line 287, app/assets/stylesheets/rooms.scss */
.room__message-meta {
  margin-left: auto;
  text-align: right;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
}

/* line 293, app/assets/stylesheets/rooms.scss */
.room__message-bubble--left .room__message-meta {
  color: #9ea1b5;
}

/* line 298, app/assets/stylesheets/rooms.scss */
.room__message-time {
  display: block;
}

/* line 302, app/assets/stylesheets/rooms.scss */
.room__message-read-indicator {
  font-weight: 600;
  color: #c6c8de;
}

/* line 306, app/assets/stylesheets/rooms.scss */
.room__message-bubble--right .room__message-read-indicator {
  color: rgba(255, 255, 255, 0.8);
}

/* line 311, app/assets/stylesheets/rooms.scss */
.room__message-action {
  border: none;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #5b21b6;
}

/* line 323, app/assets/stylesheets/rooms.scss */
.room__message-bubble--right .room__message-action {
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}

/* line 328, app/assets/stylesheets/rooms.scss */
.room__message-action svg {
  width: 18px;
  height: 18px;
}

/* line 334, app/assets/stylesheets/rooms.scss */
.room__message-media {
  border-radius: 0.85rem;
  overflow: hidden;
}

/* line 338, app/assets/stylesheets/rooms.scss */
.room__message-media img, .room__message-media video {
  display: block;
  max-width: 100%;
  height: auto;
}

/* line 345, app/assets/stylesheets/rooms.scss */
.room__empty-state {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
}

/* line 353, app/assets/stylesheets/rooms.scss */
.room__empty-state p {
  color: #b2b2c6;
}

/* line 358, app/assets/stylesheets/rooms.scss */
.room__composer {
  padding: 1.25rem 1.5rem 2rem;
  background: #fff;
  border-top: 1px solid #ece6ff;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: sticky;
  bottom: 0;
  z-index: 25;
  box-shadow: 0 -8px 24px rgba(31, 24, 62, 0.08);
}

/* line 371, app/assets/stylesheets/rooms.scss */
.room__reply-type {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-grow: 1;
  flex-wrap: nowrap;
  gap: 0.75rem;
  font-weight: 600;
  color: #7b7f99;
}

/* line 383, app/assets/stylesheets/rooms.scss */
.room__format-toggle {
  display: inline-flex;
  background: #f2eeff;
  width: 100%;
  border-radius: 999px;
  padding: 0.2rem;
}

/* line 391, app/assets/stylesheets/rooms.scss */
.room__format-button {
  border-radius: 999px;
  flex-grow: 1;
  flex-wrap: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  border: none;
  background: transparent;
  color: #7b7f99;
  padding: 0.45rem 0.9rem;
  font-weight: 600;
}

/* line 405, app/assets/stylesheets/rooms.scss */
.room__format-button--active, .room__format-button[aria-checked="true"] {
  background: #7c3aed;
  color: #fff;
  box-shadow: 0 6px 15px rgba(124, 58, 237, 0.35);
}

/* line 412, app/assets/stylesheets/rooms.scss */
.room__format-button svg {
  width: 18px;
  height: 18px;
}

/* line 418, app/assets/stylesheets/rooms.scss */
.room__form {
  position: relative;
  background: #f8f6ff;
  border-radius: 1.25rem;
  gap: 0.65rem;
  border: 1px solid #ede9ff;
}

/* line 425, app/assets/stylesheets/rooms.scss */
.room__form:has(.room__textarea:focus) {
  border: 1px solid #7140F3;
}

/* line 430, app/assets/stylesheets/rooms.scss */
.room__textarea {
  border: none;
  background: transparent;
  resize: none;
  flex-grow: 1;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #5d6072;
  min-height: 2.4rem;
}

/* line 441, app/assets/stylesheets/rooms.scss */
.room__textarea:focus {
  outline: none;
  border: none;
  box-shadow: none;
}

/* line 447, app/assets/stylesheets/rooms.scss */
.room__textarea::placeholder {
  color: #b0b3c8;
}

/* line 452, app/assets/stylesheets/rooms.scss */
.room__form-actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* line 458, app/assets/stylesheets/rooms.scss */
.room__send-button {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: transparent;
  color: #7c3aed;
}

/* line 473, app/assets/stylesheets/rooms.scss */
.room__send-button svg {
  width: 20px;
  height: 20px;
}

/* line 479, app/assets/stylesheets/rooms.scss */
.room__send-button {
  background: #7c3aed;
  color: #fff;
  box-shadow: 0 10px 20px rgba(124, 58, 237, 0.35);
}

/* line 485, app/assets/stylesheets/rooms.scss */
.room__media-preview {
  border: 1px dashed #c9c1f3;
  border-radius: 1rem;
  padding: 0.75rem;
  display: none;
  background: #faf8ff;
}

/* line 492, app/assets/stylesheets/rooms.scss */
.room__media-preview.is-visible {
  display: block;
}
