
.lang-switch{position:fixed;right:12px;bottom:12px;z-index:9999;padding:7px 10px;border:1px solid rgba(130,170,200,.35);border-radius:999px;background:rgba(7,17,31,.88);color:#dcebf6!important;text-decoration:none;font:700 12px/1 system-ui,sans-serif;backdrop-filter:blur(8px)}
.lang-switch:hover{border-color:rgba(80,220,210,.7);color:#fff!important}

/* ===== DE MOBILE HEADER FINAL ===== */

@media (max-width:900px){

  .topbar{
    height:64px!important;
    min-height:64px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px 52px!important;
    align-items:center!important;
    overflow:visible!important;
    position:sticky!important;
    top:0!important;
  }

  .topbar .brand{
    min-width:0!important;
    height:64px!important;
    padding:0 8px 0 12px!important;
    border-right:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }

  .topbar .brand-mark-wrap{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
  }

  .topbar .brand-mark{
    width:34px!important;
    height:34px!important;
    max-width:34px!important;
  }

  .topbar .brand b{
    display:block!important;
    font-size:18px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }

  .topbar .brand small{
    display:none!important;
  }

  /* status must not consume mobile header space */
  .topbar .worker-health{
    display:none!important;
  }

  /* hamburger */
  .topbar .mobile-menu-btn{
    display:flex!important;
    grid-column:2!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    border:1px solid #29445f!important;
    border-radius:9px!important;
    background:#0c1b2d!important;
    cursor:pointer!important;
    z-index:1002!important;
  }

  .topbar .mobile-menu-btn span{
    display:block!important;
    width:18px!important;
    height:2px!important;
    background:#eaf6ff!important;
    border-radius:99px!important;
  }

  .topbar .lang-switch{
    display:grid!important;
    grid-column:3!important;
    width:44px!important;
    height:36px!important;
    margin:auto!important;
    place-items:center!important;
    border:1px solid #35516d!important;
    border-radius:999px!important;
    font-size:12px!important;
  }

  /* closed menu */
  .topbar .nav{
    display:none!important;
    position:absolute!important;
    top:64px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 64px)!important;
    overflow-y:auto!important;
    padding:8px!important;
    background:#071522!important;
    border-top:1px solid #1c354e!important;
    border-bottom:1px solid #1c354e!important;
    box-shadow:0 18px 35px rgba(0,0,0,.4)!important;
    z-index:1000!important;
  }

  /* opened menu */
  .topbar.menu-open .nav{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .topbar .nav a{
    width:100%!important;
    min-height:46px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    font-size:14px!important;
    white-space:nowrap!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
  }

  .topbar .nav a:last-child{
    border-bottom:0!important;
  }

  .topbar.menu-open .mobile-menu-btn span:nth-child(1){
    transform:translateY(7px) rotate(45deg)!important;
  }

  .topbar.menu-open .mobile-menu-btn span:nth-child(2){
    opacity:0!important;
  }

  .topbar.menu-open .mobile-menu-btn span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg)!important;
  }
}

/* ===== DE MOBILE HEADER ALIGNMENT FINAL ===== */
@media (max-width:900px){

  .topbar{
    width:100%!important;
    height:64px!important;
    min-height:64px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px 52px!important;
    grid-template-rows:64px!important;
    column-gap:5px!important;
    align-items:center!important;
    overflow:visible!important;
  }

  .topbar > .brand{
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    height:64px!important;
    padding:0 4px 0 12px!important;
    margin:0!important;
    overflow:hidden!important;
    border-right:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }

  .topbar > .brand .brand-mark-wrap{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    flex:0 0 34px!important;
    overflow:hidden!important;
  }

  .topbar > .brand .brand-mark{
    display:block!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    object-fit:contain!important;
  }

  .topbar > .brand > span:last-child{
    min-width:0!important;
    overflow:hidden!important;
  }

  .topbar > .brand b{
    display:block!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:18px!important;
    line-height:1.05!important;
  }

  .topbar > .brand small{
    display:none!important;
  }

  .topbar > .worker-health{
    display:none!important;
  }

  .topbar > .mobile-menu-btn{
    position:static!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
  }

  /* IMPORTANT: undo desktop fixed language button */
  .topbar > .lang-switch{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    grid-column:3!important;
    grid-row:1!important;

    justify-self:center!important;
    align-self:center!important;

    display:grid!important;
    place-items:center!important;

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

    border:1px solid #35516d!important;
    border-radius:999px!important;
    background:#0a1929!important;

    font-size:12px!important;
    z-index:1002!important;
  }

  .topbar > .nav{
    top:64px!important;
  }
}


