@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";/* inter-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format('woff2'), url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-cyrillic-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format('woff2'), url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-greek-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format('woff2'), url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format('woff');
  unicode-range: U+1F00-1FFF;
}

/* inter-greek-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format('woff2'), url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format('woff');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-vietnamese-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format('woff2'), url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format('woff');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* inter-latin-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format('woff2'), url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-latin-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format('woff2'), url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* lato-latin-ext-400-normal */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/lato-latin-ext-400-normal-CK4GAP86.woff2) format('woff2'), url(data:font/woff;base64,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) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* lato-latin-400-normal */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/lato-latin-400-normal-BEhtfm5r.woff2) format('woff2'), url(/assets/lato-latin-400-normal-B11PyLys.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-weight-medium:500;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::-moz-placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
/* My Leave Tab */
.my-leave-tab-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

/* History / Pending segmented toggle */
.my-leave-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: transparent;
  border: 1px solid var(--border-stroke);
  border-radius: 10px;
  padding: 4px;
}

.my-leave-view-toggle-button {
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 16px;
  border-radius: 0;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.my-leave-view-toggle-button:not(:last-child) {
  border-right: 1px solid var(--border-stroke);
}

.my-leave-view-toggle-button:hover {
  color: var(--text-primary);
}

.my-leave-view-toggle-button-active {
  background: var(--background-paper);
  color: var(--text-primary);
  font-weight: 600;
}

/* Table wrapper */
.my-leave-table-wrapper {
  margin-top: 12px;
}


/* ========================= */
/* Leave request modal  */
/* ========================= */
.add-modal-body {
  display: flex;
}

.modal-body-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px;
  flex: 1 0 0;
  align-self: stretch;
  width: 55%;
}

.modal-text-subtitle {
  color: var(--text-secondary);
  font-family: inherit;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.45;
  opacity: 0.9;
}

.modal-body-right {
  display: flex;
  width: 45%;
  padding: 16px;
  padding-left: 22px;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  align-self: stretch;
}

.modal-body-right-title {
  border-bottom: 0.4px solid var(--border-stroke);
  padding-bottom: 4px;
  width: 100%;
}

.modal-details {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}

.modal-detail-item {
  display: flex;
  padding: 8px 0;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
}

.modal-detail-item-label {
  color: var(--text-tertiary);
}

.modal-detail-item-value {
  color: var(--text-primary);
}

.modal-detail-item--wrap {
  align-items: flex-start;
}
 
.modal-detail-item--wrap .modal-detail-item-value {
  max-width: 150px;
  text-align: right;
  word-break: break-word;
}

/* ========================= */
/* Confirm action modal (self-contained, no BasicModal) — shared by
   ConfirmActionModal.tsx and anything built on it (submit schedule, send
   for approval, cancel request, etc). */
/* ========================= */
.confirm-action-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2000;
}

.confirm-action-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 440px;
  max-width: 92vw;
  max-height: 90vh;
  overflow-y: auto;
  background: var(--background-paper);
  border-radius: 16px;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
  padding: 24px;
  z-index: 2001;
}

.confirm-action-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: flex;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--text-primary);
}

.confirm-action-modal-title {
  margin: 0 32px 0 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--text-primary);
}

.confirm-action-modal-desc {
  margin: 8px 32px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.confirm-action-modal-details {
  margin-top: 16px;
  padding: 2px 14px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.035);
}

.dark-mode .confirm-action-modal-details {
  background: rgba(255, 255, 255, 0.06);
}

.confirm-action-modal-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 12.5px;
}

.confirm-action-modal-detail-label {
  color: var(--text-tertiary);
}

.confirm-action-modal-detail-value {
  color: var(--text-primary);
  font-weight: 600;
}

.confirm-action-modal-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.input-bg-white {
  background: var(--input-background);
}

/* ========================= */
/* Leave type */
/* ========================= */
.leave-type-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.leave-type-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border-stroke);
  cursor: pointer;
  text-align: center;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}

.leave-type-card:hover {
  border-color: var(--secondary-dark);
  background: var(--leave-selected-bg);
}
.leave-type-card--selected {
  border-color: var(--secondary-dark);
  background: var(--leave-selected-bg);
}

.leave-type-card-check {
  position: absolute;
  top: 8px;
  right: 8px;
  color: var(--secondary-dark);
  display: inline-flex;
}

.leave-type-card-check svg {
  fill: currentColor !important;
  stroke: none !important;
}

.leave-type-card-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

.leave-type-card-remaining {
  font-size: 10px;
  color: var(--text-tertiary);
}

/* ========================= */
/* Request type */
/* ========================= */
.request-type-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 8px;
}

.request-type-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 14px 12px;
  border: 1px solid var(--border-stroke);
  cursor: pointer;
  text-align: center;
  transition:
    border-color 0.15s ease,
    background 0.15s ease;
}

.request-type-card:hover {
  border-color: var(--secondary-dark);
  background: var(--leave-selected-bg);
}

.request-type-card--selected {
  border-color: var(--secondary-dark);
  background: var(--leave-selected-bg);
}

.request-type-card-check {
  position: absolute;
  top: 8px;
  right: 8px;
  color: var(--secondary-dark);
  display: inline-flex;
}

.request-type-card-check svg {
  fill: currentColor !important;
  stroke: none !important;
}

.request-type-card-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

.request-type-card-detail {
  font-size: 10px;
  color: var(--text-tertiary);
}

/* ========================= */
/* Attachments */
/* ========================= */
.attachment-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 16px 12px;
  margin-top: 8px;
  border: 1px dashed var(--link-light);
  border-radius: 8px;
  background: var(--background-panel);
  cursor: pointer;
  text-align: center;
}

