/* Consistent form controls, including their open state. */
[hidden]{display:none!important}
/* Request cards use a full-width body below an independent status header. */
.absence-page-layout{align-items:start}
.absence-request-list{display:flex;flex-direction:column;gap:22px;min-width:0}
.absence-request-list>.request-card{margin:0}
.absence-filters{margin-bottom:20px}
.request-card{display:block;padding:24px;min-width:0}
.request-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;min-width:0}
.request-card-heading-main{min-width:0;flex:1}
.request-card-heading .eyebrow{display:block;margin:0;font-size:9px;line-height:1.7}
.request-card-heading h3{margin:12px 0 6px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.request-card-heading p{max-width:none;font-size:12px;line-height:1.8}
.request-card-status{display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex:none;text-align:right}
.request-card-status .amount{margin:0;line-height:1.4}
.request-card-content{min-width:0;width:100%;text-align:left}
.request-card-content>.request-meta{margin-top:18px;gap:7px 18px;font-size:10px;line-height:1.8}
.request-card-content>.request-card-comment{margin:12px 0 0;max-width:none;white-space:pre-wrap;font-size:11px;line-height:1.8}
.request-outcome{margin-top:16px;width:100%}
.request-outcome>.notice{margin:0;padding:14px 16px;line-height:1.85;font-size:11px;gap:11px}
.request-outcome>.notice .icon{margin-top:2px}
.request-card-content>.attachments,.request-card-content>.decision-note{margin-top:16px}
.request-card-content>.decision-actions{margin-top:20px;gap:9px;flex-wrap:wrap}
@media(max-width:700px){.request-card{padding:18px}.request-card-heading{gap:12px;flex-wrap:wrap}.request-card-heading-main{flex:1 1 170px}.request-card-heading h3{font-size:14px}.request-card-status{align-items:flex-start;text-align:left}.request-card-heading .eyebrow{font-size:8px}.request-outcome>.notice{padding:12px;font-size:10px}.request-card-content>.request-meta{margin-top:14px;gap:6px 13px}.request-card-content>.decision-actions{margin-top:16px}}
.absence-limits{min-width:0}
.absence-limits-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.absence-limits-heading h2{font-size:17px;line-height:1.45;min-width:0}
.absence-limits-heading>span{flex:none;white-space:nowrap;border:1px solid #989faa30;border-radius:7px;padding:3px 7px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
.absence-limits-person{font-size:11px;line-height:1.7;margin-top:10px;overflow-wrap:anywhere}
.absence-limits-caption{font-size:9px;color:var(--muted);margin-top:6px}
.absence-quota{margin-top:23px}
.absence-quota-head{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:14px;margin-bottom:10px}
.absence-quota-head>div{min-width:0;font-size:11px;color:var(--text);line-height:1.6}
.absence-quota-head small{display:block;font-size:9px;color:var(--muted);margin-top:3px}
.absence-quota-head>b{white-space:nowrap;font-size:13px;font-weight:500;line-height:1.6;font-variant-numeric:tabular-nums}
.absence-quota-meta{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;margin-top:9px;color:var(--muted);font-size:9px;line-height:1.7}
.absence-quota-meta span{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
.absence-quota-meta span:last-child{justify-content:flex-end}
.absence-quota-meta b{font-weight:500;color:var(--text);white-space:nowrap}
.absence-limits-help{border-top:1px solid #989faa25;margin-top:23px;padding-top:14px;font-size:10px;line-height:1.8}
.absence-limits-help summary{cursor:pointer;color:var(--muted)}
.absence-limits-help p{font-size:10px;line-height:1.9;margin-top:10px}
.ui-field{position:relative;display:block;min-width:0;max-width:100%;width:100%}
label>.ui-field{margin-top:7px}
.ui-field>.ui-native{position:absolute!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;opacity:0!important;clip-path:inset(50%);pointer-events:none;margin:0!important}
.ui-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:43px;padding:11px 12px;border:1px solid #c6c9d17d;border-radius:11px;background:#ffffffa1;color:#303239;box-shadow:inset 0 1px 2px #fff9;text-align:left;font-size:12px;line-height:1.5}
.ui-trigger:hover{border-color:#aeb2bc}.ui-trigger[aria-expanded=true],.ui-trigger:focus-visible{outline:0;border-color:#cb6762;box-shadow:0 0 0 3px #da4f4a12}
.ui-trigger:disabled{background:#eceef060;color:#6b6f77;opacity:1}
.ui-trigger-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-trigger-icon{display:flex;flex:none;color:#777f8c}.ui-trigger-icon .icon{width:17px;height:17px}
.ui-role-field{width:180px}.top-controls .ui-trigger{min-height:35px;padding:7px 10px;font-size:11px}.period-picker .ui-field{width:175px}.ui-period-field .ui-trigger{min-height:44px}
.ui-invalid .ui-trigger{border-color:#b84058;box-shadow:0 0 0 3px #c14f631a}
.ui-popover{display:none;position:fixed;inset:auto;margin:0;padding:8px;border:1px solid #fff;border-radius:17px;background:#f6f6f4f5;color:#343940;box-shadow:0 16px 55px #343b492b,inset 0 1px #fff;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);overflow:auto;overscroll-behavior:contain;z-index:1000;font-family:Montserrat,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:12px;line-height:1.5}
.ui-popover:popover-open{display:block}.ui-popover-fallback{display:block}
.ui-popover::backdrop{background:transparent;pointer-events:none}
.ui-choice{display:block;width:100%;border:1px solid transparent;background:none;color:inherit;border-radius:9px;padding:10px 12px;text-align:left;line-height:1.5;white-space:normal;overflow-wrap:anywhere;font:inherit;position:relative;box-shadow:none}
.ui-choice:hover:not(:disabled){background:#e4e5e97a}.ui-choice:focus-visible{outline:2px solid #bb554e;outline-offset:-2px;background:#e4e5e940}
.ui-choice.is-selected{background:#efd9d4aa;border-color:#d7958b4d;color:#9b3933;font-weight:600}
.ui-select-list .ui-choice{padding-right:33px}.ui-select-list .ui-choice.is-selected::after{content:'✓';position:absolute;right:12px;top:10px}
.ui-choice:disabled{opacity:.35;cursor:default}
.ui-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 3px 12px;border-bottom:1px solid #8d939b26;margin-bottom:11px}
.ui-calendar-head strong{font-weight:600;font-size:14px}.ui-calendar-arrow{border:1px solid #a6acb32d;border-radius:9px;background:#ffffff70;color:inherit;font:inherit;font-size:23px;line-height:1;width:33px;height:33px;padding:0;display:grid;place-items:center}
.ui-calendar-arrow:hover:not(:disabled){background:#e4e5e97a}.ui-calendar-arrow:focus-visible{outline:2px solid #bb554e;outline-offset:2px}.ui-calendar-arrow:disabled{opacity:.3}
.ui-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:3px}
.ui-month-grid .ui-choice{text-align:center;padding:12px 5px;font-size:12px}
.ui-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:3px}
.ui-date-grid .ui-choice{text-align:center;padding:8px 0;font-size:11px;border-radius:8px}
.ui-weekday{text-align:center;color:#7c838e;font-size:9px;padding:3px 0 8px}.ui-choice.is-today:not(.is-selected){border-color:#bc75674d;color:#aa4e42}
.ui-calendar-footer{display:flex;justify-content:flex-end;gap:7px;border-top:1px solid #8d939b26;margin-top:11px;padding-top:7px}
.ui-calendar-footer .ui-choice{width:auto;font-size:10px;color:#a1493e;padding:8px 10px}
[data-theme=dark] .ui-trigger{background:#191c2463;color:#eceef3;border-color:#ffffff24;box-shadow:inset 0 1px 2px #00000008}
[data-theme=dark] .ui-trigger[aria-expanded=true],[data-theme=dark] .ui-trigger:focus-visible{border-color:#cf7770;box-shadow:0 0 0 3px #da4f4a12}
[data-theme=dark] .ui-trigger:disabled{background:#1b1d2433;color:#aeb3be}
[data-theme=dark] .ui-trigger-icon{color:#b0b6c1}
[data-theme=dark] .ui-popover{background:#30333af7;color:#e0e4ec;border-color:#ffffff24;box-shadow:0 16px 55px #0c10185c,inset 0 1px #ffffff08}
[data-theme=dark] .ui-choice:hover:not(:disabled){background:#ffffff0b}
[data-theme=dark] .ui-choice:focus-visible{outline-color:#e19b8c;background:#ffffff08}
[data-theme=dark] .ui-choice.is-selected{background:#b75b4f2e;border-color:#dc9a8930;color:#f1b8a8}
[data-theme=dark] .ui-calendar-head,[data-theme=dark] .ui-calendar-footer{border-color:#ffffff15}
[data-theme=dark] .ui-calendar-arrow{background:#ffffff07;border-color:#ffffff17}
[data-theme=dark] .ui-weekday{color:#959fb2}
[data-theme=dark] .ui-choice.is-today:not(.is-selected),[data-theme=dark] .ui-calendar-footer .ui-choice{color:#ecad9b}
/* Match the bottom inset of the fixed sidebar when the page is scrolled down. */
.main{padding-bottom:22px}
/* One constrained scroll area; header and actions stay accessible. */
#modal{max-height:90vh;max-height:min(90vh,calc(100dvh - 32px));overflow:hidden}
#modal[open]{display:flex;flex-direction:column}
#modal:focus{outline:none}
#modal-content{display:flex;flex-direction:column;min-height:0;max-height:inherit;width:100%;flex:1 1 auto}
#modal-form{display:flex;flex-direction:column;min-height:0;max-height:inherit;flex:1 1 auto;overflow:hidden}
#modal-form>.modal-header,#modal-form>.modal-footer{flex:0 0 auto}
#modal-form>.modal-body{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#969ba680 transparent}
[data-theme=dark] #modal-form>.modal-body{scrollbar-color:#b2b9c34d transparent}
@media(max-width:1200px){.main{padding-bottom:14px}}
@media(max-width:700px){.main{padding-bottom:17px}.ui-role-field{width:145px}.top-controls .ui-trigger{font-size:10px}.ui-period-field .ui-trigger{min-height:43px}}
@media print{.ui-popover{display:none!important}.ui-trigger{background:white!important;color:#111!important;border-color:#ddd!important;box-shadow:none!important}.ui-trigger-icon{display:none}.main{padding-bottom:0}}

.ui-birth-heading{border:0;background:none;color:inherit;font:inherit;font-size:13px;font-weight:600;padding:6px 8px;border-radius:8px}.ui-birth-heading:hover{background:#a6acb315}.ui-birth-years{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:3px}.ui-birth-years .ui-choice{text-align:center;padding:10px 2px;font-size:11px}
