/* ---------------------------------------------------------- */
/* GLOBAL ANIMATIONS */
/* ---------------------------------------------------------- */

.fade-in {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInAnim 1s ease forwards;
}
@keyframes fadeInAnim {
    to { opacity: 1; transform: translateY(0); }
}

.section-appear {
    opacity: 0;
    transform: translateY(40px);
    animation: sectionShow 0.9s ease forwards;
}
@keyframes sectionShow {
    to { opacity: 1; transform: translateY(0); }
}

/* ---------------------------------------------------------- */
/* NAVIGATION DESKTOP */
/* ---------------------------------------------------------- */

nav {
    position: sticky;
    top: 0;
    z-index: 2000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 30px;
    background: rgba(20, 30, 50, 0.35);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(80, 140, 255, 0.18);
    box-shadow: 0 4px 20px rgba(0, 30, 80, 0.25);
}

nav.scrolled {
    padding: 8px 30px;
    background: rgba(22, 32, 48, 0.45);
}

.nav-left {
    display: flex;
    gap: 34px;
}

.nav-right {
    display:flex;
    align-items:center;
    gap:20px;
}

.nav-left a,
.nav-right a {
    color: #e3ecff;
    text-decoration: none;
    font-size: 1.02rem;
    font-weight: 500;
    transition: color .25s ease;
}
.nav-left a:hover,
.nav-right a:hover {
    color: #72b4ff;
}

/* USER NAME */
.nav-hello {
    color:#e3ecff;
    margin-left:24px;
    font-weight:600;
    font-size:0.95rem;
    opacity:0.9;
    white-space:nowrap;
}

/* USER AVATAR */
.nav-avatar {
    width:34px;
    height:34px;
    border-radius:50%;
    background:#38bdf8;
    color:#0f172a;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    box-shadow:0 0 8px rgba(56,189,248,0.4);
    font-size:1rem;
}

.nav-caret {
    font-size:0.8rem;
    opacity:0.85;
}

/* USER DROPDOWN */
.nav-user.dropdown {
    position:relative;
}

.dropdown-trigger {
    display:flex;
    align-items:center;
    gap:10px;
    background:transparent;
    border:none;
    color:#e3ecff;
    font:inherit;
    cursor:pointer;
    padding:0;
}

/* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â Pfeil-Icon (Arrow) im Trigger ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“ DARK DEFAULT */
.dropdown-trigger .icon {
    width: 16px;
    height: 16px;
}

/* ganz wichtig: den path direkt anfassen */
.dropdown-trigger .icon path {
    stroke: #e3ecff;
    stroke-width: 2;
    fill: none;
}

/* DROPDOWN MENÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ */
/* DROPDOWN MENÃƒÅ“ */
.dropdown-menu {
    position: absolute;
    top: 110%;
    right: -8px; /* Perfekte Position Ã¢â‚¬â€œ leicht nach rechts verschoben */
    background: #020617;
    border: 1px solid rgba(148,163,184,0.3);
    border-radius: 12px;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 260px;
    box-shadow: 0 18px 45px rgba(15,23,42,0.9);
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
    z-index: 2500;
}

.dropdown.open .dropdown-menu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 10px;
    color: #e5e7eb;
    text-decoration: none;
    font-size: 0.95rem;
}

/* Modern Icons im Dropdown */
.dropdown-menu .icon {
    width: 19px;
    height: 19px;
    stroke: #e5e7eb;
    stroke-width: 1.6;
    fill: none;
}
.dropdown-menu a:hover .icon {
    stroke: #38bdf8;
}

.dropdown-menu a:hover {
    background: rgba(15,23,42,0.96);
    color: #38bdf8;
}

/* Sub notifications */
.dropdown-sub {
    margin-top: 4px;
    padding-top: 6px;
    border-top: 1px solid rgba(148,163,184,0.25);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dropdown-sub-item {
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 0.88rem;
    color: #e5e7eb;
}
.dropdown-sub-item:hover {
    background: rgba(15,23,42,0.9);
    color: #38bdf8;
}

.dropdown-sub-empty-text {
    font-size: 0.8rem;
    opacity: 0.7;
}

.notify-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:1.4rem;
    padding:0 0.45rem;
    border-radius:999px;
    font-size:0.75rem;
    font-weight:600;
    background:#ef4444;
    color:#fff;
}

/* ---------------------------------------------------------- */
/* HERO HEADER */
/* ---------------------------------------------------------- */

.header-logo {
    width: 420px !important;
    max-width: 80vw;
    margin-bottom: 0.4rem;
    filter: drop-shadow(0 0 35px rgba(59,130,246,0.8));
    animation: logoFade 2.2s ease forwards;
}
@keyframes logoFade {
    from { opacity:0; transform: scale(0.95); }
    to   { opacity:1; transform: scale(1); }
}

