:root{
  --elkan-blue: #0b3d6d;
  --elkan-blue-2: #0a2f55;
  --elkan-red: #d11f2f;
  --elkan-bg: #f3f5f7;
  --elkan-text: #1b1f24;
  --elkan-muted: #6c7683;
  --elkan-card: #ffffff;

  --elkan-radius: 14px;
  --elkan-shadow: 0 12px 35px rgba(0,0,0,.12);
  --elkan-shadow-soft: 0 10px 25px rgba(0,0,0,.10);

  /* sidebar widths (desktop) */
  --elkan-sidebar-w: 280px;
  --elkan-sidebar-w-collapsed: 84px;
  --elkan-mobile-nav-h: 72px;
}

* { box-sizing: border-box; }
html, body { height: 100%; }

body.elkan-body{
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--elkan-text);
  background: var(--elkan-bg);
}

/* Navbar */
.elkan-navbar{
  background: rgba(10, 26, 44, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.elkan-brand{
  font-weight: 700;
  letter-spacing: .06em;
  font-size: .95rem;
}

.elkan-logo{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  object-fit: cover;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

.elkan-navlink{
  color: rgba(255,255,255,.9) !important;
  font-weight: 500;
  padding: .65rem 1rem !important;
  position: relative;
}
.elkan-navlink:hover{ color: #fff !important; }

.elkan-user{
  color: rgba(255,255,255,.92);
  font-size: .9rem;
}

.elkan-role{
  color: rgba(255,255,255,.65);
  font-weight: 500;
}

/* Page spacing */
.elkan-page{
  padding-top: 26px;
  padding-bottom: 26px;
}

/* Alerts */
.elkan-alert{
  border: 0;
  border-radius: var(--elkan-radius);
  box-shadow: var(--elkan-shadow-soft);
}

@media (max-width: 991.98px){
  body.elkan-body > .elkan-alert{
    position: fixed;
    left: 12px;
    right: auto;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    width: min(420px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    margin: 0 !important;
    z-index: 32000;
  }

  #elkanToastHost.toast-container{
    top: auto !important;
    right: auto !important;
    bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    left: 50% !important;
    width: min(420px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    padding: 0 !important;
    transform: translateX(-50%);
  }

  #elkanToastHost .toast{
    width: 100%;
    max-width: 100%;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .24);
  }
}

.home-login{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(7,31,53,.96), rgba(9,53,91,.94)) !important;
  color:#fff;
}
.home-login::before,
.home-login::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  animation:homeLoginFloat 12s ease-in-out infinite alternate;
}
.home-login::before{
  width:360px;
  height:360px;
  right:-120px;
  top:-130px;
  background:radial-gradient(circle, rgba(255,255,255,.22), transparent 65%);
}
.home-login::after{
  width:320px;
  height:320px;
  left:-120px;
  bottom:-140px;
  background:radial-gradient(circle, rgba(209,31,47,.28), transparent 66%);
  animation-delay:-4s;
}
.home-login > *{
  position:relative;
  z-index:1;
}
.home-login .text-muted{
  color:rgba(255,255,255,.76) !important;
}
.home-login .btn-elkan-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  min-height:52px;
  border:0;
  border-radius:16px;
  color:#0b2f51;
  background:#fff;
  box-shadow:0 18px 34px rgba(0,0,0,.22);
  font-weight:900;
}
.home-login .btn-elkan-primary:hover{
  color:#0b2f51;
  background:#fff;
  transform:translateY(-2px);
  box-shadow:0 22px 42px rgba(0,0,0,.28);
}
@keyframes homeLoginFloat{
  from{ transform:translate3d(0,0,0) scale(1); }
  to{ transform:translate3d(-28px, 20px, 0) scale(1.08); }
}
@media (prefers-reduced-motion: reduce){
  .home-login::before,
  .home-login::after{ animation:none; }
}

/* Buttons (Elkan style) */
.btn-elkan-primary{
  background: var(--elkan-blue);
  border: 1px solid rgba(255,255,255,.08);
  color: #fff;
  border-radius: 12px;
  padding: .55rem 1.05rem;
  font-weight: 600;
  box-shadow: 0 10px 22px rgba(11,61,109,.22);
}
.btn-elkan-primary:hover{
  background: var(--elkan-blue-2);
  color: #fff;
}

.btn-elkan-danger{
  background: var(--elkan-red);
  border: 0;
  color: #fff;
  border-radius: 12px;
  padding: .55rem 1.05rem;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(209,31,47,.18);
}

.btn-elkan-outline{
  background: transparent;
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  border-radius: 12px;
  padding: .45rem .9rem;
  font-weight: 600;
}
.btn-elkan-outline:hover{
  border-color: rgba(255,255,255,.6);
  color: #fff;
}

.fc .fc-list-event:hover td{

  background-color: #f5f5f526 !important;
}