/* ===== DE DESKTOP HEADER FINAL ===== */

html{
  scrollbar-gutter:stable;
}

@media (min-width:1181px){

  .topbar{
    width:100%!important;
    height:72px!important;
    min-height:72px!important;

    display:grid!important;
    grid-template-columns:290px minmax(0,1fr) 215px 54px!important;
    grid-template-rows:72px!important;

    align-items:stretch!important;
    overflow:hidden!important;
  }

  .topbar > .brand{
    grid-column:1!important;
    grid-row:1!important;

    width:auto!important;
    min-width:0!important;
    height:72px!important;

    margin:0!important;
    padding:0 16px!important;

    display:flex!important;
    align-items:center!important;
    gap:10px!important;

    border-right:1px solid #183049!important;
    overflow:hidden!important;
  }

  .topbar > .brand .brand-mark-wrap{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    flex:0 0 42px!important;

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

  .topbar > .brand .brand-mark{
    display:block!important;
    width:42px!important;
    height:42px!important;
    max-width:42px!important;
    object-fit:contain!important;
  }

  .topbar > .brand > span:last-child{
    min-width:0!important;
  }

  .topbar > .brand b{
    display:block!important;
    font-size:20px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  .topbar > .brand small{
    display:block!important;
    margin-top:2px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }

  .topbar > .mobile-menu-btn{
    display:none!important;
  }

  .topbar > .nav{
    position:static!important;

    grid-column:2!important;
    grid-row:1!important;

    width:100%!important;
    min-width:0!important;
    height:72px!important;

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

    gap:0!important;
    margin:0!important;
    padding:0!important;

    overflow:hidden!important;
  }

  .topbar > .nav a{
    flex:0 1 auto!important;

    min-width:0!important;
    height:72px!important;

    padding:0 clamp(6px,.6vw,12px)!important;

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

    font-size:13px!important;
    line-height:1.15!important;
    white-space:nowrap!important;

    border-bottom:3px solid transparent!important;
  }

  .topbar > .nav a:hover,
  .topbar > .nav a.active{
    border-bottom-color:#2588ff!important;
  }

  .topbar > .worker-health{
    position:static!important;

    grid-column:3!important;
    grid-row:1!important;

    width:auto!important;
    min-width:0!important;
    height:72px!important;

    margin:0!important;
    padding:0 9px!important;

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

    overflow:hidden!important;
    white-space:nowrap!important;
  }

  .topbar > .worker-health span{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }

  .topbar > .worker-health small{
    display:none!important;
  }

  .topbar > .lang-switch{
    position:static!important;

    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    grid-column:4!important;
    grid-row:1!important;

    justify-self:center!important;
    align-self:center!important;

    display:grid!important;
    place-items:center!important;

    width:42px!important;
    height:36px!important;

    margin:0!important;
    padding:0!important;

    border:1px solid #35516d!important;
    border-radius:999px!important;

    background:#0a1929!important;
    color:#dcebf6!important;

    font-size:12px!important;
    font-weight:700!important;

    z-index:50!important;
  }
}


/* Small laptop/tablet: use hamburger instead of crushing German labels */
@media (min-width:901px) and (max-width:1180px){

  .topbar{
    width:100%!important;
    height:68px!important;
    min-height:68px!important;

    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px 52px!important;
    grid-template-rows:68px!important;

    align-items:center!important;
    overflow:visible!important;
  }

  .topbar > .brand{
    grid-column:1!important;
    min-width:0!important;
    height:68px!important;
    padding:0 12px!important;
    overflow:hidden!important;
  }

  .topbar > .worker-health{
    display:none!important;
  }

  .topbar > .mobile-menu-btn{
    display:flex!important;
    grid-column:2!important;
    width:40px!important;
    height:40px!important;
    margin:0!important;
    justify-self:center!important;
    align-self:center!important;
  }

  .topbar > .lang-switch{
    position:static!important;
    grid-column:3!important;
    width:42px!important;
    height:36px!important;
    margin:0!important;
    justify-self:center!important;
    align-self:center!important;
  }

  .topbar > .nav{
    display:none!important;
    position:absolute!important;
    top:68px!important;
    left:0!important;
    right:0!important;
    width:100%!important;

    padding:8px!important;
    background:#071522!important;

    z-index:1000!important;
  }

  .topbar.menu-open > .nav{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .topbar > .nav a{
    min-height:46px!important;
    padding:0 14px!important;

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

    font-size:14px!important;
  }
}

