/* TimeKeeper HR v18 — applications workspace */
.leaveHero{background:linear-gradient(115deg,#173a69,#215aa4);border-radius:22px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:white;margin-bottom:18px}
.leaveEyebrow{display:block;font-size:11px;letter-spacing:.16em;font-weight:800;color:#a7c8ff;margin-bottom:8px}
.leaveHero h2{font-size:28px;line-height:1.18;margin:0 0 8px;color:#fff}
.leaveHero p{color:#d5e5ff;max-width:600px;font-size:14px;line-height:1.5}
.leaveHero .btn{background:#fff;color:#184e98;white-space:nowrap}
.leaveKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.leaveKpi{border:1px solid #e0e9f6;border-radius:17px;background:#fff;cursor:pointer;text-align:left;padding:18px 20px;display:grid;gap:10px;color:#617690;transition:border-color .15s,box-shadow .15s}
.leaveKpi strong{font-size:29px;color:#173f7d;letter-spacing:-1px}.leaveKpi span{font-size:12px}
.leaveKpi.selected{border-color:#3579ed;box-shadow:0 0 0 2px #3579ed19}
.leaveWorkArea{padding:22px}.leaveWorkHead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.leaveWorkHead h3{font-size:19px;color:#172f54}.leaveWorkHead p{margin-top:5px;color:#7890aa;font-size:12px}
.leaveFilters{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(180px,1fr) minmax(180px,1fr);gap:14px;margin-bottom:20px}
.leaveFilters label{display:grid;gap:7px;font-size:12px}.leaveFilters input,.leaveFilters select{height:46px}
.leaveList{display:grid;gap:12px}.leaveItem{border:1px solid #e4ebf5;background:#fff;border-radius:17px;padding:18px 19px;box-shadow:0 2px 10px #173e6505}
.leaveItemTop{display:flex;align-items:center;gap:12px;min-width:0}.leaveItemBadge{width:42px;height:42px;border-radius:13px;background:#edf4ff;color:#2866c8;display:grid;place-items:center;font-size:21px;flex-shrink:0}
.leaveItemInfo{flex:1;min-width:0}.leaveItemInfo strong{display:block;color:#142e53;font-size:15px}.leaveItemSub{color:#7187a4;font-size:12px;line-height:1.5;margin-top:4px}
.leaveItemDetails{padding:12px 0 10px 54px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px;color:#3d5575}
.leaveItemDetails p{font-size:13px;line-height:1.45;min-width:0}.leaveItemFoot{padding-top:11px;margin-left:54px;border-top:1px solid #eff3f8;display:flex;align-items:center;justify-content:space-between;gap:16px}
.leaveMuted{font-size:12px;color:#8ca1bd}.leaveLink{border:0;background:transparent;padding:3px 0;color:#2866c8;font-size:12px;font-weight:700;text-align:left;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.leaveActions{display:flex;gap:8px}.leaveEmpty{padding:36px;text-align:center;color:#7289a6;border-radius:14px;background:#f7faff}
.leavePhoneHero{border-radius:22px;padding:23px;background:linear-gradient(125deg,#14355f,#2568be);color:#fff;margin-bottom:16px}.leavePhoneHero h2{font-size:24px;margin-bottom:6px}.leavePhoneHero p{font-size:13px;color:#c6dcf7;line-height:1.4;margin-bottom:18px}.leavePhoneHero button{background:#fff;color:#235ca8;width:100%}
.leavePhoneStats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.leavePhoneStats>div{background:#fff;border:1px solid #e4ebf5;border-radius:15px;padding:16px;display:grid;gap:6px}.leavePhoneStats small{font-size:11px;color:#7086a4}.leavePhoneStats strong{font-size:27px;color:#163b70}.leaveDisclaimer{margin:8px 2px 14px}.leavePhoneList>h3{font-size:17px;margin-bottom:15px;color:#183b6b}.leavePhoneList>h3 span{font-size:13px;color:#7790b1;font-weight:500}
.dialog.leaveDialog{width:min(740px,96vw);padding:26px 28px;max-height:min(92dvh,860px);overflow:auto}.dialog.leaveDialog header{margin-bottom:18px}.leaveForm{display:grid;gap:15px}.leaveForm label{font-size:12px;font-weight:700;color:#4b6282}.leaveForm input,.leaveForm select,.leaveForm textarea{margin-top:3px}.leaveDateGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.leaveNotice{display:flex;align-items:flex-start;gap:12px;padding:15px;background:#f0f6ff;border:1px solid #dce9fc;border-radius:15px}.leaveNoticeIcon{font-size:22px;color:#316ad1}.leaveNotice b{font-size:13px;color:#214d8a}.leaveNotice p{font-size:12px;color:#667e9e;margin-top:4px;line-height:1.5}
.leaveAttachmentBox{border:1px dashed #abc4e5;border-radius:17px;padding:17px;background:#fafcff}.leaveAttachHeader strong{font-size:14px;color:#1b3961}.leaveAttachHeader p{font-size:12px;color:#7790af;margin-top:6px}.leaveAttachButtons{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.leaveAttachButtons .btn{flex:1;white-space:nowrap}.leaveFileSelected{color:#5f7ca0;font-size:12px;overflow-wrap:anywhere}.leaveFileSelected button{border:0;background:transparent;color:#b04348;cursor:pointer;font-weight:700}
.leaveFormError{color:#a42d45;background:#fff0f1;padding:11px 13px;border-radius:12px;font-size:12px}.leaveFormError[hidden]{display:none}.leaveFormActions{display:flex;gap:10px;justify-content:flex-end}.leaveFormActions .btn{min-width:120px}
.leaveReview{display:grid;gap:18px}.leaveReviewHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.leaveReviewHeading strong{font-size:19px;color:#143964}.leaveReviewHeading span:not(.pill){font-size:13px;color:#7990aa;display:block;margin-top:6px}.leaveReviewFacts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.leaveReviewFacts>div{background:#f7faff;padding:14px;border-radius:14px;border:1px solid #e5edf8;display:grid;gap:6px}.leaveReviewFacts small{font-size:11px;color:#7990aa}.leaveReviewFacts b{font-size:14px;color:#173f79}.leaveReviewReason{color:#375273;font-size:14px;background:#f8fbff;padding:13px;border-radius:12px}
@media(max-width:850px){.leaveKpis{grid-template-columns:repeat(2,1fr)}.leaveFilters{grid-template-columns:1fr}.leaveHero{flex-direction:column;align-items:stretch}.leaveWorkArea{padding:15px}}
@media(max-width:580px){.dialog.leaveDialog{padding:18px;max-height:92dvh}.leaveDateGrid{grid-template-columns:1fr}.leaveItemTop{flex-wrap:wrap}.leaveItemTop .pill{margin-left:54px}.leaveItemDetails,.leaveItemFoot{margin-left:0;padding-left:0}.leaveItemFoot{align-items:flex-start;flex-direction:column}.leaveReviewFacts{grid-template-columns:1fr 1fr}.leaveAttachButtons{flex-direction:column}.leaveFormActions{flex-direction:column-reverse}.leaveFormActions .btn{width:100%}}