/* Shared compact timeline used on task and complaint details */
.elkan-timeline-card{
  border-radius:8px;
}
.elkan-timeline-toggle{
  min-width:0;
  flex:1 1 auto;
  display:grid;
  grid-template-columns:38px minmax(0, 1fr) 28px;
  gap:12px;
  align-items:center;
  padding:0;
  border:0;
  background:transparent;
  color:#0f172a;
  text-align:left;
}
.elkan-timeline-toggle__icon{
  width:38px;
  height:38px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eff6ff;
  color:#1d4ed8;
}
.elkan-timeline-toggle__title,
.elkan-timeline-toggle__copy{
  display:block;
}
.elkan-timeline-toggle__title{
  font-size:1.05rem;
  font-weight:850;
  line-height:1.2;
}
.elkan-timeline-toggle__copy{
  margin-top:2px;
  color:#64748b;
  font-size:.84rem;
  font-weight:600;
}
.elkan-timeline-toggle__chevron{
  width:28px;
  height:28px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#475569;
  transition:transform .18s ease, background-color .18s ease;
}
.elkan-timeline-toggle:not(.collapsed) .elkan-timeline-toggle__chevron{
  transform:rotate(180deg);
  background:rgba(37,99,235,.08);
}
.elkan-timeline-body{
  padding-top:16px;
}
.elkan-timeline{
  position:relative;
  display:grid;
  gap:0;
}
.elkan-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  gap:12px;
  padding:0 0 14px;
}
.elkan-timeline-item:last-child{ padding-bottom:0; }
.elkan-timeline-item:not(:last-child)::before{
  content:"";
  position:absolute;
  left:18px;
  top:38px;
  bottom:0;
  width:2px;
  background:rgba(15,23,42,.08);
}
.elkan-timeline-marker{
  position:relative;
  z-index:1;
  width:38px;
  height:38px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  color:#334155;
}
.elkan-timeline-item.is-success .elkan-timeline-marker{ background:#ecfdf3; color:#15803d; }
.elkan-timeline-item.is-warning .elkan-timeline-marker{ background:#fffbeb; color:#b45309; }
.elkan-timeline-item.is-danger .elkan-timeline-marker{ background:#fef2f2; color:#b91c1c; }
.elkan-timeline-item.is-primary .elkan-timeline-marker{ background:#eff6ff; color:#1d4ed8; }
.elkan-timeline-item.is-info .elkan-timeline-marker{ background:#ecfeff; color:#0e7490; }
.elkan-timeline-content{
  min-width:0;
  border:1px solid rgba(15,23,42,.08);
  border-radius:8px;
  padding:12px;
  background:#fff;
}
.elkan-timeline-title{
  font-weight:800;
  color:#0f172a;
  line-height:1.25;
}
.elkan-timeline-desc{
  color:#475569;
  font-size:.9rem;
  margin-top:3px;
  line-height:1.4;
}
.elkan-timeline-date{
  color:#64748b;
  font-size:.82rem;
  font-weight:700;
  white-space:nowrap;
}
.elkan-timeline-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:8px;
  color:#64748b;
  font-size:.84rem;
}
.elkan-timeline-details{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.elkan-timeline-details span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:.24rem .48rem;
  border:1px solid rgba(148,163,184,.2);
  border-radius:8px;
  background:#f8fafc;
  color:#475569;
  font-size:.76rem;
  font-weight:750;
}
@media (max-width: 575.98px){
  .elkan-timeline-toggle{
    grid-template-columns:32px minmax(0, 1fr) 28px;
    gap:10px;
  }
  .elkan-timeline-toggle__icon{
    width:32px;
    height:32px;
  }
  .elkan-timeline-item{
    grid-template-columns:32px minmax(0, 1fr);
    gap:10px;
  }
  .elkan-timeline-item:not(:last-child)::before{
    left:15px;
    top:32px;
  }
  .elkan-timeline-marker{
    width:32px;
    height:32px;
  }
  .elkan-timeline-date{
    white-space:normal;
  }
}

/* Cards / panels */
.elkan-card{
  background: var(--elkan-card);
  border-radius: var(--elkan-radius);
  box-shadow: var(--elkan-shadow);
  border: 1px solid rgba(0,0,0,.04);
}

.elkan-title{ font-weight: 700; letter-spacing: .01em; }
.elkan-subtitle{ color: var(--elkan-muted); }

/* Footer */
.elkan-footer{
  border-top: 1px solid rgba(0,0,0,.06);
  background: #fff;
}

/* TomSelect */
.ts-hidden-accessible {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}
.ts-dropdown { z-index: 30750 !important; }
.ts-wrapper { width: 100%; }

/* Navbar z-index */
.elkan-navbar{
  position: sticky;
  top: 0;
  z-index: 30000;
}
.elkan-navbar .dropdown-menu{ z-index: 31000; }

@media (max-width: 991.98px){
  body.elkan-body{
    padding-top: calc(var(--elkan-mobile-nav-h) + 12px);
  }

  body.elkan-body.elkan-mobile-nav-open{
    overflow: hidden;
    touch-action: none;
  }

  .elkan-navbar.elkan-navbar--sidebar{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30000;
    min-height: var(--elkan-mobile-nav-h);
    padding: .7rem 0;
    background:
      linear-gradient(180deg, rgba(8,20,34,.97) 0%, rgba(10,26,44,.96) 100%);
    border-bottom: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 12px 34px rgba(8, 15, 27, .22);
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__inner{
    align-items: stretch;
  }

  .elkan-navbar.elkan-navbar--sidebar .navbar-brand{
    min-height: 44px;
  }

  .elkan-navbar.elkan-navbar--sidebar .navbar-toggler{
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.08);
    box-shadow: 0 10px 22px rgba(0,0,0,.16);
  }

  .elkan-navbar.elkan-navbar--sidebar .navbar-toggler:focus{
    box-shadow: 0 0 0 .2rem rgba(255,255,255,.12);
  }

  .elkan-navbar.elkan-navbar--sidebar .navbar-collapse{
    margin-top: .9rem;
    padding: .7rem;
    border-radius: 22px;
    background: rgba(11,24,39,.98);
    border: 1px solid rgba(255,255,255,.09);
    box-shadow: 0 18px 40px rgba(0,0,0,.22);
    max-height: calc(100dvh - var(--elkan-mobile-nav-h) - 28px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .elkan-navbar.elkan-navbar--sidebar .navbar-nav{
    gap: .35rem;
  }

  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink{
    border-radius: 14px;
    padding: .82rem .95rem !important;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.04);
  }

  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:hover,
  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:focus{
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.08);
  }

  .elkan-navbar.elkan-navbar--sidebar .dropdown-menu{
    background: rgba(18,36,56,.98);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 32px rgba(0,0,0,.20);
  }

  .elkan-navbar.elkan-navbar--sidebar .dropdown-item{
    color: rgba(255,255,255,.92);
    padding-top: .7rem;
    padding-bottom: .7rem;
  }

  .elkan-navbar.elkan-navbar--sidebar .dropdown-item:hover,
  .elkan-navbar.elkan-navbar--sidebar .dropdown-item:focus{
    background: rgba(255,255,255,.08);
    color: #fff;
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox{
    margin-top: .85rem;
    padding-top: .85rem;
    border-top: 1px solid rgba(255,255,255,.08);
  }
}

#createTaskModal{
  z-index: 30500 !important;
}

#createComplaintModal{
  z-index: 30640 !important;
}

#bookingModal{
  z-index: 30660 !important;
}

.badge{
  border: 1px solid transparent;
  box-shadow: none;
}

.btn{
  border: 1px solid transparent;
  box-shadow: none;
}

.reject-reason-input{
  width: 20rem !important;
  max-width: 360px;
}
@media (max-width: 576px){
  .reject-stack{
    width: 100%;
    max-width: 100%;
  }
  .reject-reason-input{
    max-width: 100%;
    width: 20rem !important;
  }
}

/* badge przy nagłówku "Twoje aktywne zlecenia" */
.activeTasks-badge{
  font-size: .85rem;
  padding: .35rem .55rem;
  border-radius: 10px;
}

@media (max-width: 576px){
  .activeTasks-badge{
    margin-top: 2px; /* lekkie wyrównanie do tytułu */
  }
}

/* ==============================
   FIX: dropdown user nie robi się "czarny" po otwarciu
   (Bootstrap daje .show / :active / :focus na toggle)
   ============================== */

.elkan-user-toggle.show,
.elkan-user-toggle:active,
.elkan-user-toggle:focus{
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.35) !important; /* jak w btn-elkan-outline */
  box-shadow: none !important;
}

/* żeby tekst roli też nie przyciemniał się */
.elkan-user-toggle.show .elkan-role,
.elkan-user-toggle:active .elkan-role,
.elkan-user-toggle:focus .elkan-role{
  color: rgba(255,255,255,.65) !important;
}

/* opcjonalnie: po najechaniu na menu niech nic nie miga */
.elkan-user-toggle.show:hover{
  background: transparent !important;
  border-color: rgba(255,255,255,.6) !important;
}

.alert.alert-dismissible { position: relative; padding-right: 3rem; }
.alert.alert-dismissible .btn-close { position: absolute; top: .75rem; right: .75rem; }

/* ====== TASKS: wyszukiwarka telefonu (bez nachodzenia focusa na ikonki) ====== */
.task-phone-group .form-control:focus{
  box-shadow: none !important;     /* wyłącz ten ring, który wjeżdża na ikonki */
  border-color: transparent !important;
}

.task-phone-group:focus-within{
  border-radius: .375rem; /* dopasuj do BS, przy sm możesz zostawić */
  box-shadow: 0 0 0 .2rem rgba(11,61,109,.15); /* delikatny ring na CAŁĄ grupę */
}

.task-phone-group .input-group-text,
.task-phone-group .btn{
  position: relative;
  z-index: 2; /* zawsze nad inputem */
}

.task-phone-group .form-control{
  position: relative;
  z-index: 1;
}

/* =========================================================
   NAVBAR: MOBILE = jak było, DESKTOP (>=992px) = lewy sidebar
   + minimalizacja z cookie
   ========================================================= */

@media (min-width: 992px){

  /* stały lewy sidebar */
  .elkan-navbar.elkan-navbar--sidebar{
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: var(--elkan-sidebar-w);
    padding: 12px;
    border-bottom: 0;
    border-right: 1px solid rgba(255,255,255,.08);
    align-items: flex-start;
    z-index: 30000;
  }

  /* treść odsunięta od sidebar */
  body.elkan-body{
    padding-left: var(--elkan-sidebar-w);
  }

  /* wewnętrzny container bez bootstrapowego max-width */
  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__inner{
    max-width: none !important;
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
  }

  /* hamburger niepotrzebny na desktop */
  .elkan-navbar.elkan-navbar--sidebar .navbar-toggler{
    display: none;
  }

  /* collapse zawsze widoczne */
  .elkan-navbar.elkan-navbar--sidebar .navbar-collapse{
    display: flex !important;
    flex-basis: auto;
    flex-direction: column;
    align-items: stretch;
    height: auto !important;
    visibility: visible !important;
    margin-top: 10px;
    flex: 1;
    min-height: 0;
    overflow: hidden;
  }

  /* lista pionowo */
  .elkan-navbar.elkan-navbar--sidebar .navbar-nav{
    flex-direction: column;
    width: 100%;
  }

  /* mx-auto nie centrować */
  .elkan-navbar.elkan-navbar--sidebar .navbar-nav.mx-auto{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* główna lista menu ma własny scroll, dzięki temu userbox zawsze zostaje na dole */
  .elkan-navbar.elkan-navbar--sidebar .navbar-nav.mx-auto.d-none.d-lg-flex{
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.18) transparent;
  }

  .elkan-navbar.elkan-navbar--sidebar .navbar-nav.mx-auto.d-none.d-lg-flex::-webkit-scrollbar{
    width: 8px;
  }

  .elkan-navbar.elkan-navbar--sidebar .navbar-nav.mx-auto.d-none.d-lg-flex::-webkit-scrollbar-track{
    background: transparent;
  }

  .elkan-navbar.elkan-navbar--sidebar .navbar-nav.mx-auto.d-none.d-lg-flex::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,.16);
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
  }

  /* link jako kafelek na szerokość */
  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink{
    width: 100%;
    border-radius: 12px;
    padding: .52rem .72rem !important;
    display: flex;
    align-items: center;
    gap: .58rem;
    font-size: .88rem;
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-sidebar-text{
    font-size: .88rem;
  }

  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.elkan-navlink--with-badges{
    gap: .5rem;
  }

  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.elkan-navlink--with-badges > span:first-child{
    min-width: 0;
    flex: 1 1 auto;
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts{
    margin-left: auto;
    white-space: nowrap;
  }
  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:hover{
    background: rgba(255,255,255,.08);
  }

  .elkan-sidebar-section{
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.08);
  }

  .elkan-sidebar-heading{
    color: rgba(255,255,255,.65);
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .25rem .65rem;
    margin: 0;
  }

  /* userbox na dół */
  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox{
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.08);
    flex: 0 0 auto;
    position: relative;
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox::before{
    content: "";
    position: absolute;
    top: -18px;
    left: -2px;
    right: -2px;
    height: 24px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(10,26,44,0) 0%, rgba(10,26,44,.94) 100%);
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox > .d-none.d-lg-block{
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.03) 100%);
    border-radius: 16px;
    padding: 8px;
    box-shadow: 0 14px 28px rgba(0,0,0,.18);
  }

  .elkan-userbox-name{
    color: rgba(255,255,255,.92);
    font-weight: 700;
    font-size: .9rem;
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .35rem .65rem .2rem;
  }
  .elkan-userbox-role{
    color: rgba(255,255,255,.65);
    font-weight: 500;
    font-size: .82rem;
    padding: 0 .65rem .35rem;
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox .nav{
    margin-top: 4px;
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox .nav-link.elkan-navlink{
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.04);
  }

  .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox .nav-link.elkan-navlink:hover{
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.08);
  }

  .elkan-sidebar-toggle{
    padding: .35rem .55rem !important;
    border-radius: 12px;
  }

  /* ======================
     COLLAPSED (desktop)
     KROK 2: selektory oparte o HTML, nie BODY
     + ważne nadpisania (!important) żeby nie migało
     ====================== */

  html.elkan-sidebar-collapsed body.elkan-body{
    padding-left: var(--elkan-sidebar-w-collapsed) !important;
  }

  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar{
    width: var(--elkan-sidebar-w-collapsed) !important;
  }

  /* chowamy teksty (zostają ikonki) */
  html.elkan-sidebar-collapsed .elkan-sidebar-text{
    display: none !important;
  }

  html.elkan-sidebar-collapsed .elkan-navbar .navbar-brand{
    justify-content: center;
    gap: 0 !important;
  }

  html.elkan-sidebar-collapsed .elkan-logo{
    width: 38px;
    height: 38px;
  }

  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink{
    justify-content: center;
    padding: .65rem .55rem !important;
    gap: 0;
  }

  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.elkan-navlink--with-badges{
    position: relative;
    overflow: visible;
    justify-content: center !important;
  }

  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.elkan-navlink--with-badges > span:first-child{
    flex: 0 0 auto;
    min-width: auto;
  }

  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts{
    position: absolute;
    top: 3px;
    right: 3px;
    margin-left: 0;
    gap: 2px !important;
  }

  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts .badge{
    min-width: 16px !important;
    padding-left: .35rem !important;
    padding-right: .35rem !important;
  }

  html.elkan-sidebar-collapsed .elkan-sidebar-heading{
    display: none !important;
  }

  html.elkan-sidebar-collapsed .elkan-userbox-name,
  html.elkan-sidebar-collapsed .elkan-userbox-role{
    display: none !important;
  }

  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox > .d-none.d-lg-block{
    padding: 6px;
    border-radius: 14px;
  }

  html.elkan-sidebar-collapsed .elkan-navbar__userbox .nav{
    gap: 6px;
  }
}

