/* 2.27: professional data-entry, search, follow-up, leave and monthly attendance polish. */
body .wlcrm-app{
  --wl227-ink:#16324f;
  --wl227-muted:#64748b;
  --wl227-line:#d9e4f0;
  --wl227-soft:#f6f9fd;
  --wl227-card:#ffffff;
  --wl227-blue:#2563eb;
  --wl227-shadow:0 8px 24px rgba(30,64,105,.07);
}

/* Quiet, consistent surfaces across the working area. */
body .wlcrm-app .wlcrm-panel{
  border:1px solid var(--wl227-line)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
  box-shadow:var(--wl227-shadow)!important;
}
body .wlcrm-app :is(.wlcrm-filter-panel,.wlcrm-review-block,.wlcrm-live-section,.wlcrm-leave-request-form,.wlcrm-leave-approval-queue,.wlcrm-month-calendar){
  border-color:var(--wl227-line)!important;
  background:var(--wl227-card)!important;
  box-shadow:0 5px 16px rgba(30,64,105,.055)!important;
}
body .wlcrm-app :is(input,select,textarea):focus{
  outline:0!important;
  border-color:#79a7ec!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.11)!important;
}
body .wlcrm-app .wlcrm-table-wrap{
  border:1px solid var(--wl227-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(30,64,105,.045)!important;
}
body .wlcrm-app .wlcrm-table-wrap table{
  border-collapse:separate!important;
  border-spacing:0!important;
}
body .wlcrm-app .wlcrm-table-wrap thead th{
  border-color:#d7e2ef!important;
  background:#edf3fa!important;
  color:#173b63!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
body .wlcrm-app .wlcrm-table-wrap tbody td{
  border-color:#e3eaf3!important;
  color:#263d57!important;
}
body .wlcrm-app .wlcrm-table-wrap tbody tr:nth-child(even)>td{background:#fbfdff!important}
body .wlcrm-app .wlcrm-table-wrap tbody tr:hover>td{background:#f3f8ff!important}
body .wlcrm-app .wlcrm-records-table th:last-child{
  background:#e4edf8!important;
  color:#173b63!important;
}

/* Follow-up header: five totals, two independent selectors and tools never overlap. */
body .wlcrm-app .wlcrm-followup-stats{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
body .wlcrm-app .wlcrm-followup-stats .closed{
  border-color:#d8ccf0!important;
  background:#f7f3ff!important;
  color:#6d32ad!important;
}
body .wlcrm-app .wlcrm-followup-status.closed{
  border-color:#b9d8c8!important;
  background:#edf9f2!important;
  color:#147a42!important;
}
body .wlcrm-app .wlcrm-followup-table tr.followup-closed>td{
  background:#f8fcfa!important;
}
body .wlcrm-app .wlcrm-followup-table tr.followup-closed:hover>td{
  background:#eff8f3!important;
}
@media(min-width:1500px){
  body .wlcrm-app .wlcrm-followup-head{
    grid-template-columns:185px minmax(440px,1fr) 150px 170px minmax(265px,310px)!important;
    align-items:center!important;
    gap:7px!important;
  }
  body .wlcrm-app .wlcrm-followup-head>div:first-child{grid-column:1!important;grid-row:1!important}
  body .wlcrm-app .wlcrm-followup-stats{grid-column:2!important;grid-row:1!important}
  body .wlcrm-app .wlcrm-followup-head>.wlcrm-followup-mode-control{grid-column:3!important;grid-row:1!important}
  body .wlcrm-app .wlcrm-followup-head>.wlcrm-followup-employee-control{grid-column:4!important;grid-row:1!important}
  body .wlcrm-app .wlcrm-followup-head>.wlcrm-followup-tools{
    grid-column:5!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
    padding:0!important;
    border:0!important;
  }
  body .wlcrm-app .wlcrm-followup-tools>.wlcrm-push-panel{grid-column:1!important;grid-row:1!important;height:auto!important}
  body .wlcrm-app .wlcrm-followup-tools>#wlcrm-followup-refresh{grid-column:2!important;grid-row:1!important;min-width:70px!important;width:auto!important}
  body .wlcrm-app .wlcrm-followup-head:not(:has(.wlcrm-followup-employee-control)){
    grid-template-columns:185px minmax(440px,1fr) 165px minmax(265px,310px)!important;
  }
  body .wlcrm-app .wlcrm-followup-head:not(:has(.wlcrm-followup-employee-control))>.wlcrm-followup-mode-control{grid-column:3!important}
  body .wlcrm-app .wlcrm-followup-head:not(:has(.wlcrm-followup-employee-control))>.wlcrm-followup-tools{grid-column:4!important}
}
@media(min-width:768px) and (max-width:1499px){
  body .wlcrm-app .wlcrm-followup-head{
    grid-template-columns:minmax(180px,.65fr) minmax(430px,1.35fr)!important;
  }
  body .wlcrm-app .wlcrm-followup-head>div:first-child{grid-column:1!important;grid-row:1!important}
  body .wlcrm-app .wlcrm-followup-stats{grid-column:2!important;grid-row:1!important}
  body .wlcrm-app .wlcrm-followup-head>.wlcrm-followup-mode-control{grid-column:1!important;grid-row:2!important}
  body .wlcrm-app .wlcrm-followup-head>.wlcrm-followup-employee-control{grid-column:1!important;grid-row:3!important}
  body .wlcrm-app .wlcrm-followup-head>.wlcrm-followup-tools{grid-column:2!important;grid-row:2/4!important}
  body .wlcrm-app .wlcrm-followup-head:not(:has(.wlcrm-followup-employee-control))>.wlcrm-followup-tools{grid-row:2!important}
}
@media(max-width:767px){
  body .wlcrm-app .wlcrm-followup-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .wlcrm-app .wlcrm-followup-stats .closed{grid-column:1/-1!important}
  body .wlcrm-app .wlcrm-followup-head>.wlcrm-followup-mode-control,
  body .wlcrm-app .wlcrm-followup-head>.wlcrm-followup-employee-control{grid-column:1!important;grid-row:auto!important}
}

/* The reduced Search Records filter set occupies one balanced row on wide screens. */
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-panel{
  margin:7px 0 10px!important;
  padding:9px 11px!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#f8fbff,#f7f9fd)!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  align-items:end!important;
  gap:7px 9px!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid label{
  min-width:0!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid select{
  width:100%!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  margin-top:3px!important;
  padding:5px 22px 5px 8px!important;
  border-color:#c8d7e8!important;
  border-radius:7px!important;
  background-color:#fff!important;
  color:#203552!important;
  font-size:10.5px!important;
  line-height:1.1!important;
}

/* Twenty percent smaller actions, while preserving the clear two-column layout. */
@media(min-width:761px){
  body .wlcrm-app .wlcrm-followup-table td:last-child .wlcrm-followup-actions,
  body .wlcrm-app .wlcrm-records-table .wlcrm-record-actions{
    gap:4px!important;
  }
  body .wlcrm-app .wlcrm-followup-table td:last-child .wlcrm-followup-actions>button,
  body .wlcrm-app .wlcrm-records-table .wlcrm-record-actions>button,
  body .wlcrm-app .wlcrm-records-table .wlcrm-record-actions .wlcrm-delete-action>button{
    box-sizing:border-box!important;
    height:23px!important;
    min-height:23px!important;
    max-height:23px!important;
    margin:0!important;
    padding:2px 4px!important;
    border-radius:5px!important;
    font-size:9px!important;
    font-weight:800!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  body .wlcrm-app .wlcrm-records-table .wlcrm-record-actions .wlcrm-delete-action{gap:4px!important}
}

/* Search customer information: company/contact +2px, phone/location +3px. */
body .wlcrm-app .wlcrm-records-table .wlcrm-customer-details>b{
  display:block!important;
  color:#102f52!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.28!important;
}
body .wlcrm-app .wlcrm-records-table .wlcrm-customer-details>.wlcrm-customer-contact,
body .wlcrm-app .wlcrm-records-table .wlcrm-customer-details>span:not(.wlcrm-pending-label):nth-last-of-type(2){
  display:block!important;
  margin-top:2px!important;
  color:#425b75!important;
  font-size:9.8px!important;
  line-height:1.28!important;
}
body .wlcrm-app .wlcrm-records-table .wlcrm-customer-details>.wlcrm-customer-phone,
body .wlcrm-app .wlcrm-records-table .wlcrm-customer-details>span:not(.wlcrm-pending-label):last-of-type{
  display:block!important;
  margin-top:2px!important;
  color:#244d76!important;
  font-size:10.8px!important;
  font-weight:700!important;
  line-height:1.28!important;
}
body .wlcrm-app .wlcrm-records-table .wlcrm-customer-details>.wlcrm-customer-location,
body .wlcrm-app .wlcrm-records-table .wlcrm-customer-details>small{
  display:block!important;
  margin-top:2px!important;
  color:#64748b!important;
  font-size:10.3px!important;
  line-height:1.28!important;
}
body .wlcrm-app .wlcrm-records-table .wlcrm-customer-details>.wlcrm-pending-label{
  display:inline-flex!important;
  width:max-content!important;
  font-size:7.5px!important;
}

/* Exact requested field sequences on desktop. */
@media(min-width:1200px){
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid{
    display:grid!important;
    grid-template-columns:1.45fr 1.3fr .85fr 1.15fr 1.15fr 1.15fr 1.4fr!important;
    align-items:start!important;
    gap:7px 9px!important;
    width:100%!important;
  }
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>*{
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
  }
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="company_name"]{grid-column:1!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="primary_contact_name"]{grid-column:2!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="designation"]{grid-column:3!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="primary_contact_country"]{grid-column:4!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>.wlcrm-company-calling{grid-column:5!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>.wlcrm-company-whatsapp{grid-column:6!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="email"]{grid-column:7!important}

  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details{
    display:grid!important;
    grid-template-columns:2.3fr 1fr 1fr 1.25fr .72fr 1.18fr 1.55fr!important;
    align-items:start!important;
    gap:7px 9px!important;
    width:100%!important;
  }
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>*{
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
  }
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="address"]{grid-column:1!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="city"]{grid-column:2!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="state"]{grid-column:3!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="country"]{grid-column:4!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="pin_code"]{grid-column:5!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="tax_type"]{grid-column:6!important}
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="tax_registration_number"]{grid-column:7!important}
}

/* Tablet layouts retain field order without horizontal overflow. */
@media(min-width:761px) and (max-width:1199px){
  body .wlcrm-app #wlcrm-tab-form :is(.wlcrm-company-grid,.wlcrm-grid-address-tax-details){
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px 9px!important;
  }
  body .wlcrm-app #wlcrm-tab-form :is(.wlcrm-company-grid,.wlcrm-grid-address-tax-details)>*{
    grid-column:auto!important;
    grid-row:auto!important;
    min-width:0!important;
  }
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="company_name"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="primary_contact_name"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="email"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="address"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="tax_registration_number"]{grid-column:span 2!important}
}
@media(max-width:760px){
  body .wlcrm-app #wlcrm-tab-form :is(.wlcrm-company-grid,.wlcrm-grid-address-tax-details){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body .wlcrm-app #wlcrm-tab-form :is(.wlcrm-company-grid,.wlcrm-grid-address-tax-details)>*{
    grid-column:auto!important;
    grid-row:auto!important;
    min-width:0!important;
  }
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="company_name"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="primary_contact_name"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-company-grid>[data-field="email"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="address"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="country"],
  body .wlcrm-app #wlcrm-tab-form .wlcrm-grid-address-tax-details>[data-field="tax_registration_number"]{grid-column:1/-1!important}
}
@media(max-width:520px){
  body .wlcrm-app #wlcrm-tab-form :is(.wlcrm-company-grid,.wlcrm-grid-address-tax-details){grid-template-columns:1fr!important}
  body .wlcrm-app #wlcrm-tab-form :is(.wlcrm-company-grid,.wlcrm-grid-address-tax-details)>*{grid-column:1!important}
}

/* Dates in both existing weekly attendance views remain immediately legible. */
body .wlcrm-app .wlcrm-table-wrap .wlcrm-week-table thead th{
  background:linear-gradient(135deg,#183b65,#2f5f96)!important;
  color:#fff!important;
}
body .wlcrm-app .wlcrm-week-table thead th>b{font-size:10.5px!important;line-height:1.2!important}
body .wlcrm-app .wlcrm-week-table thead th>span{
  margin-top:3px!important;
  color:#eaf2ff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
body .wlcrm-app .wlcrm-week-table .wlcrm-day-card strong{font-size:9.5px!important}
body .wlcrm-app .wlcrm-week-table .wlcrm-day-card :is(span,span b,em){font-size:9px!important;line-height:1.3!important}

/* Employee leave request and administrator approval workspace. */
body .wlcrm-app #wlcrm-tab-leave-approvals{display:none}
body .wlcrm-app #wlcrm-tab-leave-approvals.active{display:block!important}
body .wlcrm-app .wlcrm-leave-layout{
  display:grid!important;
  grid-template-columns:minmax(320px,.8fr) minmax(520px,1.4fr)!important;
  gap:12px!important;
  align-items:start!important;
}
body .wlcrm-app .wlcrm-leave-layout>*{min-width:0!important;max-width:100%!important}
body .wlcrm-app .wlcrm-leave-form{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-content:start!important;
  gap:9px!important;
  padding:14px!important;
  border:1px solid var(--wl227-line)!important;
  border-radius:12px!important;
}
body .wlcrm-app .wlcrm-leave-form label{
  min-width:0!important;
  color:#38516d!important;
  font-size:9px!important;
  font-weight:800!important;
}
body .wlcrm-app .wlcrm-leave-form :is(input,select,textarea){
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  margin-top:4px!important;
  border:1px solid #c5d5e7!important;
  border-radius:8px!important;
  background:#fff!important;
}
body .wlcrm-app .wlcrm-leave-form :is(label:has(#wlcrm-leave-reason),.wide){grid-column:1/-1!important}
body .wlcrm-app .wlcrm-leave-form textarea{min-height:74px!important;resize:vertical!important}
body .wlcrm-app .wlcrm-leave-form button[type="submit"]{
  grid-column:1/-1!important;
  justify-self:start!important;
  min-height:33px!important;
  padding:6px 14px!important;
  border-color:#2563eb!important;
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  color:#fff!important;
  font-weight:850!important;
}
body .wlcrm-app .wlcrm-leave-balance{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 11px!important;
  padding:10px 12px!important;
  border:1px solid #d8e5f2!important;
  border-radius:10px!important;
  background:#f8fbff!important;
  color:#48617d!important;
  box-shadow:0 3px 10px rgba(30,64,105,.045)!important;
}
body .wlcrm-app .wlcrm-leave-balance span{min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#52677f!important;font-size:10.5px!important;font-weight:500!important;letter-spacing:0!important;line-height:1.4!important}
body .wlcrm-app .wlcrm-leave-balance b{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#173b63!important;font-size:16px!important}
body .wlcrm-app .wlcrm-leave-table,
body .wlcrm-app .wlcrm-leave-approval-queue{min-width:0!important}
body .wlcrm-app .wlcrm-leave-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:66px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#eef2f7!important;
  color:#475569!important;
  font-size:8px!important;
  font-weight:900!important;
}
body .wlcrm-app .wlcrm-leave-status.pending{background:#fff4d6!important;color:#9a5a04!important}
body .wlcrm-app .wlcrm-leave-status.approved{background:#dcfce7!important;color:#147a42!important}
body .wlcrm-app .wlcrm-leave-status.rejected{background:#fee2e2!important;color:#b4232b!important}
body .wlcrm-app .wlcrm-leave-status.cancelled{background:#eef2f7!important;color:#64748b!important}

/* Full employee month view. */
body .wlcrm-app .wlcrm-month-controls{
  display:grid!important;
  grid-template-columns:auto minmax(150px,220px) minmax(170px,260px) auto auto!important;
  align-items:end!important;
  gap:8px!important;
  margin:9px 0!important;
  padding:9px!important;
  border:1px solid var(--wl227-line)!important;
  border-radius:11px!important;
  background:#f8fbff!important;
}
body .wlcrm-app .wlcrm-month-controls label{
  min-width:0!important;
  color:#52677f!important;
  font-size:8.5px!important;
  font-weight:850!important;
}
body .wlcrm-app .wlcrm-month-controls :is(input,select,button){width:100%!important;margin-top:3px!important}
body .wlcrm-app .wlcrm-month-controls>*{min-width:0!important;max-width:100%!important}
body .wlcrm-app .wlcrm-month-controls :is(input,select,button){box-sizing:border-box!important;min-width:0!important;height:34px!important;min-height:34px!important;font-size:11px!important}
body .wlcrm-app .wlcrm-month-controls>button{white-space:nowrap!important;padding:5px 9px!important}
body .wlcrm-app .wlcrm-month-controls>b{line-height:1.45!important;overflow-wrap:anywhere!important}
body .wlcrm-app .wlcrm-month-controls[hidden],
body .wlcrm-app .wlcrm-month-attendance-table[hidden]{display:none!important}
body .wlcrm-app .wlcrm-month-summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
  margin:9px 0!important;
}
body .wlcrm-app .wlcrm-month-summary>*{
  min-width:0!important;
  padding:9px 10px!important;
  border:1px solid #d8e5f2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#536b84!important;
  box-shadow:0 3px 10px rgba(30,64,105,.045)!important;
}
body .wlcrm-app .wlcrm-month-summary b{color:#153a62!important;font-size:15px!important}
body .wlcrm-app .wlcrm-month-calendar{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(105px,1fr))!important;
  gap:6px!important;
  width:100%!important;
  overflow-x:auto!important;
  padding:8px!important;
  border:1px solid var(--wl227-line)!important;
  border-radius:12px!important;
}
body .wlcrm-app .wlcrm-month-day{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:104px!important;
  padding:8px!important;
  border:1px solid #d9e4ef!important;
  border-left:4px solid #94a3b8!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 2px 7px rgba(30,64,105,.045)!important;
}
body .wlcrm-app .wlcrm-month-date{
  display:block!important;
  margin-bottom:5px!important;
  color:#173b63!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
}
body .wlcrm-app .wlcrm-month-status{
  display:block!important;
  margin-bottom:5px!important;
  color:#405c77!important;
  font-size:9.5px!important;
  font-weight:850!important;
  line-height:1.25!important;
}
body .wlcrm-app .wlcrm-month-details,
body .wlcrm-app .wlcrm-month-details *{
  color:#61758b!important;
  font-size:9px!important;
  line-height:1.35!important;
}
body .wlcrm-app .wlcrm-month-day:is(.full-day,.present,.status-full-day),
body .wlcrm-app .wlcrm-month-day[data-status="FULL_DAY"]{border-left-color:#16a34a!important;background:#f5fcf7!important}
body .wlcrm-app .wlcrm-month-day:is(.half-day,.status-half-day),
body .wlcrm-app .wlcrm-month-day[data-status="HALF_DAY"]{border-left-color:#f59e0b!important;background:#fffaf0!important}
body .wlcrm-app .wlcrm-month-day:is(.absent,.status-absent),
body .wlcrm-app .wlcrm-month-day[data-status="ABSENT"]{border-left-color:#dc2626!important;background:#fff7f7!important}
body .wlcrm-app .wlcrm-month-day:is(.paid-leave,.status-paid-leave),
body .wlcrm-app .wlcrm-month-day[data-status="PAID_LEAVE"]{border-left-color:#7c3aed!important;background:#faf7ff!important}
body .wlcrm-app .wlcrm-month-day:is(.weekly-holiday,.company-holiday,.status-weekly-holiday,.status-company-holiday),
body .wlcrm-app .wlcrm-month-day:is([data-status="WEEKLY_HOLIDAY"],[data-status="COMPANY_HOLIDAY"]){border-left-color:#64748b!important;background:#f5f7fa!important}

/* Complete daily month table used by both employee and administrator views. */
body .wlcrm-app .wlcrm-month-attendance-table{max-height:68vh!important;overflow:auto!important}
body .wlcrm-app .wlcrm-month-attendance-table table{min-width:1180px!important}
body .wlcrm-app .wlcrm-month-attendance-table th{position:sticky!important;top:0!important;z-index:2!important;font-size:9px!important}
body .wlcrm-app .wlcrm-month-attendance-table td{padding:7px 8px!important;font-size:10px!important;vertical-align:top!important}
body .wlcrm-app .wlcrm-month-attendance-table td>small{display:block!important;margin-top:3px!important;color:#6b7f95!important}
body .wlcrm-app .wlcrm-month-attendance-table .wlcrm-att-date b{font-size:12px!important;color:#153a62!important;white-space:nowrap!important}
body .wlcrm-app .wlcrm-month-attendance-table .wlcrm-att-reason{min-width:210px!important;line-height:1.35!important}
body .wlcrm-app .wlcrm-month-attendance-table :is(th,td):nth-child(2),
body .wlcrm-app .wlcrm-month-attendance-table :is(th,td):nth-child(3),
body .wlcrm-app .wlcrm-month-attendance-table :is(th,td):nth-child(4),
body .wlcrm-app .wlcrm-month-attendance-table :is(th,td):nth-child(5),
body .wlcrm-app .wlcrm-month-attendance-table :is(th,td):nth-child(6),
body .wlcrm-app .wlcrm-month-attendance-table :is(th,td):nth-child(7),
body .wlcrm-app .wlcrm-month-attendance-table :is(th,td):nth-child(8){white-space:nowrap!important;font-variant-numeric:tabular-nums}
body .wlcrm-app .wlcrm-month-attendance-table td:first-child,
body .wlcrm-app .wlcrm-month-attendance-table .wlcrm-att-reason{overflow-wrap:anywhere!important}
body .wlcrm-app .wlcrm-att-status,body .wlcrm-app .wlcrm-att-edit{display:inline-flex!important;min-height:25px!important;align-items:center!important;padding:4px 8px!important;border:1px solid #cbd9e8!important;border-radius:7px!important;background:#f5f8fc!important;color:#244b72!important;font-size:9px!important;font-weight:850!important}
body .wlcrm-app .wlcrm-att-status.status-full-day,body .wlcrm-app .wlcrm-att-edit[data-att-status="FULL_DAY"]{border-color:#a7dfbd!important;background:#effcf4!important;color:#0b7340!important}
body .wlcrm-app .wlcrm-att-status.status-half-day,body .wlcrm-app .wlcrm-att-edit[data-att-status="HALF_DAY"]{border-color:#f2cd84!important;background:#fff9e9!important;color:#9a5a04!important}
body .wlcrm-app .wlcrm-att-status.status-absent,body .wlcrm-app .wlcrm-att-edit[data-att-status="ABSENT"]{border-color:#f0b1b4!important;background:#fff2f2!important;color:#b4232b!important}
body .wlcrm-app .wlcrm-att-status.status-paid-leave,body .wlcrm-app .wlcrm-att-status.status-unpaid-leave{border-color:#cdb8ee!important;background:#f8f3ff!important;color:#6d32ad!important}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading{order:1!important}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-work-tabs{order:2!important}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls{order:3!important;grid-template-columns:auto minmax(150px,210px) minmax(180px,260px) auto auto minmax(170px,1fr)!important}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-title{order:4!important}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-attendance-table{order:5!important}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-live-section{order:6!important}
body .wlcrm-app #wlcrm-tab-attendance-report>#wlcrm-work-review-v160{order:7!important}
body .wlcrm-app #wlcrm-tab-my-attendance>.wlcrm-month-controls{grid-template-columns:auto minmax(150px,210px) auto auto minmax(170px,1fr)!important}
body .wlcrm-app .wlcrm-month-controls>b{align-self:center!important;color:#244b72!important;font-size:11px!important;text-align:right!important}
body .wlcrm-app .wlcrm-my-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body .wlcrm-app .wlcrm-my-summary>span{min-width:0!important;margin:0!important;border-color:#dce6f1!important;background:#fff!important;color:#52677f!important;font-size:10px!important;font-weight:500!important;letter-spacing:0!important}
body .wlcrm-app .wlcrm-my-summary>span b{font-size:14px!important;font-weight:650!important;font-variant-numeric:tabular-nums}

/* Leave approvals and mailbox monitoring. */
body .wlcrm-app .wlcrm-leave-form{border:1px solid var(--wl227-line)!important;border-radius:12px!important;background:#f9fbfe!important;box-shadow:0 5px 16px rgba(30,64,105,.05)!important}
body .wlcrm-app .wlcrm-leave-form>.wlcrm-check{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:7px!important}
body .wlcrm-app .wlcrm-leave-form>.wlcrm-check input{width:auto!important;margin:0!important}
body .wlcrm-app .wlcrm-leave-policy{grid-column:1/-1!important;padding:8px 10px!important;border-radius:8px!important;background:#fff7df!important;color:#76510b!important;font-size:9px!important;line-height:1.4!important}
body .wlcrm-app .wlcrm-leave-history h3,body .wlcrm-app .wlcrm-leave-admin h3{margin:0 0 8px!important;color:#183b65!important}
body .wlcrm-app .wlcrm-leave-history>.wlcrm-table-wrap,
body .wlcrm-app .wlcrm-leave-admin>.wlcrm-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important}
body .wlcrm-app .wlcrm-leave-history table{min-width:720px!important}
body .wlcrm-app .wlcrm-leave-admin table{min-width:940px!important}
body .wlcrm-app :is(.wlcrm-leave-history,.wlcrm-leave-admin) :is(th,td){font-size:10.5px!important;line-height:1.4!important;vertical-align:top!important;overflow-wrap:anywhere!important}
body .wlcrm-app :is(.wlcrm-leave-history,.wlcrm-leave-admin) td>small{display:block!important;margin-top:4px!important;color:#64748b!important;font-size:9.5px!important}
body .wlcrm-app .wlcrm-leave-admin{margin-top:14px!important}
body .wlcrm-app .wlcrm-leave-actions{display:flex!important;gap:5px!important;flex-wrap:wrap!important}
body .wlcrm-app .wlcrm-leave-actions button{min-height:27px!important;padding:4px 9px!important;font-size:9px!important}
body .wlcrm-app .wlcrm-emergency{display:inline-flex!important;padding:3px 7px!important;border-radius:999px!important;background:#fee2e2!important;color:#b4232b!important;font-size:8px!important;font-weight:900!important}
body .wlcrm-app .wlcrm-sender-imap{grid-column:1/-1!important;display:grid!important;grid-template-columns:1.3fr .45fr 1.3fr 1.3fr .8fr!important;gap:8px!important;padding:10px!important;border:1px solid #cadbea!important;border-radius:10px!important;background:#f5f9fd!important}
body .wlcrm-app .wlcrm-sender-imap legend{padding:0 6px!important;color:#173b63!important;font-weight:850!important}
body .wlcrm-app .wlcrm-sender-imap>.wlcrm-check,body .wlcrm-app .wlcrm-sender-imap>small{grid-column:1/-1!important}
body .wlcrm-app .wlcrm-imap-account-status{display:block!important;margin-top:4px!important;font-size:8px!important;color:#53708d!important}
body .wlcrm-app .wlcrm-imap-account-status.error{color:#b4232b!important}
body .wlcrm-app .wlcrm-imap-account-status.active{color:#147a42!important}
body .wlcrm-app .wlcrm-imap-account-status.pending{color:#9a5b08!important}

@media(max-width:1250px){
  body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body .wlcrm-app .wlcrm-leave-layout{grid-template-columns:1fr!important}
  body .wlcrm-app .wlcrm-month-controls,
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls,
  body .wlcrm-app #wlcrm-tab-my-attendance>.wlcrm-month-controls{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body .wlcrm-app .wlcrm-sender-imap{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .wlcrm-app .wlcrm-leave-form{grid-template-columns:1fr 1fr!important}
  body .wlcrm-app .wlcrm-leave-form :is(label:has(#wlcrm-leave-type),label:has(#wlcrm-leave-reason),.wide),
  body .wlcrm-app .wlcrm-leave-form button[type="submit"]{grid-column:1/-1!important}
  body .wlcrm-app .wlcrm-month-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .wlcrm-app .wlcrm-month-controls,
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls,
  body .wlcrm-app #wlcrm-tab-my-attendance>.wlcrm-month-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .wlcrm-app .wlcrm-month-controls>b{grid-column:1/-1!important;text-align:left!important}
  body .wlcrm-app .wlcrm-leave-hero{flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  body .wlcrm-app .wlcrm-leave-balance{margin:0!important;align-self:flex-start!important;max-width:100%!important}
  body .wlcrm-app .wlcrm-leave-balance span{min-width:0!important;font-size:10.5px!important;letter-spacing:0!important;line-height:1.4!important}
  body .wlcrm-app .wlcrm-my-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .wlcrm-app .wlcrm-sender-imap{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){
  body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid,
  body .wlcrm-app .wlcrm-leave-form,
  body .wlcrm-app .wlcrm-month-summary,
  body .wlcrm-app .wlcrm-month-controls,
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls,
  body .wlcrm-app #wlcrm-tab-my-attendance>.wlcrm-month-controls{grid-template-columns:minmax(0,1fr)!important}
  body .wlcrm-app .wlcrm-sender-imap{grid-template-columns:1fr!important}
  body .wlcrm-app .wlcrm-month-calendar{grid-template-columns:repeat(7,minmax(94px,1fr))!important}
}

@media(prefers-reduced-motion:reduce){
  body .wlcrm-app *,body .wlcrm-app *:before,body .wlcrm-app *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
