.station-balance { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; max-width: calc(100% - 32px); margin: 8px 16px; font-size: 13px; }
.station-balance-value { color: var(--muted); overflow-wrap: anywhere; }
.station-balance-value b { color: var(--text); font-variant-numeric: tabular-nums; }
.balance-edit.btn { min-height: 32px; padding: 5px 8px; border-radius: 6px; font-size: 12px; }
.balance-dialog { position: fixed; inset: 0; margin: auto; width: min(480px, calc(100% - 24px)); max-height: min(90vh, 720px); box-sizing: border-box; overflow: auto; border: 1px solid var(--line); border-radius: 8px; padding: 18px; background: #fff; color: var(--text); }
.balance-dialog::backdrop { background: rgba(15, 23, 42, .45); }
.balance-dialog-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.balance-dialog-head h2 { min-width: 0; margin: 2px 0 16px; overflow-wrap: anywhere; font-size: 18px; line-height: 1.5; }
.balance-dialog-head .icon-close { flex-shrink: 0; }
.balance-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.balance-fields > div { min-width: 0; }
.balance-dialog label { display: block; margin: 12px 0 6px; color: #4b5563; font-size: 13px; }
.balance-fields label { margin-top: 0; }
.balance-dialog input, .balance-dialog select, .balance-dialog textarea { display: block; width: 100%; min-width: 0; min-height: 40px; box-sizing: border-box; border: 1px solid #9ca3af; border-radius: 6px; padding: 8px; background: #fff; color: var(--text); font: inherit; font-size: 14px; }
.balance-dialog textarea { resize: vertical; }
.balance-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.balance-actions .btn { min-height: 40px; border-radius: 6px; }
.balance-edit:focus-visible, .balance-dialog :is(input, select, textarea, button):focus-visible { outline: 2px solid #1d4ed8; outline-offset: 2px; }
.balance-actions .btn:disabled { background: #f3f4f6; color: #6b7280; cursor: wait; }
@media (max-width: 360px) { .balance-dialog { padding: 14px; } .balance-fields { grid-template-columns: minmax(0, 1fr); } .balance-fields > div + div label { margin-top: 0; } }