/* ===== FIX 2: toggle nie nachodzi na menu ===== */
@media (min-width: 992px){

  /* zostaw miejsce u góry na toggle (i brand) */
  .elkan-navbar.elkan-navbar--sidebar .navbar-collapse{
    padding-top: 56px; /* <- reguluj: 48-72px zależnie od wysokości brand + toggle */
  }

  /* toggle nadal absolutny, ale pewny i nad treścią */
  #elkanSidebarToggle{
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 5;

    width: 36px;
    height: 36px;
    padding: 0 !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    box-shadow: none !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    background: rgba(255,255,255,.04) !important;
  }

  /* KROK 2: collapsed selektor na HTML */
  html.elkan-sidebar-collapsed #elkanSidebarToggle{
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    top: 60px; /* pod logo */
  }

  /* KROK 2: collapsed selektor na HTML */
  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar .navbar-collapse{
    padding-top: 96px;
  }
}
/* =========================================================
   MODERN POLISH v2 (bez dotykania sidebara)
   - mocniejsze cienie na sekcjach/kartach
   - badge kanciaste (radius 0)
   WKLEJ NA SAM KONIEC style.css
   ========================================================= */

:root{
  /* wyrazistsze cienie (ciągle eleganckie) */
  --elkan-shadow-1: 0 2px 6px rgba(15,23,42,.10), 0 1px 2px rgba(15,23,42,.06);
  --elkan-shadow-2: 0 14px 34px rgba(15,23,42,.16), 0 6px 14px rgba(15,23,42,.10);
  --elkan-shadow-3: 0 22px 60px rgba(15,23,42,.20), 0 10px 22px rgba(15,23,42,.12);

  --elkan-border: rgba(15,23,42,.08);
}

/* subtelne tło – zostaje, ale bez wpływu na sidebar */
body.elkan-body{
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(11,61,109,.06), transparent 60%),
    radial-gradient(700px 420px at 100% 10%, rgba(17,163,127,.05), transparent 55%),
    var(--elkan-bg);
}

/* animacje tylko na contentowych elementach */
.elkan-card,
.card,
.alert,
.elkan-calendar-surface{
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease, background-color .18s ease;
}

/* ====== KARTY / SEKCJE (content) ====== */
.card,
.elkan-card{
  border-radius: var(--elkan-radius);
  border: 1px solid var(--elkan-border) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,1));
  box-shadow: var(--elkan-shadow-2);
}

.card:hover,
.elkan-card:hover{
  box-shadow: var(--elkan-shadow-3);

}

/* wewnętrzne bloczki na dashboardzie (te border rounded p-3) */
.card .border.rounded{
  border-color: rgba(15,23,42,.10) !important;
  background: rgba(255,255,255,.70);
  box-shadow: var(--elkan-shadow-1);
}

/* ====== ALERTY ====== */
.elkan-alert,
.alert{
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: var(--elkan-shadow-1);
  backdrop-filter: blur(6px);
}

/* ====== BADGE: kanciaste ====== */
.badge{
  border-radius: 0 !important;
}

/* (opcjonalnie) badge mniej “komiksowe” – jeśli zostawiasz swoje, usuń te 2 linie */
.badge{
  box-shadow: var(--elkan-shadow-1) !important;
}

/* ====== KALENDARZ SURFACE ====== */
.elkan-calendar-surface{
  border: 1px solid var(--elkan-border) !important;
  box-shadow: var(--elkan-shadow-2);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,1));
}

/* ====== FORM FOCUS (content) ====== */
.form-control:focus,
.form-select:focus{
  border-color: rgba(11,61,109,.40) !important;
  box-shadow: 0 0 0 .20rem rgba(11,61,109,.16) !important;
}

/* nie psuj Twojego task-phone-group */
.task-phone-group .form-control:focus{
  box-shadow: none !important;
}

/* =========================================================
   SIDEBAR: NIE DOTYKAĆ
   - usuwamy wszystko co mogło dodać bordery/cienie do linków w sidebarze
   ========================================================= */
