/* THRS V14.38 — Approval Requests Premium Visual Finish
   A cosmetic-only layer over v14.37: no markup, routes, data, permissions,
   filters, pagination or page structure changed. Keep THRS navy + gold. */
html[data-theme="light"] .work-schedules-pro .ws-requests-panel{
  --wsp38-surface:#ffffff;
  --wsp38-alt:#f8fafc;
  --wsp38-tint:#f1f5fa;
  --wsp38-line:#dce5ee;
  --wsp38-ink:#14314b;
  --wsp38-muted:#62768c;
  --wsp38-gold:#bd8c4c;
  --wsp38-gold-dim:#f9f2e8;
  --wsp38-ring:rgba(189,140,76,.14);
  --wsp38-shadow:0 2px 7px rgba(13,40,64,.025),0 17px 40px rgba(13,40,64,.078);
}
html[data-theme="dark"] .work-schedules-pro .ws-requests-panel{
  --wsp38-surface:#15354e;
  --wsp38-alt:#1b3c56;
  --wsp38-tint:#22445f;
  --wsp38-line:#3b5c74;
  --wsp38-ink:#f2f6fb;
  --wsp38-muted:#c3d2df;
  --wsp38-gold:#eac38a;
  --wsp38-gold-dim:#354551;
  --wsp38-ring:rgba(234,195,138,.17);
  --wsp38-shadow:0 4px 12px rgba(0,8,27,.17),0 19px 44px rgba(0,8,27,.27);
}
html[data-theme] .work-schedules-pro .ws-requests-panel{
  background:var(--wsp38-surface)!important;
  border:1px solid color-mix(in srgb,var(--wsp38-gold) 28%,var(--wsp38-line))!important;
  border-radius:20px!important;
  box-shadow:var(--wsp38-shadow)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel>.thrs-card-header{
  position:relative;
  min-height:65px!important;
  padding:20px 24px!important;
  border-bottom:1px solid var(--wsp38-line)!important;
  background:linear-gradient(112deg,var(--wsp38-surface) 8%,var(--wsp38-alt) 90%)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel>.thrs-card-header::after{
  content:"";position:absolute;inset-inline-start:24px;bottom:-1px;
  width:57px;height:2px;border-radius:5px;
  background:linear-gradient(90deg,var(--wsp38-gold),transparent);
}
html[data-theme] .work-schedules-pro .ws-requests-panel>.thrs-card-header h3{
  font-size:17px!important;
  font-weight:900!important;
  line-height:1.38!important;
  color:var(--wsp38-ink)!important;
  letter-spacing:-.012em!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel>.thrs-card-header+div{
  padding:21px 22px 23px!important;
}
html[data-theme] .work-schedules-pro .ws-request-dashboard{
  gap:17px!important;
}
/* The existing intro stays in place. Improve spacing, legibility and materials. */
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-overview{
  min-height:84px;
  padding:17px 21px!important;
  gap:17px!important;
  background:
    radial-gradient(ellipse at 91% -25%,rgba(238,205,155,.17),transparent 52%),
    linear-gradient(112deg,#0b2b44 3%,#173e5a 64%,#102f48 100%)!important;
  border:1px solid rgba(218,180,120,.47)!important;
  border-radius:15px!important;
  box-shadow:0 8px 20px rgba(8,38,65,.13),inset 0 1px 0 rgba(255,255,255,.11)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-overview-text{
  gap:6px!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-overview-text strong{
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  color:#fff!important;
  line-height:1.4!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-overview-text span{
  font-size:12px!important;
  line-height:1.6!important;
  font-weight:620!important;
  color:#d9e5ef!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-total{
  min-height:38px;
  padding:9px 14px!important;
  color:#f8dbb0!important;
  font-size:12px!important;
  font-weight:850!important;
  border:1px solid rgba(230,198,151,.49)!important;
  background:rgba(255,255,255,.105)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-total svg{
  color:#f1c98e!important;
}
/* Status bar: balanced segmented tabs, with quiet dividers and a strong active state. */
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-statusbar{
  gap:6px!important;
  padding:6px!important;
  background:var(--wsp38-alt)!important;
  border:1px solid var(--wsp38-line)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 2px rgba(11,45,72,.025)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-status-option{
  min-height:45px!important;
  padding:10px 13px!important;
  gap:9px!important;
  font-size:12px!important;
  font-weight:780!important;
  border-radius:10px!important;
  color:var(--wsp38-muted)!important;
  border:1px solid transparent!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-status-option:hover:not(.active){
  background:var(--wsp38-surface)!important;
  border-color:var(--wsp38-line)!important;
  box-shadow:0 2px 7px rgba(9,39,69,.04)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-status-option.active{
  background:linear-gradient(128deg,#143c58,#0a2e47)!important;
  border-color:rgba(214,173,110,.68)!important;
  color:#fff!important;
  box-shadow:0 5px 13px rgba(8,36,61,.16),inset 0 1px 0 rgba(255,255,255,.07)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-status-option strong{
  min-width:27px!important;
  min-height:23px!important;
  padding:3px 7px!important;
  border-radius:7px!important;
  font-size:11px!important;
  background:var(--wsp38-surface)!important;
  color:var(--wsp38-muted)!important;
  border:1px solid var(--wsp38-line)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-status-option.active strong{
  background:rgba(255,255,255,.13)!important;
  color:#f5d8ac!important;
  border-color:rgba(241,209,164,.32)!important;
}
/* Filter row: consistent 45px controls, text sizes and focus. */
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-toolbar{
  column-gap:12px!important;row-gap:9px!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-search{
  min-height:45px!important;height:45px!important;
  border-radius:11px!important;
  border-color:var(--wsp38-line)!important;
  background:var(--wsp38-surface)!important;
  box-shadow:0 2px 7px rgba(10,41,66,.03)!important;
  color:var(--wsp38-gold)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-search input{
  height:42px!important;
  color:var(--wsp38-ink)!important;
  -webkit-text-fill-color:var(--wsp38-ink)!important;
  font-size:12.5px!important;
  font-weight:650!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-search input::placeholder{
  color:var(--wsp38-muted)!important;
  -webkit-text-fill-color:var(--wsp38-muted)!important;
  opacity:.85!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-search:focus-within{
  border-color:var(--wsp38-gold)!important;
  box-shadow:0 0 0 3px var(--wsp38-ring)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-page-size{
  gap:9px!important;color:var(--wsp38-muted)!important;
  font-size:12px!important;font-weight:780!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-page-size select{
  height:45px!important;
  border:1px solid var(--wsp38-line)!important;
  background:var(--wsp38-surface)!important;
  border-radius:11px!important;
  color:var(--wsp38-ink)!important;
  font-size:12px!important;font-weight:800!important;
  box-shadow:0 2px 7px rgba(10,41,66,.03)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-result-count{
  font-size:12px!important;
  font-weight:760!important;
  color:var(--wsp38-muted)!important;
}
/* Requests: refined row treatment, not larger cards or a new layout. */
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-list{
  gap:9px!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-compact{
  position:relative!important;
  border:1px solid var(--wsp38-line)!important;
  border-radius:13px!important;
  background:var(--wsp38-surface)!important;
  box-shadow:0 2px 7px rgba(11,42,68,.035)!important;
  transition:border-color .17s ease,box-shadow .17s ease,background-color .17s ease!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-compact::before{
  content:"";
  position:absolute;inset-block:12px;
  inset-inline-start:0;width:3px;border-radius:0 6px 6px 0;
  background:transparent;pointer-events:none;
  transition:background-color .17s ease;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-compact:hover{
  border-color:color-mix(in srgb,var(--wsp38-gold) 42%,var(--wsp38-line))!important;
  background:color-mix(in srgb,var(--wsp38-gold) 2%,var(--wsp38-surface))!important;
  box-shadow:0 6px 18px rgba(12,41,70,.085)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-compact:hover::before,
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-compact.is-expanded::before{
  background:var(--wsp38-gold)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-compact.is-expanded{
  border-color:color-mix(in srgb,var(--wsp38-gold) 58%,var(--wsp38-line))!important;
  box-shadow:0 7px 21px rgba(12,41,70,.08)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-summary{
  min-height:81px!important;
  padding:14px 17px!important;
  gap:13px!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-mini-avatar{
  flex:0 0 42px!important;
  width:42px!important;height:42px!important;
  border-radius:12px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:var(--wsp38-gold)!important;
  border:1px solid color-mix(in srgb,var(--wsp38-gold) 38%,var(--wsp38-line))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--wsp38-gold) 12%,var(--wsp38-surface)),var(--wsp38-alt))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-summary-main{
  gap:6px!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-summary-title{
  font-size:14px!important;line-height:1.4!important;
  font-weight:900!important;
  color:var(--wsp38-ink)!important;
  letter-spacing:-.012em!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-summary-sub{
  gap:4px 8px!important;
  font-size:11.7px!important;
  line-height:1.5!important;
  color:var(--wsp38-muted)!important;
  font-weight:660!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-row-actions{
  gap:9px!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-status-pill{
  min-height:29px!important;
  padding:6px 11px!important;
  font-size:11px!important;
  border-radius:999px!important;
  font-weight:840!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html[data-theme="dark"] .work-schedules-pro .ws-requests-panel .ws-request-status-pill{
  color:var(--wsp38-ink)!important;
  border-color:var(--wsp38-line)!important;
  background:var(--wsp38-tint)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-expand{
  min-height:38px!important;
  padding:8px 13px!important;
  border-radius:10px!important;
  font-size:11.7px!important;font-weight:800!important;
  border:1px solid var(--wsp38-line)!important;
  background:var(--wsp38-alt)!important;
  color:var(--wsp38-ink)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-expand:hover{
  background:var(--wsp38-surface)!important;
  border-color:var(--wsp38-gold)!important;
  box-shadow:0 3px 9px rgba(14,44,70,.06)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-row-actions .thrs-btn{
  min-height:38px!important;
  padding:9px 13px!important;
  border-radius:10px!important;
  font-size:11.7px!important;
  font-weight:850!important;
  box-shadow:0 3px 8px rgba(8,43,65,.05)!important;
}
/* Expanded detail remains inline and complete. Improve material contrast. */
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-detail{
  padding:18px 19px!important;
  gap:15px!important;
  border-top:1px solid var(--wsp38-line)!important;
  background:var(--wsp38-alt)!important;
  color:var(--wsp38-ink)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-detail-top{
  font-size:12px!important;font-weight:670!important;
  color:var(--wsp38-muted)!important;
  line-height:1.55!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel :is(.ws-request-reason strong,.ws-request-schedule-detail>strong,.ws-request-detail-top strong){
  font-size:12px!important;
  font-weight:900!important;
  color:var(--wsp38-ink)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-reason p{
  padding:13px 15px!important;
  border-radius:10px!important;
  background:var(--wsp38-surface)!important;
  border:1px solid var(--wsp38-line)!important;
  font-size:12.5px!important;
  line-height:1.75!important;
  color:var(--wsp38-muted)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-schedule-detail .ws-chip{
  padding:8px 10px!important;
  border-radius:9px!important;
  background:var(--wsp38-surface)!important;
  border:1px solid var(--wsp38-line)!important;
  color:var(--wsp38-ink)!important;
  font-size:11.4px!important;
  line-height:1.45!important;
}
/* Pagination: same controls and position, stronger information hierarchy. */
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-pagination{
  min-height:60px!important;
  padding:12px 15px!important;
  border:1px solid var(--wsp38-line)!important;
  border-radius:12px!important;
  background:var(--wsp38-alt)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-pagination>span{
  font-size:12px!important;
  font-weight:800!important;
  color:var(--wsp38-muted)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-pagination button{
  min-width:36px!important;height:36px!important;
  border-radius:9px!important;
  border:1px solid var(--wsp38-line)!important;
  background:var(--wsp38-surface)!important;
  color:var(--wsp38-ink)!important;
  font-size:12px!important;
  box-shadow:0 1px 3px rgba(11,42,69,.025)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-pagination button.is-current{
  color:#fff!important;
  border-color:#c49a60!important;
  background:linear-gradient(130deg,#143d59,#0a2b46)!important;
  box-shadow:0 4px 10px rgba(12,42,68,.16)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-pagination button:hover:not(:disabled){
  border-color:var(--wsp38-gold)!important;
  box-shadow:0 3px 9px rgba(12,42,68,.08)!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-pagination button:disabled{
  opacity:.45!important;box-shadow:none!important;
}
html[data-theme] .work-schedules-pro .ws-requests-panel :is(button,input,select):focus-visible{
  outline:2px solid var(--wsp38-gold)!important;
  outline-offset:2px!important;
}
@media(max-width:930px){
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-summary{
    gap:10px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-row-actions{
    gap:8px!important;
  }
}
@media(max-width:560px){
  html[data-theme] .work-schedules-pro .ws-requests-panel>.thrs-card-header{
    padding:15px 16px!important;min-height:57px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel>.thrs-card-header+div{
    padding:12px!important;
  }
  html[data-theme] .work-schedules-pro .ws-request-dashboard{
    gap:12px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-overview{
    padding:14px!important;min-height:76px!important;gap:9px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-overview-text strong{
    font-size:15px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-overview-text span{
    font-size:11px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-status-option{
    min-height:39px!important;padding:7px 10px!important;font-size:11px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-summary{
    padding:12px!important;gap:10px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-mini-avatar{
    width:38px!important;height:38px!important;flex-basis:38px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-summary-title{
    font-size:12.6px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-summary-sub{
    font-size:10.7px!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-request-row-actions{
    justify-content:flex-start!important;
  }
  html[data-theme] .work-schedules-pro .ws-requests-panel .ws-requests-pagination{
    padding:10px 11px!important;min-height:56px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html[data-theme] .work-schedules-pro .ws-requests-panel :is(.ws-request-compact,.ws-request-compact::before,.ws-requests-status-option,.ws-request-expand,.ws-requests-pagination button){
    transition:none!important;
  }
}