

.kp-resources {
  max-width: 1440px;
  margin: 0 auto;
}

.wallet-page-shell {
  display: grid;
  gap: 16px;
  padding: clamp(10px, 1.4vw, 18px);
  border: 1px solid var(--k-border-default);
  border-radius: 30px;
  background: var(--k-bg-card);
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}

.wallet-shell__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .85fr);
  gap: 16px;
  align-items: stretch;
}

.wallet-shell__main,
.wallet-shell__side,
.wallet-shell__card {
  border: 1px solid var(--k-border-default);
  border-radius: 24px;
  background: var(--k-bg-card);
  box-shadow: none;
}

.wallet-shell__main {
  padding: 20px 22px;
  background: var(--k-bg-card);
}

.wallet-shell__side {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.wallet-shell__eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: var(--k-bg-card);
  color: color-mix(in srgb, var(--k-primary, #b86d49) 74%, var(--k-text-primary, #2d231d));
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wallet-shell__title,
.wallet-shell__cardtitle {
  margin: 0;
  color: var(--k-text-primary);
}

.wallet-shell__title {
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.02;
}

.wallet-shell__subtitle,
.wallet-shell__cardhint,
.wallet-shell__note span,
.wallet-shell__map span,
.wallet-shell__stat small,
.wallet-shell__historysub,
.wallet-shell__historydate {
  color: var(--k-text-muted);
}

.wallet-shell__subtitle {
  max-width: 62ch;
  margin: 10px 0 0;
  font-size: 1rem;
  line-height: 1.6;
}

.wallet-shell__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.wallet-shell__stat {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--k-border-default);
  background: color-mix(in srgb, var(--k-bg-card) 92%, transparent);
}

.wallet-shell__stat span {
  color: var(--k-text-muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.wallet-shell__stat strong {
  color: var(--k-text-primary);
  font-size: 1.7rem;
  line-height: 1;
}

.wallet-shell__action-stack {
  display: grid;
  gap: 10px;
}

.wallet-shell__action-stack .kp-btn {
  justify-content: center;
}

.wallet-shell__note,
.wallet-shell__map > div,
.wallet-shell__asset,
.wallet-shell__historyitem {
  border: 1px solid var(--k-border-default);
  background: var(--k-bg-card);
}

.wallet-shell__note {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 18px;
}

.wallet-shell__note strong,
.wallet-shell__map strong,
.wallet-shell__assettitle,
.wallet-shell__historytitle {
  color: var(--k-text-primary);
}

.wallet-shell__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .82fr);
  gap: 16px;
}

.wallet-shell__maincol,
.wallet-shell__sidebar {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.wallet-shell__card {
  padding: 18px;
}

.wallet-shell__cardhead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.wallet-shell__cardtitle {
  font-size: 1.65rem;
  line-height: 1.1;
}

.wallet-shell__cardhint {
  margin: 6px 0 0;
  line-height: 1.55;
}

.wallet-shell__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.wallet-shell__asset {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 14px 16px;
  border-radius: 18px;
  transition: background var(--k-duration-fast) var(--k-ease), border-color var(--k-duration-fast) var(--k-ease), transform var(--k-duration-fast) var(--k-ease);
}

.wallet-shell__asset:hover,
.wallet-shell__historyitem:hover,
.wallet__historyItem:hover {
  background: var(--k-bg-hover);
  border-color: var(--k-border-strong);
}

.wallet-shell__asset:hover {
  transform: translateY(-1px);
}

.wallet-shell__asseticon,
.wallet-shell__historyicon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: var(--k-bg-card);
  font-size: 1.3rem;
  flex: 0 0 auto;
}

.wallet-shell__assetqty,
.wallet-shell__historyamount strong {
  color: color-mix(in srgb, var(--k-primary, #b86d49) 74%, var(--k-text-primary, #2d231d));
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.1;
}

.wallet-shell__historylist {
  display: grid;
  gap: 10px;
}

.wallet-shell__historyitem,
.wallet__historyItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 18px;
  transition: background var(--k-duration-fast) var(--k-ease), border-color var(--k-duration-fast) var(--k-ease), box-shadow var(--k-duration-fast) var(--k-ease);
}

.wallet-shell__historymeta {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.wallet-shell__historytitle {
  font-weight: 800;
}

.wallet-shell__historyamount {
  display: grid;
  justify-items: end;
  gap: 6px;
  text-align: right;
}

.wallet-shell__historyamount span {
  color: var(--k-text-muted);
  font-size: .83rem;
}

.wallet-shell__map {
  display: grid;
  gap: 10px;
}

.wallet-shell__map > div {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border-radius: 18px;
}

.wallet-shell__debugform {
  display: grid;
  gap: 12px;
}

.wallet__historyItem:target {
  border-color: color-mix(in srgb, var(--k-primary) 62%, var(--k-border-subtle));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--k-primary) 16%, transparent);
}

@media (max-width: 980px) {
  .wallet-shell__hero,
  .wallet-shell__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .wallet-page-shell {
    border-radius: 22px;
    padding: 10px;
  }

  .wallet-shell__main,
  .wallet-shell__side,
  .wallet-shell__card {
    border-radius: 20px;
  }

  .wallet-shell__main,
  .wallet-shell__side,
  .wallet-shell__card {
    padding: 16px;
  }

  .wallet-shell__stats,
  .wallet-shell__grid {
    grid-template-columns: 1fr 1fr;
  }

  .wallet-shell__historyitem,
  .wallet__historyItem {
    flex-direction: column;
    align-items: stretch;
  }

  .wallet-shell__historyamount {
    justify-items: start;
    text-align: left;
  }
}

@media (max-width: 540px) {
  .wallet-shell__title {
    font-size: 1.78rem;
  }

  .wallet-shell__stats,
  .wallet-shell__grid {
    grid-template-columns: 1fr;
  }

  .wallet-shell__cardhead {
    flex-direction: column;
    align-items: stretch;
  }
}

.kp-resources-value,
.kp-stat-number {
  font-family: var(--k-font-display);
  font-weight: var(--k-weight-extrabold);
}

.kp-resources { animation: kp-fadeIn 0.3s ease both; }
.res-card { border-radius: var(--k-radius-xl); transition: all 0.25s; }
.res-card:hover { transform: translateY(-2px); box-shadow: var(--k-shadow-md); }
.res-value { font-family: var(--k-font-display); font-weight: 800; }

.kp-resources,
.kp-page--resources {
  max-width: 1400px;
  margin: 0 auto;
  padding: 12px;
}

@media (min-width: 641px) {
  .kp-resources,
  .kp-page--resources { padding: 16px; }
}

@media (min-width: 1024px) {
  .kp-resources,
  .kp-page--resources { padding: 20px; }
}

.kp-page--resources .kp-page-head__title,
.kp-resources .kp-page-head__title {
  font-family: var(--k-font-display, "Unbounded"), sans-serif;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-weight: 800;
  margin: 0;
  background: linear-gradient(135deg, #fff 0%, var(--k-text-secondary, #aebbd3) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.15;
}

.wallet-page-shell {
  padding: 14px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(251, 191, 36, 0.08), transparent 55%),
    radial-gradient(circle at 0% 100%, rgba(239, 100, 67, 0.06), transparent 55%),
    var(--k-bg-card, #141d31);
  border: 1px solid rgba(251, 191, 36, 0.25);
  box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.3);
  gap: 12px;
}

@media (min-width: 641px) {
  .wallet-page-shell { padding: 18px; }
}

.wallet-shell__hero {
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 1024px) {
  .wallet-shell__hero {
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.85fr);
  }
}

.wallet-shell__card,
.wallet-shell__sidecard {
  padding: 14px;
  border-radius: 12px;
  background: var(--k-bg-card, #141d31);
  border: 1px solid var(--k-border-subtle, rgba(162, 185, 230, 0.08));
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color .2s;
}

.wallet-shell__card:hover,
.wallet-shell__sidecard:hover {
  border-color: rgba(239, 100, 67, 0.2);
}

.wallet-shell__cardhead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--k-border-subtle, rgba(162, 185, 230, 0.08));
}