@media (min-width: 992px){
  /* cofka: żadnych borderów/teł z “polish” na linkach sidebara */
  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink{
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:hover{
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    /* zostawiamy Twoje istniejące hover tło z oryginalnego CSS */
  }
}
.btn{
  box-shadow: none;
}
/* =========================================================
   MOCNIEJSZE CIENIE UI (bez ruszania .btn)
   + badge delikatnie zaokrąglone
   WKLEJ NA SAM KONIEC style.css
   ========================================================= */

/* mocniejsze presety cieni */
:root{
  --elkan-shadow: 0 18px 45px rgba(0,0,0,.16);
  --elkan-shadow-soft: 0 14px 30px rgba(0,0,0,.14);
}

/* karty / sekcje (bootstrapowe i nasze) */
.elkan-card,
.card,
.elkan-calendar-surface{
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: var(--elkan-shadow) !important;
}

/* lekkie “uniesienie” na hover (bez przycisków) */
.elkan-card:hover,
.card:hover,
.elkan-calendar-surface:hover{
  box-shadow: 0 22px 55px rgba(0,0,0,.18) !important;
}

/* alerty też bardziej “kafelkowe” */
.elkan-alert,
.alert{
  box-shadow: var(--elkan-shadow-soft) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}

/* badge: delikatne zaokrąglenie (zostawiam Twoje border/shadow jeśli chcesz) */
.badge{
  border-radius: 10px !important;
}
/* =========================================================
   MOCNIEJSZE CIENIE DLA .card (WKLEJ NA SAM KONIEC)
   ========================================================= */

/* =========================================================
   MODERN BUTTON REFRESH
   - replaces the old hard outline/drop-shadow Bootstrap buttons
   - avoids navbar, close buttons and custom branded buttons
   ========================================================= */
body.elkan-body .btn:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline){
  --elkan-btn-bg:#ffffff;
  --elkan-btn-border:rgba(15,23,42,.12);
  --elkan-btn-color:#334155;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  min-height:38px;
  padding:.55rem .86rem;
  border:1px solid var(--elkan-btn-border) !important;
  border-radius:14px !important;
  background:var(--elkan-btn-bg) !important;
  color:var(--elkan-btn-color) !important;
  font-weight:750;
  line-height:1.15;
  letter-spacing:0;
  box-shadow:0 8px 18px rgba(15,23,42,.07) !important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease, filter .16s ease;
}

body.elkan-body .btn:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline):hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,23,42,.11) !important;
  filter:saturate(1.03);
}

body.elkan-body .btn:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline):focus{
  box-shadow:0 0 0 .2rem rgba(37,99,235,.14), 0 8px 18px rgba(15,23,42,.07) !important;
}

body.elkan-body .btn:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline):disabled,
body.elkan-body .btn:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline).disabled{
  transform:none;
  filter:none;
  opacity:.62;
  box-shadow:none !important;
}

body.elkan-body .btn-sm:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline){
  min-height:32px;
  padding:.4rem .66rem;
  border-radius:12px !important;
  font-size:.84rem;
}

body.elkan-body .btn-lg:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline){
  min-height:46px;
  padding:.68rem 1.08rem;
  border-radius:16px !important;
}

body.elkan-body .btn.calendar-manage-action-btn.calendar-manage-action-btn--booking:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline){
  --elkan-btn-bg:linear-gradient(135deg, #166534 0%, #22c55e 100%);
  --elkan-btn-border:rgba(22,101,52,.2);
  --elkan-btn-color:#fff;
  box-shadow:0 12px 24px rgba(34,197,94,.24) !important;
}

body.elkan-body .btn.calendar-manage-action-btn.calendar-manage-action-btn--task:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline){
  --elkan-btn-bg:linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);
  --elkan-btn-border:rgba(29,78,216,.2);
  --elkan-btn-color:#fff;
  box-shadow:0 12px 24px rgba(59,130,246,.24) !important;
}

body.elkan-body .btn.calendar-manage-action-btn.calendar-manage-action-btn--complaint:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline){
  --elkan-btn-bg:linear-gradient(135deg, #b91c1c 0%, #ef4444 100%);
  --elkan-btn-border:rgba(185,28,28,.2);
  --elkan-btn-color:#fff;
  box-shadow:0 12px 24px rgba(239,68,68,.22) !important;
}

body.elkan-body .btn.calendar-manage-action-btn.calendar-manage-action-btn--note:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline){
  --elkan-btn-bg:linear-gradient(135deg, #475569 0%, #94a3b8 100%);
  --elkan-btn-border:rgba(71,85,105,.22);
  --elkan-btn-color:#fff;
  box-shadow:0 12px 24px rgba(71,85,105,.18) !important;
}

body.elkan-body .btn-primary{
  --elkan-btn-bg:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  --elkan-btn-border:rgba(37,99,235,.18);
  --elkan-btn-color:#ffffff;
}

body.elkan-body .btn-success{
  --elkan-btn-bg:linear-gradient(135deg, #16a34a 0%, #15803d 100%);
  --elkan-btn-border:rgba(22,163,74,.18);
  --elkan-btn-color:#ffffff;
}

body.elkan-body .btn-danger{
  --elkan-btn-bg:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  --elkan-btn-border:rgba(239,68,68,.18);
  --elkan-btn-color:#ffffff;
}

body.elkan-body .btn-warning{
  --elkan-btn-bg:linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --elkan-btn-border:rgba(245,158,11,.20);
  --elkan-btn-color:#111827;
}

body.elkan-body .btn-dark{
  --elkan-btn-bg:linear-gradient(135deg, #334155 0%, #0f172a 100%);
  --elkan-btn-border:rgba(15,23,42,.18);
  --elkan-btn-color:#ffffff;
}

body.elkan-body .btn-outline-primary{
  --elkan-btn-bg:#ffffff;
  --elkan-btn-border:rgba(37,99,235,.22);
  --elkan-btn-color:#1d4ed8;
}

body.elkan-body .btn-outline-secondary,
body.elkan-body .btn-outline-dark{
  --elkan-btn-bg:#ffffff;
  --elkan-btn-border:rgba(15,23,42,.12);
  --elkan-btn-color:#334155;
}

body.elkan-body .btn-outline-success{
  --elkan-btn-bg:#ffffff;
  --elkan-btn-border:rgba(22,163,74,.22);
  --elkan-btn-color:#15803d;
}

body.elkan-body .btn-outline-danger{
  --elkan-btn-bg:#ffffff;
  --elkan-btn-border:rgba(220,38,38,.20);
  --elkan-btn-color:#dc2626;
}

body.elkan-body .btn-outline-info{
  --elkan-btn-bg:#ffffff;
  --elkan-btn-border:rgba(14,116,144,.20);
  --elkan-btn-color:#0e7490;
}

body.elkan-body .btn-outline-warning{
  --elkan-btn-bg:#ffffff;
  --elkan-btn-border:rgba(217,119,6,.22);
  --elkan-btn-color:#b45309;
}

body.elkan-body .btn-group{
  padding:3px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:#f8fafc;
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}

body.elkan-body .btn-group > .btn:not(.btn-close):not(.navbar-toggler):not(.btn-elkan-primary):not(.btn-elkan-danger):not(.btn-elkan-outline){
  min-height:34px;
  border-radius:12px !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

body.elkan-body .btn-group > .btn + .btn{
  margin-left:2px;
}

body.elkan-body .btn-group > .btn.active,
body.elkan-body .btn-group > .btn.btn-primary,
body.elkan-body .btn-group > .btn.btn-dark{
  box-shadow:0 8px 16px rgba(15,23,42,.12) !important;
}

.card{
  border: 1px solid rgba(0,0,0,.06) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.16) !important;
}

/* lekki lift */
.card:hover{
  box-shadow: 0 24px 60px rgba(0,0,0,.20) !important;
}
/* =========================================================
   STICKY FOOTER (footer zawsze na dole ekranu)
   ========================================================= */

html, body{ height: 100%; }

body.elkan-body{
  min-height: 100vh;           /* fallback */
  min-height: 100dvh;          /* lepiej na mobile */
  display: flex;
  flex-direction: column;
}

/* content rośnie, footer spada na dół */
.elkan-page{
  flex: 1 0 auto;
}

/* =========================================================
   FOOTER – logo + ładny wygląd
   ========================================================= */

.elkan-footer{
  margin-top: auto; /* klucz do "dociągnięcia" */
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 -18px 45px rgba(0,0,0,.10);
}

.elkan-footer__inner{
  padding: 14px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.elkan-footer__brand{
  display: flex;
  align-items: center;
  gap: 10px;
}

.elkan-footer__logo{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
  border: 1px solid rgba(15,23,42,.10);
}

.elkan-footer__title{
  font-weight: 800;
  letter-spacing: .02em;
  font-size: .92rem;
  line-height: 1.05;
}

.elkan-footer__meta{
  color: var(--elkan-muted);
  font-size: .82rem;
}

.elkan-footer__right{
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--elkan-muted);
  font-size: .82rem;
}

/* =========================================================
   BODY BG: logo w CAŁOŚCI (contain) + lekki blur + jasny filtr
   ========================================================= */

body.elkan-body{
  position: relative;
  isolation: isolate;
  background: var(--elkan-bg) !important;
}

body.elkan-body::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;

  /* ✅ twarde wymuszenie: całe logo, bez crop */
  background-image: url("/images/elkanmax-logo.png") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;

  /* ✅ żeby nie robiło “wielkiej plamy” */
  filter: blur(1.5px) saturate(.95) brightness(1.02) !important;
  opacity: .28 !important;

  transform: translateZ(0);
  will-change: filter, opacity;
}

body.elkan-body::after{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;

  /* ✅ jasny filtr na wierzch (czytelność) */
  background: rgba(255,255,255,.55) !important;
}
@media (min-width: 992px){
  html.elkan-sidebar-collapsed .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox .nav-link.elkan-navlink{
    justify-content: center;
  }
}
/* TomSelect + Bootstrap modal: nie ucinaj / popraw stacking */
#createTaskModal .ts-wrapper{ width:100%; }
#createTaskModal .ts-dropdown{ z-index: 30650 !important; }

#createTaskModal .modal-content{ overflow: visible !important; }
#createTaskModal .modal-body{ overflow-x: visible !important; }

#createComplaintModal .ts-wrapper{ width:100%; }
#createComplaintModal .ts-dropdown{ z-index: 30670 !important; }

#createComplaintModal .modal-content{ overflow: visible !important; }
#createComplaintModal .modal-body{ overflow-x: visible !important; }
.photo-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 10px;
}

.photo-thumb{
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: #0b0f14;
  border: 1px solid rgba(255,255,255,.10);
}

.photo-thumb img{
  width: 100%;
  height: 120px;
  object-fit: cover;
  display: block;
}

.photo-thumb .photo-badge{
  position: absolute;
  left: 8px;
  bottom: 8px;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  color: #fff;
  backdrop-filter: blur(6px);
}
html, body { scroll-behavior: auto !important; }


/* =========================================================
   FIX TYLKO DLA #completeTaskModal:
   modal + jego backdrop nad sidebar (z-index 30000)
   ========================================================= */

/* sam modal nad sidebar */
#completeTaskModal{
  z-index: 30600 !important; /* > 30000 */
}