.attachment-dropzone--active {
  border-color: var(--link-main);
  background: var(--background-panel);
}

.attachment-dropzone-primary {
  font-size: 12px;
  color: var(--text-primary);
}

.attachment-dropzone-secondary {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary);
}

.attachment-file-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}

.attachment-file-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--border-stroke);
  border-radius: 6px;
  background: var(--background-paper);
}

.attachment-file-name {
  flex: 1;
  font-size: 13px;
  color: var(--link-main);
  font-weight: 500;
  word-break: break-all;
}

.attachment-file-remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-disabled);
  display: inline-flex;
  padding: 0;
  flex-shrink: 0;
}

.attachment-file-remove svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* ========================= */
/* Date range picker (react-date-range) */
/* ========================= */
.rdrCalendarWrapper,
.rdrDateRangeWrapper {
  width: 100%;
  font-family: inherit;
  background: transparent !important;
}

.rdrMonth {
  width: 100% !important;
  padding-bottom: 8px;
}

.rdrMonthAndYearWrapper {
  padding-top: 0;
  height: auto;
  align-items: center;
}

.rdrMonthAndYearPickers select {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

.rdrNextPrevButton {
  background: var(--background-light);
  border-radius: 6px;
}

.rdrNextPrevButton:hover {
  background: var(--background-sublight);
}

.rdrWeekDay {
  font-size: 12px;
  color: var(--text-tertiary);
  font-weight: 400;
}

.rdrCalendarWrapper .rdrDayNumber span {
  font-size: 13px;
  color: var(--text-primary);
}

.rdrCalendarWrapper .rdrDayPassive .rdrDayNumber span {
  color: var(--text-disabled);
}

.rdrCalendarWrapper .rdrDayDisabled .rdrDayNumber span {
  color: var(--text-disabled);
}

.rdrStartEdge,
.rdrEndEdge {
  background: var(--link-main);
}

.rdrInRange {
  background: var(--background-panel);
}

.rdrCalendarWrapper .rdrDay:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span,
.rdrCalendarWrapper .rdrDay:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span,
.rdrCalendarWrapper .rdrSelected ~ .rdrDayNumber span {
  color: #fff;
}

.rdrDayToday .rdrDayNumber span:after {
  background: var(--link-main);
}

.leave-calendar-subtitle {
  font-size: 12px;
  color: var(--text-disabled);
  margin: 2px 0 0 0;
}

.field-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.field-label-subtitle {
  font-size: 12px;
  color: var(--text-disabled);
  margin: 2px 0 0 0;
}

.blue-asterisk {
  color: var(--link-main);
}

.loan-amount-info-text {
  font-size: 12px;
  color: var(--text-tertiary);
  margin: 4px 0 0 0;
}

/* ========================= */
/* Leave allowance toggle row */
/* ========================= */
.leave-type-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px;
}

.leave-type-toggle-desc {
  font-size: 11px;
  color: var(--text-tertiary);
  margin: 2px 0 0 0;
  max-width: 320px;
}

.leave-allowance-banner {
  width: 100%;
  margin-top: 8px;
  background: var(--background-panel);
  border-radius: 8px;
  padding: 8px 10px;
  min-height: 36px;
  display: flex;
  align-items: center;
}

.leave-allowance-banner-inner {
  display: flex;
  gap: 4px;
  align-items: center;
}

.leave-allowance-banner-label {
  color: var(--text-tertiary);
  font-size: 12px;
  font-weight: 500;
  margin: 0;
}

.leave-allowance-banner-value {
  color: var(--link-main);
  font-size: 12px;
  font-weight: 600;
  margin: 0;
}

/* ========================= */
/* Toggle switch  */
/* ========================= */
.toggle-switch-black {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}

.toggle-switch-black input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-track {
  width: 38px;
  height: 20px;
  background: var(--border-stroke);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  padding: 2px;
  transition: background 0.2s ease;
}

.toggle-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--background-paper);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease;
}

.toggle-switch-black input:checked + .toggle-track {
  background: var(--text-primary);
}

.toggle-switch-black input:checked + .toggle-track .toggle-thumb {
  transform: translateX(18px);
}

.toggle-switch-yellow {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}

.toggle-switch-yellow input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle-switch-yellow input:checked + .toggle-track {
  background: #FFD700;
}

.toggle-switch-yellow input:checked + .toggle-track .toggle-thumb {
  transform: translateX(18px);
}

/* ========================= */
/* Leave details page */
/* ========================= */
.leave-details-body {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.leave-details-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.leave-actions-dropdown {
  position: relative;
}

.leave-actions-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid #d1d1d1;
  background: var(--background-paper);
  color: var(--text-primary);
  cursor: pointer;
}

.leave-actions-dropdown-trigger svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}

.leave-actions-dropdown-trigger:hover {
  background: var(--background-panel);
}

.leave-actions-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  display: flex;
  flex-direction: column;
  width: 160px;
  gap: 4px;
  background-color: var(--background-light);
  border-radius: 8px;
  border: 0.6px solid var(--border-stroke);
  padding: 8px;
  z-index: 50;
}

.leave-actions-dropdown-item {
  font-size: 14px;
  color: var(--text-primary);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  border-radius: 8px;
  padding: 8px;
  width: 100%;
}

.leave-actions-dropdown-item:hover {
  background-color: var(--background-darker);
}

/* ========================= */
/* Leave Request Details card */
/* ========================= */
.leave-summary {
  display: flex;
  flex-direction: column;
  padding: 20px;
  border-radius: 8px;
  background: var(--background-darker);
}

.leave-summary-cols {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  row-gap: 20px;
  -moz-column-gap: 56px;
       column-gap: 56px;
}

