/* Fixed-size, optically centered icons, independent of font metrics and legacy pseudo-elements. */
body :is(#calculatorDialog,#contactDialog) .utility-heading .dialog-close,
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-header .calendar-dismiss{
 display:grid;place-items:center;align-content:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;flex:0 0 44px;padding:0;margin:0;font-size:0;line-height:0;text-indent:0;transform:none;overflow:hidden;
}
body :is(#calculatorDialog,#contactDialog) .dialog-close::before,body :is(#calculatorDialog,#contactDialog) .dialog-close::after,
body :is(#calculatorForm,#contactForm) .calendar-dismiss::before,body :is(#calculatorForm,#contactForm) .calendar-dismiss::after{content:none;display:none}
body :is(#calculatorDialog,#contactDialog) .dialog-close>svg,
body :is(#calculatorForm,#contactForm) .range-calendar .control-icon{
 display:block;position:static;inset:auto;margin:0;padding:0;flex:0 0 20px;width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;transform:none;fill:none;stroke:currentColor;overflow:visible;pointer-events:none;
}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-header{align-items:center}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-navigation{
 display:grid;grid-template-columns:44px minmax(0,1fr) minmax(92px,.55fr) 44px;grid-template-areas:'previous month year next';gap:10px;align-items:center;
}
body :is(#calculatorForm,#contactForm) .range-calendar [data-calendar-prev]{grid-area:previous}
body :is(#calculatorForm,#contactForm) .range-calendar [data-calendar-next]{grid-area:next}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-navigation>button{display:grid;place-items:center;width:44px;height:44px;min-width:0;min-height:44px;padding:0;line-height:0;font-size:0}
body :is(#calculatorForm,#contactForm) .range-calendar [data-calendar-select=month]{grid-area:month}
body :is(#calculatorForm,#contactForm) .range-calendar [data-calendar-select=year]{grid-area:year}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-select{position:relative;min-width:0;width:100%}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-select>label.sr-only{position:absolute;width:1px;height:1px;min-width:0;min-height:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;margin:-1px}
body :is(#calculatorForm,#contactForm) .range-calendar select[hidden]{display:none!important}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-select-trigger{
 display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--form-line);border-radius:10px;background:#303c37;color:var(--form-text);font-size:14px;text-align:left;line-height:1.3;text-transform:capitalize;
}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-select-trigger>span{min-width:0;overflow-wrap:anywhere}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-select-trigger[aria-expanded=true]{background:#3b5044;border-color:var(--form-accent)}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice-panel{padding:12px;margin:0 0 18px;border:1px solid #718b7e;border-radius:14px;background:#26332c;box-shadow:0 8px 24px #07120d33}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice-panel[hidden]{display:none!important}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice-title{display:block;font-size:12px;color:var(--form-muted);margin:0 0 10px}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:244px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#799884 #26332c;padding:3px;outline:none}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:8px;border:1px solid transparent;border-radius:9px;text-align:center;cursor:pointer;font-size:14px;line-height:1.4;overflow-wrap:anywhere;text-transform:capitalize;color:var(--form-text);transition:background .15s,border-color .15s}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice[aria-selected=true]{background:var(--form-accent);color:#1f3528;font-weight:600}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice:hover:not([aria-disabled=true]){background:#425e4c;color:#fff}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice.is-focused{border-color:var(--form-accent);box-shadow:inset 0 0 0 1px var(--form-accent)}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice[aria-disabled=true]{opacity:.4;cursor:default}
body :is(#calculatorForm,#contactForm) .range-calendar .calendar-week [data-calendar-day]{transition:background .15s,border-color .15s}
.hr-portal-content .employee-portal{width:100%;margin:0}
.portal-workflows{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
@media(max-width:1100px), (max-width:1366px) and (hover:none){
 /* Keep geometry unchanged across Home/product transitions. On Home the rail
    scrolls to the left-aligned start; only a chosen product is centered by JS. */
 body{--rail-card-width:min(205.2px,calc(95vw - 98.8px))}
 body:not(.product-mode) .product-rail,body.product-mode .product-rail{
  justify-content:flex-start;padding-inline:max(12px,calc((100% - var(--rail-card-width))/2));scroll-padding-inline:0;scroll-snap-type:none;overflow-anchor:none;
 }
}
@media(max-width:600px){
 body :is(#calculatorForm,#contactForm) .range-calendar .calendar-navigation{grid-template-columns:minmax(0,1fr) minmax(80px,.65fr);grid-template-areas:'month year' 'previous next';gap:8px}
 body :is(#calculatorForm,#contactForm) .range-calendar .calendar-navigation>button{width:100%;height:44px}
 body :is(#calculatorForm,#contactForm) .range-calendar .calendar-select-trigger{font-size:16px;padding:10px;min-height:48px}
 body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice{font-size:14px}
 body :is(#calculatorForm,#contactForm) .range-calendar .calendar-week [data-calendar-day]{min-height:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){body :is(#calculatorForm,#contactForm) .range-calendar .calendar-choice,body :is(#calculatorForm,#contactForm) .range-calendar .calendar-week [data-calendar-day]{transition:none}}

/* The server-rendered rail is left-aligned even before JavaScript is loaded. */
@media(max-width:1100px), (max-width:1366px) and (hover:none){body:not(.product-mode) .product-rail:not([data-rail-ready]){padding-inline:12px}}