/* TYLKO backdrop, który jest po tym modalu w DOM (Bootstrap go dokleja po modalu) */
#completeTaskModal.show + .modal-backdrop.show{
  z-index: 30590 !important; /* tuż pod modalem, nadal > sidebar */
}
/* =========================================================
   FIX TYLKO DLA #suspendTaskModal:
   modal + jego backdrop nad sidebar (z-index 30000)
   ========================================================= */

/* sam modal nad sidebar */
#suspendTaskModal{
  z-index: 30620 !important; /* > 30000 */
}

/* TYLKO backdrop przypięty do tego modala */
#suspendTaskModal.show ~ .modal-backdrop.show{
  z-index: 30610 !important; /* tuż pod modalem, nadal > sidebar */
}

/* =========================================================
   FIX TYLKO DLA #bookingModal:
   modal + jego backdrop nad sidebar (z-index 30000)
   ========================================================= */

#bookingModal.show + .modal-backdrop.show,
#bookingModal.show ~ .modal-backdrop.show{
  z-index: 30650 !important;
}

  .calendar-manage-filter-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:14px;
    align-items:end;
  }

  .calendar-filter-controls{
    display:grid;
    grid-template-columns:270px minmax(170px, 1fr);
    gap:14px;
    min-width:0;
    align-items:end;
  }

  .calendar-filter-field{
    display:flex;
    flex-direction:column;
    gap:.25rem;
    min-width:0;
  }

  .calendar-filter-label{
    font-size:.875rem;
    color:#6c757d;
    margin:0;
    line-height:1.2;
  }

  .calendar-filter-city{
    width:100%;
    min-width:0;
    height:38px;
    padding: .375rem 2.25rem .375rem .75rem;
    border:1px solid var(--bs-secondary-border-subtle, #6c757d);
    border-radius:.375rem;
    background-color:#fff;
    color:#212529;
    line-height:1.5;
    font-size:1rem;
  }

  .calendar-filter-city:focus{
    outline:0;
    border-color:#86b7fe;
    box-shadow:0 0 0 .25rem rgba(13,110,253,.25);
  }

  .calendar-filter-user-btn{
    height:38px;
    width:100%;
    display:inline-flex;
    align-items:center;
  }

  .calendar-filter-field .dropdown{
    width:100%;
  }

  .calendar-filter-hint{
    align-self:end;
    white-space:nowrap;
  }

  @media (max-width: 991.98px){
    .calendar-manage-filter-grid,
    .calendar-filter-controls{
      grid-template-columns:1fr;
    }

  .calendar-filter-hint{
      white-space:normal;
    }
  }

/* =========================================================
   DASHBOARD: modern filter + active tasks panel
   ========================================================= */
.calendar-manage-filter{
  margin-top:18px !important;
}

.calendar-manage-filter-box{
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:22px !important;
  padding:20px !important;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 18px 42px rgba(15,23,42,.08) !important;
}

.calendar-manage-filter-title{
  gap:12px !important;
  margin-bottom:16px !important;
}

.calendar-manage-filter-title .icon-wrap{
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  background:
    linear-gradient(135deg, rgba(15,23,42,.08), rgba(255,255,255,.90)) !important;
  color:#0f172a;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 10px 22px rgba(15,23,42,.08);
}

.calendar-manage-filter-title .fw-semibold{
  color:#111827;
  font-size:1.02rem;
  letter-spacing:.01em;
}

.calendar-manage-filter-title .text-muted{
  color:#64748b !important;
}

.calendar-filter-label{
  color:#475569 !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.calendar-filter-city,
.calendar-filter-user-btn{
  height:46px !important;
  border:1px solid rgba(148,163,184,.32) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.92) !important;
  color:#0f172a !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 8px 20px rgba(15,23,42,.06) !important;
}

.calendar-filter-city:focus,
.calendar-filter-user-btn:focus,
.calendar-filter-user-btn.show{
  border-color:rgba(37,99,235,.55) !important;
  box-shadow:
    0 0 0 4px rgba(37,99,235,.12),
    0 10px 24px rgba(15,23,42,.10) !important;
}

.calendar-filter-user-btn{
  padding:0 14px !important;
  font-weight:650;
}

#calendarFilterMenu{
  border:1px solid rgba(148,163,184,.22);
  border-radius:16px;
  box-shadow:0 20px 45px rgba(15,23,42,.18);
}

#calendarUserSearch{
  border-radius:12px;
  border-color:rgba(148,163,184,.30);
}

.calendar-filter-hint{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  color:#64748b !important;
  font-weight:700;
}

.active-tasks-panel{
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:22px !important;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 18px 46px rgba(15,23,42,.10) !important;
}

.active-tasks-panel .card-body{
  padding:20px 18px 16px !important;
}

.active-tasks-panel h5{
  color:#111827;
  font-size:1.12rem;
  font-weight:850;
  letter-spacing:.01em;
}

.activeTasks-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:34px;
  border-radius:12px !important;
  background:linear-gradient(135deg, #475569, #1f2937) !important;
  color:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,.18);
}

.active-tasks-panel hr{
  border-color:rgba(148,163,184,.24);
  opacity:1;
}

.active-tasks-panel h6{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#1f2937;
  font-size:.95rem;
  font-weight:850;
}

.active-tasks-panel > .card-body > .d-flex.align-items-center.justify-content-between{
  padding-top:4px;
}

.active-tasks-panel .list-group{
  display:grid;
  gap:10px;
}

.active-tasks-panel .list-group-item{
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:16px !important;
  padding:12px 14px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 10px 24px rgba(15,23,42,.06);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.active-tasks-panel .list-group-item:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.30) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 16px 32px rgba(15,23,42,.10);
}

.active-tasks-panel .list-group-item .fw-semibold{
  color:#0f172a;
  font-weight:850 !important;
  line-height:1.25;
}

.active-tasks-panel .badge{
  border-radius:999px;
  padding:.42rem .62rem;
  font-size:.72rem;
  letter-spacing:.02em;
  box-shadow:0 6px 13px rgba(15,23,42,.12);
}

