/* Additive interface refresh. Remove this stylesheet to restore the previous look. */
:root{
  --ui-fast:140ms;
  --ui-normal:220ms;
  --ui-ease:cubic-bezier(.2,.8,.2,1);
  --ui-focus:#60a5fa;
}

html{scroll-behavior:smooth}
body.ui-refresh{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}

body.ui-refresh .container,
body.ui-refresh #mainContent{width:min(1320px,calc(100% - 40px))}

body.ui-refresh :is(button,a,input,select,textarea):focus-visible{
  outline:3px solid color-mix(in srgb,var(--ui-focus) 72%,transparent);
  outline-offset:2px;
}

body.ui-refresh :is(.btn,.nav-btn,.wr-btn,.repTabBtn,.calendar-tab,button){
  border-radius:14px;
  transition:transform var(--ui-fast) ease,border-color var(--ui-fast) ease,
    background-color var(--ui-fast) ease,box-shadow var(--ui-fast) ease,color var(--ui-fast) ease;
}
body.ui-refresh :is(.btn,.nav-btn,.wr-btn,.repTabBtn,.calendar-tab,button):active:not(:disabled){transform:scale(.98)}

body.ui-refresh #mainContent.page-leaving{opacity:0;transform:translateY(4px);filter:none}
body.ui-refresh #mainContent.page-entering{animation:uiPageIn var(--ui-normal) var(--ui-ease) both}
@keyframes uiPageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Brand and primary navigation */
body.ui-refresh .top-logo{
  min-height:74px;padding:10px 18px;border-radius:0;
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}
body.ui-refresh .top-logo img{width:62px;margin-right:12px}
body.ui-refresh .top-logo-text h1{font-size:1.35rem;line-height:1.08}
body.ui-refresh .top-logo-text p{margin-top:3px;font-size:.82rem}

body.ui-refresh #mainNav{border-radius:0 0 12px 12px;box-shadow:0 10px 28px rgba(2,6,23,.24)}
body.ui-refresh #mainNav .nav-container{min-height:54px;padding:7px 14px}
body.ui-refresh #mainNav .nav-menu{gap:8px}
body.ui-refresh #mainNav .nav-btn,
body.ui-refresh #mainNav .nav-menu>.nav-item>a{
  min-height:40px;border-radius:14px;padding:9px 13px;
}
body.ui-refresh #mainNav .dropdown{
  border:1px solid rgba(148,163,184,.20);
  box-shadow:0 18px 50px rgba(2,6,23,.38);
  animation:uiMenuIn var(--ui-fast) var(--ui-ease) both;
}
@keyframes uiMenuIn{from{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:none}}

/* Dashboard hierarchy */
body.ui-refresh .dash-v11{gap:14px;padding-top:20px}
body.ui-refresh .dash-v11 .dash-head{
  padding:12px 4px 15px;border:0;border-bottom:1px solid rgba(148,163,184,.22);
  border-radius:0;background:transparent;box-shadow:none;
}
body.ui-refresh .dash-v11 .dash-head::after{
  width:92px;right:auto;height:3px;border-radius:999px;
  background:linear-gradient(90deg,#3b82f6,#14b8a6);
}
body.ui-refresh .dash-v11 .dash-head h2{font-size:clamp(25px,3vw,32px);letter-spacing:0}
body.ui-refresh .dash-v11 .dash-head .sub{margin-top:3px;color:var(--muted-2)}
body.ui-refresh .dash-v11 .kpi-strip{
  grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) minmax(320px,1.5fr);
  align-items:stretch;
}
body.ui-refresh .dash-v11 .kpi{
  min-height:0;padding:15px;border-radius:12px!important;
  box-shadow:0 10px 28px rgba(2,6,23,.16);
}
body.ui-refresh .dash-v11 .dash-assignment-kpi{grid-column:auto}
body.ui-refresh .dash-v11 .dcard{border-radius:12px!important;box-shadow:0 10px 28px rgba(2,6,23,.16)}
body.ui-refresh .dash-v11 .dcard .dcard-head{min-height:52px;padding:12px 14px}
body.ui-refresh .dash-v11 .dcard .dcard-body{padding:12px 14px 14px}
body.ui-refresh .dash-v11 .tiles.tiles-compact{gap:9px}
body.ui-refresh .dash-v11 .tile{min-height:78px;border-radius:14px;box-shadow:none}
body.ui-refresh .dash-v11 .tile .ico{
  transition:transform var(--ui-normal) var(--ui-ease),background var(--ui-fast) ease;
}