.wallet-shell__cardtitle {
  font-family: var(--k-font-display, "Unbounded"), sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--k-text, #edf3ff);
  line-height: 1.2;
}

.wallet-shell__cardhint {
  font-size: 0.74rem;
  color: var(--k-text-muted, #7483a2);
  font-family: var(--k-font-mono, "JetBrains Mono"), monospace;
  letter-spacing: 0.04em;
}

.wallet-shell__assets {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
}

.wallet-shell__asset {
  padding: 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--k-border-subtle, rgba(162, 185, 230, 0.08));
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: all .2s;
}

.wallet-shell__asset:hover {
  border-color: rgba(239, 100, 67, 0.3);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px -3px rgba(0, 0, 0, 0.3);
}

.wallet-shell__asseticon {
  font-size: 1.4rem;
  line-height: 1;
  filter: drop-shadow(0 2px 6px rgba(239, 100, 67, 0.25));
}

.wallet-shell__assettitle {
  font-size: 0.62rem;
  color: var(--k-text-muted, #7483a2);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.wallet-shell__assetqty {
  font-family: var(--k-font-mono, "JetBrains Mono"), monospace;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--k-primary, #ef6443);
  line-height: 1.1;
}

.wallet-shell__asset--gold,
.wallet-shell__asset[data-key="gold"] {
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.1) 0%, rgba(251, 191, 36, 0.03) 100%);
  border-color: rgba(251, 191, 36, 0.35);
}