.active-tasks-panel .bi-chevron-right{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(15,23,42,.05);
  color:#475569 !important;
  margin-top:2px;
}

.active-tasks-panel .at-parts{
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:14px !important;
  background:rgba(248,250,252,.82) !important;
}

@media (max-width: 991.98px){
  .calendar-manage-filter-box,
  .active-tasks-panel{
    border-radius:18px !important;
  }

  .calendar-filter-hint{
    min-height:auto;
  }
}

/* =========================================================
   MODERN BADGE / PILL REFRESH
   ========================================================= */
body.elkan-body .badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.32rem;
  min-height:24px;
  padding:.32rem .58rem;
  border-radius:999px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  font-size:.72rem;
  font-weight:850;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 6px 14px rgba(15,23,42,.08) !important;
}

body.elkan-body .badge.bg-primary,
body.elkan-body .badge.text-bg-primary{
  background:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  border-color:rgba(37,99,235,.18) !important;
  color:#fff !important;
}

body.elkan-body .badge.bg-success,
body.elkan-body .badge.text-bg-success{
  background:linear-gradient(135deg, #16a34a 0%, #15803d 100%) !important;
  border-color:rgba(22,163,74,.18) !important;
  color:#fff !important;
}

body.elkan-body .badge.bg-danger,
body.elkan-body .badge.text-bg-danger{
  background:linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  border-color:rgba(239,68,68,.18) !important;
  color:#fff !important;
}

body.elkan-body .badge.bg-warning,
body.elkan-body .badge.text-bg-warning{
  background:#fff7d6 !important;
  border-color:rgba(217,119,6,.18) !important;
  color:#92400e !important;
}

body.elkan-body .badge.bg-info,
body.elkan-body .badge.text-bg-info{
  background:#e6fbff !important;
  border-color:rgba(14,116,144,.16) !important;
  color:#0e7490 !important;
}

body.elkan-body .badge.bg-secondary,
body.elkan-body .badge.text-bg-secondary,
body.elkan-body .badge.text-bg-dark{
  background:linear-gradient(135deg, #475569 0%, #334155 100%) !important;
  border-color:rgba(51,65,85,.16) !important;
  color:#fff !important;
}

body.elkan-body .badge.text-bg-light{
  background:#f8fafc !important;
  border-color:rgba(15,23,42,.10) !important;
  color:#334155 !important;
  box-shadow:none !important;
}

.active-tasks-panel .badge{
  min-height:22px;
  padding:.28rem .54rem;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.015em;
  box-shadow:0 5px 12px rgba(15,23,42,.08) !important;
}

.active-tasks-panel .at-parts .badge{
  text-transform:none;
  letter-spacing:0;
  font-size:.69rem;
  box-shadow:none !important;
}

/* =========================================================
   MODERN SIDEBAR / MOBILE NAV REFRESH
   ========================================================= */
body.elkan-body .elkan-navbar.elkan-navbar--sidebar{
  background:
    radial-gradient(circle at 20% 0%, rgba(59,130,246,.12), transparent 32%),
    linear-gradient(180deg, rgb(3,58,115) 0%, rgb(15,23,42) 100%) !important;
  border-color:rgba(255,255,255,.055) !important;
  color:rgba(255,255,255,.86);
}

body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__inner{
  position:relative;
  z-index:1;
}

body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-brand{
  min-width:0;
  color:#f8fafc !important;
}

body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-logo{
  width:38px;
  height:38px;
  object-fit:contain;
  border-radius:10px;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 54%, rgba(219,234,254,.9) 100%);
  padding:2px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.34),
    0 10px 22px rgba(0,0,0,.18),
    0 0 26px rgba(59,130,246,.34);
}

body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-brand{
  color:#f8fafc;
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.08em;
}

body.elkan-body .elkan-navbar.elkan-navbar--sidebar .badge{
  min-width:21px;
  min-height:21px;
  padding:.24rem .45rem;
  font-size:.64rem !important;
  box-shadow:none !important;
}