.hero-header {
    position: relative;
    overflow: hidden;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
}

.hero-header::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.25);
    z-index: 1;
}

.hero-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 30% 20%, rgba(59,130,246,0.20), transparent 60%),
        radial-gradient(circle at 70% 80%, rgba(0,212,255,0.14), transparent 60%);
    filter: blur(20px);
    animation: auroraMove 18s ease-in-out infinite alternate;
    z-index: 0;
}

@keyframes auroraMove {
    0%   { transform: translateX(-20px) translateY(-10px) scale(1); opacity: 0.35; }
    50%  { transform: translateX(20px) translateY(20px) scale(1.1); opacity: 0.45; }
    100% { transform: translateX(-10px) translateY(0px) scale(1.05); opacity: 0.35; }
}

.hero-header * {
    position: relative;
    z-index: 2;
}

.hero-header p {
    font-size: 1.15rem;
    opacity: .85;
    margin-top: -22px;
    margin-bottom: 4px;
    text-transform: none;
}

/* ---------------------------------------------------------- */
/* MOBILE BURGER MENU */
/* ---------------------------------------------------------- */

#burger-btn {
    display:none;
    cursor:pointer;
    flex-direction:column;
    gap:5px;
    width:32px;
    z-index:3000;
}

#burger-btn div {
    height:3px;
    background:#e3ecff;
    border-radius:3px;
    transition:0.3s ease;
}

#burger-btn.open div:nth-child(1) { transform:rotate(45deg) translateY(7px); }
#burger-btn.open div:nth-child(2) { opacity:0; }
#burger-btn.open div:nth-child(3) { transform:rotate(-45deg) translateY(-7px); }

/* MOBILE MENU */
.mobile-menu {
    position:fixed;
    top:56;
    right:-100%;
    width:75%;
    max-width:330px;
    height:100vh;
    background:rgba(15,23,42,0.98);
    backdrop-filter:blur(10px);
    padding:28px 22px 20px;
    display:flex;
    flex-direction:column;
    gap:16px;
    transition:right 0.35s ease;
    z-index:4000;
    box-shadow:-8px 0 25px rgba(0,0,0,0.7);
}
.mobile-menu.open { right:0; }

.mobile-menu a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:9px 0;
    color:#e5e7eb;
    border-bottom:1px solid rgba(148,163,184,0.25);
    text-decoration:none;
    font-size:1rem;
}

/* MOBILE USER-INFO */
.mobile-user {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:10px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(148,163,184,0.35);
}

/* Mobile-Link-Text */
.mobile-link-main {
    display:inline-flex;
    align-items:center;
    gap:8px;
}

/* ---------------------------------------------------------- */
/* THEME TOGGLE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“ DESKTOP */
/* ---------------------------------------------------------- */

.theme-toggle {
    position: relative;
    width: 64px;
    height: 30px;
    margin-left: 10px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(148,163,184,0.7);
    background: radial-gradient(circle at 0% 0%, #1e293b, #020617);
    box-shadow:
        0 0 0 1px rgba(15,23,42,0.7),
        0 0 18px rgba(37,99,235,0.35);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
}

.theme-track {
    position:absolute;
    inset:0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(15,23,42,1), rgba(30,64,175,0.9));
    opacity:0.9;
}

.theme-thumb {
    position: absolute;
    left: 3px;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 20%, #38bdf8, #0ea5e9);
    box-shadow:
        0 0 12px rgba(56,189,248,0.9),
        0 0 30px rgba(37,99,235,0.7);
    display:flex;
    align-items:center;
    justify-content:center;
    transition: transform .22s ease-out, background .25s ease-out, box-shadow .25s ease-out;
    transform: translateX(0);
}

/* Icon (Emoji) im Switch */
.theme-icon {
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size: 14px;
    transition: opacity .2s ease-out, transform .2s ease-out;
}

.theme-icon-sun {
    opacity:0;
    transform: translateY(4px) scale(0.7);
}

.theme-icon-moon {
    opacity:1;
    transform: translateY(0) scale(1);
}

/* ---------------------------------------------------------- */
/* THEME TOGGLE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“ MOBILE WRAPPER + MINI SWITCH */
/* ---------------------------------------------------------- */