.leave-summary-cols-item {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}

.leave-summary-cols-item-label {
  font-size: 13px;
  color: var(--text-tertiary);
}

.leave-summary-cols-item-value {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

.leave-summary-cols-item-value--link {
  color: var(--link-main);
  padding-bottom: 2px;
  border-bottom: 1px dotted var(--border-stroke);
}

.leave-summary-cols-item--payout .leave-summary-cols-item-value {
  color: var(--warning-main);
}

/* ========================= */
/* Reason for Leave card */
/* ========================= */
.leave-reason-card {
  padding: 16px 20px;
  border-radius: 8px;
  background: var(--background-paper);
}

.leave-reason-card-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
}

/* ========================= */
/* Approval workflow table */
/* ========================= */
.leave-approval-table {
  display: grid;
  grid-template-columns: 1fr 1fr 1.6fr;
  align-items: start;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 16px;
  padding: 16px 20px;
  border-radius: 8px;
  background: var(--background-paper);
}


.leave-approval-table-header {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-tertiary);
  padding-bottom: 8px;
}

.leave-approval-table-divider {
  grid-column: 1 / -1;
  border-bottom: 1px solid var(--border-stroke);
  margin-top: -16px;
  margin-bottom: 4px;
}

.leave-approval-row {
  display: contents;
}

.leave-approval-author {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
}

.leave-approval-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--background-panel);
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
}

.leave-approval-stepper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  padding-top: 4px;
  height: 100%;
}

.leave-approval-author-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.leave-approval-author-name {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

.leave-approval-role {
  margin: 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

.leave-approval-updated {
  font-size: 12px;
  color: var(--text-secondary);
}

.leave-approval-comment {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

/* ========================= */
/* Leave Balance table */
/* ========================= */
.leave-balance-table {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 12px;
  padding: 16px 20px;
  border-radius: 8px;
  background: var(--background-paper);
}

.leave-balance-table-header {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-tertiary);
  padding-bottom: 8px;
}

.leave-balance-table-divider {
  grid-column: 1 / -1;
  border-bottom: 1px solid var(--border-stroke);
  margin-top: -12px;
  margin-bottom: 4px;
}

.leave-balance-row {
  display: contents;
}

.leave-balance-cell {
  font-size: 13px;
  color: var(--text-primary);
}

/* ========================= */
/* Attachments */
/* ========================= */
.leave-attachments-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.leave-attachment-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.leave-attachment-label {
  font-size: 13px;
  color: var(--text-secondary);
}

.leave-attachment-download-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 500;
  color: var(--link-main);
  text-decoration: none;
}

.leave-attachment-download-link svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}


@media screen and (max-width: 768px) {
  .leave-summary-cols {
    flex-direction: column;
    gap: 16px;
  }

  .leave-approval-table,
  .leave-balance-table {
    grid-template-columns: 1fr;
  }

  .leave-approval-table-header,
  .leave-approval-table-divider,
  .leave-balance-table-divider {
    display: none;
  }

  .leave-employee-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media screen and (max-width: 480px) {
  .leave-summary,
  .leave-balance-table {
    padding: 12px;
  }

  .leave-details-header-actions {
    gap: 6px;
  }
}

/* ========================= */
/* Leave Balance details page */
/* ========================= */
.leave-balance-details-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.leave-balance-details-topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.leave-balance-details-body {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.leave-balance-details-filters {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.leave-balance-details-filters-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

.leave-balance-details-filters-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.leave-balance-details-employee-pill,
.leave-balance-details-year-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--border-stroke);
  background: transparent;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
}

.leave-balance-details-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--background-panel);
  color: var(--text-primary);
  font-size: 10px;
  font-weight: 600;
}

.leave-balance-details-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  background: var(--background-darker);
  padding: 10px;
}

.leave-balance-details-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 20px;
  border-radius: var(--spacing-1, 8px);
  border: 0.4px solid var(--border-stroke);
  background: var(--background-sublight);
  transition: all 0.35s;
}

.leave-balance-details-stat:hover {
  transform: scale(1.05);
}

.leave-balance-details-stat-value {
  font-size: 22px;
  font-weight: 600;
  color: var(--text-primary);
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.leave-balance-details-stat-unit {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-tertiary);
}

.leave-balance-details-stat-label {
  font-size: 13px;
  color: var(--text-tertiary);
}

.leave-balance-details-chart-card {
  padding: 16px 20px;
  border-radius: 8px;
  background: var(--background-darker);
}

.leave-balance-details-chart-header {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 12px;
}

.leave-balance-details-chart-title {
  margin: 0;
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-primary);
}

.leave-balance-details-chart-subtitle {
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  .leave-balance-details-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 480px) {
  .leave-balance-details-stats {
    grid-template-columns: 1fr;
  }

  .leave-balance-details-filters {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media screen and (max-width: 768px) {
  .add-modal-body {
    flex-direction: column;
  }

  .modal-body--split {
    background: none;
  }

  .modal-body-left,
  .modal-body-right {
    width: 100%;
  }

  .modal-body-left {
    border-right: none;
    border-bottom: 0.6px solid var(--border-stroke);
    padding: 12px;
  }

  .modal-body-right {
    padding: 12px;
  }

  .leave-type-grid,
  .request-type-grid {
    grid-template-columns: 1fr;
  }

  .attachment-dropzone {
    padding: 10px 8px;
  }
}

@media screen and (max-width: 480px) {
  .modal-body-left {
    padding: 10px;
    gap: 12px;
  }

  .modal-body-right {
    padding: 10px;
  }
}

/* ========================= */
/* Holiday Calendar tab */
/* ========================= */
.holiday-calendar-tab {
  margin-top: 16px;
}

.holiday-calendar-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  align-items: start;
  gap: 16px;
}

/* All Holidays card */
.holiday-calendar-main {
  background: var(--background-paper);
  border: 1px solid var(--border-stroke);
  border-radius: 12px;
  overflow: hidden;
}

.holiday-calendar-main-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-stroke);
}