@media (hover:hover){
  body.ui-refresh .dash-v11 :is(.tile,.dcard,.kpi):hover{border-color:rgba(96,165,250,.34)}
  body.ui-refresh .dash-v11 .tile:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(2,6,23,.16)}
  body.ui-refresh .dash-v11 .tile:hover .ico{transform:translateY(-2px) scale(1.05)}
}

body.ui-refresh .ui-shortcut-toggle{
  display:none;width:100%;min-height:44px;margin-top:10px;
  border:1px solid rgba(148,163,184,.22);border-radius:14px;
  background:rgba(255,255,255,.045);color:var(--text);font:inherit;font-weight:850;cursor:pointer;
}

/* Report overview */
body.ui-refresh .repHero{border-radius:12px;padding:16px;box-shadow:0 12px 32px rgba(2,6,23,.20)}
body.ui-refresh .repTopBar{border-radius:12px}
body.ui-refresh .repYearRow{width:100%}
body.ui-refresh .repYearRow>.repActionsRow{
  margin:0 0 0 auto!important;flex:0 0 auto;
}
body.ui-refresh .repActionsBox{border-radius:16px!important}
body.ui-refresh .repDropdown{
  top:calc(100% + 8px)!important;bottom:auto!important;
  transform-origin:top right;animation:uiMenuIn var(--ui-fast) var(--ui-ease) both;
}
body.ui-refresh .repMonthRow{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px!important;
  overflow:visible!important;
}
body.ui-refresh .repMonthRow .repTabBtn{
  width:100%;min-width:0;padding-inline:7px;white-space:nowrap;
}

/* Shared cards, dialogs and feedback */
body.ui-refresh :is(.card,.card-like,.wr-card,.vac-card,.an-section,.repWeekBlock){border-radius:12px}
body.ui-refresh :is(.modal,.wr-geoModal,.cal-modalBackdrop,.chat-modal-overlay){animation:uiOverlayIn var(--ui-fast) ease both}
body.ui-refresh :is(.wr-geoDialog,.cal-modal,.chat-modal,.an-photo-editor-dialog){animation:uiDialogIn var(--ui-normal) var(--ui-ease) both}
@keyframes uiOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes uiDialogIn{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}

body.ui-refresh .ui-loading{position:relative;min-height:64px;overflow:hidden;color:transparent!important}
body.ui-refresh .ui-loading::before,
body.ui-refresh .ui-loading::after{
  content:"";position:absolute;left:0;border-radius:8px;background:rgba(148,163,184,.13);
}
body.ui-refresh .ui-loading::before{top:8px;width:min(72%,420px);height:15px}
body.ui-refresh .ui-loading::after{
  top:33px;width:min(48%,280px);height:12px;
  animation:uiLoadingPulse 1.15s ease-in-out infinite alternate;
}
@keyframes uiLoadingPulse{from{opacity:.45;transform:translateX(0)}to{opacity:1;transform:translateX(10px)}}

/* Tablet */
@media (min-width:761px) and (max-width:1100px){
  body.ui-refresh .container,body.ui-refresh #mainContent{width:min(100% - 28px,1040px)}
  body.ui-refresh .dash-v11 .kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ui-refresh .dash-v11 .dash-assignment-kpi{grid-column:1/-1}
  body.ui-refresh .dash-v11 .dash-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ui-refresh .repMonthRow{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* Phone */
@media (max-width:850px){
  body.ui-refresh #mainNav{
    position:static;min-height:0;height:0;border:0;background:transparent;box-shadow:none;
  }
  body.ui-refresh #mainNav .nav-container{
    min-height:0;height:0;padding:0;
  }
}