.wallet-shell__asset--gold .wallet-shell__assetqty,
.wallet-shell__asset[data-key="gold"] .wallet-shell__assetqty {
  color: #fbbf24;
}

.wallet-shell__asset--crystal,
.wallet-shell__asset[data-key="crystal"] {
  background: linear-gradient(135deg, rgba(74, 144, 194, 0.1) 0%, rgba(74, 144, 194, 0.03) 100%);
  border-color: rgba(74, 144, 194, 0.35);
}

.wallet-shell__asset--crystal .wallet-shell__assetqty,
.wallet-shell__asset[data-key="crystal"] .wallet-shell__assetqty {
  color: #8ab4d8;
}

.wallet-shell__asset--ducat,
.wallet-shell__asset[data-key="ducat"] {
  background: linear-gradient(135deg, rgba(169, 119, 196, 0.1) 0%, rgba(169, 119, 196, 0.03) 100%);
  border-color: rgba(169, 119, 196, 0.35);
}

.wallet-shell__asset--ducat .wallet-shell__assetqty,
.wallet-shell__asset[data-key="ducat"] .wallet-shell__assetqty {
  color: #a977c4;
}

.wallet-shell__action-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wallet-shell__debugform {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed var(--k-border-subtle, rgba(162, 185, 230, 0.15));
}

