/* CRP V2.2.4.1 — login, favicon and auto-collapsing navigation only.
   Existing tables, cards, feature pages, icons and business behavior are untouched. */

/* Full-viewport construction image with the account card centered over it. */
.auth-shell,
.auth-shell > main,
.auth-shell .auth-layout {
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
}
.auth-shell { overflow:hidden!important; }
.auth-shell > main { display:block!important; }
.auth-shell .auth-layout {
  position:relative!important;
  isolation:isolate;
  display:grid!important;
  place-items:center!important;
  grid-template-columns:1fr!important;
  overflow:auto!important;
  padding:clamp(78px,10vh,116px) 22px clamp(104px,13vh,144px)!important;
  background:#452519 url('auth-construction-v2241.webp') center center / cover no-repeat!important;
}
.auth-shell .auth-layout::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,244,227,.10),rgba(17,20,34,.18)),rgba(13,20,34,.08);
}
html[data-theme="dark"] .auth-shell .auth-layout::before {
  background:linear-gradient(180deg,rgba(3,7,15,.38),rgba(3,7,15,.62)),rgba(3,7,15,.22);
}
html[data-theme="dark"] .auth-shell .auth-panel {
  background-color:transparent!important;
  background-image:none!important;
}
.auth-shell .auth-panel {
  display:grid!important;
  place-items:center!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
}
.auth-shell .auth-panel .auth-card {
  width:min(100%,460px)!important;
  max-width:460px!important;
  min-width:0!important;
  margin:0!important;
  justify-self:center!important;
  padding:40px 44px 35px!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:10px!important;
  background:rgba(250,250,248,.88)!important;
  color:#161b24!important;
  box-shadow:0 26px 70px rgba(11,16,28,.32),inset 0 1px rgba(255,255,255,.86)!important;
  -webkit-backdrop-filter:blur(19px) saturate(112%);
  backdrop-filter:blur(19px) saturate(112%);
}
html[data-theme="dark"] .auth-shell .auth-card {
  border-color:rgba(255,255,255,.18)!important;
  background:rgba(17,19,24,.88)!important;
  color:#f6f7f9!important;
  box-shadow:0 28px 76px rgba(0,0,0,.56),inset 0 1px rgba(255,255,255,.08)!important;
}
.auth-shell .auth-crp-brand {
  position:fixed;
  z-index:4;
  top:24px;
  left:27px;
  display:grid;
  grid-template-columns:86px 98px;
  align-items:end;
  justify-content:start;
  gap:2px 8px;
  width:192px;
  margin:0;
  color:#151a21;
}
.auth-shell .auth-crp-symbol { width:86px;height:86px;object-fit:contain;display:block; }
.auth-shell .auth-crp-wordmark {
  display:block;
  width:98px;
  height:47px;
  object-fit:contain;
  object-position:left bottom;
  color:#151a21;
  filter:brightness(0) saturate(100%);
}
.auth-shell .auth-crp-brand small {
  grid-column:1 / -1;
  width:192px;
  margin-top:3px;
  color:#111720!important;
  font-size:10.5px!important;
  font-weight:650;
  line-height:1.35;
  letter-spacing:.02em;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 1px 8px rgba(255,255,255,.5);
}
html[data-theme="dark"] .auth-shell .auth-crp-wordmark { filter:brightness(0) invert(1); }
html[data-theme="dark"] .auth-shell .auth-crp-brand small { color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.75); }
.auth-shell .auth-card h1 {
  margin:0 0 4px!important;
  color:inherit!important;
  font-size:36px!important;
  line-height:1.16!important;
  letter-spacing:-.03em!important;
  text-align:center;
}
.auth-shell .auth-subtitle {
  margin:0 0 27px!important;
  color:#67707c!important;
  font-size:13px!important;
  line-height:1.45!important;
  text-align:center;
}
html[data-theme="dark"] .auth-shell .auth-subtitle { color:#b7bec9!important; }
.auth-shell .auth-card form { margin:0!important; }
.auth-shell .auth-card .auth-field {
  display:block!important;
  margin:0 0 16px!important;
}
.auth-shell .auth-card .auth-field > span:first-child {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
}
.auth-input-wrap { position:relative;display:block; }
.auth-input-wrap > svg {
  position:absolute;
  z-index:2;
  left:16px;
  top:50%;
  width:19px;
  height:19px;
  transform:translateY(-50%);
  fill:none;
  stroke:#77808b;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.auth-shell .auth-card .auth-input-wrap > input {
  display:block!important;
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:11px 15px 11px 48px!important;
  border:1px solid rgba(100,110,123,.26)!important;
  border-radius:7px!important;
  background:rgba(244,245,245,.88)!important;
  color:#161b24!important;
  box-shadow:inset 5px 5px 11px rgba(80,88,98,.12),inset -5px -5px 11px rgba(255,255,255,.8),0 6px 16px rgba(20,25,35,.07)!important;
  font-size:14px!important;
  outline:none!important;
}
.auth-shell .auth-card .auth-input-wrap > input::placeholder { color:#7d858e!important;opacity:1; }
.auth-shell .auth-card .auth-input-wrap > input:focus {
  border-color:#3479d8!important;
  box-shadow:0 0 0 3px rgba(52,121,216,.16)!important;
}
html[data-theme="dark"] .auth-input-wrap > svg { stroke:#aab2be; }
html[data-theme="dark"] .auth-shell .auth-card .auth-input-wrap > input {
  border-color:rgba(255,255,255,.19)!important;
  background:rgba(8,10,14,.66)!important;
  color:#f6f7f9!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.25),0 6px 17px rgba(0,0,0,.16)!important;
}
html[data-theme="dark"] .auth-shell .auth-card .auth-input-wrap > input::placeholder { color:#aeb5bf!important; }
.auth-shell .auth-card .auth-form-hint { margin:-4px 2px 10px;color:#656f7b!important;font-size:10px!important; }
.auth-shell .auth-card button.primary {
  min-height:50px!important;
  margin-top:5px!important;
  border-radius:7px!important;
  background:linear-gradient(135deg,#1f69c9,#184f9c)!important;
  border-color:#2669be!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(20,74,145,.25)!important;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px!important;
}
.auth-shell .auth-card .auth-links { gap:8px!important;margin-top:16px!important;font-size:10px!important; }
.auth-shell .auth-card .auth-links a { color:#245da7!important; }
html[data-theme="dark"] .auth-shell .auth-card .auth-links a { color:#83b8ff!important; }
.auth-theme-toggle {
  position:fixed!important;
  z-index:5!important;
  top:20px!important;
  right:22px!important;
  width:40px!important;
  height:40px!important;
  border:1px solid rgba(255,255,255,.38)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.76)!important;
  color:#202630!important;
  box-shadow:0 9px 24px rgba(12,17,27,.2)!important;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.auth-shell .auth-theme-toggle #theme-icon {
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  height:22px!important;
}
.auth-shell .auth-theme-toggle #theme-icon .ui-icon {
  width:21px!important;
  height:21px!important;
  margin:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}
html[data-theme="dark"] .auth-shell .auth-theme-toggle {
  background-color:rgba(16,18,23,.78)!important;
  background-image:none!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}
header .theme-toggle {
  color:#172235!important;
}
header .theme-toggle #theme-icon { display:grid!important;place-items:center!important; }
header .theme-toggle #theme-icon .ui-icon { opacity:1!important;visibility:visible!important;stroke:currentColor!important; }
html[data-theme="dark"] header .theme-toggle { color:#fff!important; }
.auth-keeps-corner {
  position:fixed;
  z-index:4;
  left:25px;
  bottom:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:156px;
  color:#fff;
  text-shadow:0 2px 7px rgba(0,0,0,.75);
}
.auth-keeps-corner img { display:block;width:100%;height:auto;max-height:38px;object-fit:contain;object-position:left center;filter:none!important; }
.auth-keeps-corner span { margin-top:3px;font-size:8px;font-weight:750;letter-spacing:.12em; }
.auth-version { position:fixed;right:24px;bottom:23px;color:rgba(255,255,255,.82);font-size:9px;text-shadow:0 2px 6px rgba(0,0,0,.65); }
.auth-shell > footer { display:none!important; }

/* Keep the established desktop sidebar, but collapse its text when idle. */
@media (min-width:901px) and (hover:hover) and (pointer:fine) {
  html.nav-auto-collapse .sidebar {
    width:58px!important;
    padding-left:6px!important;
    padding-right:6px!important;
    overflow-x:hidden!important;
    transition:width .32s cubic-bezier(.22,.72,.24,1),box-shadow .32s ease!important;
  }
  html.nav-auto-collapse .sidebar:hover,
  html.nav-auto-collapse .sidebar:focus-within {
    width:230px!important;
    box-shadow:10px 0 28px rgba(17,28,43,.16)!important;
  }
  html.nav-auto-collapse .signed-in {
    margin-left:58px!important;
    width:calc(100% - 58px)!important;
    max-width:calc(100% - 58px)!important;
    transition:margin-left .32s cubic-bezier(.22,.72,.24,1),width .32s cubic-bezier(.22,.72,.24,1),max-width .32s cubic-bezier(.22,.72,.24,1)!important;
  }
  html.nav-auto-collapse .sidebar:hover + .signed-in,
  html.nav-auto-collapse .sidebar:focus-within + .signed-in {
    margin-left:230px!important;
    width:calc(100% - 230px)!important;
    max-width:calc(100% - 230px)!important;
  }
  html.nav-auto-collapse .sidebar .crp-brand {
    grid-template-columns:46px 0!important;
    width:46px!important;
    min-height:48px!important;
    padding:2px 0!important;
    gap:0!important;
    overflow:visible!important;
    align-items:end!important;
    justify-items:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    min-width:46px!important;
    max-width:none!important;
    transform:translateX(-9px)!important;
    transition:width .32s cubic-bezier(.22,.72,.24,1),grid-template-columns .32s cubic-bezier(.22,.72,.24,1),transform .32s cubic-bezier(.22,.72,.24,1)!important;
  }
  html.nav-auto-collapse .sidebar:hover .crp-brand,
  html.nav-auto-collapse .sidebar:focus-within .crp-brand {
    grid-template-columns:74px 90px!important;
    width:170px!important;
    min-height:94px!important;
    gap:2px 6px!important;
    justify-items:start!important;
    min-width:170px!important;
    transform:translateX(-13.5px)!important;
  }
  html.nav-auto-collapse .sidebar .crp-brand .crp-brand-logo {
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    transform:translateX(-1px)!important;
    object-fit:contain!important;
    transition:width .32s cubic-bezier(.22,.72,.24,1),height .32s cubic-bezier(.22,.72,.24,1),min-width .32s cubic-bezier(.22,.72,.24,1),transform .32s ease!important;
  }
  html.nav-auto-collapse .sidebar:hover .crp-brand .crp-brand-logo,
  html.nav-auto-collapse .sidebar:focus-within .crp-brand .crp-brand-logo {
    width:74px!important;
    height:74px!important;
    min-width:74px!important;
    transform:none!important;
  }
  html.nav-auto-collapse .sidebar .crp-brand-copy,
  html.nav-auto-collapse .sidebar .crp-brand-fullname,
  html.nav-auto-collapse .sidebar .company-label,
  html.nav-auto-collapse .sidebar .nav-label,
  html.nav-auto-collapse .sidebar .sidebar-keeps,
  html.nav-auto-collapse .sidebar .sidebar-footer { display:none!important; }
  html.nav-auto-collapse .sidebar:hover .crp-brand-copy,
  html.nav-auto-collapse .sidebar:focus-within .crp-brand-copy,
  html.nav-auto-collapse .sidebar:hover .crp-brand-fullname,
  html.nav-auto-collapse .sidebar:focus-within .crp-brand-fullname,
  html.nav-auto-collapse .sidebar:hover .company-label,
  html.nav-auto-collapse .sidebar:focus-within .company-label,
  html.nav-auto-collapse .sidebar:hover .nav-label,
  html.nav-auto-collapse .sidebar:focus-within .nav-label,
  html.nav-auto-collapse .sidebar:hover .sidebar-footer,
  html.nav-auto-collapse .sidebar:focus-within .sidebar-footer { display:block!important; }
  html.nav-auto-collapse .sidebar:hover .crp-brand-fullname,
  html.nav-auto-collapse .sidebar:focus-within .crp-brand-fullname {
    grid-column:1 / -1!important;
    width:170px!important;
    max-width:170px!important;
    margin:0!important;
    font-size:10.5px!important;
    line-height:1.3!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  html.nav-auto-collapse .sidebar:hover .sidebar-keeps,
  html.nav-auto-collapse .sidebar:focus-within .sidebar-keeps { display:flex!important; }
  /* The left-side scrollbar consumes 11px in the RTL rail. Keep the
     brand and navigation geometrically centred in the visible 58px rail. */
  html.nav-auto-collapse .sidebar nav {
    width:46px!important;
    min-width:46px!important;
    max-width:none!important;
    transform:translateX(-9px)!important;
    transition:width .32s cubic-bezier(.22,.72,.24,1),min-width .32s cubic-bezier(.22,.72,.24,1),transform .32s cubic-bezier(.22,.72,.24,1)!important;
  }
  html.nav-auto-collapse .sidebar:hover nav,
  html.nav-auto-collapse .sidebar:focus-within nav {
    width:216px!important;
    min-width:216px!important;
  }
  html.nav-auto-collapse .sidebar nav a {
    width:46px!important;
    min-width:46px!important;
    min-height:32px!important;
    padding:5px!important;
    gap:0!important;
    justify-content:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    font-size:0!important;
    margin-top:1px!important;
    margin-bottom:1px!important;
    line-height:20px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transition:width .32s cubic-bezier(.22,.72,.24,1),padding .32s cubic-bezier(.22,.72,.24,1),gap .32s cubic-bezier(.22,.72,.24,1),background-color .2s ease,color .2s ease,box-shadow .2s ease!important;
  }
  html.nav-auto-collapse .sidebar:hover nav a,
  html.nav-auto-collapse .sidebar:focus-within nav a {
    width:216px!important;
    min-width:0!important;
    padding:5px 8px!important;
    gap:7px!important;
    justify-content:flex-start!important;
    white-space:nowrap!important;
    font-size:11.5px!important;
    min-height:32px!important;
    height:32px!important;
    max-height:32px!important;
    text-overflow:ellipsis!important;
  }
  html.nav-auto-collapse .sidebar .nav-icon {
    flex:0 0 23px!important;
    width:23px!important;
    height:23px!important;
    margin:0!important;
    display:grid!important;
    place-items:center!important;
  }
  html.nav-auto-collapse .sidebar .nav-icon .ui-icon { margin:0!important; }
  /* Logo and wordmark share the same lower edge in the expanded rail. */
  html.nav-auto-collapse .sidebar:hover .crp-brand,
  html.nav-auto-collapse .sidebar:focus-within .crp-brand { align-items:end!important; }
  html.nav-auto-collapse .sidebar:hover .crp-brand-copy,
  html.nav-auto-collapse .sidebar:focus-within .crp-brand-copy { align-self:end!important;padding-bottom:0!important; }
  .sidebar .crp-sidebar-wordmark {
    display:block!important;
    width:100%!important;
    height:44px!important;
    object-fit:contain!important;
    object-position:left bottom!important;
    filter:brightness(0) saturate(100%)!important;
  }
  html[data-theme="dark"] .sidebar .crp-sidebar-wordmark { filter:brightness(0) invert(1)!important; }
  html.nav-auto-collapse .sidebar:hover nav a,
  html.nav-auto-collapse .sidebar:focus-within nav a { animation:crp-nav-reveal .28s cubic-bezier(.22,.72,.24,1) both; }
}

@keyframes crp-nav-reveal {
  from { opacity:.84;transform:translateX(-3px); }
  to { opacity:1;transform:translateX(0); }
}

@media (max-width:720px) {
  .auth-shell { overflow:auto!important; }
  .auth-shell .auth-layout { padding:76px 14px 112px!important;background-position:58% center!important; }
  .auth-shell .auth-panel .auth-card { width:min(100%,350px)!important;padding:30px 27px 27px!important; }
  .auth-shell .auth-crp-brand { top:15px;left:16px;grid-template-columns:64px 80px;gap:2px 6px;width:150px; }
  .auth-shell .auth-crp-symbol { width:64px;height:64px; }
  .auth-shell .auth-crp-wordmark { width:80px;height:38px; }
  .auth-shell .auth-crp-brand small { width:150px;font-size:8px!important; }
  .auth-shell .auth-card h1 { font-size:30px!important; }
  .auth-keeps-corner { left:16px;bottom:17px;width:132px; }
  .auth-version { right:16px;bottom:17px; }
  .auth-theme-toggle { top:15px!important;right:15px!important; }
}
@media (max-height:650px) and (min-width:721px) {
  .auth-shell .auth-layout { padding-top:68px!important;padding-bottom:82px!important; }
  .auth-shell .auth-panel .auth-card { padding-top:25px!important;padding-bottom:22px!important; }
  .auth-shell .auth-subtitle { margin-bottom:13px!important; }
  .auth-shell .auth-card .auth-field { margin-bottom:9px!important; }
}
@media (prefers-reduced-motion:reduce) {
  html.nav-auto-collapse .sidebar,
  html.nav-auto-collapse .signed-in,
  html.nav-auto-collapse .sidebar * { transition:none!important; }
}