@media (min-width: 992px){
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar{
    width:var(--elkan-sidebar-w) !important;
    border-right:1px solid rgba(255,255,255,.055) !important;
    box-shadow:14px 0 34px rgba(15,23,42,.14) !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar::before{
    display:none !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-brand{
    min-height:42px;
    padding:.24rem .34rem;
    border-radius:13px;
    background:transparent;
    border:0;
    box-shadow:none;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-nav{
    gap:2px !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-item{
    width:100%;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink{
    position:relative !important;
    min-height:38px;
    width:100%;
    display:flex !important;
    align-items:center !important;
    gap:.54rem !important;
    padding:.48rem .58rem !important;
    border:0 !important;
    border-radius:11px !important;
    background:transparent !important;
    color:rgba(226,232,240,.88) !important;
    box-shadow:none !important;
    transform:none !important;
    line-height:1.15;
    transition:background .16s ease, color .16s ease, transform .16s ease;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink::before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    bottom:9px;
    width:3px;
    border-radius:999px;
    background:#60a5fa;
    opacity:0;
    transform:scaleY(.55);
    transition:opacity .16s ease, transform .16s ease;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:hover,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:focus{
    background:rgba(255,255,255,.065) !important;
    color:#fff !important;
    box-shadow:none !important;
    transform:translateX(2px) !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:hover::before,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:focus::before{
    opacity:.42;
    transform:scaleY(.82);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.is-active{
    background:rgba(37,99,235,.17) !important;
    color:#fff !important;
    box-shadow:none !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.is-active::before{
    opacity:1;
    transform:scaleY(1);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink > i,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink > span > i{
    width:26px;
    height:26px;
    flex:0 0 26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:transparent;
    color:#93c5fd;
    font-size:.98rem;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.is-active > i,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.is-active > span > i{
    background:transparent;
    color:#fff;
  }

  body.elkan-body .elkan-sidebar-heading{
    margin:.58rem .58rem .22rem;
    color:rgba(203,213,225,.58);
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox{
    margin-top:auto;
    padding-top:.58rem;
    border-top:1px solid rgba(255,255,255,.055);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox::before{
    display:none !important;
  }

  body.elkan-body .elkan-userbox-name{
    min-height:36px;
    color:#f8fafc !important;
    font-weight:850;
    border:0 !important;
    border-radius:11px !important;
    background:rgba(255,255,255,.04) !important;
    box-shadow:none;
  }

  body.elkan-body div.elkan-userbox-name{
    display:flex;
    align-items:center;
    gap:.48rem;
    padding:.4rem .5rem;
  }

  body.elkan-body .elkan-userbox-name .bi-person-circle{
    color:#bfdbfe;
  }

  body.elkan-body .elkan-userbox-role{
    margin:.26rem .5rem .42rem;
    color:rgba(203,213,225,.58);
    font-size:.72rem;
    font-weight:750;
  }

  body.elkan-body .elkan-sidebar-toggle{
    width:32px;
    height:32px;
    align-items:center;
    justify-content:center;
    border-radius:10px !important;
    border:0 !important;
    background:rgba(255,255,255,.06) !important;
    color:#e2e8f0 !important;
    box-shadow:none !important;
  }

  body.elkan-body .elkan-sidebar-toggle:hover{
    background:rgba(255,255,255,.11) !important;
    color:#fff !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts{
    margin-left:auto;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar{
    width:var(--elkan-sidebar-w-collapsed) !important;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar::before{
    inset:9px 7px;
    border-radius:22px;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-brand{
    justify-content:center;
    padding:.42rem .26rem;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink{
    min-height:40px;
    justify-content:center !important;
    gap:0 !important;
    padding:.48rem !important;
    border-radius:12px !important;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink > i,
  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink > span > i{
    margin:0 !important;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts,
  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink > .badge{
    position:absolute;
    top:6px;
    right:6px;
    margin:0;
    transform:none !important;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-sidebar-heading{
    height:1px;
    margin:.3rem 0;
    overflow:hidden;
    opacity:.35;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-userbox-name,
  html.elkan-sidebar-collapsed body.elkan-body .elkan-userbox-role{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
}

@media (max-width: 991.98px){
  body.elkan-body{
    padding-top:calc(var(--elkan-mobile-nav-h) + 10px) !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar{
    min-height:var(--elkan-mobile-nav-h);
    padding:.5rem 0 !important;
    border-bottom:1px solid rgba(255,255,255,.055) !important;
    box-shadow:0 12px 26px rgba(15,23,42,.14) !important;
    backdrop-filter:blur(14px);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__inner{
    padding-left:14px;
    padding-right:14px;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-brand{
    gap:.54rem !important;
    padding:.24rem .3rem;
    border-radius:12px;
    background:transparent;
    border:0;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-toggler{
    width:39px;
    height:39px;
    border-radius:12px;
    border:0 !important;
    background:rgba(255,255,255,.07);
    box-shadow:none !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-toggler:focus{
    box-shadow:0 0 0 .2rem rgba(59,130,246,.22) !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-collapse{
    width:100%;
    max-height:calc(100vh - var(--elkan-mobile-nav-h) - 24px);
    margin-top:.54rem;
    padding:.5rem;
    overflow:auto;
    border:0;
    border-radius:17px;
    background:rgba(15,23,42,.97);
    box-shadow:0 16px 32px rgba(2,6,23,.28);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .navbar-nav{
    width:100%;
    gap:3px;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink{
    position:relative;
    min-height:41px;
    width:100%;
    display:flex;
    align-items:center;
    gap:.52rem;
    padding:.52rem .62rem !important;
    border:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    color:rgba(226,232,240,.90) !important;
    box-shadow:none !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink::before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    bottom:10px;
    width:3px;
    border-radius:999px;
    background:#60a5fa;
    opacity:0;
    transform:scaleY(.55);
    transition:opacity .16s ease, transform .16s ease;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:hover,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:focus,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.is-active{
    background:rgba(255,255,255,.07) !important;
    color:#fff !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.is-active{
    background:rgba(37,99,235,.16) !important;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:hover::before,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink:focus::before{
    opacity:.4;
    transform:scaleY(.8);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.is-active::before{
    opacity:1;
    transform:scaleY(1);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink > i,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink > span > i{
    width:28px;
    height:28px;
    flex:0 0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:transparent;
    color:#bfdbfe;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .dropdown-menu{
    margin:.36rem 0 .16rem;
    padding:.38rem;
    border:0;
    border-radius:14px;
    background:#fff;
    box-shadow:0 14px 28px rgba(15,23,42,.14);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .dropdown-item{
    min-height:40px;
    display:flex;
    align-items:center;
    border-radius:12px;
    color:#334155;
    font-weight:750;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .dropdown-item:hover,
  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .dropdown-item:focus{
    background:#eef5ff;
    color:#1d4ed8;
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .dropdown-divider{
    border-color:rgba(148,163,184,.28);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navbar__userbox{
    width:100%;
    margin-top:.42rem;
    padding-top:.42rem;
    border-top:1px solid rgba(255,255,255,.055);
  }

  body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-user-toggle{
    min-height:41px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    border-radius:12px !important;
    border:0 !important;
    background:rgba(255,255,255,.07) !important;
    color:#f8fafc !important;
    box-shadow:none !important;
  }

  body.elkan-body.elkan-mobile-nav-open{
    overflow:hidden;
  }
}

/* =========================================================
   BORDERLESS ROUTE SURFACES
   ========================================================= */
:root{
  --elkan-surface-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 1px 2px rgba(15,23,42,.035),
    0 16px 38px -28px rgba(15,23,42,.48),
    0 38px 78px -58px rgba(37,99,235,.34);
  --elkan-surface-shadow-hover:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 1px 2px rgba(15,23,42,.04),
    0 18px 42px -30px rgba(15,23,42,.52),
    0 44px 88px -60px rgba(37,99,235,.38);
  --elkan-surface-bg:
    linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(250,252,255,.97) 54%, rgba(247,250,252,.95) 100%);
}

body.elkan-body .card,
body.elkan-body .elkan-card,
body.elkan-body .elkan-calendar-surface,
body.elkan-body .home-hero,
body.elkan-body .home-today,
body.elkan-body .home-stat,
body.elkan-body .calendar-manage-panel,
body.elkan-body .calendar-manage-filter-box,
body.elkan-body .active-tasks-panel,
body.elkan-body .tasks-manage-hero,
body.elkan-body .tasks-manage-panel,
body.elkan-body .task-page-hero,
body.elkan-body .task-edit-hero,
body.elkan-body .task-edit-panel,
body.elkan-body .elkan-timeline-card,
body.elkan-body .work-hours-hero,
body.elkan-body .work-hours-panel,
body.elkan-body .my-hours-hero,
body.elkan-body .my-hours-card,
body.elkan-body .part-orders-card,
body.elkan-body .part-orders-action-card,
body.elkan-body .complaints-filter-card,
body.elkan-body .cases-summary-card,
body.elkan-body .treasure-card,
body.elkan-body .treasure-filter-card,
body.elkan-body .finance-summary-card,
body.elkan-body .finance-events-card,
body.elkan-body .inventory-view-card,
body.elkan-body .inventory-view-hero,
body.elkan-body .surplus-panel,
body.elkan-body .task-cat-hero,
body.elkan-body .task-cat-card,
body.elkan-body .task-cat-show-hero,
body.elkan-body .task-cat-show-card,
body.elkan-body .task-cat-legacy-hero,
body.elkan-body .task-cat-legacy-card,
body.elkan-body .cat-manage-hero,
body.elkan-body .cat-manage-card,
body.elkan-body .cat-edit-hero,
body.elkan-body .cat-edit-card,
body.elkan-body .users-city-card,
body.elkan-body .users-account-card,
body.elkan-body .users-detail-panel,
body.elkan-body .ann-create-card,
body.elkan-body .auth-card,
body.elkan-body .verify-card,
body.elkan-body .analysis-task-card{
  border:0 !important;
  box-shadow:var(--elkan-surface-shadow) !important;
}

body.elkan-body .card,
body.elkan-body .elkan-card,
body.elkan-body .elkan-calendar-surface{
  background:var(--elkan-surface-bg) !important;
}

body.elkan-body .card,
body.elkan-body .elkan-card,
body.elkan-body .elkan-calendar-surface,
body.elkan-body .home-hero,
body.elkan-body .home-today,
body.elkan-body .calendar-manage-panel,
body.elkan-body .calendar-manage-filter-box,
body.elkan-body .active-tasks-panel,
body.elkan-body .tasks-manage-hero,
body.elkan-body .tasks-manage-panel,
body.elkan-body .task-page-hero,
body.elkan-body .task-edit-hero,
body.elkan-body .task-edit-panel,
body.elkan-body .work-hours-hero,
body.elkan-body .work-hours-panel,
body.elkan-body .my-hours-hero,
body.elkan-body .my-hours-card,
body.elkan-body .inventory-view-hero,
body.elkan-body .surplus-panel,
body.elkan-body .ann-create-card,
body.elkan-body .auth-card,
body.elkan-body .verify-card{
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

body.elkan-body .card:hover,
body.elkan-body .elkan-card:hover,
body.elkan-body .elkan-calendar-surface:hover,
body.elkan-body .home-today:hover,
body.elkan-body .calendar-manage-filter-box:hover,
body.elkan-body .active-tasks-panel:hover,
body.elkan-body .tasks-manage-panel:hover,
body.elkan-body .task-page-hero:hover,
body.elkan-body .task-edit-panel:hover,
body.elkan-body .work-hours-panel:hover,
body.elkan-body .my-hours-card:hover,
body.elkan-body .part-orders-card:hover,
body.elkan-body .inventory-view-card:hover,
body.elkan-body .surplus-panel:hover,
body.elkan-body .task-cat-card:hover,
body.elkan-body .task-cat-show-card:hover,
body.elkan-body .task-cat-legacy-card:hover,
body.elkan-body .cat-manage-card:hover,
body.elkan-body .cat-edit-card:hover,
body.elkan-body .ann-create-card:hover,
body.elkan-body .auth-card:hover,
body.elkan-body .verify-card:hover{
  transform:translateY(-1px);
  box-shadow:var(--elkan-surface-shadow-hover) !important;
}

body.elkan-body .card.shadow-sm,
body.elkan-body .shadow-sm.elkan-card,
body.elkan-body .elkan-calendar-surface.shadow-sm,
body.elkan-body .active-tasks-panel.shadow-sm,
body.elkan-body .tasks-manage-panel.shadow-sm,
body.elkan-body .part-orders-card.shadow-sm,
body.elkan-body .complaints-filter-card.shadow-sm,
body.elkan-body .treasure-card.shadow-sm,
body.elkan-body .finance-summary-card.shadow-sm,
body.elkan-body .finance-events-card.shadow-sm,
body.elkan-body .inventory-view-card.shadow-sm{
  box-shadow:var(--elkan-surface-shadow) !important;
}

body.elkan-body .card-header,
body.elkan-body .card-footer{
  border-color:rgba(148,163,184,.16) !important;
  background:rgba(255,255,255,.68) !important;
}

body.elkan-body .card.border-success-subtle,
body.elkan-body .card.border-info-subtle,
body.elkan-body .card.border-warning-subtle,
body.elkan-body .card.border-danger-subtle,
body.elkan-body .card.border-primary-subtle{
  border:0 !important;
}

body.elkan-body .table-responsive,
body.elkan-body .list-group-flush > .list-group-item{
  border-color:rgba(148,163,184,.14) !important;
}

body.elkan-body .card .border.rounded,
body.elkan-body .home-action,
body.elkan-body .home-account-item,
body.elkan-body .tasks-manage-part-card,
body.elkan-body .part-orders-note-card{
  border-color:rgba(148,163,184,.14) !important;
  box-shadow:0 10px 24px -20px rgba(15,23,42,.42) !important;
}

/* =========================================================
   NO-LIFT PANEL INTERACTIONS
   ========================================================= */
body.elkan-body .card,
body.elkan-body .elkan-card,
body.elkan-body .elkan-calendar-surface,
body.elkan-body .home-hero,
body.elkan-body .home-today,
body.elkan-body .home-stat,
body.elkan-body .home-action,
body.elkan-body .home-today-item,
body.elkan-body .home-account-item,
body.elkan-body .calendar-manage-panel,
body.elkan-body .calendar-manage-filter-box,
body.elkan-body .calendar-manage-action,
body.elkan-body .active-tasks-panel,
body.elkan-body .active-tasks-panel .list-group-item,
body.elkan-body .tasks-manage-hero,
body.elkan-body .tasks-manage-panel,
body.elkan-body .tasks-manage-part-card,
body.elkan-body .task-page-hero,
body.elkan-body .task-edit-hero,
body.elkan-body .task-edit-panel,
body.elkan-body .elkan-timeline-card,
body.elkan-body .work-hours-hero,
body.elkan-body .work-hours-panel,
body.elkan-body .my-hours-hero,
body.elkan-body .my-hours-card,
body.elkan-body .part-orders-card,
body.elkan-body .part-orders-action-card,
body.elkan-body .part-orders-note-card,
body.elkan-body .complaints-filter-card,
body.elkan-body .cases-summary-card,
body.elkan-body .treasure-card,
body.elkan-body .treasure-filter-card,
body.elkan-body .finance-summary-card,
body.elkan-body .finance-events-card,
body.elkan-body .inventory-view-card,
body.elkan-body .inventory-view-hero,
body.elkan-body .surplus-panel,
body.elkan-body .surplus-item,
body.elkan-body .task-cat-hero,
body.elkan-body .task-cat-card,
body.elkan-body .task-cat-assignment-tile,
body.elkan-body .task-cat-row,
body.elkan-body .task-cat-show-hero,
body.elkan-body .task-cat-show-card,
body.elkan-body .task-cat-legacy-hero,
body.elkan-body .task-cat-legacy-card,
body.elkan-body .cat-manage-hero,
body.elkan-body .cat-manage-card,
body.elkan-body .cat-edit-hero,
body.elkan-body .cat-edit-card,
body.elkan-body .users-city-card,
body.elkan-body .users-account-card,
body.elkan-body .users-detail-panel,
body.elkan-body .ann-create-card,
body.elkan-body .ann-item,
body.elkan-body .auth-card,
body.elkan-body .verify-card,
body.elkan-body .analysis-task-card{
  transition:box-shadow .18s ease, background-color .18s ease, background .18s ease, filter .18s ease !important;
}

body.elkan-body .card:hover,
body.elkan-body .elkan-card:hover,
body.elkan-body .elkan-calendar-surface:hover,
body.elkan-body .home-hero:hover,
body.elkan-body .home-today:hover,
body.elkan-body .home-stat:hover,
body.elkan-body .home-action:hover,
body.elkan-body .home-today-item:hover,
body.elkan-body .home-account-item:hover,
body.elkan-body .calendar-manage-panel:hover,
body.elkan-body .calendar-manage-filter-box:hover,
body.elkan-body .calendar-manage-action:hover,
body.elkan-body .active-tasks-panel:hover,
body.elkan-body .active-tasks-panel .list-group-item:hover,
body.elkan-body .tasks-manage-hero:hover,
body.elkan-body .tasks-manage-panel:hover,
body.elkan-body .tasks-manage-part-card:hover,
body.elkan-body .task-page-hero:hover,
body.elkan-body .task-edit-hero:hover,
body.elkan-body .task-edit-panel:hover,
body.elkan-body .elkan-timeline-card:hover,
body.elkan-body .work-hours-hero:hover,
body.elkan-body .work-hours-panel:hover,
body.elkan-body .my-hours-hero:hover,
body.elkan-body .my-hours-card:hover,
body.elkan-body .part-orders-card:hover,
body.elkan-body .part-orders-action-card:hover,
body.elkan-body .part-orders-note-card:hover,
body.elkan-body .complaints-filter-card:hover,
body.elkan-body .cases-summary-card:hover,
body.elkan-body .treasure-card:hover,
body.elkan-body .treasure-filter-card:hover,
body.elkan-body .finance-summary-card:hover,
body.elkan-body .finance-events-card:hover,
body.elkan-body .inventory-view-card:hover,
body.elkan-body .inventory-view-hero:hover,
body.elkan-body .surplus-panel:hover,
body.elkan-body .surplus-item:hover,
body.elkan-body .task-cat-hero:hover,
body.elkan-body .task-cat-card:hover,
body.elkan-body .task-cat-assignment-tile:hover,
body.elkan-body .task-cat-row:hover,
body.elkan-body .task-cat-show-hero:hover,
body.elkan-body .task-cat-show-card:hover,
body.elkan-body .task-cat-legacy-hero:hover,
body.elkan-body .task-cat-legacy-card:hover,
body.elkan-body .cat-manage-hero:hover,
body.elkan-body .cat-manage-card:hover,
body.elkan-body .cat-edit-hero:hover,
body.elkan-body .cat-edit-card:hover,
body.elkan-body .users-city-card:hover,
body.elkan-body .users-account-card:hover,
body.elkan-body .users-detail-panel:hover,
body.elkan-body .ann-create-card:hover,
body.elkan-body .ann-item:hover,
body.elkan-body .auth-card:hover,
body.elkan-body .verify-card:hover,
body.elkan-body .analysis-task-card:hover{
  transform:none !important;
  box-shadow:var(--elkan-surface-shadow-hover) !important;
}

body.elkan-body .table tbody tr:hover,
body.elkan-body .list-group-item:hover{
  transform:none !important;
}

body.elkan-body .card-header,
body.elkan-body .card-footer{
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(248,250,252,.64)) !important;
}

body.elkan-body .table thead th{
  background:rgba(248,250,252,.72);
  color:#475569;
  font-size:.74rem;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}

body.elkan-body .table tbody tr{
  transition:background-color .14s ease, box-shadow .14s ease;
}

body.elkan-body .table tbody tr:hover{
  background-color:rgba(37,99,235,.035) !important;
}

/* Collapsed sidebar notification badges stay inside the icon rail. */
@media (min-width: 992px){
  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .nav-link.elkan-navlink.elkan-navlink--with-badges{
    overflow:hidden !important;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts{
    position:absolute !important;
    top:4px !important;
    right:4px !important;
    max-width:26px;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:1px !important;
    margin:0 !important;
    transform:none !important;
    pointer-events:none;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts .badge{
    flex:0 0 auto;
    box-shadow:0 2px 6px rgba(15,23,42,.18) !important;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts .badge.text-bg-warning{
    width:7px !important;
    min-width:7px !important;
    height:7px !important;
    min-height:7px !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.9) !important;
    border-radius:999px !important;
    font-size:0 !important;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts .badge.text-bg-warning i{
    display:none !important;
  }

  html.elkan-sidebar-collapsed body.elkan-body .elkan-navbar.elkan-navbar--sidebar .elkan-navlink-alerts .badge.bg-danger{
    min-width:17px !important;
    height:17px !important;
    min-height:17px !important;
    padding:0 .28rem !important;
    font-size:.58rem !important;
    line-height:17px !important;
  }
}