@media (max-width:760px){
  body.ui-refresh .container,body.ui-refresh #mainContent{width:100%}
  body.ui-refresh .top-logo{
    min-height:72px;padding:8px 76px 8px 12px;justify-content:flex-start;
  }
  body.ui-refresh .top-logo img{width:54px;margin-right:9px}
  body.ui-refresh .top-logo-text h1{font-size:1.18rem;white-space:nowrap}
  body.ui-refresh .top-logo-text p{
    font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  body.ui-refresh #mobileNavToggle{width:48px;height:48px;border-radius:16px}
  body.ui-refresh #navMenu.nav-menu{
    width:min(90vw,380px);padding-top:calc(4.35rem + env(safe-area-inset-top));
    border-radius:14px 0 0 14px;animation:uiDrawerIn var(--ui-normal) var(--ui-ease) both;
  }
  @keyframes uiDrawerIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}

  body.ui-refresh .dash-v11{
    padding:10px 12px calc(92px + env(safe-area-inset-bottom));gap:12px;
  }
  body.ui-refresh .dash-v11 .dash-head{padding:10px 2px 13px}
  body.ui-refresh .dash-v11 .dash-head h2{font-size:1.55rem}
  body.ui-refresh .dash-v11 .dash-head .sub{font-size:.82rem;line-height:1.35}
  body.ui-refresh .dash-v11 .kpi-strip{grid-template-columns:1fr;gap:10px}
  body.ui-refresh .dash-v11 .kpi{padding:13px}
  body.ui-refresh .dash-v11 .k-weather{min-height:0}
  body.ui-refresh .dash-v11 .dcard .dcard-head{align-items:flex-start}
  body.ui-refresh .dash-v11 .tiles.tiles-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ui-refresh .dash-v11 .tile{min-height:76px}
  body.ui-refresh .dash-v11 .ui-shortcuts-collapsed .tile:nth-child(n+7){display:none}
  body.ui-refresh .ui-shortcut-toggle{display:block}

  body.ui-refresh .repHero{margin:10px 12px;padding:14px;display:block}
  body.ui-refresh .repHero h2{font-size:1.55rem}
  body.ui-refresh .repHeroMeta{margin-top:12px;justify-content:flex-start}
  body.ui-refresh .repMonthRow{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.ui-refresh .repMonthRow .repTabBtn{font-size:.82rem;padding-inline:4px}
  body.ui-refresh .repYearRow{align-items:flex-start!important}
  body.ui-refresh .repYearRow>.repActionsRow{margin:0!important}
  body.ui-refresh .repDropdown{
    position:absolute!important;top:calc(100% + 8px)!important;bottom:auto!important;
    left:0!important;right:auto!important;width:min(230px,calc(100vw - 34px))!important;
    min-width:180px!important;max-width:none!important;
  }

  body.ui-refresh .wr-page{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
  body.ui-refresh .ui-mobile-report-actions{
    position:fixed!important;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));
    z-index:9970;width:auto!important;padding:8px;border:1px solid rgba(148,163,184,.24);
    border-radius:12px;background:rgba(15,23,42,.94);box-shadow:0 16px 44px rgba(2,6,23,.42);
    backdrop-filter:blur(16px);display:grid!important;
    grid-template-columns:44px repeat(var(--ui-action-rest,2),minmax(0,1fr));gap:6px!important;
    overflow:visible!important;
  }
  body.ui-refresh .ui-mobile-report-actions :is(.wr-btn,.nav-btn,button){
    min-width:0!important;min-height:42px;padding:8px 4px!important;font-size:.75rem;line-height:1.15;
    white-space:nowrap!important;
  }
  body.ui-refresh .ui-mobile-report-actions #wr-back{width:44px!important;padding:0!important;font-size:1.35rem}
  body.ui-refresh .ui-mobile-report-actions .wr-back-label{display:none}
  body.ui-refresh .ui-mobile-report-actions .wrMenuWrap{min-width:0}
  body.ui-refresh .ui-mobile-report-actions .wrMenuWrap>button{width:100%!important;min-width:0!important}
  body.ui-refresh .ui-mobile-report-actions .wrDropdown{
    top:auto!important;bottom:calc(100% + 10px)!important;left:auto!important;right:0!important;
    width:min(240px,calc(100vw - 20px))!important;min-width:180px!important;max-width:none!important;
    max-height:min(65vh,420px);overflow-y:auto;transform-origin:bottom right;
  }
  body.ui-refresh :is(.wr-geoModal,.cal-modalBackdrop){padding:8px}
  body.ui-refresh :is(.wr-geoDialog,.cal-modal){border-radius:14px}
}

body[data-theme="light"].ui-refresh .ui-mobile-report-actions{background:rgba(255,255,255,.94)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.ui-refresh *,body.ui-refresh *::before,body.ui-refresh *::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;
  }
}