.holiday-calendar-main-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.holiday-calendar-main-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.holiday-sort-dropdown {
  position: relative;
}

.holiday-sort-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  display: flex;
  flex-direction: column;
  min-width: 180px;
  gap: 4px;
  background-color: var(--background-light);
  border-radius: 8px;
  border: 0.6px solid var(--border-stroke);
  padding: 8px;
  z-index: 50;
}

.holiday-sort-menu-item {
  font-size: 13px;
  color: var(--text-primary);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  border-radius: 8px;
  padding: 8px;
  width: 100%;
}

.holiday-sort-menu-item:hover {
  background-color: var(--background-darker);
}

.holiday-sort-menu-item-active {
  font-weight: 600;
  color: var(--primary-main);
}

/* Month grid */
.holiday-calendar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border-stroke);
}

.holiday-month-cell {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 148px;
  padding: 18px 20px 16px;
  background: var(--background-paper);
  border: none;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}

.holiday-month-cell:hover {
  background: var(--background-light);
}

.holiday-month-cell-selected,
.holiday-month-cell-selected:hover {
  background: var(--background-light);
  z-index: 1;
}

.holiday-month-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-tertiary);
  letter-spacing: 0.04em;
}

.holiday-month-pill {
  align-self: flex-start;
  background: #115EA3;
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

.holiday-month-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.holiday-month-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding-top: 6px;
}

.holiday-month-empty span {
  font-size: 12px;
  color: var(--text-tertiary);
}

/* Shared holiday row*/
.holiday-month-item,
.holiday-details-item {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.holiday-details-item {
  padding-bottom: 12px;
}

.holiday-item-bar {
  width: 3px;
  min-height: 28px;
  border-radius: 2px;
  flex-shrink: 0;
}

.holiday-item-bar--general {
  background: #12b76a;
}

.holiday-item-bar--restricted {
  background: #f79009;
}

.holiday-item-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 24px;
  flex-shrink: 0;
}

.holiday-item-day {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.2;
}

.holiday-item-weekday {
  font-size: 10px;
  color: var(--text-tertiary);
}

.holiday-item-name {
  font-size: 13px;
  color: var(--text-primary);
  line-height: 1.4;
  padding-top: 1px;
}

/* Legend */
.holiday-calendar-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 14px 20px;
}

.holiday-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-secondary);
}

.holiday-legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.holiday-legend-dot--leave {
  background: var(--secondary-main);
}

.holiday-legend-dot--restricted {
  background: #f79009;
}

.holiday-legend-dot--general {
  background: #12b76a;
}

/* Details panel */
.holiday-calendar-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: var(--background-paper);
  border: 1px solid var(--border-stroke);
  border-radius: 12px;
  padding: 16px;
}

.holiday-details-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.holiday-details-header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.holiday-details-period {
  font-size: 12px;
  color: var(--text-tertiary);
}

.holiday-details-section-title {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.holiday-details-empty {
  margin: 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

.holiday-details-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 20px 12px;
}

.holiday-details-empty-state-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--background-panel);
  margin-bottom: 2px;
}

.holiday-details-empty-state-title {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
}

.holiday-details-empty-state-desc {
  margin: 0;
  font-size: 11px;
  color: var(--text-tertiary);
  max-width: 220px;
}

.holiday-details-team-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-bottom: 14px;
}

.holiday-details-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--background-panel);
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 0 0 2px var(--secondary-main);
}

.holiday-details-team-text {
  flex: 1;
  min-width: 0;
}

.holiday-details-team-name {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

.holiday-details-team-email {
  margin: 0;
  font-size: 11px;
  color: var(--text-tertiary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.holiday-details-team-meta {
  text-align: right;
  flex-shrink: 0;
}

.holiday-details-team-meta p {
  margin: 0;
  font-size: 11px;
  color: var(--text-tertiary);
}

.holiday-details-team-meta p:first-child {
  color: var(--text-secondary);
  margin-bottom: 2px;
}

@media screen and (max-width: 1024px) {
  .holiday-calendar-layout {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 768px) {
  .holiday-calendar-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .holiday-calendar-main-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .holiday-calendar-main-controls {
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  .holiday-calendar-grid {
    grid-template-columns: 1fr;
  }

  .holiday-calendar-main-controls {
    flex-wrap: wrap;
  }

  .holiday-calendar-legend {
    gap: 12px;
  }
}

/* ========================= */
/* Team On Leave tab */
/* ========================= */
.team-leave-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-stroke);
}

.team-leave-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  padding: 6px 4px;
  border-bottom: 1px dotted var(--border-stroke);
}

.team-leave-nav-btn svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}

.team-leave-nav-btn:hover {
  color: var(--text-primary);
}

.team-leave-month-dropdown {
  left: 50%;
  transform: translateX(-50%);
  padding: 10px;
  max-height: 320px;
  overflow-y: auto;
}

.team-leave-month-dropdown-year {
  padding: 6px 0;
}

.team-leave-month-dropdown-year-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-tertiary);
  padding: 4px 6px;
}

.team-leave-month-dropdown-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}

.team-leave-month-dropdown-grid .ds-item {
  text-align: center;
  border-radius: 6px;
  padding: 8px 4px;
}

.team-leave-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding: 12px 20px 0;
}

