/* XRPBot — Custom styles (Bulma 1.0 base, dark theme compatible) */

/* Profit colors */
.profit-positive { color: #48c78e; }
.profit-negative { color: #f14668; }

/* Monospace for addresses and numbers */
.mono { font-family: monospace; font-size: 0.9em; }

/* HTMX loading indicators */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request.htmx-indicator { display: inline-block; }

/* Tags — ensure readability on dark backgrounds */
.tag.is-light {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #dbdbdb !important;
}
.tag.is-info.is-light {
  background-color: rgba(62, 142, 208, 0.2) !important;
  color: #89d4f5 !important;
}
.tag.is-success.is-light {
  background-color: rgba(72, 199, 142, 0.2) !important;
  color: #48c78e !important;
}
.tag.is-danger.is-light {
  background-color: rgba(241, 70, 104, 0.2) !important;
  color: #f14668 !important;
}
.tag.is-warning.is-light {
  background-color: rgba(255, 224, 138, 0.2) !important;
  color: #ffe08a !important;
}

/* Tables — better contrast */
.table {
  background-color: transparent !important;
}
.table th {
  color: #b5b5b5 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
.table td {
  border-color: rgba(255, 255, 255, 0.05) !important;
}
.table.is-striped tbody tr:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.03) !important;
}
.table.is-hoverable tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.07) !important;
}

/* Truncate long hex currency codes */
.currency-code {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}

/* Truncate issuer addresses */
.issuer-address {
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}

/* Boxes — subtle border for dark theme */
.box {
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Notification close button visibility */
.notification .delete::before,
.notification .delete::after {
  background-color: currentColor;
}

/* Bot action button click feedback */
.bot-action-btn {
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.bot-action-btn:active {
  transform: scale(0.95);
}

/* HTMX adds htmx-request to the form while request is in flight */
form.htmx-request .bot-action-btn {
  pointer-events: none;
  opacity: 0.7;
}

form.htmx-request .bot-action-btn::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: btn-spin 0.6s linear infinite;
  vertical-align: middle;
}

@keyframes btn-spin {
  to { transform: rotate(360deg); }
}
