.allocation-history-open { border: 1px solid #173f47; background: #fff; color: #173f47; border-radius: 10px; padding: 10px 14px; font-weight: 700; cursor: pointer; }
.allocation-history-dialog { width: min(1040px, calc(100vw - 28px)); max-height: 88vh; border: 0; border-radius: 22px; padding: 0; color: #183438; box-shadow: 0 30px 90px rgba(14, 47, 52, .28); }
.allocation-history-dialog::backdrop { background: rgba(8, 29, 32, .58); backdrop-filter: blur(5px); }
.allocation-history-card { padding: 26px; background: linear-gradient(145deg, #f8fbf8 0%, #eef6f0 55%, #fff9eb 100%); }
.allocation-history-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.allocation-history-card h2 { margin: 4px 0 0; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(26px, 4vw, 38px); }
.allocation-history-close { border: 0; background: #dfeae3; color: #173f47; border-radius: 50%; width: 40px; height: 40px; font-size: 25px; cursor: pointer; }
.allocation-history-intro { max-width: 780px; color: #516a6b; line-height: 1.55; }
.allocation-history-error { min-height: 22px; margin: 8px 0; color: #a12b20; font-weight: 700; }
.allocation-history-list { display: grid; gap: 10px; max-height: 48vh; overflow: auto; padding-right: 4px; }
.allocation-history-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(150px, .4fr); gap: 18px; align-items: center; padding: 16px; border: 1px solid #d8e5dc; border-radius: 15px; background: rgba(255,255,255,.9); }
.allocation-history-row.is-reversed { background: rgba(245, 239, 232, .78); border-color: #e4d2c4; }
.allocation-history-main, .allocation-history-amount, .allocation-history-state { display: grid; gap: 5px; }
.allocation-history-main span, .allocation-history-main small, .allocation-history-state small { color: #667b7c; }
.allocation-history-main small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.allocation-history-amount { text-align: right; }
.allocation-history-amount code, .allocation-history-state code { font-size: 11px; color: #6d8181; }
.allocation-history-state { justify-items: start; }
.allocation-history-state button { border: 0; border-radius: 9px; background: #a73c2f; color: #fff; padding: 8px 11px; font-weight: 700; cursor: pointer; }
.allocation-status { border-radius: 999px; padding: 5px 9px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.allocation-status.active { color: #195f48; background: #dff1e6; }
.allocation-status.reversed { color: #8c382e; background: #f4dfda; }
.hash-ok { color: #24704f !important; }
.hash-bad { color: #b1261d !important; font-weight: 800; }
.allocation-history-empty { padding: 34px; text-align: center; border: 1px dashed #b9ccc0; border-radius: 15px; color: #687e79; }
.allocation-reversal-form { margin-top: 18px; padding: 18px; border-radius: 16px; background: #173f47; color: #fff; }
.allocation-reversal-hidden { display: none; }
.allocation-reversal-target { margin-bottom: 12px; color: #f0d68b; font-weight: 800; }
.allocation-reversal-form label { display: grid; gap: 8px; font-weight: 700; }
.allocation-reversal-form textarea { min-height: 92px; resize: vertical; border: 1px solid #719095; border-radius: 10px; padding: 11px; font: inherit; }
.allocation-reversal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 12px; }
.allocation-reversal-actions button { border: 0; border-radius: 9px; padding: 10px 14px; font-weight: 800; cursor: pointer; }
.allocation-reversal-cancel { background: #dbe7e3; color: #173f47; }
.allocation-reversal-confirm { background: #efcf76; color: #173f47; }
@media (max-width: 760px) { .allocation-history-card { padding: 18px; } .allocation-history-row { grid-template-columns: 1fr; } .allocation-history-amount { text-align: left; } .allocation-history-list { max-height: 52vh; } }
