.bp-skeleton-anchor{display:block;width:100%;height:0;margin:0;padding:0}
.bp-page-skeleton[hidden]{display:none!important}
.bp-page-skeleton{
  --bp-skeleton-base:#172238;--bp-skeleton-highlight:#243554;
  position:fixed;z-index:850;top:var(--bp-skeleton-top,0);inset-inline:0;bottom:0;
  overflow:hidden;padding:clamp(16px,3vw,28px);background:var(--bg,#0b1220);
  opacity:0;pointer-events:auto;transition:opacity 150ms ease
}
body.light-mode .bp-page-skeleton{--bp-skeleton-base:#dfe7f2;--bp-skeleton-highlight:#f5f8fc}
body.bp-skeleton-visible{overflow:hidden}
body.bp-skeleton-visible .bp-page-skeleton{opacity:1}
.bp-page-skeleton__inner{width:min(1100px,100%);margin:0 auto}
.bp-skeleton-shape{position:relative;display:block;overflow:hidden;background:var(--bp-skeleton-base)}
.bp-skeleton-shape::after{content:"";position:absolute;inset:0;transform:translateX(-105%);background:linear-gradient(90deg,transparent,var(--bp-skeleton-highlight),transparent);animation:bp-skeleton-shimmer 1.35s ease-in-out infinite}
.bp-page-skeleton__heading{width:min(330px,64%);height:26px;border-radius:8px}
.bp-page-skeleton__subheading{width:min(500px,86%);height:12px;margin-top:10px;border-radius:999px}
.bp-page-skeleton__layout{display:none;margin-top:22px}
.bp-page-skeleton[data-layout="timesheet"] .bp-page-skeleton__layout--timesheet,
.bp-page-skeleton[data-layout="calendar"] .bp-page-skeleton__layout--calendar,
.bp-page-skeleton[data-layout="form"] .bp-page-skeleton__layout--form,
.bp-page-skeleton[data-layout="split"] .bp-page-skeleton__layout--split,
.bp-page-skeleton[data-layout="dashboard"] .bp-page-skeleton__layout--dashboard,
.bp-page-skeleton[data-layout="generic"] .bp-page-skeleton__layout--generic{display:block}
.bp-page-skeleton__card,.bp-page-skeleton__table-card,.bp-page-skeleton__calendar-card,.bp-page-skeleton__stat{border:1px solid var(--border,#2e4374);border-radius:14px;background:var(--card,#121a2b);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.bp-page-skeleton__toolbar{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.bp-page-skeleton__button{width:82px;height:36px;border-radius:9px}
.bp-page-skeleton__button--wide{width:142px}
.bp-page-skeleton__pill{width:150px;height:28px;margin-left:auto;border-radius:999px}
.bp-page-skeleton__date{width:220px;height:24px;margin-bottom:12px;border-radius:999px}
.bp-page-skeleton__table-card{overflow:hidden;border-radius:10px}
.bp-page-skeleton__table-head{height:42px;background:var(--bp-skeleton-base);opacity:.9}
.bp-page-skeleton__table-row{display:grid;grid-template-columns:1.05fr 1.15fr 1.7fr 1.7fr repeat(4,.75fr);gap:1px;border-top:1px solid var(--border,#2e4374)}
.bp-page-skeleton__table-row span{height:68px;border-radius:0;border-right:1px solid var(--border,#2e4374);background:color-mix(in srgb,var(--bp-skeleton-base) 78%,transparent)}
.bp-page-skeleton__calendar-card{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}
.bp-page-skeleton__calendar-head{height:34px;border-radius:0;border-right:1px solid var(--border,#2e4374)}
.bp-page-skeleton__calendar-day{min-height:82px;padding:9px;border-top:1px solid var(--border,#2e4374);border-right:1px solid var(--border,#2e4374)}
.bp-page-skeleton__calendar-day i{width:22px;height:12px;border-radius:5px}
.bp-page-skeleton__calendar-day b{width:62%;height:10px;margin-top:20px;border-radius:999px}
.bp-page-skeleton__form-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px}
.bp-page-skeleton__split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.bp-page-skeleton__card{padding:20px}
.bp-page-skeleton__menu{display:grid;align-content:start;gap:18px}
.bp-page-skeleton__fields{display:grid;gap:17px}
.bp-page-skeleton__field{display:grid;gap:8px}
.bp-page-skeleton__field span{width:28%;height:10px;border-radius:999px}
.bp-page-skeleton__field b{width:100%;height:40px;border-radius:9px}
.bp-page-skeleton__preview{display:grid;align-content:start;gap:18px}
.bp-page-skeleton__preview-block{height:280px;border-radius:10px}
.bp-page-skeleton__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bp-page-skeleton__stat{display:flex;align-items:center;gap:12px;min-height:84px;padding:14px}
.bp-page-skeleton__icon{flex:0 0 40px;width:40px;height:40px;border-radius:11px}
.bp-page-skeleton__dashboard-table,.bp-page-skeleton__generic-card{display:grid;gap:20px;margin-top:14px;min-height:300px}
.bp-page-skeleton__line{width:100%;height:14px;border-radius:999px}
.bp-page-skeleton__line--title{width:38%;height:20px;margin-bottom:4px}
@keyframes bp-skeleton-shimmer{to{transform:translateX(105%)}}
@media(max-width:720px){
  .bp-page-skeleton{padding:14px}
  .bp-page-skeleton__heading{height:22px}
  .bp-page-skeleton__toolbar{overflow:hidden}
  .bp-page-skeleton__pill{display:none}
  .bp-page-skeleton__table-row{grid-template-columns:72px repeat(3,1fr)}
  .bp-page-skeleton__table-row span:nth-child(n+5){display:none}
  .bp-page-skeleton__table-row span{height:76px}
  .bp-page-skeleton__calendar-day{min-height:64px;padding:5px}
  .bp-page-skeleton__calendar-day b{width:90%;margin-top:13px}
  .bp-page-skeleton__form-grid,.bp-page-skeleton__split-grid{grid-template-columns:1fr}
  .bp-page-skeleton__menu{display:none}
  .bp-page-skeleton__split-grid>*:last-child{display:none}
  .bp-page-skeleton__stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:430px){
  .bp-page-skeleton__calendar-day{min-height:57px}
  .bp-page-skeleton__calendar-day b{display:none}
  .bp-page-skeleton__button{width:68px}
}
@media(prefers-reduced-motion:reduce){.bp-page-skeleton,.bp-skeleton-shape::after{transition:none;animation:none}}