.team-leave-weekday {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-tertiary);
  text-align: left;
}

.team-leave-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
  background: var(--border-stroke);
  margin: 12px 20px 0;
  border: 1px solid var(--border-stroke);
}

.team-leave-day-cell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-height: 76px;
  padding: 8px;
  background: var(--background-paper);
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.team-leave-day-cell:hover {
  background: var(--background-light);
}

.team-leave-day-cell--muted {
  background: var(--background-light);
}

.team-leave-day-cell--muted .team-leave-day-number {
  color: var(--text-disabled);
}

.team-leave-day-cell--selected,
.team-leave-day-cell--selected:hover {
  background: var(--background-light);
  z-index: 1;
}

.team-leave-day-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.team-leave-day-number {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

.team-leave-day-number--selected {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--primary-main);
  color: #ffffff;
  font-weight: 600;
}

.team-leave-day-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

.team-leave-day-dot--general {
  background: #12b76a;
}

.team-leave-day-dot--restricted {
  background: #f79009;
}

.team-leave-day-badge {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--secondary-main);
  color: #454545;
  font-size: 12px;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  .team-leave-day-cell {
    min-height: 60px;
    padding: 6px;
  }

  .team-leave-weekday {
    font-size: 11px;
  }
}

@media screen and (max-width: 480px) {
  .team-leave-nav {
    flex-wrap: wrap;
    justify-content: center;
  }

  .team-leave-grid {
    margin: 12px 8px 0;
  }

  .team-leave-weekdays {
    padding: 12px 8px 0;
  }

  .team-leave-day-cell {
    min-height: 48px;
  }

  .team-leave-day-number {
    font-size: 11px;
  }
}

/* ========================= */
/* Leave Schedule tab */
/* ========================= */
.leave-schedule-tab {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 20px;
}

.leave-schedule-stat-subtitle {
  display: block;
  font-size: 11px;
  color: var(--text-disabled);
  margin-top: 2px;
}

/* Empty state (no schedule yet) */
.leave-schedule-empty-layout {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.leave-schedule-empty-card {
  flex: 1 1 65%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  border-radius: 8px;
  background: var(--background-darker);
}

.leave-schedule-empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--background-panel);
  margin-bottom: 10px;
}

.leave-schedule-empty-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.leave-schedule-empty-desc {
  margin: 8px 0 16px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-secondary);
  max-width: 640px;
}

.leave-schedule-empty-info-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  width: 100%;
  padding: 14px 16px;
  border-radius: 8px;
  background: var(--background-sublight);
  margin-bottom: 20px;
}

.leave-schedule-empty-info-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-right: 24px;
  border-right: 1px solid var(--border-stroke);
}

.leave-schedule-empty-info-item:last-child {
  padding-right: 0;
  border-right: none;
}

.leave-schedule-empty-info-label {
  font-size: 11px;
  color: var(--text-tertiary);
}

