.withdrawal-page { max-width: 1040px; min-width: 0; }
.withdrawal-page .panel { margin-bottom: 20px; padding: 24px; min-width: 0; overflow-wrap: anywhere; }
.withdrawal-page details > summary { cursor: pointer; padding: 8px 0; font-weight: 600; }
.withdrawal-form { display: grid; gap: 16px; min-width: 0; }
.withdrawal-form .form-field { min-width: 0; }
.withdrawal-form input, .withdrawal-form select, .withdrawal-form textarea { box-sizing: border-box; min-width: 0; max-width: 100%; }
.withdrawal-form select { min-height: 42px; }
.withdrawal-form .withdrawal-checkbox { display: flex; align-items: start; gap: 10px; font-weight: normal; }
.withdrawal-form .withdrawal-checkbox input[type="checkbox"] { flex: 0 0 18px; width: 18px; min-width: 18px; max-width: 18px; height: 18px; min-height: 0; margin: 3px 0 0; padding: 0; }
.withdrawal-options { margin: 0; padding: 12px; border: 1px solid var(--border); border-radius: 6px; }
.withdrawal-options label { margin: 10px 0; }
.withdrawal-form [hidden] { display: none; }
.withdrawal-form button { justify-self: start; max-width: 100%; white-space: normal; }
.withdrawal-form button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border: 1px solid var(--control-border); border-radius: 6px; cursor: pointer; }
.withdrawal-form button[type="submit"]:not(.primary):not(.danger) { color: var(--text); background: var(--control-bg); }
.withdrawal-step { border-left: 4px solid var(--border); scroll-margin-top: 16px; }
.withdrawal-step-done { border-left-color: #16a34a; }
.withdrawal-audit { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.withdrawal-list-page { max-width: none; }
.withdrawal-list-back { display: inline-block; margin-bottom: 12px; }
.withdrawal-list-page .withdrawal-list-filter { display: grid; grid-template-columns: minmax(220px, 360px) auto; justify-content: start; align-items: end; gap: 16px; padding: 20px; margin: 20px 0 24px; }
.withdrawal-list-filter select { box-sizing: border-box; min-width: 0; max-width: 100%; min-height: 44px; }
.withdrawal-list-filter .button { min-height: 44px; }
.withdrawal-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.withdrawal-list .panel { margin: 0; }
.withdrawal-list .withdrawal-card { display: grid; align-content: start; gap: 12px; padding: 20px; }
.withdrawal-card h2 { margin: 0; font-size: 1.15rem; }
.withdrawal-card p { margin: 0; }
.withdrawal-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.withdrawal-state-open { background: var(--amber-50); color: var(--amber-800); }
.withdrawal-state-completed { background: var(--green-50); color: var(--green-800); }
.withdrawal-list > .empty { grid-column: 1 / -1; }
@media (max-width: 700px) {
    .withdrawal-page .panel { padding: 16px; }
    .withdrawal-form button { width: 100%; }
    .withdrawal-list-page .withdrawal-list-filter { grid-template-columns: minmax(0, 1fr); padding: 16px; }
    .withdrawal-list-filter .button { width: 100%; }
    .withdrawal-list .withdrawal-card { padding: 16px; }
}
