.leave-calendar{border:1px solid #dfe5ef;border-radius:12px;overflow:hidden;background:white}
.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week{border-top:1px solid #dfe5ef}
.calendar-weekday{text-align:center;background:#edf1fb;padding:12px;color:#58677f;font-size:13px}
.calendar-cell{grid-row:1/-1;padding:3px;background:white;overflow:hidden;border-right:1px solid #dfe5ef;min-width:0}
.calendar-col-0{grid-column:1}.calendar-col-1{grid-column:2}.calendar-col-2{grid-column:3}.calendar-col-3{grid-column:4}.calendar-col-4{grid-column:5}.calendar-col-5{grid-column:6}.calendar-col-6{grid-column:7;border-right:0}
.calendar-cell.outside{background:#f5f7fb}.calendar-cell.today{background:#eff4ff}
.calendar-date{background:transparent;color:#182641;padding:4px 7px;font-size:13px}
.calendar-event{z-index:1;display:block;min-width:0;text-align:left;color:#182641;padding:3px 5px;margin:2px;font-size:12px;border-radius:6px;line-height:1.4;overflow:hidden}
.calendar-event span,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{font-size:10px;font-weight:400;margin-top:2px}
.calendar-event.continues-before{border-top-left-radius:0;border-bottom-left-radius:0}.calendar-event.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}
.calendar-color-0{background:#dde7fd}.calendar-color-1{background:#d6efe3}.calendar-color-2{background:#f8e4cb}.calendar-color-3{background:#e8ddfc}.calendar-color-4{background:#f8dde7}.calendar-color-5{background:#d7ecf1}
.leave-record-choice{display:block;text-align:left;width:100%;background:#edf1fb;color:#182641;margin-top:12px}.leave-record-choice small{display:block;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:720px){.calendar-event{font-size:11px;padding:3px;margin:2px 1px}.calendar-weekday{padding:8px 2px}.calendar-date{padding:3px}}
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}
.allocation-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border,#dce5e3)}
.allocation-row>span{flex:1;min-width:120px}
.logo strong{font-size:17px;white-space:nowrap;letter-spacing:-.4px}
#leave-month,#cost-month{width:170px;flex:none}
.toolbar>label:not(.check){display:flex;align-items:center;gap:8px}
@media(max-width:720px){.section-heading{flex-wrap:wrap;gap:12px}.section-heading>div:first-child{flex-basis:100%}.section-heading>button{flex-shrink:0}}
.daily-entry { margin-bottom: 16px; }
.daily-slots { display: grid; grid-template-columns: repeat(auto-fit,minmax(135px,1fr)); gap: 8px; }
.daily-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.daily-fields label:last-child { grid-column: 1 / -1; }
.daily-fields textarea { width: 100%; }
.daily-picker { width: min(640px,calc(100vw - 32px)); max-height: 85vh; overflow: auto; }
.daily-customer { width: 100%; display: block; text-align: left; padding: 12px; margin: 6px 0; }
.daily-customer small { display: block; margin-top: 4px; }
@media (max-width: 520px) { .daily-fields { grid-template-columns: 1fr; } }
