/* 2.29: compact records tools, refined communications and monthly attendance calendar. */
body .wlcrm-app{
  --wl229-ink:#17324d;
  --wl229-muted:#64748b;
  --wl229-line:#d8e4ef;
  --wl229-blue:#2563eb;
  --wl229-blue-soft:#eff6ff;
  --wl229-green:#0f8a5f;
  --wl229-green-soft:#eefaf5;
  --wl229-amber:#c87a08;
  --wl229-amber-soft:#fff8e8;
  --wl229-red:#c13c46;
  --wl229-red-soft:#fff3f4;
  --wl229-purple:#7444c5;
  --wl229-purple-soft:#f8f3ff;
  --wl229-shadow:0 5px 16px rgba(28,61,96,.055);
}

/* Search Records: one deliberate, low-height tool line on wide screens. */
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:7px!important;
  min-height:0!important;
  margin:0 0 6px!important;
  padding:5px 6px!important;
  border:1px solid var(--wl229-line)!important;
  border-radius:9px!important;
  background:#f9fbfe!important;
  box-shadow:0 2px 9px rgba(28,61,96,.035)!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar>.wlcrm-search-control{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) 58px 52px!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  width:auto!important;
  flex:1 1 420px!important;
  margin:0!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  min-width:0!important;
  flex:0 0 auto!important;
  margin:0!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar :is(input,select,button){
  box-sizing:border-box!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin:0!important;
  border-radius:7px!important;
  font-size:9.5px!important;
  line-height:1!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar input[type="search"]{
  min-width:0!important;
  width:100%!important;
  padding:5px 9px!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar button{
  width:auto!important;
  padding:4px 9px!important;
  white-space:nowrap!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign{
  display:grid!important;
  grid-template-columns:minmax(170px,230px) auto auto!important;
  align-items:center!important;
  gap:5px!important;
  width:min(520px,34vw)!important;
  min-width:370px!important;
  flex:0 1 520px!important;
  margin:0 0 0 2px!important;
  padding:0 0 0 7px!important;
  border:0!important;
  border-left:1px solid #d6e1ec!important;
  border-radius:0!important;
  background:transparent!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign select{
  min-width:0!important;
  width:100%!important;
  padding:4px 24px 4px 8px!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:58px!important;
  height:24px!important;
  padding:0 7px!important;
  border:1px solid #e1e8f0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#52667d!important;
  font-size:8px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Search Records filters: compact, aligned and visually secondary to results. */
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-panel{
  min-height:0!important;
  margin:0 0 7px!important;
  padding:6px 7px!important;
  border-radius:9px!important;
  background:#fbfcfe!important;
  box-shadow:0 2px 9px rgba(28,61,96,.035)!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-heading{
  min-height:21px!important;
  margin:0 0 4px!important;
  gap:8px!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-heading>div{
  gap:6px!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-heading b{
  font-size:10.5px!important;
  line-height:1.1!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-heading span{
  font-size:7.5px!important;
  line-height:1.1!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-heading button{
  height:23px!important;
  min-height:23px!important;
  padding:3px 7px!important;
  border-radius:6px!important;
  font-size:7.5px!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(105px,1fr))!important;
  align-items:end!important;
  gap:4px 7px!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid label{
  min-width:0!important;
  margin:0!important;
  color:#566b82!important;
  font-size:7.5px!important;
  font-weight:800!important;
  line-height:1.1!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid select{
  box-sizing:border-box!important;
  width:100%!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  margin:2px 0 0!important;
  padding:3px 21px 3px 7px!important;
  border-radius:6px!important;
  background-color:#fff!important;
  font-size:9px!important;
  line-height:1!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-chips{
  min-height:0!important;
  margin:4px 0 0!important;
}
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-chips:empty,
body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-chips[hidden]{display:none!important}
body .wlcrm-app #wlcrm-tab-records #wlcrm-record-count{
  margin:4px 0!important;
  font-size:8.5px!important;
}

/* Communications: calm, high-contrast workspace with consistent control density. */
body .wlcrm-app #wlcrm-tab-communications{
  padding:9px 10px 12px!important;
  background:linear-gradient(180deg,#f8fbff 0%,#fbfdff 100%)!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-communication-subtabs{
  gap:4px!important;
  margin:0 0 7px!important;
  padding:3px!important;
  border-radius:8px!important;
  background:#edf3f9!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-communication-subtabs button{
  min-height:28px!important;
  padding:4px 10px!important;
  border-radius:6px!important;
  font-size:8.5px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-header{
  display:grid!important;
  grid-template-columns:minmax(230px,.55fr) minmax(620px,1.75fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:0!important;
  margin:0 0 7px!important;
  padding:8px 10px!important;
  border:1px solid #d7e4f1!important;
  border-radius:10px!important;
  background:linear-gradient(105deg,#f7fbff 0%,#eef5ff 62%,#f6f2ff 100%)!important;
  color:var(--wl229-ink)!important;
  box-shadow:var(--wl229-shadow)!important;
  overflow:visible!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-header>div:first-child{
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-header h3{
  margin:0!important;
  color:#163656!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.15px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-header h3:before{
  display:block!important;
  margin:0 0 3px!important;
  color:#3569b6!important;
  font-size:7px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:1.25px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-header p{
  max-width:none!important;
  margin:3px 0 0!important;
  color:#62758c!important;
  font-size:8.5px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker{
  display:grid!important;
  grid-template-columns:minmax(300px,.9fr) minmax(310px,1.1fr) auto!important;
  align-items:end!important;
  gap:6px!important;
  min-width:0!important;
  width:100%!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker label{
  min-width:0!important;
  margin:0!important;
  color:#34516f!important;
  font-size:8px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:0!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker .wlcrm-search-control{
  display:grid!important;
  grid-template-columns:minmax(160px,1fr) auto auto!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  margin:2px 0 0!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker :is(input,select,button){
  box-sizing:border-box!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin:2px 0 0!important;
  border:1px solid #c4d4e6!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#203954!important;
  font-size:9.5px!important;
  line-height:1!important;
  box-shadow:none!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker input,
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker select{
  width:100%!important;
  min-width:0!important;
  padding:4px 8px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker button{
  width:auto!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker small{
  grid-column:auto!important;
  align-self:center!important;
  position:static!important;
  margin:12px 0 0!important;
  color:#60748b!important;
  font-size:7.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-align:left!important;
}
body .wlcrm-app #wlcrm-tab-communications #wlcrm-comm-search-count{position:static!important}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-customer{
  align-items:center!important;
  min-height:33px!important;
  margin:0 0 7px!important;
  padding:6px 9px!important;
  border:1px solid #d7e3ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#52677e!important;
  font-size:9px!important;
  line-height:1.25!important;
  box-shadow:0 2px 8px rgba(28,61,96,.035)!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-customer b{
  color:#173b5d!important;
  font-size:10px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  gap:9px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px 8px!important;
  min-width:0!important;
  padding:10px!important;
  overflow:hidden!important;
  border:1px solid #d8e3ee!important;
  border-top:1px solid #d8e3ee!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(28,61,96,.05)!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card:before{
  inset:0 auto 0 0!important;
  width:3px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card:after,
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card::after{display:none!important}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card-title{
  grid-column:1/-1!important;
  gap:8px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 0 7px!important;
  border-bottom:1px solid #e7edf4!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card-title>span{
  width:31px!important;
  height:31px!important;
  border-radius:8px!important;
  font-size:8.5px!important;
  box-shadow:none!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card-title>div{min-width:0!important}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card-title h3{
  margin:0!important;
  color:#183855!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card-title p{
  margin:2px 0 0!important;
  color:#718197!important;
  font-size:8px!important;
  line-height:1.2!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card>label{
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#425970!important;
  font-size:8.5px!important;
  font-weight:800!important;
  line-height:1.15!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card>label:nth-of-type(n+3){grid-column:1/-1!important}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card :is(input,select,textarea){
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  min-height:31px!important;
  margin:3px 0 0!important;
  padding:5px 8px!important;
  border:1px solid #c9d6e4!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#203954!important;
  font-size:9.5px!important;
  line-height:1.3!important;
  box-shadow:inset 0 1px 2px rgba(28,61,96,.025)!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card textarea{
  height:90px!important;
  min-height:82px!important;
  max-height:180px!important;
  resize:vertical!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card small{
  margin-top:3px!important;
  color:#7a8b9e!important;
  font-size:7.5px!important;
  line-height:1.25!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:minmax(118px,.62fr) repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  padding:7px!important;
  border:1px solid #dbe5ef!important;
  border-radius:8px!important;
  background:#f7faff!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments>div,
body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments>label{
  min-width:0!important;
  padding:5px!important;
  border-radius:6px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments input[type="file"]{
  height:29px!important;
  min-height:29px!important;
  padding:3px!important;
  font-size:7.5px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments input[type="file"]::file-selector-button{
  max-width:94px!important;
  margin-right:4px!important;
  padding:4px 6px!important;
  border-radius:5px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-wa-phone-control{
  height:31px!important;
  min-height:31px!important;
  margin-top:3px!important;
  border-color:#c9d6e4!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-wa-phone-control input{
  height:29px!important;
  min-height:29px!important;
  max-height:29px!important;
  margin:0!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-actions{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  padding:7px 0 0!important;
  border-top:1px solid #e7edf4!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-actions button{
  width:auto!important;
  min-width:112px!important;
  min-height:30px!important;
  padding:5px 10px!important;
  border-radius:7px!important;
  font-size:9px!important;
  box-shadow:none!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-actions span{
  color:#718197!important;
  font-size:7.5px!important;
  line-height:1.3!important;
  text-align:right!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-wa-confirm{
  grid-column:1/-1!important;
  margin:0!important;
  padding:6px!important;
  border-radius:7px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-communication-view>.wlcrm-section-title,
body .wlcrm-app #wlcrm-tab-communications>.wlcrm-section-title{
  margin:9px 0 6px!important;
  padding:6px 9px!important;
  border:1px solid #d8e4ef!important;
  border-left:3px solid #4f78c9!important;
  border-radius:8px!important;
  background:#f3f7fc!important;
  color:#1d3d5e!important;
  font-size:10.5px!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-communication-view>.wlcrm-table-wrap,
body .wlcrm-app #wlcrm-tab-communications>.wlcrm-table-wrap{
  max-height:340px!important;
  overflow:auto!important;
  border-radius:9px!important;
  box-shadow:0 3px 10px rgba(28,61,96,.04)!important;
}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-communication-view>.wlcrm-table-wrap table,
body .wlcrm-app #wlcrm-tab-communications>.wlcrm-table-wrap table{min-width:900px!important}
body .wlcrm-app #wlcrm-tab-communications .wlcrm-communication-view>.wlcrm-table-wrap th,
body .wlcrm-app #wlcrm-tab-communications .wlcrm-communication-view>.wlcrm-table-wrap td,
body .wlcrm-app #wlcrm-tab-communications>.wlcrm-table-wrap th,
body .wlcrm-app #wlcrm-tab-communications>.wlcrm-table-wrap td{
  padding:6px 7px!important;
  font-size:9px!important;
  line-height:1.3!important;
}

/* Attendance heading and controls: compact, aligned and readable. */
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading{
  display:grid!important;
  grid-template-columns:minmax(300px,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:0!important;
  margin:0 0 7px!important;
  padding:8px 10px!important;
  border:1px solid #d7e4f1!important;
  border-radius:10px!important;
  background:linear-gradient(105deg,#f7fbff,#eef5ff)!important;
  color:var(--wl229-ink)!important;
  box-shadow:var(--wl229-shadow)!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading>div:first-child span{
  margin:0 0 3px!important;
  color:#3569b6!important;
  font-size:7px!important;
  line-height:1!important;
  letter-spacing:1.1px!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading h3{
  margin:0!important;
  color:#173656!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.15!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading p{
  margin:3px 0 0!important;
  color:#62758c!important;
  font-size:8.5px!important;
  line-height:1.2!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading .wlcrm-toolbar{
  display:flex!important;
  align-items:center!important;
  flex-direction:row!important;
  gap:5px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading .wlcrm-toolbar button{
  width:auto!important;
  height:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:4px 9px!important;
  border-radius:7px!important;
  font-size:8.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls{
  display:grid!important;
  grid-template-columns:auto minmax(145px,190px) minmax(180px,250px) auto auto minmax(160px,1fr)!important;
  align-items:end!important;
  gap:6px!important;
  min-height:0!important;
  margin:0 0 7px!important;
  padding:6px!important;
  border:1px solid var(--wl229-line)!important;
  border-radius:9px!important;
  background:#fbfcfe!important;
  box-shadow:0 2px 8px rgba(28,61,96,.03)!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls label{
  min-width:0!important;
  margin:0!important;
  color:#50667e!important;
  font-size:7.5px!important;
  font-weight:800!important;
  line-height:1.1!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls :is(input,select,button){
  box-sizing:border-box!important;
  width:100%!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin:2px 0 0!important;
  padding:4px 8px!important;
  border-radius:7px!important;
  font-size:9.5px!important;
  line-height:1!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls>button{
  width:auto!important;
  margin:0!important;
  white-space:nowrap!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls>b{
  align-self:center!important;
  min-width:0!important;
  color:#4d6480!important;
  font-size:9px!important;
  font-weight:750!important;
  line-height:1.25!important;
  text-align:right!important;
  white-space:normal!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-title{
  margin:0 0 6px!important;
  padding:5px 8px!important;
  border-left-width:3px!important;
  border-radius:7px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-title h3{
  display:inline!important;
  margin:0!important;
  color:#173b5d!important;
  font-size:10.5px!important;
  line-height:1.15!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-title span{
  margin-left:7px!important;
  color:#61758b!important;
  font-size:8px!important;
  font-weight:650!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-att-calendar-shell{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-attendance-report>.wlcrm-att-calendar-shell[hidden]{display:none!important}

/* Attendance summary cards. */
body .wlcrm-app #wlcrm-att-calendar-summary{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:6px!important;
  margin:0 0 7px!important;
}
body .wlcrm-app #wlcrm-att-calendar-summary:empty{display:none!important}
body .wlcrm-app #wlcrm-att-calendar-summary>*{
  box-sizing:border-box!important;
  min-width:0!important;
  padding:7px 8px!important;
  border:1px solid #dbe5ef!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#61748a!important;
  font-size:8px!important;
  line-height:1.2!important;
  box-shadow:0 2px 7px rgba(28,61,96,.035)!important;
}
body .wlcrm-app #wlcrm-att-calendar-summary :is(b,strong){
  display:block!important;
  margin-bottom:2px!important;
  color:#173b5d!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
}

/* True Monday-Sunday month calendar; narrow screens swipe horizontally. */
body .wlcrm-app .wlcrm-att-calendar-scroll{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 0 4px!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-color:#b9c9d9 #eef3f8;
  scrollbar-width:thin;
}
body .wlcrm-app #wlcrm-att-calendar,
body .wlcrm-app .wlcrm-att-calendar{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:5px!important;
  box-sizing:border-box!important;
  min-width:900px!important;
  width:100%!important;
  padding:6px!important;
  border:1px solid var(--wl229-line)!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  box-shadow:0 3px 11px rgba(28,61,96,.04)!important;
}
body .wlcrm-app #wlcrm-att-calendar>.wlcrm-att-weekday{
  min-width:0!important;
  padding:5px 6px!important;
  border-radius:6px!important;
  background:#eaf1f8!important;
  color:#37546f!important;
  font-size:8px!important;
  font-weight:850!important;
  line-height:1!important;
  text-align:center!important;
  text-transform:uppercase!important;
  letter-spacing:.35px!important;
}
body .wlcrm-app #wlcrm-att-calendar>.wlcrm-att-calendar-blank{
  box-sizing:border-box!important;
  min-height:112px!important;
  border:1px dashed #e1e8ef!important;
  border-radius:8px!important;
  background:#f3f6f9!important;
}
body .wlcrm-app #wlcrm-att-calendar>.wlcrm-att-calendar-loading{
  grid-column:1/-1!important;
  min-height:140px!important;
  display:grid!important;
  place-items:center!important;
  color:#60748b!important;
  font-size:10px!important;
}
body .wlcrm-app .wlcrm-att-calendar-weekdays,
body .wlcrm-app .wlcrm-att-calendar-days{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:5px!important;
  min-width:0!important;
}
body .wlcrm-app .wlcrm-att-calendar-weekdays{
  margin-bottom:5px!important;
}
body .wlcrm-app .wlcrm-att-calendar-weekdays>*{
  min-width:0!important;
  padding:5px 6px!important;
  border-radius:6px!important;
  background:#eaf1f8!important;
  color:#37546f!important;
  font-size:8px!important;
  font-weight:850!important;
  line-height:1!important;
  text-align:center!important;
  text-transform:uppercase!important;
  letter-spacing:.35px!important;
}
body .wlcrm-app .wlcrm-att-calendar-day{
  position:relative!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:112px!important;
  padding:7px!important;
  border:1px solid #d9e3ed!important;
  border-top:3px solid #a6b5c5!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#2e475f!important;
  box-shadow:0 2px 6px rgba(28,61,96,.035)!important;
  transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease!important;
}
body .wlcrm-app button.wlcrm-att-calendar-day{
  width:100%!important;
  font:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
}
body .wlcrm-app .wlcrm-att-calendar-day:hover{
  border-color:#9eb9d6!important;
  box-shadow:0 5px 13px rgba(28,61,96,.08)!important;
  transform:translateY(-1px)!important;
}
body .wlcrm-app .wlcrm-att-calendar-day:focus-visible{
  outline:2px solid #7ca7e7!important;
  outline-offset:1px!important;
}
body .wlcrm-app .wlcrm-att-calendar-day.is-outside-month,
body .wlcrm-app .wlcrm-att-calendar-day.outside-month,
body .wlcrm-app .wlcrm-att-calendar-day.is-empty{
  border-color:#e8edf3!important;
  background:#f3f6f9!important;
  box-shadow:none!important;
  opacity:.55!important;
  pointer-events:none!important;
}
body .wlcrm-app .wlcrm-att-calendar-day :is(.wlcrm-att-day-number,.wlcrm-att-calendar-date,.day-number){
  display:block!important;
  margin:0 0 5px!important;
  color:#183b5d!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
}
body .wlcrm-app .wlcrm-att-calendar-day .wlcrm-att-day-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:5px!important;
  margin:0 0 5px!important;
}
body .wlcrm-app .wlcrm-att-calendar-day .wlcrm-att-day-head b{
  color:#183b5d!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
}
body .wlcrm-app .wlcrm-att-calendar-day .wlcrm-att-day-head small{
  color:#718398!important;
  font-size:7px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
}
body .wlcrm-app .wlcrm-att-calendar-day :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status){
  display:inline-flex!important;
  align-items:center!important;
  min-height:18px!important;
  margin:0 0 5px!important;
  padding:2px 6px!important;
  border-radius:999px!important;
  background:#eef2f6!important;
  color:#4d6278!important;
  font-size:7px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body .wlcrm-app .wlcrm-att-calendar-day :is(.wlcrm-att-day-details,.wlcrm-att-calendar-details,.details),
body .wlcrm-app .wlcrm-att-calendar-day small{
  display:block!important;
  color:#64788e!important;
  font-size:7.8px!important;
  line-height:1.35!important;
}
body .wlcrm-app .wlcrm-att-calendar-day :is(.wlcrm-att-day-times,.wlcrm-att-calendar-times){
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:3px 6px!important;
  margin-top:4px!important;
  font-variant-numeric:tabular-nums!important;
}
body .wlcrm-app .wlcrm-att-calendar-day .wlcrm-att-day-reason{
  display:-webkit-box!important;
  margin-top:5px!important;
  overflow:hidden!important;
  color:#61758b!important;
  font-size:7.4px!important;
  line-height:1.3!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
body .wlcrm-app .wlcrm-att-calendar-day>em{
  display:inline-block!important;
  margin-top:4px!important;
  color:#6c3bb3!important;
  font-size:7px!important;
  font-style:normal!important;
  font-weight:800!important;
}
body .wlcrm-app .wlcrm-att-calendar-day.is-today{box-shadow:0 0 0 2px #93b8ee!important}
body .wlcrm-app .wlcrm-att-calendar-day.is-corrected{border-right:3px solid #8354ca!important}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-full-day,.full-day,.present),
body .wlcrm-app .wlcrm-att-calendar-day[data-status="FULL_DAY"]{
  border-top-color:#1b9a67!important;
  background:#f5fcf8!important;
}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-full-day,.full-day,.present) :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status),
body .wlcrm-app .wlcrm-att-calendar-day[data-status="FULL_DAY"] :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status){background:#dff6eb!important;color:#08734b!important}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-half-day,.half-day),
body .wlcrm-app .wlcrm-att-calendar-day[data-status="HALF_DAY"]{
  border-top-color:#e79a1b!important;
  background:#fffaf0!important;
}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-half-day,.half-day) :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status),
body .wlcrm-app .wlcrm-att-calendar-day[data-status="HALF_DAY"] :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status){background:#ffedc3!important;color:#955a04!important}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-absent,.absent),
body .wlcrm-app .wlcrm-att-calendar-day[data-status="ABSENT"]{
  border-top-color:#da5260!important;
  background:#fff7f7!important;
}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-absent,.absent) :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status),
body .wlcrm-app .wlcrm-att-calendar-day[data-status="ABSENT"] :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status){background:#ffe1e4!important;color:#a92e38!important}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-paid-leave,.status-unpaid-leave,.paid-leave,.unpaid-leave),
body .wlcrm-app .wlcrm-att-calendar-day:is([data-status="PAID_LEAVE"],[data-status="UNPAID_LEAVE"]){
  border-top-color:#8354ca!important;
  background:#fbf8ff!important;
}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-paid-leave,.status-unpaid-leave,.paid-leave,.unpaid-leave) :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status),
body .wlcrm-app .wlcrm-att-calendar-day:is([data-status="PAID_LEAVE"],[data-status="UNPAID_LEAVE"]) :is(.wlcrm-att-day-status,.wlcrm-att-calendar-status,.status){background:#eee4fb!important;color:#6737ad!important}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-weekly-holiday,.status-company-holiday,.weekly-holiday,.company-holiday,.status-holiday,.holiday),
body .wlcrm-app .wlcrm-att-calendar-day:is([data-status="WEEKLY_HOLIDAY"],[data-status="COMPANY_HOLIDAY"],[data-status="HOLIDAY"]){
  border-top-color:#7b8b9c!important;
  background:#f5f7f9!important;
}
body .wlcrm-app .wlcrm-att-calendar-day:is(.status-future,.future,.status-not-marked,.not-marked,.status-no-record),
body .wlcrm-app .wlcrm-att-calendar-day:is([data-status="FUTURE"],[data-status="NOT_MARKED"],[data-status="NO_RECORD"]){
  border-top-color:#c3ced9!important;
  background:#fbfcfd!important;
}
body .wlcrm-app .wlcrm-att-calendar-empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:150px!important;
  padding:20px!important;
  border:1px dashed #c7d6e5!important;
  border-radius:9px!important;
  background:#f9fbfd!important;
  color:#60748b!important;
  font-size:10px!important;
  line-height:1.45!important;
  text-align:center!important;
}
body .wlcrm-app .wlcrm-att-calendar-empty[hidden]{display:none!important}

/* Keep the attendance workspace's tab strip and live section restrained. */
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-work-tabs{
  margin:0 0 7px!important;
  padding:4px!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-work-tabs button{
  min-height:29px!important;
  padding:4px 10px!important;
  font-size:8.5px!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report .wlcrm-live-heading{
  min-height:0!important;
  margin-bottom:6px!important;
  padding:6px 8px!important;
}
body .wlcrm-app #wlcrm-tab-attendance-report .wlcrm-live-heading h3{font-size:11px!important}
body .wlcrm-app #wlcrm-tab-attendance-report .wlcrm-live-heading p{font-size:8px!important}
body .wlcrm-app #wlcrm-tab-attendance-report .wlcrm-live-heading button{
  min-height:28px!important;
  padding:4px 8px!important;
  font-size:8px!important;
}

@media(max-width:1450px){
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar{
    grid-template-columns:minmax(280px,1fr)!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar-actions{
    justify-content:stretch!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign{
    margin-left:auto!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid{grid-template-columns:repeat(4,minmax(130px,1fr))!important}
  body .wlcrm-app #wlcrm-att-calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:1050px){
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-header{
    grid-template-columns:1fr!important;
  }
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker{
    grid-template-columns:minmax(260px,1fr) minmax(260px,1fr)!important;
  }
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker small{
    grid-column:1/-1!important;
    margin:0!important;
  }
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-grid{grid-template-columns:1fr!important}
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments>div{grid-column:1/-1!important}
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls{
    grid-template-columns:auto minmax(145px,1fr) minmax(180px,1.35fr) auto auto!important;
  }
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls>b{
    grid-column:1/-1!important;
    text-align:left!important;
  }
}

@media(max-width:1199px){
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar{
    flex-wrap:wrap!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar>.wlcrm-search-control{
    flex:1 1 520px!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign{
    flex:1 1 100%!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:5px 0 0!important;
    border-left:0!important;
    border-top:1px solid #d6e1ec!important;
  }
}

@media(max-width:820px){
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar-actions{
    display:grid!important;
    grid-template-columns:repeat(4,auto) minmax(0,1fr)!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign{
    grid-column:1/-1!important;
    grid-template-columns:minmax(150px,1fr) auto auto!important;
    width:100%!important;
    margin:0!important;
    padding:5px 0 0!important;
    border-left:0!important;
    border-top:1px solid #d6e1ec!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid{grid-template-columns:repeat(2,minmax(120px,1fr))!important}
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading{
    grid-template-columns:1fr!important;
  }
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading .wlcrm-toolbar{
    justify-content:flex-start!important;
  }
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:end!important;
  }
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls>button{width:100%!important}
  body .wlcrm-app #wlcrm-att-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:620px){
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar>.wlcrm-search-control{
    grid-template-columns:minmax(0,1fr) auto auto!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar-actions>button{width:100%!important}
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign span{grid-column:1/-1!important}
  body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-grid{grid-template-columns:1fr!important}
  body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-heading>div{display:block!important}
  body .wlcrm-app #wlcrm-tab-records .wlcrm-filter-heading span{display:block!important;margin-top:2px!important}
  body .wlcrm-app #wlcrm-tab-communications{padding:7px!important}
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-header{
    padding:8px!important;
  }
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker,
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card{
    grid-template-columns:1fr!important;
  }
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-lead-picker small,
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card>label,
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-card>label:nth-of-type(n+3){grid-column:1!important}
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-actions{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-actions button{width:100%!important}
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-comm-actions span{text-align:left!important}
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading .wlcrm-toolbar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-heading .wlcrm-toolbar button{width:100%!important}
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-month-controls{grid-template-columns:1fr!important}
  body .wlcrm-app #wlcrm-att-calendar-summary{grid-template-columns:1fr 1fr!important}
  body .wlcrm-app #wlcrm-att-calendar{min-width:790px!important}
  body .wlcrm-app .wlcrm-att-calendar-day{min-height:104px!important}
}

@media(max-width:700px){
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar{align-items:stretch!important}
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar>.wlcrm-search-control{width:100%!important;flex-basis:100%!important}
  body .wlcrm-app #wlcrm-tab-records .wlcrm-record-toolbar .wlcrm-bulk-assign{min-width:0!important;overflow:hidden!important}
  body .wlcrm-app #wlcrm-tab-attendance-report>.wlcrm-report-title span{display:block!important;margin:3px 0 0!important}
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments{grid-template-columns:1fr!important}
  body .wlcrm-app #wlcrm-tab-communications .wlcrm-email-attachments>div{grid-column:auto!important}
}