.kp-page--resources .kp-btn,
.kp-resources .kp-btn,
.wallet-page-shell .kp-btn {
  padding: 9px 14px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--k-border-subtle, rgba(162, 185, 230, 0.12));
  color: var(--k-text, #edf3ff);
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.kp-page--resources .kp-btn:hover,
.wallet-page-shell .kp-btn:hover {
  border-color: rgba(239, 100, 67, 0.4);
  color: var(--k-primary, #ef6443);
  transform: translateY(-1px);
}

.kp-page--resources .kp-btn--primary,
.wallet-page-shell .kp-btn--primary {
  background: linear-gradient(135deg, var(--k-primary, #ef6443) 0%, #d85437 100%);
  border-color: var(--k-primary, #ef6443);
  color: #fff;
  box-shadow: 0 4px 12px -3px rgba(239, 100, 67, 0.4);
}

.kp-page--resources .kp-btn--primary:hover,
.wallet-page-shell .kp-btn--primary:hover {
  box-shadow: 0 6px 18px -4px rgba(239, 100, 67, 0.5);
  color: #fff;
}

.kp-page--resources input,
.kp-page--resources textarea,
.kp-page--resources select,
.kp-page--resources .kp-input,
.wallet-page-shell input,
.wallet-page-shell textarea,
.wallet-page-shell select {
  background: var(--k-bg-input, #10182a);
  border: 1px solid var(--k-border-subtle, rgba(162, 185, 230, 0.08));
  border-radius: 10px;
  padding: 9px 12px;
  color: var(--k-text, #edf3ff);
  font-family: inherit;
  font-size: 0.88rem;
  transition: border-color .2s, box-shadow .2s;
  width: 100%;
}

.kp-page--resources input:focus,
.kp-page--resources textarea:focus,
.kp-page--resources select:focus,
.wallet-page-shell input:focus,
.wallet-page-shell textarea:focus {
  outline: none;
  border-color: var(--k-primary, #ef6443);
  box-shadow: 0 0 0 3px rgba(239, 100, 67, 0.1);
}

.kp-page--resources .kp-label,
.wallet-page-shell .kp-label {
  font-family: var(--k-font-mono, "JetBrains Mono"), monospace;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--k-text-secondary, #aebbd3);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 3px;
  display: block;
}

.kp-page--resources .kp-alert,
.wallet-page-shell .kp-alert {
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 0.85rem;
  font-weight: 500;
  border: 1px solid transparent;
  background: rgba(74, 144, 194, 0.08);
  border-color: rgba(74, 144, 194, 0.25);
  color: #8ab4d8;
}

.kp-page--resources .kp-alert--ok {
  background: rgba(107, 165, 104, 0.08);
  border-color: rgba(107, 165, 104, 0.25);
  color: #86efac;
}

.kp-page--resources .kp-alert--err {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.25);
  color: #fca5a5;
}

.kp-page--resources .kp-empty,
.wallet-page-shell .kp-empty {
  padding: 28px 20px;
  text-align: center;
  color: var(--k-text-muted, #7483a2);
  font-size: 0.85rem;
  background: rgba(255, 255, 255, 0.015);
  border: 1px dashed var(--k-border-subtle, rgba(162, 185, 230, 0.15));
  border-radius: 12px;
}

.kp-page--resources .kp-empty__title {
  font-family: var(--k-font-display, "Unbounded"), sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--k-text, #edf3ff);
  margin-bottom: 4px;
}

.kp-page--resources .kp-card {
  padding: 14px;
  border-radius: 12px;
  background: var(--k-bg-card, #141d31);
  border: 1px solid var(--k-border-subtle, rgba(162, 185, 230, 0.08));
  margin-bottom: 10px;
  transition: border-color .2s;
}

.kp-page--resources .kp-card:hover {
  border-color: rgba(239, 100, 67, 0.2);
}

html[data-theme="light"] .wallet-page-shell {
  background:
    radial-gradient(circle at 100% 0%, rgba(251, 191, 36, 0.08), transparent 55%),
    #ffffff;
  border-color: #e5e7eb;
}

html[data-theme="light"] .wallet-shell__card,
html[data-theme="light"] .wallet-shell__sidecard,
html[data-theme="light"] .kp-page--resources .kp-card {
  background: #ffffff;
  border-color: #e5e7eb;
}

html[data-theme="light"] .wallet-shell__asset {
  background: #f9fafb;
  border-color: #e5e7eb;
}

html[data-theme="light"] .kp-page--resources input,
html[data-theme="light"] .kp-page--resources textarea,
html[data-theme="light"] .kp-page--resources select,
html[data-theme="light"] .wallet-page-shell input,
html[data-theme="light"] .wallet-page-shell textarea {
  background: #ffffff;
  border-color: #e5e7eb;
  color: #1f2937;
}

@media (max-width: 640px) {
  .wallet-page-shell { padding: 12px; }
  .wallet-shell__card,
  .wallet-shell__sidecard { padding: 12px; }

  .wallet-shell__assets {
    grid-template-columns: repeat(2, 1fr);
  }

  .wallet-shell__assetqty {
    font-size: 0.95rem;
  }
}

/* ================================================================
 * v772: Wallet stats / reserved / filters / pagination
 * ================================================================ */

.wallet-stats__periods {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.wallet-stats__period {
  padding: 14px;
  border-radius: 12px;
  background: rgba(239, 100, 67, 0.04);
  border: 1px solid rgba(239, 100, 67, 0.15);
}

.wallet-stats__periodtitle {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: rgba(245, 236, 227, 0.7);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px dashed rgba(239, 100, 67, 0.2);
}

.wallet-stats__periodempty {
  font-size: 0.85rem;
  color: rgba(245, 236, 227, 0.5);
  padding: 10px 0;
  text-align: center;
  font-style: italic;
}

.wallet-stats__row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.wallet-stats__row:last-child {
  border-bottom: none;
}

.wallet-stats__ccy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 0.9rem;
}

.wallet-stats__icon {
  font-size: 1.1rem;
}

.wallet-stats__inout {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

.wallet-stats__earned {
  color: #8daa88;
  font-weight: 600;
}

.wallet-stats__spent {
  color: #e09080;
  font-weight: 600;
}

.wallet-stats__net {
  font-size: 0.9rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  padding: 4px 10px;
  border-radius: 8px;
  min-width: 80px;
  text-align: right;
}

.wallet-stats__net.is-positive {
  background: rgba(141, 170, 136, 0.15);
  color: #9fc39a;
  border: 1px solid rgba(141, 170, 136, 0.3);
}

.wallet-stats__net.is-negative {
  background: rgba(224, 144, 128, 0.15);
  color: #eaa894;
  border: 1px solid rgba(224, 144, 128, 0.3);
}

/* Reserved balances */

.wallet-reserved__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}

.wallet-reserved__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(128, 216, 255, 0.05);
  border: 1px solid rgba(128, 216, 255, 0.2);
}

.wallet-reserved__icon {
  font-size: 1.4rem;
  filter: drop-shadow(0 0 6px rgba(128, 216, 255, 0.4));
}

.wallet-reserved__label {
  flex: 1;
  font-weight: 600;
  font-size: 0.9rem;
  color: rgba(245, 236, 227, 0.9);
}

.wallet-reserved__amount {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: 0.95rem;
  color: #80d8ff;
}

/* Filters toolbar */

.wallet-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-end;
  margin-top: 14px;
  margin-bottom: 12px;
  padding: 12px;
  background: rgba(20, 16, 12, 0.3);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.wallet-filters__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 140px;
  flex: 1;
}

.wallet-filters__field > span {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: rgba(245, 236, 227, 0.6);
  font-weight: 600;
}

.wallet-filters__field select {
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(239, 100, 67, 0.25);
  color: #f0e8dd;
  font-size: 0.85rem;
  cursor: pointer;
}

.wallet-filters__field select:focus {
  outline: none;
  border-color: rgba(239, 100, 67, 0.6);
  box-shadow: 0 0 0 2px rgba(239, 100, 67, 0.15);
}

.wallet-filters__meta {
  padding: 8px 0;
  font-size: 0.85rem;
  color: rgba(245, 236, 227, 0.7);
  margin-bottom: 10px;
}

.wallet-filters__meta strong {
  color: #f5ece3;
}

/* Transaction rows coloring by direction */

.wallet-tx--in .wallet-shell__historyamount strong {
  color: #9fc39a;
}

.wallet-tx--out .wallet-shell__historyamount strong {
  color: #eaa894;
}

/* Pagination */

.wallet-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 14px 0 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  margin-top: 8px;
  flex-wrap: wrap;
}

.wallet-pagination__info {
  font-size: 0.85rem;
  color: rgba(245, 236, 227, 0.7);
  font-variant-numeric: tabular-nums;
}

.kp-btn.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* Light theme */
html[data-theme="light"] .wallet-stats__period {
  background: rgba(239, 100, 67, 0.04);
  border-color: rgba(239, 100, 67, 0.2);
}

html[data-theme="light"] .wallet-stats__periodtitle {
  color: #4b5563;
  border-bottom-color: rgba(239, 100, 67, 0.25);
}

html[data-theme="light"] .wallet-stats__earned { color: #16a34a; }
html[data-theme="light"] .wallet-stats__spent { color: #dc2626; }

html[data-theme="light"] .wallet-stats__net.is-positive {
  background: rgba(22, 163, 74, 0.1);
  color: #15803d;
  border-color: rgba(22, 163, 74, 0.3);
}

html[data-theme="light"] .wallet-stats__net.is-negative {
  background: rgba(220, 38, 38, 0.1);
  color: #b91c1c;
  border-color: rgba(220, 38, 38, 0.3);
}

html[data-theme="light"] .wallet-reserved__item {
  background: rgba(59, 130, 246, 0.06);
  border-color: rgba(59, 130, 246, 0.25);
}

html[data-theme="light"] .wallet-reserved__amount {
  color: #2563eb;
}

html[data-theme="light"] .wallet-filters {
  background: #f9fafb;
  border-color: #e5e7eb;
}

html[data-theme="light"] .wallet-filters__field select {
  background: #ffffff;
  border-color: #d1d5db;
  color: #1f2937;
}

html[data-theme="light"] .wallet-tx--in .wallet-shell__historyamount strong { color: #16a34a; }
html[data-theme="light"] .wallet-tx--out .wallet-shell__historyamount strong { color: #dc2626; }

/* Mobile */
@media (max-width: 640px) {
  .wallet-stats__periods {
    grid-template-columns: 1fr;
  }
  .wallet-filters__field {
    min-width: 120px;
  }
  .wallet-pagination {
    gap: 8px;
  }
  .wallet-pagination__info {
    flex-basis: 100%;
    text-align: center;
    order: -1;
  }
}

/* ================================================================
 * v773: Wallet daily activity chart (30d per currency)
 * ================================================================ */

.wallet-chart__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.wallet-chart__tab {
  padding: 8px 14px;
  border-radius: 8px;
  background: transparent;
  border: 1px solid rgba(239, 100, 67, 0.2);
  color: rgba(245, 236, 227, 0.7);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wallet-chart__tab:hover {
  background: rgba(239, 100, 67, 0.08);
  border-color: rgba(239, 100, 67, 0.4);
  color: #f5ece3;
}

.wallet-chart__tab.is-active {
  background: rgba(239, 100, 67, 0.15);
  border-color: rgba(239, 100, 67, 0.6);
  color: #f5ece3;
  box-shadow: 0 0 10px rgba(239, 100, 67, 0.2);
}

.wallet-chart__pane[hidden] {
  display: none;
}

.wallet-chart__summary {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  padding: 10px 14px;
  background: rgba(20, 16, 12, 0.35);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.wallet-chart__sumitem {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
}

.wallet-chart__sumdot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.wallet-chart__sumdot--earned {
  background: #8daa88;
  box-shadow: 0 0 6px rgba(141, 170, 136, 0.5);
}

.wallet-chart__sumdot--spent {
  background: #e09080;
  box-shadow: 0 0 6px rgba(224, 144, 128, 0.5);
}

.wallet-chart__sumlabel {
  color: rgba(245, 236, 227, 0.7);
  font-weight: 600;
}

.wallet-chart__sumval {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  color: #f5ece3;
}

.wallet-chart__svg {
  display: block;
  width: 100%;
  height: 200px;
  max-height: 260px;
  background: linear-gradient(to bottom,
    rgba(20, 16, 12, 0.1) 0%,
    rgba(20, 16, 12, 0.3) 100%);
  border-radius: 8px;
  padding: 4px;
}

.wallet-chart__axis {
  stroke: rgba(245, 236, 227, 0.25);
  stroke-width: 0.15;
  stroke-dasharray: 0.5 0.5;
  vector-effect: non-scaling-stroke;
}

.wallet-chart__grid {
  stroke: rgba(245, 236, 227, 0.08);
  stroke-width: 0.1;
  stroke-dasharray: 0.3 0.4;
  vector-effect: non-scaling-stroke;
}

.wallet-chart__line {
  stroke-width: 0.4;
  fill: none;
  vector-effect: non-scaling-stroke;
}

.wallet-chart__line--earned {
  stroke: #8daa88;
  filter: drop-shadow(0 0 2px rgba(141, 170, 136, 0.6));
}

.wallet-chart__line--spent {
  stroke: #e09080;
  filter: drop-shadow(0 0 2px rgba(224, 144, 128, 0.6));
}

.wallet-chart__dot {
  vector-effect: non-scaling-stroke;
  cursor: help;
  transition: r 0.15s ease;
}

.wallet-chart__dot--earned { fill: #8daa88; }
.wallet-chart__dot--spent  { fill: #e09080; }

.wallet-chart__dot:hover {
  r: 1.2;
}

.wallet-chart__xlabels {
  display: flex;
  justify-content: space-between;
  padding: 6px 2px 0;
  font-size: 0.7rem;
  color: rgba(245, 236, 227, 0.5);
  font-variant-numeric: tabular-nums;
}

/* Light theme */
html[data-theme="light"] .wallet-chart__tab {
  border-color: rgba(239, 100, 67, 0.3);
  color: #4b5563;
}

html[data-theme="light"] .wallet-chart__tab:hover {
  background: rgba(239, 100, 67, 0.06);
  color: #1f2937;
}

html[data-theme="light"] .wallet-chart__tab.is-active {
  background: rgba(239, 100, 67, 0.12);
  color: #1f2937;
}

html[data-theme="light"] .wallet-chart__summary {
  background: #f9fafb;
  border-color: #e5e7eb;
}

html[data-theme="light"] .wallet-chart__sumlabel { color: #4b5563; }
html[data-theme="light"] .wallet-chart__sumval { color: #1f2937; }

html[data-theme="light"] .wallet-chart__sumdot--earned {
  background: #16a34a;
  box-shadow: 0 0 6px rgba(22, 163, 74, 0.4);
}

html[data-theme="light"] .wallet-chart__sumdot--spent {
  background: #dc2626;
  box-shadow: 0 0 6px rgba(220, 38, 38, 0.4);
}

html[data-theme="light"] .wallet-chart__line--earned { stroke: #16a34a; }
html[data-theme="light"] .wallet-chart__line--spent { stroke: #dc2626; }
html[data-theme="light"] .wallet-chart__dot--earned { fill: #16a34a; }
html[data-theme="light"] .wallet-chart__dot--spent { fill: #dc2626; }

html[data-theme="light"] .wallet-chart__axis {
  stroke: rgba(31, 41, 55, 0.3);
}

html[data-theme="light"] .wallet-chart__grid {
  stroke: rgba(31, 41, 55, 0.1);
}

html[data-theme="light"] .wallet-chart__xlabels {
  color: #6b7280;
}

html[data-theme="light"] .wallet-chart__svg {
  background: linear-gradient(to bottom, #ffffff 0%, #f9fafb 100%);
}

/* Mobile */
@media (max-width: 640px) {
  .wallet-chart__svg { height: 160px; }
  .wallet-chart__tab { font-size: 0.78rem; padding: 6px 10px; }
  .wallet-chart__summary { gap: 12px; padding: 8px 10px; }
}

/* ================================================================
 * v774: Spending/Earning breakdown by category
 * ================================================================ */

.wallet-breakdown__pane[hidden] {
  display: none;
}

.wallet-breakdown__cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.wallet-breakdown__col {
  padding: 14px;
  border-radius: 12px;
  background: rgba(20, 16, 12, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.wallet-breakdown__col--spent {
  border-color: rgba(224, 144, 128, 0.2);
  background: rgba(224, 144, 128, 0.03);
}

.wallet-breakdown__col--earned {
  border-color: rgba(141, 170, 136, 0.2);
  background: rgba(141, 170, 136, 0.03);
}

.wallet-breakdown__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.08);
}

.wallet-breakdown__title {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: rgba(245, 236, 227, 0.75);
}

.wallet-breakdown__total {
  font-size: 1.2rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.wallet-breakdown__total--spent { color: #eaa894; }
.wallet-breakdown__total--earned { color: #9fc39a; }

.wallet-breakdown__empty {
  padding: 20px 0;
  text-align: center;
  font-style: italic;
  color: rgba(245, 236, 227, 0.4);
  font-size: 0.9rem;
}

.wallet-breakdown__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wallet-breakdown__row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 6px 0;
}

.wallet-breakdown__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  max-width: 180px;
}

.wallet-breakdown__icon {
  font-size: 1.1rem;
  flex-shrink: 0;
}

.wallet-breakdown__label {
  font-size: 0.85rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wallet-breakdown__count {
  font-size: 0.7rem;
  color: rgba(245, 236, 227, 0.5);
  font-variant-numeric: tabular-nums;
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  flex-shrink: 0;
}

.wallet-breakdown__bar-wrap {
  height: 8px;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  overflow: hidden;
  min-width: 60px;
}

.wallet-breakdown__bar {
  height: 100%;
  border-radius: 4px;
  transition: width 0.4s ease;
}

.wallet-breakdown__bar--spent {
  background: linear-gradient(90deg, #e09080, #eaa894);
  box-shadow: 0 0 6px rgba(224, 144, 128, 0.4);
}

.wallet-breakdown__bar--earned {
  background: linear-gradient(90deg, #8daa88, #9fc39a);
  box-shadow: 0 0 6px rgba(141, 170, 136, 0.4);
}

.wallet-breakdown__val {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  min-width: 70px;
}

.wallet-breakdown__val strong {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: 0.85rem;
  color: #f5ece3;
}

.wallet-breakdown__val span {
  font-size: 0.7rem;
  color: rgba(245, 236, 227, 0.5);
  font-variant-numeric: tabular-nums;
}

/* Light theme */
html[data-theme="light"] .wallet-breakdown__col {
  background: #f9fafb;
  border-color: #e5e7eb;
}

html[data-theme="light"] .wallet-breakdown__col--spent {
  background: #fff5f3;
  border-color: rgba(220, 38, 38, 0.2);
}

html[data-theme="light"] .wallet-breakdown__col--earned {
  background: #f3fbf5;
  border-color: rgba(22, 163, 74, 0.2);
}

html[data-theme="light"] .wallet-breakdown__title { color: #4b5563; }
html[data-theme="light"] .wallet-breakdown__total--spent { color: #dc2626; }
html[data-theme="light"] .wallet-breakdown__total--earned { color: #16a34a; }

html[data-theme="light"] .wallet-breakdown__bar--spent {
  background: linear-gradient(90deg, #dc2626, #f87171);
}

html[data-theme="light"] .wallet-breakdown__bar--earned {
  background: linear-gradient(90deg, #16a34a, #4ade80);
}

html[data-theme="light"] .wallet-breakdown__bar-wrap {
  background: #e5e7eb;
}

html[data-theme="light"] .wallet-breakdown__count {
  background: #e5e7eb;
  color: #6b7280;
}

html[data-theme="light"] .wallet-breakdown__val strong { color: #1f2937; }
html[data-theme="light"] .wallet-breakdown__val span { color: #6b7280; }

/* Mobile */
@media (max-width: 720px) {
  .wallet-breakdown__cols {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 480px) {
  .wallet-breakdown__row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .wallet-breakdown__meta {
    max-width: none;
  }
  .wallet-breakdown__val {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .wallet-breakdown__bar-wrap {
    min-width: auto;
  }
}

/* ================================================================
 * v775: Breakdown period selector + drill-down sub-categories
 * ================================================================ */

.wallet-breakdown__periods {
  display: inline-flex;
  gap: 2px;
  padding: 4px;
  margin-bottom: 14px;
  background: rgba(20, 16, 12, 0.4);
  border-radius: 10px;
  border: 1px solid rgba(239, 100, 67, 0.15);
}

.wallet-breakdown__period {
  padding: 6px 14px;
  border-radius: 7px;
  font-size: 0.82rem;
  font-weight: 600;
  color: rgba(245, 236, 227, 0.6);
  text-decoration: none;
  transition: all 0.2s ease;
}

.wallet-breakdown__period:hover {
  background: rgba(239, 100, 67, 0.08);
  color: rgba(245, 236, 227, 0.9);
}

.wallet-breakdown__period.is-active {
  background: rgba(239, 100, 67, 0.25);
  color: #f5ece3;
  box-shadow: 0 0 8px rgba(239, 100, 67, 0.2);
}

/* Drill-down (details/summary) */

.wallet-breakdown__details {
  /* Tight control — remove default disclosure triangle */
  list-style: none;
}

.wallet-breakdown__details > summary {
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.wallet-breakdown__details > summary::-webkit-details-marker {
  display: none;
}

.wallet-breakdown__details[open] > summary .wallet-breakdown__expand {
  transform: rotate(90deg);
}

.wallet-breakdown__expand {
  display: inline-block;
  font-size: 0.75rem;
  color: rgba(245, 236, 227, 0.4);
  transition: transform 0.2s ease;
  margin-left: 2px;
}

.wallet-breakdown__row--expandable:hover {
  background: rgba(239, 100, 67, 0.04);
  border-radius: 6px;
}

.wallet-breakdown__row--expandable:hover .wallet-breakdown__expand {
  color: rgba(239, 100, 67, 0.7);
}

.wallet-breakdown__subrows {
  padding: 8px 12px 4px 36px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  margin-top: 4px;
  border-left: 2px solid rgba(239, 100, 67, 0.2);
}

.wallet-breakdown__subrow {
  display: grid;
  grid-template-columns: 1fr minmax(80px, 30%) auto;
  gap: 10px;
  align-items: center;
  font-size: 0.75rem;
}

.wallet-breakdown__reftype {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.7rem;
  color: rgba(245, 236, 227, 0.55);
  background: rgba(0, 0, 0, 0.2);
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: help;
}

.wallet-breakdown__bar-wrap--sub {
  height: 5px;
}

.wallet-breakdown__subval {
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-variant-numeric: tabular-nums;
  min-width: 70px;
  justify-content: flex-end;
}

.wallet-breakdown__subval strong {
  font-size: 0.78rem;
  color: rgba(245, 236, 227, 0.85);
  font-weight: 700;
}

.wallet-breakdown__subval span {
  font-size: 0.65rem;
  color: rgba(245, 236, 227, 0.45);
}

/* Row tooltip hover indicator for non-expandable */
.wallet-breakdown__meta[title] {
  cursor: help;
}

/* Light theme */
html[data-theme="light"] .wallet-breakdown__periods {
  background: #f9fafb;
  border-color: #e5e7eb;
}

html[data-theme="light"] .wallet-breakdown__period {
  color: #6b7280;
}

html[data-theme="light"] .wallet-breakdown__period:hover {
  background: rgba(239, 100, 67, 0.06);
  color: #1f2937;
}

html[data-theme="light"] .wallet-breakdown__period.is-active {
  background: rgba(239, 100, 67, 0.15);
  color: #1f2937;
}

html[data-theme="light"] .wallet-breakdown__subrows {
  background: #f3f4f6;
  border-left-color: rgba(239, 100, 67, 0.3);
}

html[data-theme="light"] .wallet-breakdown__reftype {
  color: #4b5563;
  background: #ffffff;
  border: 1px solid #e5e7eb;
}

html[data-theme="light"] .wallet-breakdown__subval strong { color: #1f2937; }
html[data-theme="light"] .wallet-breakdown__subval span { color: #6b7280; }

html[data-theme="light"] .wallet-breakdown__expand {
  color: #9ca3af;
}

html[data-theme="light"] .wallet-breakdown__row--expandable:hover {
  background: rgba(239, 100, 67, 0.05);
}

/* Mobile */
@media (max-width: 480px) {
  .wallet-breakdown__periods {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
  }
  .wallet-breakdown__period {
    flex: 1;
    text-align: center;
    padding: 8px 4px;
    font-size: 0.78rem;
  }
  .wallet-breakdown__subrows {
    padding: 8px 8px 4px 16px;
  }
  .wallet-breakdown__subrow {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .wallet-breakdown__subval {
    justify-content: flex-start;
  }
}