.leave-schedule-empty-info-value {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

.leave-schedule-howitworks-card {
  flex: 1 1 35%;
  padding: 20px;
  border-radius: 8px;
  background: transparent;
}

.leave-schedule-howitworks-title {
  margin: 0 0 16px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}

.leave-schedule-howitworks-step {
  display: flex;
  gap: 12px;
  padding-bottom: 16px;
}

.leave-schedule-howitworks-step:last-child {
  padding-bottom: 0;
}

.leave-schedule-howitworks-number {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--link-main);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

.leave-schedule-howitworks-step-title {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.leave-schedule-howitworks-step-desc {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

/* Status banners */
.leave-schedule-banner {
  display: flex;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 8px;
  border: 1px solid;
}

.leave-schedule-banner-icon {
  display: inline-flex;
  flex-shrink: 0;
}

.leave-schedule-banner-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.leave-schedule-banner-title {
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
}

.leave-schedule-banner-tag {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
}

.leave-schedule-banner-desc {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.leave-schedule-banner-meta {
  margin: 0;
  padding: 6px 10px;
  border-radius: 6px;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 11.5px;
  font-weight: 500;
}

.leave-schedule-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

/* Banner tone tokens: light-mode pastel fills need their own softer,
   translucent dark-mode counterparts, otherwise the light-mode background
   stays put under dark-mode text and washes everything out. */
:root {
  --leave-banner-info-bg: #e7eff6;
  --leave-banner-info-text: #0f5694;
  --leave-banner-info-meta-bg: #f0f9ff;
  --leave-banner-info-meta-text: #026aa2;

  /* Matches the neutral grey used for "pending"/"draft" status badges. */
  --leave-banner-neutral-bg: #f6f6f6;
  --leave-banner-neutral-text: #454545;
  --leave-banner-neutral-meta-bg: #ffffff;
  --leave-banner-neutral-meta-text: #454545;

  --leave-banner-warning-bg: #ffead5;
  --leave-banner-warning-text: #ec4a0a;
  --leave-banner-warning-meta-bg: #fff6ed;
  --leave-banner-warning-meta-text: #c4320a;

  --leave-banner-light-warning-bg: #fffaf5;
  --leave-banner-light-warning-border: #fb6514;

  --leave-banner-success-bg: #f6fef9;
  --leave-banner-success-text: #027a48;
  --leave-banner-success-meta-bg: #f6fef9;
  --leave-banner-success-meta-text: #027a48;

  --leave-banner-error-bg: #ffdddd;
  --leave-banner-error-text: #ff0000;
  --leave-banner-error-meta-bg: #fef3f2;
  --leave-banner-error-meta-text: #b42318;
}

.dark-mode {
  --leave-banner-info-bg: rgba(15, 86, 148, 0.18);
  --leave-banner-info-text: #6bb4ee;
  --leave-banner-info-meta-bg: rgba(15, 86, 148, 0.3);
  --leave-banner-info-meta-text: #8fc5f2;

  --leave-banner-neutral-bg: rgba(255, 255, 255, 0.06);
  --leave-banner-neutral-text: #d1d1d1;
  --leave-banner-neutral-meta-bg: rgba(255, 255, 255, 0.1);
  --leave-banner-neutral-meta-text: #d1d1d1;

  --leave-banner-warning-bg: rgba(236, 74, 10, 0.16);
  --leave-banner-warning-text: #ff9152;
  --leave-banner-warning-meta-bg: rgba(236, 74, 10, 0.28);
  --leave-banner-warning-meta-text: #ffb088;

  --leave-banner-light-warning-bg: rgba(251, 101, 20, 0.08);
  --leave-banner-light-warning-border: #fb6514;

  --leave-banner-success-bg: rgba(2, 122, 72, 0.16);
  --leave-banner-success-text: #4ade9b;
  --leave-banner-success-meta-bg: rgba(2, 122, 72, 0.28);
  --leave-banner-success-meta-text: #7bebbb;

  --leave-banner-error-bg: rgba(255, 0, 0, 0.14);
  --leave-banner-error-text: #ff7373;
  --leave-banner-error-meta-bg: rgba(255, 0, 0, 0.26);
  --leave-banner-error-meta-text: #ffa3a3;
}

.leave-schedule-banner--info {
  background: var(--leave-banner-info-bg);
  border-color: var(--leave-banner-info-bg);
}

.leave-schedule-banner--neutral {
  background: var(--leave-banner-neutral-bg);
  border-color: var(--border-stroke);
}

.leave-schedule-banner--warning {
  background: var(--leave-banner-warning-bg);
  border-color: var(--leave-banner-warning-bg);
}

.leave-schedule-banner--light-warning {
  background: var(--leave-banner-light-warning-bg);
  border-color: var(--leave-banner-light-warning-border);
}

.leave-schedule-banner--success {
  background: var(--leave-banner-success-bg);
  border-color: var(--leave-banner-success-bg);
}

.leave-schedule-banner--error {
  background: var(--leave-banner-error-bg);
  border-color: var(--leave-banner-error-bg);
}

.leave-schedule-table-wrapper {
  background-color: var(--background-darker);
  border-radius: 10px;
}

.leave-schedule-table-footnote {
  margin: -8px 0 0;
  padding: 0 16px 16px;
  font-size: 11.5px;
  color: var(--text-disabled);
}

.leave-schedule-filters-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.leave-schedule-filter-item {
  width: 160px;
  min-width: 0;
}

/* CustomInput's own root .form-item carries a global
   ".table-header .form-item { min-width: 350px }" rule (and 100% at
   <=450px) meant for single wide filters elsewhere. It out-specifies our
   flex-basis above and forces this select to overflow instead of wrapping
   or shrinking, so it needs an explicit override here. */
.leave-schedule-filter-item .form-item {
  min-width: 0 !important;
  width: 100% !important;
}

@media screen and (max-width: 900px) {
  .leave-schedule-empty-layout {
    flex-direction: column;
  }

  .leave-schedule-filters-row {
    width: 100%;
  }

  .leave-schedule-filter-item {
    flex: 1 1 140px;
    width: auto;
    min-width: 140px;
  }
}

@media screen and (max-width: 480px) {
  /* Switch to a 2-column grid instead of stacking one per line — there's
     still room for the two selects side by side down to ~360px. */
  .leave-schedule-filters-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .leave-schedule-filter-item {
    flex: none;
    width: auto;
    min-width: 0;
  }

  .leave-schedule-filters-row > button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media screen and (max-width: 360px) {
  .leave-schedule-filters-row {
    grid-template-columns: 1fr;
  }
}

/* ========================= */
/* Schedule Details / HOD Review modals */
/* ========================= */
.modal-schedule-details-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 16px;
}

.modal-schedule-details-subtitle {
  margin: -8px 0 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

.modal-section {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.modal-section-title {
  margin: 0 0 4px;
  padding-bottom: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-stroke);
}

.modal-hod-feedback-box {
  margin-top: 6px;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--background-paper);
  border: 1px solid #FFEAD5;
}

.modal-hod-feedback-label {
  margin: 0 0 4px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #b54708;
}

.modal-hod-feedback-text {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.modal-period-summary-note {
  margin-top: 12px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--text-disabled);
}

.schedule-activity-timeline {
  display: flex;
  flex-direction: column;
}

.schedule-activity-item {
  display: flex;
  gap: 12px;
}

.schedule-activity-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.schedule-activity-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 4px;
}

.schedule-activity-connector {
  flex: 1;
  width: 2px;
  min-height: 20px;
  margin: 2px 0;
  background: var(--border-stroke);
}

.schedule-activity-content {
  padding-bottom: 16px;
}

.schedule-activity-label {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary);
}

.schedule-activity-meta {
  margin: 2px 0 0;
  font-size: 11.5px;
  color: var(--text-tertiary);
}

.hod-review-reviewer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 0 10px;
}

.hod-review-reviewer-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--background-panel);
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}

.hod-review-reviewer-name {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.hod-review-reviewer-role {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--text-tertiary);
}

.hod-review-period-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hod-review-period {
  padding: 12px;
  border-radius: 8px;
  border: 1px solid var(--border-stroke);
  background: var(--background-paper);
}

