/* v1.5.1 leave module (scoped) – works with app.css dark theme.
   IMPORTANT: No generic .card/.grid overrides to avoid conflicts.
*/

/* Stacks */
.leave-hstack{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.leave-right{margin-left:auto}

/* Calendar */
.leave-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.leave-cal-head{font-size:12px;opacity:.8;text-align:center;padding:6px 0}
.leave-day{min-height:110px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:rgba(17,31,54,.65)}
.leave-day.muted{opacity:.5}
.leave-daynum{font-weight:700;font-size:12px;opacity:.85}
.leave-events{display:flex;flex-direction:column;gap:6px;margin-top:8px}

.leave-ev{padding:7px 9px;border-radius:12px;border:1px solid var(--line);font-size:12px;cursor:pointer;user-select:none}
.leave-ev.pending{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.35)}
.leave-ev.approved{background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.28)}
.leave-ev.rejected{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.25)}
.leave-ev.cancelled{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.25)}

/* Modal */
.leave-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;padding:14px;z-index:50}
.leave-modal-backdrop.open{display:flex}
.leave-modal{width:min(680px,100%)}

@media (max-width:720px){
  .leave-calendar{gap:8px}
  .leave-day{min-height:96px;padding:8px}
}
