.leave-cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.leave-cal-toolbar h1{margin:0}.leave-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.leave-cal-grid>b{text-align:center;padding:.6rem}.leave-cal-day{min-height:110px;padding:.5rem;background:#fff;border:1px solid #d9e0e5;border-radius:8px;overflow-wrap:anywhere}.leave-cal-day.leave-cal-outside{opacity:.45}.leave-cal-day.leave-cal-today{border-color:#1198ce;box-shadow:inset 0 0 0 1px #1198ce}.leave-cal-entry{display:block;margin-top:.3rem;padding:.2rem .35rem;border-radius:4px;font-size:.8rem}.leave-cal-work{background:#e4f4fb}.leave-cal-absence{background:#eee}@media(max-width:700px){.leave-cal-day{min-height:72px;padding:.2rem;font-size:.8rem}.leave-cal-grid{gap:2px}.leave-cal-entry{font-size:.65rem;padding:.1rem}}
.leave-cal-pending{background:#fff1cc}.leave-cal-requests{padding-left:1.3rem}.leave-cal-requests li{margin:.7rem 0}.leave-cal-dialog{border:0;border-radius:12px;padding:1.25rem;width:min(95vw,520px)}.leave-cal-dialog::backdrop{background:#0008}.leave-cal-dialog form{display:grid;gap:.75rem}.leave-cal-dialog label{display:grid;gap:.25rem}.leave-cal-dialog input,.leave-cal-dialog select,.leave-cal-dialog textarea{width:100%}

.leave-cal-filter{display:grid;gap:.25rem;max-width:320px;margin:.75rem 0}.leave-cal-filter select{width:100%}.leave-cal-personal{margin:.75rem 0 1rem}.leave-cal-personal summary{cursor:pointer;color:#24617b}.leave-cal-personal .actions{margin-top:.7rem}.leave-cal-pending-panel{margin:1rem 0}.leave-cal-count{display:inline-block;min-width:1.7em;padding:.05rem .4rem;border-radius:999px;background:#e4f4fb;color:#12618a;text-align:center}.leave-cal-work:is(button){width:100%;border:0;text-align:left;cursor:pointer;color:inherit}.leave-cal-work:is(button):hover{background:#cdebf8;text-decoration:underline}


.leave-account-scroll{overflow-x:auto}.leave-account-scroll table{width:100%;border-collapse:collapse}.leave-account-scroll th,.leave-account-scroll td{padding:.65rem;text-align:left;border-bottom:1px solid var(--line,#ddd)}

@media(max-width:700px){.bottom-nav{justify-content:flex-start;overflow-x:auto}.bottom-nav .nav-link{flex:0 0 auto;min-width:76px}}

/* Personal balances are readable facts, not a squeezed management table. */
.leave-calendar,.leave-account-panel{min-width:0;max-width:100%;box-sizing:border-box}
.leave-account-panel{margin-top:24px}
.leave-account-panel h2{margin:0 0 16px;font-size:1.2rem}
.leave-account-remaining{padding:20px;border:1px solid var(--line,#d9e0e5);border-radius:12px;background:var(--canvas,#f2f6f8)}
.leave-account-remaining>span{display:block;color:var(--muted,#637380);font-size:.9rem}
.leave-account-remaining>strong{display:block;margin:6px 0;font-size:1.75rem;line-height:1.2;color:var(--ink,#22313b);overflow-wrap:normal;word-break:normal}
.leave-account-remaining strong small{font-size:1rem;font-weight:500}
.leave-account-remaining p{margin:8px 0 0;font-size:.85rem;line-height:1.45;color:var(--muted,#637380)}
.leave-account-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:8px 0 0}
.leave-account-facts>div{min-width:0;padding:14px 0;border-bottom:1px solid var(--line,#d9e0e5)}
.leave-account-facts dt{margin:0 0 5px;font-size:.85rem;line-height:1.4;color:var(--muted,#637380);word-break:normal;overflow-wrap:normal}
.leave-account-facts dd{margin:0;font-size:1.1rem;font-weight:650;line-height:1.4}
.leave-account-facts dd small{display:block;font-size:.8rem;font-weight:400;color:var(--muted,#637380)}
.leave-account-pending{grid-column:1/-1}
.leave-account-explanation{margin-top:14px;font-size:.85rem;line-height:1.5}
.leave-account-explanation summary{cursor:pointer;padding:6px 0;color:var(--blue-dark,#24617b)}
.leave-account-explanation p{margin:8px 0}
.leave-account-hint{font-size:.9rem;color:var(--muted,#637380)}
.leave-account-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}
.leave-account-scroll table{table-layout:auto;width:100%;min-width:920px}
.leave-account-scroll th,.leave-account-scroll td{white-space:normal;word-break:normal;overflow-wrap:normal;min-width:90px}
.leave-account-scroll th:first-child,.leave-account-scroll td:first-child{min-width:150px}
.leave-account-scroll .table-sort-button{white-space:normal;word-break:normal;overflow-wrap:normal;min-width:90px}

.leave-cal-week-number{float:right;color:var(--muted,#637380);font-size:.65rem;font-weight:500;white-space:nowrap}
@media(max-width:700px){.leave-cal-week-number{font-size:.55rem;letter-spacing:-.03em}}

.leave-cal-day.leave-cal-today{background:#fff4cf;border-color:#ad7100;box-shadow:inset 0 0 0 1px #ad7100;opacity:1}
.leave-cal-today>strong{display:inline-block;background:#805300;color:#fff;border-radius:999px;min-width:1.8em;line-height:1.8;text-align:center}