.theme-toggle-mobile {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid rgba(148,163,184,0.35);
    border-radius: 999px;
    background: transparent;
    color: #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.theme-toggle-mini {
    position: relative;
    width: 54px;
    height: 26px;
    border-radius: 999px;
    border: 1px solid rgba(148,163,184,0.7);
    background: radial-gradient(circle at 0% 0%, #1e293b, #020617);
    box-shadow:
        0 0 0 1px rgba(15,23,42,0.7),
        0 0 14px rgba(37,99,235,0.35);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.theme-track-mini {
    position:absolute;
    inset:0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(15,23,42,1), rgba(30,64,175,0.9));
    opacity:0.9;
}

.theme-thumb-mini {
    position: absolute;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 20%, #38bdf8, #0ea5e9);
    box-shadow:
        0 0 10px rgba(56,189,248,0.9),
        0 0 22px rgba(37,99,235,0.7);
    display:flex;
    align-items:center;
    justify-content:center;
    transition: transform .22s ease-out, background .25s ease-out, box-shadow .25s.ease-out;
    transform: translateX(0);
}

/* ---------------------------------------------------------- */
/* LIGHT MODE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“ ANIMATION & FARBEN */
/* ---------------------------------------------------------- */

:root.light .theme-toggle {
    background: radial-gradient(circle at 100% 0%, #eab308, #fefce8);
    border-color: rgba(148,163,184,0.5);
    box-shadow:
        0 0 0 1px rgba(148,163,184,0.5),
        0 0 22px rgba(234,179,8,0.65);
}

:root.light .theme-thumb {
    transform: translateX(32px);
    background: radial-gradient(circle at 30% 20%, #f97316, #eab308);
    box-shadow:
        0 0 12px rgba(251,191,36,0.9),
        0 0 26px rgba(252,211,77,0.7);
}

:root.light .theme-thumb-mini {
    transform: translateX(26px);
    background: radial-gradient(circle at 30% 20%, #f97316, #eab308);
    box-shadow:
        0 0 10px rgba(251,191,36,0.9),
        0 0 20px rgba(252,211,77,0.7);
}

/* Icons im Light-Mode tauschen */
:root.light .theme-icon-moon {
    opacity:0;
    transform: translateY(-4px) scale(0.6);
}

:root.light .theme-icon-sun {
    opacity:1;
    transform: translateY(0) scale(1);
}

/* HEADER LIGHT COLORS */
:root.light nav {
    background:rgba(255,247,230,0.92);
    border-bottom-color:rgba(15,23,42,0.12);
    box-shadow:0 8px 24px rgba(15,23,42,0.1);
}

:root.light nav.scrolled {
    background:rgba(255,245,224,0.97);
}

:root.light .nav-left a,
:root.light .nav-right a,
:root.light .nav-hello,
:root.light .nav-caret {
    color:#3d3d3d;
}

/* MOBILE LIGHT COLORS */
:root.light .mobile-menu {
    background:rgba(255,248,235,0.98);
    box-shadow:-8px 0 24px rgba(15,23,42,0.15);
}

:root.light .mobile-menu a {
    color:#1f2933;
    border-bottom-color:rgba(15,23,42,0.10);
}

/* ---------------------------------------------------------- */
/* FIX: LIGHT MODE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“ DROPDOWN DESIGN */
/* ---------------------------------------------------------- */

:root.light .dropdown-menu {
    background: #fffdf9;
    border-color: rgba(0,0,0,0.12);
    box-shadow: 0 12px 28px rgba(0,0,0,0.12);
}

:root.light .dropdown-menu a {
    color: #1f2937;
}

:root.light .dropdown-menu a:hover {
    background: rgba(255, 237, 213, 0.7);
    color: #d97706;
}

:root.light .dropdown-menu .icon {
    stroke: #374151;
}

:root.light .dropdown-menu a:hover .icon {
    stroke: #d97706;
}

:root.light .dropdown-sub-item {
    color: #374151;
}

:root.light .dropdown-sub-item:hover {
    background: rgba(255, 237, 213, 0.7);
    color: #d97706;
}

:root.light .dropdown-sub-empty-text {
    color: #6b7280;
}

/* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â­ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â Pfeil im LIGHT MODE dunkler machen */
:root.light .dropdown-trigger .icon path {
    stroke: #3d3d3d;
}

/* ---------------------------------------------------------- */
/* RESPONSIVE */
/* ---------------------------------------------------------- */

@media (max-width: 820px) {
    .nav-left { display:none; }
    .nav-right { display:none; }
    #burger-btn { display:flex; }
}

/* ---------------------------------------------------------- */
/* MODERNES GLAS-DROPDOWN ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œ FULL REDESIGN */
/* ---------------------------------------------------------- */

.dropdown-menu {
    position: absolute;
    top: 110%;
    right: 0;
    min-width: 260px;

    /* ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â°ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¸ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¸ Glas-Effekt */
    background: rgba(10, 20, 35, 0.55);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);

    border: 1px solid rgba(148,163,184,0.25);
    border-radius: 18px;

    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;

    box-shadow:
        0 15px 40px rgba(0,0,0,0.65),
        inset 0 0 25px rgba(59,130,246,0.15);

    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    z-index: 3000;
}

.dropdown.open .dropdown-menu {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* MenÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¼punkt */
.dropdown-menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 12px;

    background: rgba(255,255,255,0.02);
    transition: background 0.25s ease, color 0.25s ease;
    text-decoration: none;
    font-size: 0.95rem;
    color: #e5e7eb;
}

/* Hover */
.dropdown-menu a:hover {
    background: rgba(56,189,248,0.12);
    color: #38bdf8;
}

/* Icons */
.dropdown-menu .icon {
    width: 20px;
    height: 20px;
    stroke-width: 1.8;
    stroke: #e5e7eb;
    opacity: 0.9;
}

.dropdown-menu a:hover .icon {
    stroke: #38bdf8;
}

/* Abschnittstitel */
.dropdown-sub-title {
    margin: 4px 6px;
    margin-top: 10px;
    font-size: 0.82rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-weight: 700;
    color: #87b8ff;
    opacity: 0.75;
}

/* Liste der einzelnen Punkte */
.dropdown-sub-item {
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 0.88rem;
    background: rgba(255,255,255,0.03);
    transition: background .25s ease, color .25s ease;
    color: #e5e7eb;
}
.dropdown-sub-item:hover {
    background: rgba(56,189,248,0.13);
    color: #38bdf8;
}

/* Leeres Feld */
.dropdown-sub-empty {
    padding: 6px 12px;
    opacity: 0.7;
}

.dropdown-sub-empty-text {
    font-size: 0.82rem;
}

/* ---------------------------------------------------------- */
/* LIGHT MODE ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ Glas + Soft Shadow */
/* ---------------------------------------------------------- */

:root.light .dropdown-menu {
    background: rgba(255,255,255,0.75);
    border-color: rgba(0,0,0,0.12);
    backdrop-filter: blur(18px) saturate(180%);
    -webkit-backdrop-filter: blur(18px) saturate(180%);
    box-shadow: 0 15px 34px rgba(0,0,0,0.16);
}

:root.light .dropdown-menu a {
    color: #1f2937;
}

:root.light .dropdown-menu a:hover {
    background: rgba(59,130,246,0.12);
    color: #2563eb;
}

:root.light .dropdown-menu .icon {
    stroke: #374151;
}

:root.light .dropdown-menu a:hover .icon {
    stroke: #2563eb;
}

:root.light .dropdown-sub-title {
    color: #2563eb !important;
}

:root.light .dropdown-sub-item {
    color: #1f2937;
}

:root.light .dropdown-sub-item:hover {
    background: rgba(59,130,246,0.12);
    color: #2563eb;
}

/* ---------------------------------------------------------- */
/* RED BADGE STYLE FOR NEW MESSAGES (matches invoice "offen") */
/* ---------------------------------------------------------- */

.dropdown-sub-item .msg-new {
    color: #ef4444;             /* Rot wie Rechnungen */
    font-weight: 700;
    margin-left: 6px;
}

/* Optional: leichte Hervorhebung der Chat-Zeile */
.dropdown-sub-item:hover .msg-new {
    color: #f87171;
}

/* ÃƒÆ’Ã‚Â°Ãƒâ€¦Ã‚Â¸ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â€šÂ¬Ã‚Â Benachrichtigungs-Glocke */
.notify-bell {
    font-size: 1.3rem;
    margin-left: 10px;
    color: #ef4444;
    position: relative;
    animation: bellPulse 1.4s infinite ease-in-out;
    filter: drop-shadow(0 0 6px rgba(239,68,68,0.75));
    cursor: pointer;
}

@keyframes bellPulse {
    0%   { transform: scale(1);   opacity: 1; }
    50%  { transform: scale(1.25); opacity: 0.75; }
    100% { transform: scale(1);   opacity: 1; }
}

/* ============================================= */
/* MOBILE APP-STYLE MENÃœ (B1)                   */
/* ============================================= */

.mobile-menu {
    position: fixed;
    top: 56;
    right: -100%;
    width: 78%;
    max-width: 360px;
    height: 100vh;
    background: rgba(15,23,42,0.98);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: 26px 18px 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: right 0.35s ease;
    z-index: 4000;
    box-shadow: -10px 0 30px rgba(0,0,0,0.75);
}

.mobile-menu.open {
    right: 0;
}

/* Benutzer-Karte oben */
.mobile-user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 18px;
    background: radial-gradient(circle at 0% 0%, rgba(56,189,248,0.2), rgba(15,23,42,0.95));
    border: 1px solid rgba(148,163,184,0.4);
    box-shadow:
        0 10px 25px rgba(15,23,42,0.9),
        0 0 20px rgba(56,189,248,0.4);
}

.mobile-user-text {
    flex: 1;
}

.mobile-user-name {
    font-weight: 600;
    font-size: 1rem;
    color: #e5e7eb;
}

.mobile-user-sub {
    font-size: 0.8rem;
    color: rgba(226,232,240,0.75);
}

/* Glocke im Mobile MenÃ¼ */
.mobile-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #f97373;
    width: 26px;
    height: 26px;
}

.mobile-bell svg {
    width: 22px;
    height: 22px;
}

.mobile-badge {
    position: absolute;
    top: -4px;
    right: -6px;
    background: #ef4444;
    color: #fff;
    min-width: 16px;
    height: 16px;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Sektionen (Karten) */
.mobile-section {
    background: rgba(15,23,42,0.9);
    border-radius: 18px;
    padding: 10px 10px 8px;
    border: 1px solid rgba(148,163,184,0.28);
    box-shadow: 0 10px 24px rgba(0,0,0,0.55);
}

.mobile-section-title {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #93c5fd;
    opacity: 0.9;
    padding: 6px 6px 12px;
}


/* Untertitel innerhalb einer Section */
.mobile-subtitle {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: rgba(209,213,219,0.85);
    margin: 4px 4px 4px;
}

/* EintrÃ¤ge */
.mobile-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 10px;   /* vorher 9px */
    border-radius: 16px;
    text-decoration: none;
    color: #e5e7eb;
    transition: background 0.22s ease, transform 0.22s ease;
    margin-bottom: 4px;
    font-size: 1.08rem;   /* ⭐ WICHTIG */
}

.mobile-item:last-child {
    margin-bottom: 0;
}

.mobile-item:hover {
    background: rgba(56,189,248,0.12);
    transform: translateY(-1px);
}

/* Text + Icon links */
.mobile-link-main {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

/* Kleine farbige Pills rechts (neu/offen/wartend) */
.mobile-pill {
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.mobile-pill-red {
    background: rgba(248,113,113,0.12);
    color: #fca5a5;
    border-color: rgba(248,113,113,0.55);
}

.mobile-pill-amber {
    background: rgba(251,191,36,0.12);
    color: #fbbf24;
    border-color: rgba(251,191,36,0.55);
}

/* Icons im Mobile MenÃ¼ */
.mobile-item .icon,
.theme-toggle-mobile .icon {
    width: 24px;          /* vorher 20px */
    height: 24px;
    stroke-width: 1.8;
    stroke: #e5e7eb;
    opacity: 0.95;
}

/* Design-Button im mobilen MenÃ¼ */
.theme-toggle-mobile {
    width: 100%;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid rgba(148,163,184,0.4);
    background: rgba(15,23,42,0.9);
    color: #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    margin-bottom: 4px;
    font-size: 0.94rem;
}

/* Light Mode Anpassungen fÃ¼rs Mobile MenÃ¼ */
:root.light .mobile-menu {
    background: rgba(255,248,235,0.98);
    box-shadow: -8px 0 24px rgba(15,23,42,0.15);
}

:root.light .mobile-user {
    background: radial-gradient(circle at 0% 0%, rgba(59,130,246,0.20), #f9fafb);
    border-color: rgba(148,163,184,0.5);
    box-shadow: 0 10px 25px rgba(15,23,42,0.12);
}

:root.light .mobile-user-name {
    color: #111827;
}

:root.light .mobile-user-sub {
    color: #6b7280;
}

:root.light .mobile-section {
    background: #fefce8;
    border-color: rgba(148,163,184,0.35);
    box-shadow: 0 10px 22px rgba(15,23,42,0.08);
}

:root.light .mobile-section-title {
    color: #2563eb;
}

:root.light .mobile-item {
    color: #111827;
}

:root.light .mobile-item:hover {
    background: rgba(59,130,246,0.08);
}

:root.light .theme-toggle-mobile {
    background: #fff7ed;
    border-color: rgba(148,163,184,0.6);
    color: #1f2933;
}

/* ===================================== */
/* AKTIVE NAVIGATION – STARTSEITE ANKER */
/* ===================================== */

.nav-link.active {
    color: #38bdf8;
    font-weight: 600;
    opacity: 1;
    position: relative;
}

.nav-link.active::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #38bdf8, transparent);
    border-radius: 999px;
}