/* Sabea Broker Portal — Support Leave */
.lv-wrap { max-width: 1120px; margin: 0 auto; padding: 8px 4px 40px; }
.lv-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.lv-eyebrow { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #217a4a; background: rgba(47,158,95,.14); display: inline-block; padding: 2px 9px; border-radius: 999px; margin-bottom: 8px; }
.lv-title { font-size: 22px; margin: 0 0 4px; color: #12153D; }
.lv-sub { color: #6c6c6c; font-size: 13px; margin: 0; max-width: 640px; line-height: 1.5; }
.lv-controls label { font-size: 12.5px; color: #6c6c6c; }
.lv-controls select { font: inherit; font-size: 13px; padding: 5px 8px; border: 1px solid #e5e3dc; border-radius: 6px; background: #fff; color: #12153D; }

.lv-balances { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 8px; }
.lv-bal { background: #fff; border: 1px solid #e9e6dd; border-radius: 12px; padding: 14px 16px; min-width: 150px; }
.lv-bal-big { min-width: 200px; border-color: rgba(47,158,95,.4); }
.lv-bal-v { font-size: 24px; font-weight: 800; color: #12153D; line-height: 1; }
.lv-bal-of { font-size: 14px; font-weight: 600; color: #9a9a9a; margin-left: 3px; }
.lv-bal-n { font-size: 12.5px; color: #12153D; margin-top: 5px; font-weight: 600; }
.lv-bal-s { font-size: 11px; color: #9a9a9a; margin-top: 2px; }

.lv-h2 { font-size: 15px; color: #12153D; margin: 22px 0 8px; display: flex; align-items: center; gap: 8px; }
.lv-count { background: #C9A84C; color: #fff; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 1px 8px; }
.lv-cols { display: grid; grid-template-columns: 1fr 1.3fr; gap: 22px; align-items: start; }
@media (max-width: 820px) { .lv-cols { grid-template-columns: 1fr; } }

.lv-appr { background: #fff; border: 1px solid #e9e6dd; border-radius: 12px; padding: 12px 14px; margin-bottom: 8px; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.lv-appr-main { font-size: 13px; color: #12153D; }
.lv-days { color: #9a9a9a; }
.lv-reason { color: #6c6c6c; font-style: italic; font-size: 12px; margin-top: 4px; }
.lv-appr-act { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lv-cover { font-size: 12px; color: #6c6c6c; }
.lv-cover select { font: inherit; font-size: 12px; padding: 4px 6px; border: 1px solid #e5e3dc; border-radius: 6px; }

.lv-form { display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid #e9e6dd; border-radius: 12px; padding: 14px; }
.lv-form select, .lv-form input[type=date], .lv-form input[type=text] { font: inherit; font-size: 13px; padding: 7px 9px; border: 1px solid #e5e3dc; border-radius: 7px; background: #fff; color: #12153D; }
.lv-form label { font-size: 12px; color: #6c6c6c; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lv-form label input { flex: 1; }
.lv-hint { font-size: 11.5px; color: #9a9a9a; margin-top: 6px; line-height: 1.4; }

.lv-btn { font: inherit; font-size: 12.5px; font-weight: 600; padding: 7px 13px; border-radius: 8px; border: 1px solid #e5e3dc; background: #fff; color: #12153D; cursor: pointer; }
.lv-primary { background: #12153D; color: #fff; border-color: #12153D; }
.lv-ok { background: #217a4a; color: #fff; border-color: #217a4a; }
.lv-no { background: #fff; color: #b23; border-color: #edc9c9; }
.lv-mini { font: inherit; font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 6px; border: 1px solid #e5e3dc; background: #fff; color: #12153D; cursor: pointer; margin-left: 4px; }
.lv-danger:hover { background: #fbeaea; color: #b23; border-color: #edc9c9; }
.lv-adjust { padding: 1px 6px; font-size: 10px; margin-left: 6px; opacity: .7; }
.lv-adjust:hover { opacity: 1; }

.lv-tablewrap { overflow-x: auto; border: 1px solid #e9e6dd; border-radius: 12px; background: #fff; }
.lv-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.lv-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: #8a8a8a; font-weight: 700; padding: 9px 11px; border-bottom: 1px solid #eee; white-space: nowrap; }
.lv-table td { padding: 9px 11px; border-bottom: 1px solid #f2f0ea; color: #12153D; vertical-align: middle; }
.lv-table tr:last-child td { border-bottom: 0; }
.lv-num { text-align: right; }
.lv-actions { text-align: right; white-space: nowrap; }
.lv-none { color: #9a9a9a; font-size: 12.5px; padding: 12px; }

.lv-type { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 1px 7px; border-radius: 999px; }
.lv-st { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 1px 7px; border-radius: 999px; text-transform: capitalize; }
.lv-st-pending { background: rgba(201,168,76,.2); color: #8a6d1f; }
.lv-st-approved { background: rgba(47,158,95,.14); color: #217a4a; }
.lv-st-declined { background: rgba(178,51,51,.12); color: #b23; }

.lv-annual { background: rgba(47,158,95,.16); color: #217a4a; }
.lv-sick { background: rgba(178,51,51,.12); color: #b23; }
.lv-unpaid { background: rgba(18,21,61,.08); color: #6c6c6c; }
.lv-mand { background: rgba(18,21,61,.14); color: #12153D; }

/* Calendar */
.lv-calendar { background: #fff; border: 1px solid #e9e6dd; border-radius: 12px; padding: 12px 14px; }
.lv-cal-head { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 8px; }
.lv-cal-title { font-size: 14px; font-weight: 700; color: #12153D; min-width: 150px; text-align: center; }
.lv-cal-nav { font: inherit; font-size: 18px; line-height: 1; border: 1px solid #e5e3dc; background: #fff; border-radius: 8px; width: 30px; height: 30px; cursor: pointer; color: #12153D; }
.lv-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.lv-cal-dow { font-size: 10.5px; font-weight: 700; text-transform: uppercase; color: #9a9a9a; text-align: center; padding: 2px 0; }
.lv-cal-cell { min-height: 62px; border: 1px solid #f0eee7; border-radius: 8px; padding: 4px; display: flex; flex-direction: column; gap: 2px; }
.lv-cal-empty { border: 0; background: transparent; }
.lv-cal-wknd { background: #faf9f5; }
.lv-cal-day { font-size: 11px; color: #9a9a9a; font-weight: 600; }
.lv-cal-chip { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 999px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lv-cal-chip.is-pending { border: 1px dashed currentColor; background: #fff !important; }
.lv-cal-more { font-size: 10px; color: #9a9a9a; }
.lv-cal-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; padding-top: 8px; border-top: 1px solid #f0eee7; }

.lv-loading, .lv-empty { color: #6c6c6c; font-size: 13px; padding: 30px 4px; text-align: center; }