.hod-review-period-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.hod-review-period-type {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.hod-review-period-dates {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--text-tertiary);
}.rdrCalendarWrapper {
  box-sizing: border-box;
  background: #ffffff;
  display: inline-flex;
  flex-direction: column;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.rdrDateDisplay{
  display: flex;
  justify-content: space-between;
}

.rdrDateDisplayItem{
  flex: 1 1;
  width: 0;
  text-align: center;
  color: inherit;
}

.rdrDateDisplayItem + .rdrDateDisplayItem{
    margin-left: 0.833em;
  }

.rdrDateDisplayItem input{
    text-align: inherit
  }

.rdrDateDisplayItem input:disabled{
      cursor: default;
    }

.rdrDateDisplayItemActive{}

.rdrMonthAndYearWrapper {
  box-sizing: inherit;
  display: flex;
  justify-content: space-between;
}

.rdrMonthAndYearPickers{
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rdrMonthPicker{}

.rdrYearPicker{}

.rdrNextPrevButton {
  box-sizing: inherit;
  cursor: pointer;
  outline: none;
}

.rdrPprevButton {}

.rdrNextButton {}

.rdrMonths{
  display: flex;
}

.rdrMonthsVertical{
  flex-direction: column;
}

.rdrMonthsHorizontal > div > div > div{
  display: flex;
  flex-direction: row;
}

.rdrMonth{
  width: 27.667em;
}

.rdrWeekDays{
  display: flex;
}

.rdrWeekDay {
  flex-basis: calc(100% / 7);
  box-sizing: inherit;
  text-align: center;
}

.rdrDays{
  display: flex;
  flex-wrap: wrap;
}

.rdrDateDisplayWrapper{}

.rdrMonthName{}

.rdrInfiniteMonths{
  overflow: auto;
}

.rdrDateRangeWrapper{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.rdrDateInput {
  position: relative;
}

.rdrDateInput input {
    outline: none;
  }

.rdrDateInput .rdrWarning {
    position: absolute;
    font-size: 1.6em;
    line-height: 1.6em;
    top: 0;
    right: .25em;
    color: #FF0000;
  }

.rdrDay {
  box-sizing: inherit;
  width: calc(100% / 7);
  position: relative;
  font: inherit;
  cursor: pointer;
}

.rdrDayNumber {
  display: block;
  position: relative;
}

.rdrDayNumber span{
    color: #1d2429;
  }

.rdrDayDisabled {
  cursor: not-allowed;
}

@supports (-ms-ime-align: auto) {
  .rdrDay {
    flex-basis: 14.285% !important;
  }
}

.rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{
  pointer-events: none;
}

.rdrInRange{}

.rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{
  pointer-events: none;
}

.rdrDayHovered{}

.rdrDayActive{}

.rdrDateRangePickerWrapper{
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.rdrDefinedRangesWrapper{}

.rdrStaticRanges{
  display: flex;
  flex-direction: column;
}

.rdrStaticRange{
  font-size: inherit;
}

.rdrStaticRangeLabel{}

.rdrInputRanges{}

.rdrInputRange{
  display: flex;
}

.rdrInputRangeInput{}
.rdrCalendarWrapper{
  color: #000000;
  font-size: 12px;
}

.rdrDateDisplayWrapper{
  background-color: rgb(239, 242, 247);
}

.rdrDateDisplay{
  margin: 0.833em;
}

.rdrDateDisplayItem{
  border-radius: 4px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0 1px 2px 0 rgba(35, 57, 66, 0.21);
  border: 1px solid transparent;
}

.rdrDateDisplayItem input{
    cursor: pointer;
    height: 2.5em;
    line-height: 2.5em;
    border: 0px;
    background: transparent;
    width: 100%;
    color: #849095;
  }

.rdrDateDisplayItemActive{
  border-color: currentColor;
}

.rdrDateDisplayItemActive input{
    color: #7d888d
  }

.rdrMonthAndYearWrapper {
  align-items: center;
  height: 60px;
  padding-top: 10px;
}

.rdrMonthAndYearPickers{
  font-weight: 600;
}

.rdrMonthAndYearPickers select{
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 10px 30px 10px 10px;
    border-radius: 4px;
    outline: 0;
    color: #3e484f;
    background: url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") no-repeat;
    background-position: right 8px center;
    cursor: pointer;
    text-align: center
  }

.rdrMonthAndYearPickers select:hover{
      background-color: rgba(0,0,0,0.07);
    }

.rdrMonthPicker, .rdrYearPicker{
  margin: 0 5px
}

.rdrNextPrevButton {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 0.833em;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: #EFF2F7
}

.rdrNextPrevButton:hover{
    background: #E1E7F0;
  }

.rdrNextPrevButton i {
    display: block;
    width: 0;
    height: 0;
    padding: 0;
    text-align: center;
    border-style: solid;
    margin: auto;
    transform: translate(-3px, 0px);
  }

.rdrPprevButton i {
    border-width: 4px 6px 4px 4px;
    border-color: transparent rgb(52, 73, 94) transparent transparent;
    transform: translate(-3px, 0px);
  }

.rdrNextButton i {
    margin: 0 0 0 7px;
    border-width: 4px 4px 4px 6px;
    border-color: transparent transparent transparent rgb(52, 73, 94);
    transform: translate(3px, 0px);
  }

.rdrWeekDays {
  padding: 0 0.833em;
}

.rdrMonth{
  padding: 0 0.833em 1.666em 0.833em;
}

.rdrMonth .rdrWeekDays {
    padding: 0;
  }

.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{
  display: none;
}

.rdrWeekDay {
  font-weight: 400;
  line-height: 2.667em;
  color: rgb(132, 144, 149);
}

.rdrDay {
  background: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 0;
  padding: 0;
  line-height: 3.000em;
  height: 3.000em;
  text-align: center;
  color: #1d2429
}

.rdrDay:focus {
    outline: 0;
  }

.rdrDayNumber {
  outline: 0;
  font-weight: 300;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  top: 5px;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rdrDayToday .rdrDayNumber span{
  font-weight: 500
}

.rdrDayToday .rdrDayNumber span:after{
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: #3d91ff;
  }

.rdrDayToday:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span:after{
      background: #fff;
    }

.rdrDay:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span{
          color: rgba(255, 255, 255, 0.85);
        }

.rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{
  background: currentColor;
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  bottom: 5px;
}

.rdrSelected{
  left: 2px;
  right: 2px;
}

.rdrInRange{}

.rdrStartEdge{
  border-top-left-radius: 1.042em;
  border-bottom-left-radius: 1.042em;
  left: 2px;
}

.rdrEndEdge{
  border-top-right-radius: 1.042em;
  border-bottom-right-radius: 1.042em;
  right: 2px;
}

.rdrSelected{
  border-radius: 1.042em;
}

.rdrDayStartOfMonth .rdrInRange, .rdrDayStartOfMonth .rdrEndEdge, .rdrDayStartOfWeek .rdrInRange, .rdrDayStartOfWeek .rdrEndEdge{
    border-top-left-radius: 1.042em;
    border-bottom-left-radius: 1.042em;
    left: 2px;
  }

.rdrDayEndOfMonth .rdrInRange,  .rdrDayEndOfMonth .rdrStartEdge,  .rdrDayEndOfWeek .rdrInRange,  .rdrDayEndOfWeek .rdrStartEdge{
    border-top-right-radius: 1.042em;
    border-bottom-right-radius: 1.042em;
    right: 2px;
  }

.rdrDayStartOfMonth .rdrDayInPreview, .rdrDayStartOfMonth .rdrDayEndPreview, .rdrDayStartOfWeek .rdrDayInPreview, .rdrDayStartOfWeek .rdrDayEndPreview{
    border-top-left-radius: 1.333em;
    border-bottom-left-radius: 1.333em;
    border-left-width: 1px;
    left: 0px;
  }

.rdrDayEndOfMonth .rdrDayInPreview, .rdrDayEndOfMonth .rdrDayStartPreview, .rdrDayEndOfWeek .rdrDayInPreview, .rdrDayEndOfWeek .rdrDayStartPreview{
   border-top-right-radius: 1.333em;
   border-bottom-right-radius: 1.333em;
   border-right-width: 1px;
   right: 0px;
 }

.rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{
  background: rgba(255, 255, 255, 0.09);
  position: absolute;
  top: 3px;
  left: 0px;
  right: 0px;
  bottom: 3px;
  pointer-events: none;
  border: 0px solid currentColor;
  z-index: 1;
}

.rdrDayStartPreview{
  border-top-width: 1px;
  border-left-width: 1px;
  border-bottom-width: 1px;
  border-top-left-radius: 1.333em;
  border-bottom-left-radius: 1.333em;
  left: 0px;
}

.rdrDayInPreview{
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.rdrDayEndPreview{
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-top-right-radius: 1.333em;
  border-bottom-right-radius: 1.333em;
  right: 2px;
  right: 0px;
}

.rdrDefinedRangesWrapper{
  font-size: 12px;
  width: 226px;
  border-right: solid 1px #eff2f7;
  background: #fff;
}

.rdrDefinedRangesWrapper .rdrStaticRangeSelected{
    color: currentColor;
    font-weight: 600;
  }

.rdrStaticRange{
  border: 0;
  cursor: pointer;
  display: block;
  outline: 0;
  border-bottom: 1px solid #eff2f7;
  padding: 0;
  background: #fff
}

.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{
      background: #eff2f7;
    }

.rdrStaticRangeLabel{
  display: block;
  outline: 0;
  line-height: 18px;
  padding: 10px 20px;
  text-align: left;
}

.rdrInputRanges{
  padding: 10px 0;
}

.rdrInputRange{
  align-items: center;
  padding: 5px 20px;
}

.rdrInputRangeInput{
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 4px;
  text-align: center;
  border: solid 1px rgb(222, 231, 235);
  margin-right: 10px;
  color: rgb(108, 118, 122)
}

.rdrInputRangeInput:focus, .rdrInputRangeInput:hover{
    border-color: rgb(180, 191, 196);
    outline: 0;
    color: #333;
  }

.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{
  content: '';
  border: 1px solid currentColor;
  border-radius: 1.333em;
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: 0px;
  right: 0px;
  background: transparent;
}

.rdrDayPassive{
  pointer-events: none;
}

.rdrDayPassive .rdrDayNumber span{
    color: #d5dce0;
  }

.rdrDayPassive .rdrInRange, .rdrDayPassive .rdrStartEdge, .rdrDayPassive .rdrEndEdge, .rdrDayPassive .rdrSelected, .rdrDayPassive .rdrDayStartPreview, .rdrDayPassive .rdrDayInPreview, .rdrDayPassive .rdrDayEndPreview{
    display: none;
  }

.rdrDayDisabled {
  background-color: rgb(248, 248, 248);
}

.rdrDayDisabled .rdrDayNumber span{
    color: #aeb9bf;
  }

.rdrDayDisabled .rdrInRange, .rdrDayDisabled .rdrStartEdge, .rdrDayDisabled .rdrEndEdge, .rdrDayDisabled .rdrSelected, .rdrDayDisabled .rdrDayStartPreview, .rdrDayDisabled .rdrDayInPreview, .rdrDayDisabled .rdrDayEndPreview{
    filter: grayscale(100%) opacity(60%);
  }

.rdrMonthName{
  text-align: left;
  font-weight: 600;
  color: #849095;
  padding: 0.833em;
}
