.leave-sign-section{margin-top:20px}.leave-sign-section .field{margin:18px 0}.leave-sign-section h4{margin:22px 0 8px}.leave-sign-section canvas{display:block;width:100%;height:180px;border:1px solid #c4cddd;border-radius:14px;background:#fff;touch-action:none;margin:12px 0}.leave-confirm{display:flex;gap:10px;align-items:flex-start;margin:18px 0;line-height:1.5}.leave-confirm input{width:20px;height:20px;flex-shrink:0}.leave-sign-section [hidden]{display:none!important}#leaveAllowanceButton{margin:10px 0}#leaveBalance{line-height:1.6}#leaveModal .modal-foot{flex-wrap:wrap}.leave-personal-balance{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--line)}.leave-personal-balance>div{background:var(--card);padding:13px 14px;min-height:72px;display:flex;flex-direction:column;justify-content:center}.leave-personal-balance span,.leave-personal-balance strong{display:block}.leave-personal-balance span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.leave-personal-balance strong{font-size:22px;color:var(--txt-hi);margin-top:3px}.leave-personal-balance .available{background:var(--accent-soft)}.leave-personal-balance .available strong{color:var(--accent)}.leave-personal-balance .leave-balance-empty{grid-column:1/-1;min-height:auto}.leave-personal-balance .leave-balance-empty strong{font-size:13px;margin:0}.leave-personal-balance .leave-balance-empty span{font-size:11px;text-transform:none;margin-top:3px}

#leaveDays[readonly]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 34%,var(--line));color:var(--accent);font-weight:800;font-size:20px;cursor:default}.leave-calendar{margin:18px 0}.leave-calendar-empty,.leave-calendar-loading{padding:15px 16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);background:var(--surface,#f7f9fb);line-height:1.5}.leave-calendar-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line);gap:1px}.leave-calendar-summary>div{background:var(--card);padding:12px 14px}.leave-calendar-summary span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.leave-calendar-summary strong{display:block;font-size:24px;margin-top:3px;color:var(--txt-hi)}.leave-calendar-summary .working{background:var(--accent-soft)}.leave-calendar-summary .working strong{color:var(--accent)}.leave-calendar-result,.leave-calendar-error{margin:10px 0;padding:11px 13px;border-radius:12px;background:#eaf8f3;color:#08785b}.leave-calendar-error{background:#fff0f0;color:#b42318}.leave-calendar-details{border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}.leave-calendar-details summary{padding:13px 15px;cursor:pointer;font-weight:700;color:var(--txt-hi)}.leave-calendar-details[open] summary{border-bottom:1px solid var(--line)}.leave-calendar-days{max-height:340px;overflow:auto;overscroll-behavior:contain}.leave-calendar-day{display:grid;grid-template-columns:122px 1fr auto;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line)}.leave-calendar-day:last-child{border-bottom:0}.leave-calendar-day time span,.leave-calendar-day>div span{display:block}.leave-calendar-day time span{font-size:11px;color:var(--muted);margin-top:2px}.leave-calendar-day>div>strong{font-size:13px}.leave-day-state{font-size:11px;font-weight:800;border-radius:999px;padding:5px 8px;background:#edf1f5;color:#657083;white-space:nowrap}.leave-calendar-day.is-working .leave-day-state{background:#e6f8f1;color:#08785b}.leave-calendar-day.has-school-note{box-shadow:inset 3px 0 #e9a23b}.leave-school-note{font-size:11px;color:#98600d;margin-top:4px}.leave-calendar-rule{font-size:11px;line-height:1.5;color:var(--muted);margin:9px 2px 0}

@media(max-width:680px){.leave-personal-balance{grid-template-columns:repeat(2,1fr)}.leave-personal-balance .available{grid-column:1/-1}.leave-personal-balance>div{min-height:64px;padding:10px 12px}.leave-calendar-summary>div{padding:10px}.leave-calendar-summary strong{font-size:21px}.leave-calendar-day{grid-template-columns:92px 1fr;gap:8px}.leave-calendar-day>.leave-day-state{grid-column:2;justify-self:start}.leave-calendar-details summary{font-size:13px}}
