.vacation-panel { min-width: 0; }
.vacation-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.vacation-form label { display: grid; gap: .3rem; min-width: 0; }
.vacation-form input, .vacation-form textarea { width: 100%; min-width: 0; box-sizing: border-box; }
.vacation-form textarea { resize: vertical; min-height: 4.5rem; }
.vacation-form .vacation-note { grid-column: 1 / -1; }
#vacation-submit, #vacation-discard { min-height: 48px; white-space: normal; scroll-margin-block: 110px; }
.vacation-history-toolbar { display: flex; align-items: end; gap: .7rem; margin-top: 1rem; }
.vacation-history-toolbar label { display: grid; gap: .3rem; max-width: 9rem; }
.vacation-history { list-style: none; padding: 0; margin: .6rem 0; display: grid; gap: .6rem; }
.vacation-request { border: 1px solid var(--border, #d5dfdf); border-radius: .8rem; padding: .8rem; background: var(--surface, #fff); overflow-wrap: anywhere; }
.vacation-request-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }
.vacation-status { border-radius: 1rem; padding: .2rem .55rem; font-size: .85rem; font-weight: 600; }
.vacation-pending { background: #fff0ce; color: #715217; }
.vacation-approved { background: #dceddf; color: #245437; }
.vacation-denied { background: #f7e1dc; color: #873929; }
.vacation-withdrawn { background: #e8edef; color: #43565d; }
.vacation-withdraw-action { min-height: 44px; white-space: normal; max-width: 100%; margin-top: .5rem; scroll-margin-block: max(110px, var(--mobile-nav-height, 110px)); }
.vacation-withdraw-confirm { margin-top: .5rem; padding: .5rem; background: #f0f5f4; border-radius: .6rem; }
.vacation-withdraw-confirm p { margin: 0; }
.vacation-withdraw-buttons { display: flex; gap: .5rem; flex-wrap: wrap; }
.vacation-withdraw-buttons button { flex: 1 1 12rem; }
.vacation-request-note { white-space: pre-wrap; margin: .5rem 0 0; }
@media (max-width: 380px) { .vacation-form { grid-template-columns: minmax(0, 1fr); } }
