:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#242929;background:#f4f5f2;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:#9b1820}h1{font-size:clamp(1.9rem,5vw,2.7rem);line-height:1.1;margin:.6em 0}h2{font-size:1.35rem}p{line-height:1.55}.shell{max-width:740px;margin:auto;padding:28px 20px 64px}.wide{max-width:1200px}.eyebrow{font-size:.75rem;letter-spacing:.15em;color:#9b1820;font-weight:750;margin-top:2rem}.intro{color:#5b6161}.notice,fieldset,.request,.metric{background:white;border:1px solid #d8deda;border-radius:12px;padding:20px;margin:18px 0}.notice{border-left:4px solid #b21f28}.notice p{margin:.5rem 0}.notice.success{border-left-color:#287644}label{display:block;font-weight:650;margin:18px 0 8px}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;min-width:0;border:1px solid #9ca9a1;border-radius:7px;padding:12px;background:white;color:inherit;margin-top:7px}input[type=checkbox]{width:20px;height:20px;margin:0;flex-shrink:0}.check{display:flex;align-items:flex-start;gap:12px;line-height:1.5;font-weight:450}button,.button{display:inline-block;background:#b51f28;color:white;border:0;border-radius:8px;padding:13px 18px;min-height:46px;font-weight:650;cursor:pointer;text-decoration:none}button:disabled{opacity:.55;cursor:wait}.secondary{color:#333;background:#e5eae5}.danger{background:#fff1f1;color:#a0131c}small{display:block;color:#606960;line-height:1.5;margin-top:8px}fieldset{min-width:0}legend{font-weight:700;padding:0 8px}.grid,.filters,.actions{display:flex;gap:14px;flex-wrap:wrap}.grid>label{flex:1 1 200px}.actions{align-items:center;margin-top:14px}.filters>label{flex:1 1 160px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}.metric{margin:12px 0;padding:16px}.metric strong{display:block;font-size:1.7rem;margin-top:5px}.request h2{margin:0}.badge{display:inline-block;border-radius:20px;background:#edf1ed;padding:6px 12px;font-size:.85rem}.pending{background:#fff0c6}.approved{background:#dff3e4}.late,.refused{background:#ffe3e3}.muted{color:#5b655e}.period-list{padding-left:20px;line-height:1.7}.reason{white-space:pre-wrap;overflow-wrap:anywhere}.request header{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}details{margin-top:18px}summary{cursor:pointer}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px;border-bottom:1px solid #dde3dd}.table-wrap{overflow:auto}#message:not(:empty){padding:16px;background:#fff0d5;border-radius:8px}#send{width:100%;margin-top:18px}#testBanner{background:#fff0c6}[hidden]{display:none!important}:focus-visible{outline:3px solid #225fa0;outline-offset:3px}@media(max-width:480px){.shell{padding:20px 14px 40px}.notice,fieldset,.request{padding:15px}.grid>label{flex-basis:100%}.actions button{flex-grow:1}.stats{grid-template-columns:1fr 1fr}}@media print{button,.filters,.actions,nav{display:none}}

.day-kind{display:grid;gap:4px}.day-kind label{margin:8px 0}input[type=radio]{width:22px;height:22px;margin:0;flex-shrink:0;accent-color:#b51f28}.day-hours>div{flex:1 1 240px;min-width:0}.day-hours p{font-weight:650;margin-bottom:6px}.time-picker{margin:0;border:1px solid #9ca9a1;border-radius:8px;background:#fff}.time-picker summary{padding:14px;min-height:48px;font-weight:650}.time-options{position:relative;max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;overscroll-behavior:contain}.time-option{padding:10px 2px;font-size:.85rem;color:#242929;background:#edf1ed;font-weight:500}.time-option[aria-pressed=true]{background:#b51f28;color:white}#dateError:not(:empty){color:#9b1820;font-weight:650}#summaryBox h2{margin-top:0}@media(max-width:480px){.day-hours>div{flex-basis:100%}}

.badge.conditional{background:#ffedba;color:#744700}.notice.conditional-notice{border-left-color:#a96a00;background:#fff9e9}

button[data-standard-conditions],button[data-current-conditions]{margin:6px 8px 0 0}
.leave-acknowledgement{padding:16px 20px;margin:18px 0;border:1px solid #dce3e9;border-left:5px solid #9a751f;border-radius:8px;background:#fff9e9}.leave-acknowledgement.seen{border-left-color:#287644;background:#eff9f2}.leave-acknowledgement p{margin:0;line-height:1.6}.leave-acknowledgement small{display:block;color:#52616d;line-height:1.5}.leave-acknowledgement details{margin-top:12px}
