.app-icon {
  align-items: center;
  display: inline-flex;
  font-feature-settings: "liga";
  height: 1em;
  justify-content: center;
  letter-spacing: normal;
  line-height: 1;
  min-width: 1em;
  text-align: center;
  text-indent: 0;
  vertical-align: middle;
  width: 1em;
}
.app-icon:before {
  content: attr(data-icon-name);
  display: inline-block;
  font-family: Material Symbols Outlined;
  font: normal normal normal 1em/1;
  text-decoration: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}
.wysiwyg {
  line-height: 1.5;
  word-break: break-word;
  --tw-text-opacity: 1;
  color: rgb(69 69 69 / var(--tw-text-opacity, 1));
}
.wysiwyg a .open-in-new {
  margin-left: 0.25rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.wysiwyg ul:not(.app-dropdown__menu) {
  list-style-position: outside;
  list-style-type: disc;
  margin-bottom: 0.5rem;
  margin-top: 0.5rem;
  padding-left: 1.5rem;
}
.wysiwyg ul:not(.app-dropdown__menu) ::marker {
  color: #ff6a38;
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.wysiwyg ul:not(.app-dropdown__menu)::marker {
  color: #ff6a38;
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.wysiwyg ol {
  list-style-position: outside;
  list-style-type: decimal;
}
.wysiwyg iframe,
.wysiwyg video {
  aspect-ratio: 16/9;
  height: auto;
  width: 100%;
}
.wysiwyg div {
  overflow-wrap: break-word;
}
.wysiwyg p {
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
  word-break: break-word;
}
.wysiwyg p:first-child {
  padding-top: 0;
}
.wysiwyg p:last-child {
  padding-bottom: 0;
}
.wysiwyg table {
  border-style: none;
  width: 100%;
  --tw-border-opacity: 1;
  border-color: rgb(116 116 116 / var(--tw-border-opacity, 1));
  font-size: 1rem;
  line-height: 2rem;
  text-align: left;
  --tw-text-opacity: 1;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
@media (min-width: 768px) {
  .wysiwyg table {
    border-width: 1px;
  }
}
.wysiwyg table:where([dir="rtl"], [dir="rtl"] *) {
  text-align: right;
}
.wysiwyg table tr {
  border-width: 1px;
  display: table-row;
  height: auto !important;
  margin-bottom: 1rem;
  --tw-border-opacity: 1;
  border-color: rgb(191 191 191 / var(--tw-border-opacity, 1));
  transition-duration: 0.15s;
  transition-property: color, background-color, border-color,
    text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.wysiwyg table thead tr {
  display: none;
  pointer-events: none;
}
.wysiwyg table tr:last-child {
  margin-bottom: 0;
}
.wysiwyg table tr:nth-child(2n),
.wysiwyg table tr:nth-child(odd) {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
@media (min-width: 768px) {
  .wysiwyg table tr {
    border-bottom-width: 1px;
  }
  .wysiwyg table thead tr {
    display: none;
  }
  .wysiwyg table tr:nth-child(odd) {
    --tw-bg-opacity: 1;
    background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
  }
}
.wysiwyg table td {
  display: flex;
  flex-direction: column;
  height: auto !important;
  --tw-border-opacity: 1;
  border-color: rgb(191 191 191 / var(--tw-border-opacity, 1));
  padding: 1rem;
  text-align: left;
}
.wysiwyg table td:last-child {
  border-style: none;
}
@media (min-width: 768px) {
  .wysiwyg table td {
    display: table-cell;
  }
  .wysiwyg table td:before {
    --tw-content: "" !important;
    content: var(--tw-content) !important;
  }
}
.wysiwyg table colgroup {
  display: flex;
}
@media (min-width: 768px) {
  .wysiwyg table colgroup {
    display: table-column-group;
  }
}
.wysiwyg table td:before {
  content: attr(data-label);
  float: left;
  font-weight: 700;
}
.wysiwyg h3 {
  padding-bottom: 1rem;
  padding-top: 1rem;
}
.wysiwyg h4 {
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
.wysiwyg h3:first-child,
.wysiwyg h4:last-child {
  padding-top: 0;
}
.wysiwyg blockquote {
  border-left-width: 8px;
  margin-bottom: 1.25rem;
  margin-top: 1.25rem;
  --tw-border-opacity: 1;
  border-color: rgb(27 134 195 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(226 242 251 / var(--tw-bg-opacity, 1));
  padding: 1rem 0.5rem 1rem 1rem;
}
.wysiwyg.custom-color,
.wysiwyg.custom-color a {
  color: var(--3caa0d92);
}
.wysiwyg.wysiwyg.custom-color ul ::marker {
  color: var(--3caa0d92);
}
.wysiwyg.wysiwyg.custom-color ul::marker {
  color: var(--3caa0d92);
}
.app-button {
  align-items: center;
  border-radius: 0.25rem;
  border-width: 2px;
  display: flex;
  justify-content: center;
  text-decoration-line: none;
  transition-duration: 0.15s;
  transition-property: background-color, border-color, box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
}
@media (min-width: 768px) {
  .app-button {
    width: auto;
  }
}
.app-button > span {
  text-decoration-line: none;
}
.app-button > span:focus {
  --tw-text-opacity: 1;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
.app-button.start {
  --tw-border-opacity: 1;
  border-color: rgb(15 66 15 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(22 127 22 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.app-button.start:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(27 105 27 / var(--tw-bg-opacity, 1));
}
.app-button.start:active {
  --tw-bg-opacity: 1;
  background-color: rgb(21 81 21 / var(--tw-bg-opacity, 1));
}
.app-button.primary {
  --tw-border-opacity: 1;
  border-color: rgb(128 153 184 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(53 92 140 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.app-button.primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(42 74 112 / var(--tw-bg-opacity, 1));
}
.app-button.primary:active {
  background-color: rgb(32 55 84 / var(--tw-bg-opacity, 1));
  border-color: rgb(21 37 56 / var(--tw-border-opacity, 1));
}
.app-button.primary:active,
.app-button.secondary {
  --tw-border-opacity: 1;
  --tw-bg-opacity: 1;
}
.app-button.secondary {
  background-color: rgb(221 229 238 / var(--tw-bg-opacity, 1));
  border-color: rgb(90 122 162 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
.app-button.secondary:hover {
  --tw-border-opacity: 1;
  border-color: rgb(42 74 112 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(203 214 227 / var(--tw-bg-opacity, 1));
}
.app-button.secondary:focus {
  --tw-text-opacity: 1 !important;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1)) !important;
}
.app-button.secondary:active {
  background-color: rgb(165 183 205 / var(--tw-bg-opacity, 1));
  border-color: rgb(11 18 28 / var(--tw-border-opacity, 1));
}
.app-button.outlined,
.app-button.secondary:active {
  --tw-border-opacity: 1;
  --tw-bg-opacity: 1;
}
.app-button.outlined {
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  border-color: rgb(191 191 191 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
.app-button.outlined:hover {
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1));
  border-color: rgb(69 69 69 / var(--tw-border-opacity, 1));
}
.app-button.outlined:active,
.app-button.outlined:hover {
  --tw-border-opacity: 1;
  --tw-bg-opacity: 1;
}
.app-button.outlined:active {
  background-color: rgb(220 220 220 / var(--tw-bg-opacity, 1));
  border-color: rgb(26 26 26 / var(--tw-border-opacity, 1));
}
.app-button.icon {
  background-color: transparent;
  border-style: none;
  --tw-text-opacity: 1;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
.app-button.icon:hover {
  background-color: #0000001a;
}
.app-button.icon:active {
  background-color: #00000026;
}
.app-button.floating {
  border-radius: 9999px;
  --tw-border-opacity: 1;
  border-color: rgb(191 191 191 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(26 26 26 / var(--tw-text-opacity, 1));
}
.app-button.floating:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(203 214 227 / var(--tw-bg-opacity, 1));
}
.app-button.floating:active {
  --tw-bg-opacity: 1;
  background-color: rgb(165 183 205 / var(--tw-bg-opacity, 1));
}
.app-button.toTop {
  --tw-border-opacity: 1;
  border-color: rgb(21 37 56 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(240 244 249 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(11 18 28 / var(--tw-text-opacity, 1));
}
.app-button.toTop:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(221 229 238 / var(--tw-bg-opacity, 1));
}
.app-button.toTop:active {
  --tw-bg-opacity: 1;
  background-color: rgb(203 214 227 / var(--tw-bg-opacity, 1));
}
.app-button.yesem {
  --tw-border-opacity: 1;
  border-color: rgb(38 119 206 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(0 79 163 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.app-button.yesem:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(42 74 112 / var(--tw-bg-opacity, 1));
}
.app-button.yesem:active {
  --tw-border-opacity: 1;
  border-color: rgb(21 37 56 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(32 55 84 / var(--tw-bg-opacity, 1));
}
.app-button.regular {
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0.5rem 0.75rem;
}
@media (min-width: 768px) {
  .app-button.regular {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.app-button.regular.floating,
.app-button.regular.icon {
  font-size: 0.875rem;
  line-height: 1.25rem;
  padding: 0.25rem;
}
@media (min-width: 768px) {
  .app-button.regular.floating,
  .app-button.regular.icon {
    padding: 0.5rem;
  }
}
.app-button.large {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2rem;
  line-height: 1.25;
  padding: 0.75rem;
}
@media (min-width: 768px) {
  .app-button.large {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.app-button.large.floating,
.app-button.large.icon {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2rem;
  padding: 1rem;
}

/* Complex WYSIWYG tables: multi-row header, colspan/rowspan */
.wysiwyg table.table-complex {
  border-collapse: collapse;
  table-layout: auto;
}

.wysiwyg table.table-complex thead tr {
  display: table-row;
  pointer-events: auto;
}

.wysiwyg table.table-complex tr {
  margin-bottom: 0;
}

.wysiwyg table.table-complex td,
.wysiwyg table.table-complex th {
  display: table-cell;
  border-style: solid;
  vertical-align: middle;
}

.wysiwyg table.table-complex td:before,
.wysiwyg table.table-complex th:before {
  content: none !important;
  display: none;
}

.wysiwyg table.table-complex td:last-child,
.wysiwyg table.table-complex th:last-child {
  border-style: solid;
}

.wysiwyg table.table-complex thead th {
  font-weight: 700;
  text-align: center;
}

.wysiwyg table.table-complex tbody td:first-child,
.wysiwyg table.table-complex tfoot td:first-child {
  text-align: center;
}

.wysiwyg table.table-complex tbody td:not(:first-child):not(:nth-child(2)),
.wysiwyg table.table-complex tfoot td:not(:first-child):not(:nth-child(2)) {
  text-align: center;
}

.wysiwyg table.table-complex tfoot td {
  font-weight: 700;
}

/* Tooltip (design spec: white bubble, #686767 border, 4px radius, down arrow) */
.app-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
  vertical-align: middle;
}

.app-tooltip__bubble {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  display: none;
  width: max-content;
  max-width: 228px;
  padding: 4px 15px;
  background-color: #ffffff;
  border: 1px solid #686767;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  color: #454545;
  text-align: left;
  white-space: normal;
  pointer-events: none;
}

.app-tooltip__bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid #686767;
}

.app-tooltip__bubble::before {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 9px solid #ffffff;
  z-index: 1;
}

.app-tooltip:hover .app-tooltip__bubble,
.app-tooltip:focus .app-tooltip__bubble,
.app-tooltip:focus-within .app-tooltip__bubble {
  display: block;
}

/* Custom dropdown (search logic, Figma .dropdown base component) */
.app-dropdown {
  position: relative;
  width: 100%;
}

.app-dropdown__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.app-dropdown__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 48px;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid rgb(153 153 153);
  border-radius: 4px;
  background: #fff;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease;
}

.app-dropdown__trigger:hover {
  border-color: rgb(116 116 116);
}

.app-dropdown__trigger:focus {
  outline: none;
  border-color: rgb(116 116 116);
}

.app-dropdown.is-open .app-dropdown__trigger {
  border-color: rgb(116 116 116);
}

.app-dropdown__value {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-dropdown__icon {
  flex-shrink: 0;
  transition: transform 0.15s ease;
}

.app-dropdown.is-open .app-dropdown__icon {
  transform: rotate(180deg);
}

.app-dropdown__menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  margin: 0;
  padding: 0;
  padding-left: 0;
  list-style: none;
  list-style-type: none;
  border: 1px solid #454545;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 4px 8px 0 #0000004d;
  z-index: 30;
  overflow: hidden;
}

.wysiwyg .app-dropdown__menu {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

.app-dropdown__menu[hidden] {
  display: none;
}

.app-dropdown__menu [role="option"] {
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 8px;
  border-bottom: 1px solid #e0e0e0;
  cursor: pointer;
  color: #0e0d0d;
}

.app-dropdown__menu [role="option"]:last-child {
  border-bottom: none;
}

.app-dropdown__menu [role="option"].is-selected {
  background: #355c8c;
  color: #fff;
}

.app-dropdown__menu [role="option"]:hover:not(.is-selected),
.app-dropdown__menu [role="option"]:focus:not(.is-selected) {
  background: #f4f6f8;
  outline: none;
}

/* Search detail modal (Figma Modal Window) */
.app-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  overflow: hidden;
}

.app-modal[hidden] {
  display: none;
}

.app-modal.is-open {
  display: flex;
}

.app-modal__overlay {
  position: fixed;
  inset: 0;
  background: #00000066;
}

.app-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 800px;
  max-height: calc(100vh - 48px);
  margin: auto;
  background: #fff;
  border-radius: 4px;
  padding: 16px 40px 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
}

.app-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-height: 40px;
  flex-shrink: 0;
}

.app-modal__title {
  margin: 0;
  flex: 1;
  font-size: 1.25rem;
  line-height: 1.3;
  color: #0e0d0d;
  word-break: break-word;
}

.app-modal__close {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 8px;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
  flex-shrink: 0;
}

.app-modal__close .app-icon {
  text-decoration: none;
}

.app-modal__close span {
  text-decoration: underline;
}

.app-modal__close:hover span {
  text-decoration-thickness: 2px;
}

.app-modal__body {
  max-width: 720px;
  width: 100%;
  color: #0e0d0d;
  line-height: 1.5;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.app-modal__field {
  margin-bottom: 16px;
}

.app-modal__field-label {
  font-weight: 600;
  border-bottom: 1px dashed #454545;
  padding-bottom: 4px;
  margin-bottom: 6px;
}

.app-modal__field-value {
  color: #355c8c;
  font-size: 1.05rem;
}

.app-modal__field-images {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.app-modal__field-images img {
  max-width: 100%;
  height: auto;
  border: 1px solid #e0e0e0;
}

.app-modal__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding-top: 16px;
  max-width: 720px;
  flex-shrink: 0;
}

body.app-modal-open {
  overflow: hidden;
}

.app-modal--notice .app-modal__dialog {
  max-width: 480px;
  padding: 16px 24px 24px;
}

.app-modal--notice .app-modal__body {
  max-width: none;
}

.app-modal__footer--single {
  justify-content: flex-start;
}

/* Trademark search shortcode */
.tm-search-result-row {
  cursor: pointer;
}

.tm-search-result-row:hover,
.tm-search-result-row:focus {
  background-color: rgba(24, 144, 255, 0.08);
  outline: none;
}

.tm-search-row-alt {
  background-color: rgba(0, 0, 0, 0.02);
}

.tm-search-anchor {
  display: block;
  position: relative;
  top: -80px;
  visibility: hidden;
}
