@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    background: #03050c;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    overflow-x: hidden;
}

.hidden {
    display: none !important;
}

.nv-bg {
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 15% 10%, rgba(0, 140, 255, .35), transparent 34%),
        radial-gradient(circle at 85% 20%, rgba(139, 92, 246, .28), transparent 32%),
        radial-gradient(circle at 50% 95%, rgba(239, 68, 68, .18), transparent 34%),
        linear-gradient(135deg, #02040a, #07111f 45%, #03050c);
}

.nv-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 46px 46px;
    opacity: .4;
    mask-image: linear-gradient(to bottom, #000, transparent);
}

.nv-topbar {
    width: calc(100% - 48px);
    margin: 24px;
    padding: 18px 24px;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(5, 10, 22, .72);
    backdrop-filter: blur(18px);
    box-shadow: 0 25px 80px rgba(0,0,0,.45);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nv-brand {
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
    letter-spacing: 3px;
    font-weight: 700;
}

.nv-brand span {
    color: #4da3ff;
}

.nv-topbar nav {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.nv-topbar nav a {
    color: #dbeafe;
    text-decoration: none;
    padding: 11px 17px;
    border-radius: 15px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    font-weight: 700;
    transition: .2s ease;
}

.nv-topbar nav a:hover {
    transform: translateY(-2px);
    background: rgba(77,163,255,.18);
}

.nv-topbar nav a.danger {
    color: #ffb4c0;
    background: rgba(239,68,68,.14);
}

.nv-page {
    width: min(1180px, calc(100% - 32px));
    margin: 42px auto 90px;
}

.nv-apply-shell {
    display: grid;
    gap: 24px;
}

.nv-apply-hero {
    min-height: 360px;
    padding: 60px;
    border-radius: 38px;
    border: 1px solid rgba(255,255,255,.14);
    background:
        linear-gradient(135deg, rgba(7, 14, 31, .92), rgba(14, 23, 44, .72)),
        radial-gradient(circle at top right, rgba(77,163,255,.30), transparent 35%),
        radial-gradient(circle at bottom left, rgba(124,58,237,.24), transparent 35%);
    box-shadow: 0 35px 120px rgba(0,0,0,.55);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.nv-apply-hero::before {
    content: "APPLICATION";
    position: absolute;
    right: -30px;
    bottom: -30px;
    font-family: 'Oswald', sans-serif;
    font-size: 130px;
    font-weight: 700;
    letter-spacing: 8px;
    color: rgba(255,255,255,.035);
}

.nv-eyebrow {
    color: #4da3ff;
    letter-spacing: 4px;
    font-weight: 900;
    font-size: 13px;
    text-transform: uppercase;
    margin: 0 0 14px;
}

.nv-apply-hero h1 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(48px, 7vw, 96px);
    line-height: .9;
    margin: 0 0 20px;
    text-transform: uppercase;
}

.nv-apply-hero p {
    max-width: 760px;
    color: #cbd5e1;
    font-size: 18px;
    line-height: 1.7;
}

.nv-form {
    display: grid;
    gap: 24px;
}

.nv-glass-block {
    padding: 28px;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.13);
    background:
        linear-gradient(135deg, rgba(8, 15, 31, .84), rgba(8, 12, 24, .68)),
        rgba(255,255,255,.03);
    backdrop-filter: blur(18px);
    box-shadow: 0 24px 80px rgba(0,0,0,.38);
    animation: nvFade .28s ease both;
}

@keyframes nvFade {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.99);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.nv-block-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}

.nv-block-title span {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    font-weight: 900;
    box-shadow: 0 16px 35px rgba(0,119,255,.24);
}

.nv-block-title h2 {
    margin: 0;
    font-family: 'Oswald', sans-serif;
    font-size: 34px;
    text-transform: uppercase;
}

.nv-block-title.red span {
    background: linear-gradient(135deg, #ef4444, #7f1d1d);
}

.nv-block-title.blue span {
    background: linear-gradient(135deg, #3b82f6, #1e3a8a);
}

.nv-block-title.green span {
    background: linear-gradient(135deg, #22c55e, #166534);
}

.nv-block-title.purple span {
    background: linear-gradient(135deg, #8b5cf6, #4c1d95);
}

.nv-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.nv-form label {
    display: grid;
    gap: 9px;
    margin-bottom: 18px;
    color: #dbeafe;
    font-weight: 800;
}

.nv-main-select {
    font-size: 18px;
}

input,
select,
textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(0,0,0,.32);
    color: #fff;
    border-radius: 18px;
    padding: 16px 18px;
    outline: none;
    font-family: inherit;
    font-size: 15px;
    transition: .2s ease;
}

select {
    cursor: pointer;
}

textarea {
    min-height: 150px;
    resize: vertical;
}

input::placeholder,
textarea::placeholder {
    color: rgba(203,213,225,.48);
}

input:focus,
select:focus,
textarea:focus {
    border-color: #4da3ff;
    box-shadow: 0 0 0 4px rgba(77,163,255,.14);
    background: rgba(0,0,0,.42);
}

.nv-upload-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.nv-upload-card {
    margin: 0 !important;
    min-height: 190px;
    border-radius: 26px;
    border: 1px dashed rgba(147,197,253,.42);
    background:
        radial-gradient(circle at top, rgba(77,163,255,.16), transparent 48%),
        rgba(255,255,255,.045);
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    padding: 24px;
}

.nv-upload-card:hover {
    transform: translateY(-4px);
    border-color: #4da3ff;
    background:
        radial-gradient(circle at top, rgba(77,163,255,.28), transparent 48%),
        rgba(255,255,255,.07);
}

.nv-upload-card input {
    display: none;
}

.nv-upload-card strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 25px;
    text-transform: uppercase;
}

.nv-upload-card span {
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.5;
}

.nv-upload-card.has-file {
    border-style: solid;
    border-color: rgba(34,197,94,.65);
    background:
        radial-gradient(circle at top, rgba(34,197,94,.20), transparent 48%),
        rgba(255,255,255,.055);
}

.nv-submit {
    width: 100%;
    border: 0;
    border-radius: 24px;
    padding: 20px 26px;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    background:
        linear-gradient(135deg, #0077ff, #7c3aed 55%, #ef4444);
    box-shadow: 0 22px 55px rgba(0,119,255,.35);
    transition: .2s ease;
}

.nv-submit:hover {
    transform: translateY(-4px);
    box-shadow: 0 30px 80px rgba(124,58,237,.40);
}

.nv-alert {
    padding: 18px 20px;
    border-radius: 20px;
    font-weight: 800;
    border: 1px solid rgba(255,255,255,.12);
}

.nv-alert.success {
    background: rgba(34,197,94,.15);
    color: #86efac;
    border-color: rgba(34,197,94,.35);
}

.nv-alert.error {
    background: rgba(239,68,68,.15);
    color: #fca5a5;
    border-color: rgba(239,68,68,.35);
}

.detail-files {
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.1);
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.detail-files h3 {
    width: 100%;
    margin: 0 0 8px;
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
}

.file-btn {
    color: #fff;
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    font-weight: 800;
}

@media (max-width: 900px) {
    .nv-topbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .nv-apply-hero {
        padding: 38px 24px;
    }

    .nv-grid-2,
    .nv-upload-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   MY APPLICATIONS NEXO STYLE
========================= */

.my-hero {
    min-height: 360px;
    padding: 58px;
    border-radius: 38px;
    border: 1px solid rgba(255,255,255,.14);
    background:
        linear-gradient(135deg, rgba(7, 14, 31, .94), rgba(14, 23, 44, .72)),
        radial-gradient(circle at top right, rgba(77,163,255,.30), transparent 35%),
        radial-gradient(circle at bottom left, rgba(124,58,237,.22), transparent 35%);
    box-shadow: 0 35px 120px rgba(0,0,0,.55);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    position: relative;
    overflow: hidden;
    margin-bottom: 24px;
}

.my-hero::before {
    content: "APPLICATIONS";
    position: absolute;
    right: -35px;
    bottom: -38px;
    font-family: 'Oswald', sans-serif;
    font-size: 120px;
    font-weight: 700;
    letter-spacing: 8px;
    color: rgba(255,255,255,.035);
    pointer-events: none;
}

.my-hero h1 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(48px, 7vw, 92px);
    line-height: .9;
    margin: 0 0 18px;
    text-transform: uppercase;
}

.my-hero p {
    color: #cbd5e1;
    font-size: 18px;
    line-height: 1.7;
    max-width: 760px;
    margin: 0;
}

.my-profile-box {
    min-width: 280px;
    padding: 18px;
    border-radius: 24px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    display: flex;
    align-items: center;
    gap: 16px;
    backdrop-filter: blur(12px);
    z-index: 2;
}

.my-profile-box img {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    object-fit: cover;
    border: 2px solid rgba(77,163,255,.55);
}

.my-profile-box strong {
    display: block;
    color: #fff;
    font-size: 17px;
}

.my-profile-box span {
    color: #94a3b8;
    font-size: 12px;
}

.my-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.my-stat-card {
    padding: 24px;
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(8, 15, 31, .84), rgba(8, 12, 24, .66)),
        rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.32);
}

.my-stat-card span {
    color: #94a3b8;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 900;
}

.my-stat-card strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 46px;
    margin-top: 8px;
}

.my-app-grid {
    display: grid;
    gap: 24px;
}

.my-app-card {
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(8, 15, 31, .76);
    box-shadow: 0 28px 90px rgba(0,0,0,.42);
    backdrop-filter: blur(18px);
    position: relative;
}

.my-app-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .45;
}

.my-app-card.type-bad_fraktion::before {
    background: radial-gradient(circle at top right, rgba(239,68,68,.22), transparent 34%);
}

.my-app-card.type-staatsfraktion::before {
    background: radial-gradient(circle at top right, rgba(59,130,246,.24), transparent 34%);
}

.my-app-card.type-unternehmen::before {
    background: radial-gradient(circle at top right, rgba(34,197,94,.22), transparent 34%);
}

.my-card-banner {
    height: 230px;
    position: relative;
    overflow: hidden;
    background: #050812;
}

.my-card-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .82;
}

.my-card-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, transparent, rgba(5,8,18,.95)),
        linear-gradient(90deg, rgba(0,0,0,.45), transparent);
}

.empty-banner {
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at center, rgba(77,163,255,.20), transparent 38%),
        linear-gradient(135deg, #07111f, #03050c);
}

.empty-banner span {
    font-family: 'Oswald', sans-serif;
    font-size: 64px;
    letter-spacing: 8px;
    color: rgba(255,255,255,.08);
}

.my-card-body {
    position: relative;
    z-index: 2;
    padding: 28px;
}

.my-card-head {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    align-items: center;
    margin-top: -72px;
    margin-bottom: 24px;
}

.my-logo-wrap {
    width: 110px;
    height: 110px;
    border-radius: 30px;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    border: 3px solid rgba(255,255,255,.16);
    box-shadow: 0 20px 55px rgba(0,0,0,.45);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.my-logo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.my-logo-wrap span {
    font-family: 'Oswald', sans-serif;
    font-size: 54px;
    font-weight: 700;
}

.my-head-info h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 42px;
    margin: 8px 0 8px;
    line-height: 1;
    text-transform: uppercase;
}

.my-head-info p {
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

.my-type-badge,
.my-status {
    display: inline-flex;
    width: fit-content;
    padding: 8px 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.my-type-badge.bad_fraktion {
    background: rgba(239,68,68,.18);
    color: #fca5a5;
}

.my-type-badge.staatsfraktion {
    background: rgba(59,130,246,.18);
    color: #93c5fd;
}

.my-type-badge.unternehmen {
    background: rgba(34,197,94,.18);
    color: #86efac;
}

.my-status {
    align-self: start;
}

.my-status.pending {
    background: rgba(250,204,21,.18);
    color: #fde68a;
}

.my-status.accepted {
    background: rgba(34,197,94,.18);
    color: #86efac;
}

.my-status.rejected {
    background: rgba(239,68,68,.18);
    color: #fca5a5;
}

.my-status.revision {
    background: rgba(59,130,246,.18);
    color: #93c5fd;
}

.my-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

.my-info-grid div {
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.08);
}

.my-info-grid span {
    display: block;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .8px;
    margin-bottom: 5px;
}

.my-info-grid strong {
    color: #fff;
    font-size: 14px;
}

.my-concept-preview {
    padding: 20px;
    border-radius: 22px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 18px;
}

.my-concept-preview h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    margin: 0 0 8px;
}

.my-concept-preview p {
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0;
}

.my-special {
    padding: 18px;
    border-radius: 20px;
    margin-bottom: 18px;
    border: 1px solid rgba(255,255,255,.1);
}

.my-special strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    margin-bottom: 8px;
}

.my-special p {
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

.my-special.red {
    background: rgba(239,68,68,.10);
    border-color: rgba(239,68,68,.32);
}

.my-special.blue {
    background: rgba(59,130,246,.10);
    border-color: rgba(59,130,246,.32);
}

.my-special.green {
    background: rgba(34,197,94,.10);
    border-color: rgba(34,197,94,.32);
}

.my-file-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.my-file-row a {
    color: #fff;
    text-decoration: none;
    padding: 12px 15px;
    border-radius: 14px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
    font-weight: 800;
    transition: .2s ease;
}

.my-file-row a:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #0077ff, #7c3aed);
}

.my-admin-note {
    padding: 20px;
    border-radius: 22px;
    background:
        radial-gradient(circle at top left, rgba(77,163,255,.16), transparent 40%),
        rgba(255,255,255,.055);
    border: 1px solid rgba(77,163,255,.25);
}

.my-admin-note span {
    color: #93c5fd;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 900;
    text-transform: uppercase;
}

.my-admin-note p {
    color: #dbeafe;
    line-height: 1.7;
    margin-bottom: 0;
}

.my-empty {
    min-height: 360px;
    padding: 50px;
    border-radius: 34px;
    background:
        radial-gradient(circle at top, rgba(77,163,255,.20), transparent 42%),
        rgba(8, 15, 31, .78);
    border: 1px solid rgba(255,255,255,.13);
    box-shadow: 0 28px 90px rgba(0,0,0,.42);
    display: grid;
    place-items: center;
    text-align: center;
}

.my-empty-icon {
    width: 92px;
    height: 92px;
    border-radius: 28px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    font-size: 54px;
    font-weight: 900;
    margin-bottom: 18px;
}

.my-empty h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 42px;
    margin: 0 0 8px;
}

.my-empty p {
    color: #94a3b8;
    margin: 0 0 24px;
}

.my-main-btn {
    color: #fff;
    text-decoration: none;
    padding: 15px 22px;
    border-radius: 16px;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    font-weight: 900;
}

@media (max-width: 950px) {
    .my-hero {
        flex-direction: column;
        align-items: flex-start;
        padding: 38px 24px;
    }

    .my-profile-box {
        width: 100%;
        min-width: 0;
    }

    .my-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .my-card-head {
        grid-template-columns: 1fr;
        margin-top: -68px;
    }

    .my-logo-wrap {
        width: 100px;
        height: 100px;
    }

    .my-status {
        align-self: auto;
    }

    .my-info-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .my-stats-grid {
        grid-template-columns: 1fr;
    }

    .my-card-body {
        padding: 20px;
    }

    .my-head-info h2 {
        font-size: 34px;
    }

    .my-card-banner {
        height: 190px;
    }
}

/* =========================
   NEXO V INDEX / HOME
========================= */

.nv-home {
    width: min(1280px, calc(100% - 32px));
    margin: 42px auto 90px;
}

.home-hero {
    min-height: 620px;
    padding: 56px;
    border-radius: 42px;
    border: 1px solid rgba(255,255,255,.14);
    background:
        linear-gradient(135deg, rgba(7, 14, 31, .94), rgba(14, 23, 44, .72)),
        radial-gradient(circle at 20% 20%, rgba(0,119,255,.30), transparent 34%),
        radial-gradient(circle at 88% 18%, rgba(124,58,237,.28), transparent 34%),
        radial-gradient(circle at 80% 90%, rgba(239,68,68,.16), transparent 34%);
    box-shadow: 0 35px 130px rgba(0,0,0,.58);
    display: grid;
    grid-template-columns: 1.4fr .8fr;
    gap: 36px;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.home-hero::before {
    content: "NEXO V";
    position: absolute;
    right: -35px;
    bottom: -45px;
    font-family: 'Oswald', sans-serif;
    font-size: 160px;
    font-weight: 700;
    letter-spacing: 12px;
    color: rgba(255,255,255,.035);
    pointer-events: none;
}

.home-hero-content {
    position: relative;
    z-index: 2;
}

.home-hero h1 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(54px, 8vw, 112px);
    line-height: .88;
    margin: 0 0 24px;
    text-transform: uppercase;
}

.home-hero h1 span {
    color: #4da3ff;
    text-shadow: 0 0 34px rgba(77,163,255,.45);
}

.home-hero-text {
    max-width: 760px;
    color: #cbd5e1;
    font-size: 19px;
    line-height: 1.75;
    margin: 0;
}

.home-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 34px;
}

.home-btn {
    color: #fff;
    text-decoration: none;
    border-radius: 18px;
    padding: 16px 24px;
    font-weight: 900;
    letter-spacing: .4px;
    transition: .2s ease;
    border: 1px solid rgba(255,255,255,.12);
}

.home-btn:hover {
    transform: translateY(-4px);
}

.home-btn.primary {
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    box-shadow: 0 20px 55px rgba(0,119,255,.35);
}

.home-btn.secondary {
    background: rgba(255,255,255,.07);
}

.home-hero-panel {
    position: relative;
    z-index: 2;
    padding: 28px;
    border-radius: 32px;
    background:
        radial-gradient(circle at top, rgba(77,163,255,.18), transparent 45%),
        rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.13);
    backdrop-filter: blur(14px);
    box-shadow: 0 26px 80px rgba(0,0,0,.35);
}

.panel-live {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(34,197,94,.14);
    color: #86efac;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1px;
    margin-bottom: 22px;
}

.panel-live span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 18px #22c55e;
}

.home-hero-panel h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 38px;
    margin: 0 0 20px;
    text-transform: uppercase;
}

.home-status-list {
    display: grid;
    gap: 14px;
}

.home-status-list div {
    padding: 18px;
    border-radius: 22px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,255,255,.09);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.home-status-list span {
    color: #94a3b8;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .8px;
}

.home-status-list strong {
    font-family: 'Oswald', sans-serif;
    font-size: 34px;
}

.home-type-section,
.home-process {
    margin-top: 34px;
}

.section-title {
    margin-bottom: 22px;
}

.section-title h2 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(38px, 5vw, 68px);
    margin: 0;
    text-transform: uppercase;
}

.home-type-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.home-type-card {
    min-height: 390px;
    padding: 30px;
    border-radius: 34px;
    border: 1px solid rgba(255,255,255,.13);
    background:
        linear-gradient(135deg, rgba(8, 15, 31, .84), rgba(8, 12, 24, .66)),
        rgba(255,255,255,.03);
    box-shadow: 0 24px 80px rgba(0,0,0,.38);
    position: relative;
    overflow: hidden;
}

.home-type-card::before {
    content: "";
    position: absolute;
    width: 210px;
    height: 210px;
    right: -70px;
    bottom: -70px;
    border-radius: 50%;
    filter: blur(22px);
    opacity: .45;
}

.home-type-card.red::before {
    background: #ef4444;
}

.home-type-card.blue::before {
    background: #3b82f6;
}

.home-type-card.green::before {
    background: #22c55e;
}

.type-number {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-weight: 900;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
}

.home-type-card h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 38px;
    margin: 34px 0 12px;
    text-transform: uppercase;
}

.home-type-card p {
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0 0 20px;
}

.home-type-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.home-type-card li {
    color: #dbeafe;
    padding: 11px 13px;
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.08);
    font-weight: 700;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.process-card {
    padding: 26px;
    border-radius: 28px;
    background: rgba(8, 15, 31, .78);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.32);
}

.process-card span {
    color: #4da3ff;
    font-weight: 900;
    letter-spacing: 2px;
}

.process-card h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
    margin: 16px 0 8px;
    text-transform: uppercase;
}

.process-card p {
    color: #94a3b8;
    margin: 0;
    line-height: 1.6;
}

@media (max-width: 1050px) {
    .home-hero,
    .home-type-grid,
    .process-grid {
        grid-template-columns: 1fr;
    }

    .home-hero {
        padding: 38px 24px;
    }
}

@media (max-width: 560px) {
    .nv-home {
        width: min(100% - 20px, 1280px);
        margin-top: 24px;
    }

    .home-hero {
        border-radius: 28px;
    }

    .home-hero h1 {
        font-size: 52px;
    }

    .home-type-card,
    .process-card {
        border-radius: 24px;
    }
}

/* =========================
   TYPE SELECT (FINAL CLEAN)
========================= */

.nv-type-select {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
}

/* CARD */
.nv-type-card {
    position: relative;
    height: 340px;
    border-radius: 28px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid rgba(255,255,255,0.08);
    transition: all .3s ease;
    display: block;
}

/* RADIO HIDDEN */
.nv-type-card input {
    display: none;
}

/* BACKGROUND */
.type-bg {
    position: absolute;
    inset: 0;
}

.type-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

/* OVERLAY */
.type-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.9)),
        linear-gradient(120deg, rgba(0,0,0,0.3), transparent);
    transition: .3s ease;
}

/* CONTENT */
.type-content {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    z-index: 2;
}

.type-number {
    font-size: 12px;
    letter-spacing: 2px;
    color: #94a3b8;
    font-weight: 800;
}

.type-content h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    margin: 6px 0;
    text-transform: uppercase;
    transition: .2s;
}

.type-content p {
    color: #cbd5e1;
    font-size: 14px;
}

/* =========================
   HOVER
========================= */

.nv-type-card:hover {
    transform: translateY(-8px) scale(1.02);
}

.nv-type-card:hover .type-bg img {
    transform: scale(1.12);
}

/* HOVER GLOW */
.nv-type-card.red:hover {
    box-shadow: 0 0 60px rgba(239,68,68,.35);
}

.nv-type-card.blue:hover {
    box-shadow: 0 0 60px rgba(59,130,246,.35);
}

.nv-type-card.green:hover {
    box-shadow: 0 0 60px rgba(34,197,94,.35);
}

/* =========================
   SELECTED (FIXED)
========================= */

/* MODERN SELECT */
.nv-type-card:has(input:checked) {
    border-color: rgba(77,163,255,.9);
    box-shadow: 0 0 50px rgba(77,163,255,.45);
    transform: translateY(-6px) scale(1.02);
}

/* TEXT COLOR ACTIVE */
.nv-type-card:has(input:checked) h3 {
    color: #4da3ff;
}

/* OVERLAY ACTIVE */
.nv-type-card:has(input:checked) .type-overlay {
    background:
        linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.9)),
        linear-gradient(120deg, rgba(77,163,255,.35), transparent);
}

/* REMOVE OLD BORDERS */
.nv-type-card input:checked ~ * {
    box-shadow: none !important;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {
    .nv-type-select {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {
    .nv-type-select {
        grid-template-columns: 1fr;
    }

    .nv-type-card {
        height: 260px;
    }
}

/* =========================
   ADMIN TODO CENTER
========================= */

.admin-todo-shell {
    margin: 28px 0;
    padding: 28px;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(77,163,255,.20), transparent 36%),
        linear-gradient(135deg, rgba(8,15,31,.9), rgba(8,12,24,.72));
    border: 1px solid rgba(255,255,255,.13);
    box-shadow: 0 28px 90px rgba(0,0,0,.42);
}

.admin-todo-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 22px;
}

.admin-todo-head h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 42px;
    margin: 4px 0 8px;
    text-transform: uppercase;
}

.admin-todo-head p {
    color: #94a3b8;
    margin: 0;
}

.todo-progress-circle {
    min-width: 118px;
    min-height: 118px;
    border-radius: 32px;
    background:
        radial-gradient(circle at center, rgba(77,163,255,.24), transparent 58%),
        rgba(255,255,255,.06);
    border: 1px solid rgba(77,163,255,.35);
    display: grid;
    place-items: center;
    text-align: center;
    box-shadow: 0 18px 50px rgba(77,163,255,.18);
}

.todo-progress-circle strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 34px;
    line-height: 1;
    color: #93c5fd;
}

.todo-progress-circle span {
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.todo-progress-bar {
    height: 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    overflow: hidden;
    margin-bottom: 22px;
    border: 1px solid rgba(255,255,255,.08);
}

.todo-progress-bar div {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0077ff, #7c3aed, #22c55e);
    box-shadow: 0 0 28px rgba(77,163,255,.45);
    transition: width .35s ease;
}

.admin-todo-list {
    display: grid;
    gap: 14px;
}

.admin-todo-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    align-items: flex-start;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.08);
    transition: .2s ease;
}

.admin-todo-item:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.065);
}

.admin-todo-item.done {
    border-color: rgba(34,197,94,.38);
    background:
        radial-gradient(circle at top left, rgba(34,197,94,.14), transparent 40%),
        rgba(255,255,255,.045);
}

.todo-check {
    margin: 0 !important;
    display: block !important;
}

.todo-check input {
    display: none;
}

.todo-check span {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(0,0,0,.28);
    border: 2px solid rgba(255,255,255,.16);
    cursor: pointer;
    transition: .2s ease;
}

.todo-check input:checked + span {
    background: linear-gradient(135deg, #22c55e, #15803d);
    border-color: rgba(34,197,94,.8);
    box-shadow: 0 0 24px rgba(34,197,94,.35);
}

.todo-check input:checked + span::after {
    content: "✓";
    color: #fff;
    font-weight: 900;
}

.todo-content h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 26px;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.todo-content p {
    margin: 0;
    color: #cbd5e1;
    line-height: 1.6;
}

.todo-content small {
    display: inline-block;
    margin-top: 10px;
    color: #86efac;
    font-weight: 800;
}

/* =========================
   USER TODO VIEW
========================= */

.my-onboarding-box {
    margin: 20px 0;
    padding: 22px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(34,197,94,.16), transparent 42%),
        rgba(255,255,255,.045);
    border: 1px solid rgba(34,197,94,.25);
}

.my-onboarding-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 16px;
}

.my-onboarding-head span {
    color: #86efac;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 900;
}

.my-onboarding-head h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
    margin: 4px 0 0;
    text-transform: uppercase;
}

.my-onboarding-head strong {
    font-family: 'Oswald', sans-serif;
    font-size: 38px;
    color: #86efac;
}

.my-onboarding-progress {
    height: 12px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,.08);
    margin-bottom: 18px;
}

.my-onboarding-progress div {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #22c55e, #3b82f6);
    box-shadow: 0 0 24px rgba(34,197,94,.35);
}

.my-onboarding-list {
    display: grid;
    gap: 12px;
}

.my-onboarding-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(0,0,0,.20);
    border: 1px solid rgba(255,255,255,.08);
}

.my-onboarding-item.done {
    border-color: rgba(34,197,94,.34);
    background: rgba(34,197,94,.08);
}

.my-onboarding-icon {
    width: 30px;
    height: 30px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.08);
    color: #94a3b8;
    font-weight: 900;
}

.my-onboarding-item.done .my-onboarding-icon {
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
}

.my-onboarding-item strong {
    color: #fff;
    font-weight: 900;
}

.my-onboarding-item p {
    margin: 5px 0 0;
    color: #94a3b8;
    line-height: 1.5;
    font-size: 14px;
}

@media (max-width: 800px) {
    .admin-todo-head,
    .my-onboarding-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .todo-progress-circle {
        width: 100%;
    }
}

/* =========================
   ADMIN DASHBOARD INDEX
========================= */

.admin-dashboard-hero {
    min-height: 360px;
    padding: 56px;
    border-radius: 38px;
    border: 1px solid rgba(255,255,255,.14);
    background:
        linear-gradient(135deg, rgba(7,14,31,.94), rgba(14,23,44,.72)),
        radial-gradient(circle at top right, rgba(77,163,255,.28), transparent 36%),
        radial-gradient(circle at bottom left, rgba(124,58,237,.22), transparent 36%);
    box-shadow: 0 35px 120px rgba(0,0,0,.55);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    position: relative;
    overflow: hidden;
    margin-bottom: 24px;
}

.admin-dashboard-hero::before {
    content: "ADMIN";
    position: absolute;
    right: -35px;
    bottom: -42px;
    font-family: 'Oswald', sans-serif;
    font-size: 150px;
    font-weight: 700;
    letter-spacing: 12px;
    color: rgba(255,255,255,.035);
    pointer-events: none;
}

.admin-dashboard-hero h1 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(48px, 7vw, 92px);
    line-height: .9;
    margin: 0 0 18px;
    text-transform: uppercase;
}

.admin-dashboard-hero p {
    max-width: 780px;
    color: #cbd5e1;
    font-size: 18px;
    line-height: 1.7;
    margin: 0;
}

.admin-live-panel {
    min-width: 230px;
    padding: 22px;
    border-radius: 26px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    display: grid;
    gap: 8px;
    z-index: 2;
}

.admin-live-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 24px #22c55e;
}

.admin-live-panel strong {
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
}

.admin-live-panel small {
    color: #94a3b8;
    font-weight: 700;
}

.admin-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 18px;
}

.admin-stat-card,
.admin-type-mini,
.admin-filter-shell,
.admin-applications-shell {
    background:
        linear-gradient(135deg, rgba(8,15,31,.84), rgba(8,12,24,.66)),
        rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 28px;
    box-shadow: 0 24px 80px rgba(0,0,0,.35);
    backdrop-filter: blur(18px);
}

.admin-stat-card {
    padding: 24px;
    position: relative;
    overflow: hidden;
}

.admin-stat-card::before,
.admin-type-mini::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -50px;
    bottom: -50px;
    border-radius: 50%;
    filter: blur(18px);
    opacity: .35;
}

.admin-stat-card.main::before {
    background: #4da3ff;
}

.admin-stat-card.yellow::before {
    background: #facc15;
}

.admin-stat-card.green::before {
    background: #22c55e;
}

.admin-stat-card.red::before {
    background: #ef4444;
}

.admin-stat-card span,
.admin-type-mini span {
    color: #94a3b8;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-stat-card strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 48px;
    margin: 8px 0 4px;
}

.admin-stat-card p {
    color: #94a3b8;
    margin: 0;
    font-size: 14px;
}

.admin-type-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.admin-type-mini {
    padding: 22px;
    position: relative;
    overflow: hidden;
}

.admin-type-mini.red::before {
    background: #ef4444;
}

.admin-type-mini.blue::before {
    background: #3b82f6;
}

.admin-type-mini.green::before {
    background: #22c55e;
}

.admin-type-mini strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 42px;
    margin-top: 8px;
}

.admin-filter-shell {
    padding: 22px;
    margin-bottom: 24px;
}

.admin-filter-form {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr auto auto;
    gap: 14px;
    align-items: end;
}

.admin-filter-form label {
    display: grid;
    gap: 8px;
    color: #dbeafe;
    font-weight: 800;
}

.admin-filter-form button,
.admin-reset-btn {
    height: 52px;
    border: 0;
    border-radius: 16px;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    text-decoration: none;
    display: grid;
    place-items: center;
    padding: 0 18px;
}

.admin-filter-form button {
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    box-shadow: 0 18px 45px rgba(0,119,255,.25);
}

.admin-reset-btn {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
}

.admin-applications-shell {
    padding: 26px;
}

.admin-list-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.admin-list-head h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 44px;
    margin: 0;
    text-transform: uppercase;
}

.admin-list-head span {
    color: #93c5fd;
    font-weight: 900;
}

.admin-application-grid {
    display: grid;
    gap: 18px;
}

.admin-application-card {
    position: relative;
    padding: 22px;
    border-radius: 26px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.09);
    overflow: hidden;
    transition: .2s ease;
}

.admin-application-card:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,.065);
}

.admin-application-card::before {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -75px;
    top: -75px;
    border-radius: 50%;
    filter: blur(20px);
    opacity: .24;
}

.admin-application-card.bad_fraktion::before {
    background: #ef4444;
}

.admin-application-card.staatsfraktion::before {
    background: #3b82f6;
}

.admin-application-card.unternehmen::before {
    background: #22c55e;
}

.admin-card-top {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    align-items: start;
}

.admin-card-avatar {
    width: 82px;
    height: 82px;
    border-radius: 24px;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,.14);
}

.admin-card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-card-avatar span {
    font-family: 'Oswald', sans-serif;
    font-size: 42px;
    font-weight: 700;
}

.admin-card-top h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 34px;
    margin: 8px 0 8px;
    text-transform: uppercase;
}

.admin-card-top p {
    margin: 0;
    color: #cbd5e1;
    line-height: 1.6;
}

.admin-card-meta {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin: 18px 0;
}

.admin-card-meta div {
    padding: 14px;
    border-radius: 18px;
    background: rgba(0,0,0,.20);
    border: 1px solid rgba(255,255,255,.07);
}

.admin-card-meta span {
    display: block;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.admin-card-meta strong {
    color: #fff;
}

.admin-card-preview {
    position: relative;
    z-index: 2;
    padding: 16px;
    border-radius: 18px;
    background: rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.07);
}

.admin-card-preview h4 {
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.admin-card-preview p {
    margin: 0;
    color: #94a3b8;
    line-height: 1.6;
}

.admin-card-actions {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.admin-open-btn {
    color: #fff;
    text-decoration: none;
    padding: 13px 18px;
    border-radius: 15px;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    font-weight: 900;
    box-shadow: 0 18px 45px rgba(0,119,255,.25);
}

.admin-empty-state {
    min-height: 300px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 40px;
}

.admin-empty-state div {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    background: rgba(239,68,68,.15);
    border: 1px solid rgba(239,68,68,.35);
    color: #fca5a5;
    font-size: 42px;
    font-weight: 900;
    margin-bottom: 18px;
}

.admin-empty-state h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 38px;
    margin: 0 0 8px;
}

.admin-empty-state p {
    color: #94a3b8;
    margin: 0;
}

@media (max-width: 1100px) {
    .admin-dashboard-hero,
    .admin-list-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-stats-grid,
    .admin-type-grid,
    .admin-filter-form {
        grid-template-columns: 1fr;
    }

    .admin-card-top {
        grid-template-columns: 1fr;
    }

    .admin-card-meta {
        grid-template-columns: 1fr;
    }

    .admin-card-actions {
        justify-content: flex-start;
    }
}

/* =========================
   ADMIN VIEW PAGE
========================= */

.admin-view-hero {
    min-height: 360px;
    padding: 46px;
    border-radius: 38px;
    border: 1px solid rgba(255,255,255,.14);
    background:
        linear-gradient(135deg, rgba(7,14,31,.94), rgba(14,23,44,.72)),
        radial-gradient(circle at top right, rgba(77,163,255,.28), transparent 36%),
        radial-gradient(circle at bottom left, rgba(124,58,237,.24), transparent 36%);
    box-shadow: 0 35px 120px rgba(0,0,0,.55);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    position: relative;
    overflow: hidden;
    margin-bottom: 24px;
}

.admin-view-hero::before {
    content: "REVIEW";
    position: absolute;
    right: -38px;
    bottom: -42px;
    font-family: 'Oswald', sans-serif;
    font-size: 150px;
    font-weight: 700;
    letter-spacing: 12px;
    color: rgba(255,255,255,.035);
    pointer-events: none;
}

.admin-view-user {
    display: flex;
    align-items: center;
    gap: 24px;
    position: relative;
    z-index: 2;
}

.admin-view-avatar {
    width: 118px;
    height: 118px;
    border-radius: 34px;
    overflow: hidden;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    border: 3px solid rgba(255,255,255,.16);
    display: grid;
    place-items: center;
    box-shadow: 0 22px 60px rgba(0,0,0,.42);
}

.admin-view-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-view-avatar span {
    font-family: 'Oswald', sans-serif;
    font-size: 58px;
    font-weight: 700;
}

.admin-view-hero h1 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(46px, 6vw, 82px);
    line-height: .9;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.admin-view-badges {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.admin-view-sub {
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0;
}

.admin-view-status-panel {
    min-width: 260px;
    padding: 24px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top, rgba(77,163,255,.20), transparent 44%),
        rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.13);
    position: relative;
    z-index: 2;
}

.admin-view-status-panel span {
    color: #94a3b8;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-view-status-panel strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 42px;
    margin: 8px 0;
    text-transform: uppercase;
}

.admin-view-status-panel small {
    color: #94a3b8;
    font-weight: 700;
}

.admin-view-banner {
    height: 320px;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 26px 90px rgba(0,0,0,.42);
    margin-bottom: 24px;
    position: relative;
}

.admin-view-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-view-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent, rgba(3,5,12,.85));
}

.admin-decision-panel,
.admin-content-card {
    padding: 28px;
    border-radius: 32px;
    border: 1px solid rgba(255,255,255,.13);
    background:
        linear-gradient(135deg, rgba(8,15,31,.86), rgba(8,12,24,.70)),
        rgba(255,255,255,.03);
    box-shadow: 0 28px 90px rgba(0,0,0,.40);
    backdrop-filter: blur(18px);
    margin-bottom: 24px;
}

.admin-decision-head {
    margin-bottom: 22px;
}

.admin-decision-head h2,
.admin-content-card h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 44px;
    margin: 4px 0 8px;
    text-transform: uppercase;
}

.admin-decision-head p {
    color: #94a3b8;
    margin: 0;
}

.admin-decision-form {
    display: grid;
    gap: 18px;
}

.admin-decision-form label {
    display: grid;
    gap: 8px;
    color: #dbeafe;
    font-weight: 800;
}

.admin-decision-form textarea {
    min-height: 150px;
}

.admin-decision-actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.decision-btn {
    border: 0;
    cursor: pointer;
    border-radius: 18px;
    padding: 16px 18px;
    color: #fff;
    font-weight: 900;
    font-size: 15px;
    transition: .2s ease;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.decision-btn:hover {
    transform: translateY(-3px);
}

.decision-btn.accept {
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 18px 45px rgba(34,197,94,.28);
}

.decision-btn.revision {
    background: linear-gradient(135deg, #3b82f6, #1e40af);
    box-shadow: 0 18px 45px rgba(59,130,246,.25);
}

.decision-btn.reject {
    background: linear-gradient(135deg, #ef4444, #7f1d1d);
    box-shadow: 0 18px 45px rgba(239,68,68,.25);
}

.decision-btn.save {
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    box-shadow: 0 18px 45px rgba(0,119,255,.25);
}

.admin-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.admin-overview-card {
    padding: 22px;
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(8,15,31,.84), rgba(8,12,24,.66)),
        rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.32);
}

.admin-overview-card span {
    color: #94a3b8;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 900;
    text-transform: uppercase;
}

.admin-overview-card strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    margin-top: 8px;
}

.detail-files {
    padding: 24px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(8,15,31,.84), rgba(8,12,24,.66)),
        rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.32);
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.detail-files h3 {
    width: 100%;
    margin: 0 0 8px;
    font-family: 'Oswald', sans-serif;
    font-size: 32px;
    text-transform: uppercase;
}

.file-btn {
    color: #fff;
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    font-weight: 900;
    box-shadow: 0 16px 40px rgba(0,119,255,.22);
}

.admin-content-card .detail-grid {
    margin-top: 20px;
}

.special-box.bad {
    border-color: rgba(239,68,68,.35) !important;
    background: rgba(239,68,68,.10) !important;
}

.special-box.state {
    border-color: rgba(59,130,246,.35) !important;
    background: rgba(59,130,246,.10) !important;
}

.special-box.business {
    border-color: rgba(34,197,94,.35) !important;
    background: rgba(34,197,94,.10) !important;
}

.admin-todo-empty {
    padding: 24px;
    border-radius: 22px;
    background: rgba(250,204,21,.10);
    border: 1px solid rgba(250,204,21,.28);
}

.admin-todo-empty h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
    margin: 0 0 8px;
}

.admin-todo-empty p {
    color: #fde68a;
    margin: 0;
}

@media (max-width: 1050px) {
    .admin-view-hero,
    .admin-view-user {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-view-status-panel {
        width: 100%;
    }

    .admin-overview-grid,
    .admin-decision-actions {
        grid-template-columns: 1fr;
    }

    .admin-view-banner {
        height: 230px;
    }
}

/* =========================
   MY APPLICATION DETAILS
========================= */

.my-detail-toggle {
    width: 100%;
    border: 0;
    border-radius: 18px;
    padding: 16px 20px;
    color: #fff;
    cursor: pointer;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .6px;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    box-shadow: 0 18px 45px rgba(0,119,255,.25);
    transition: .2s ease;
}

.my-detail-toggle:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 60px rgba(124,58,237,.32);
}

.my-detail-panel {
    margin-top: 22px;
    padding: 24px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(77,163,255,.16), transparent 40%),
        rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.10);
    animation: myDetailFade .25s ease both;
}

@keyframes myDetailFade {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.my-detail-head h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 38px;
    text-transform: uppercase;
    margin: 4px 0 18px;
}

.my-detail-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}

.my-detail-grid div {
    padding: 16px;
    border-radius: 18px;
    background: rgba(0,0,0,.22);
    border: 1px solid rgba(255,255,255,.08);
}

.my-detail-grid span {
    color: #94a3b8;
    font-size: 12px;
    letter-spacing: .8px;
    font-weight: 900;
    text-transform: uppercase;
}

.my-detail-grid p {
    margin: 7px 0 0;
    color: #fff;
    font-weight: 800;
}

.my-detail-text {
    padding: 18px;
    border-radius: 20px;
    background: rgba(0,0,0,.20);
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 14px;
}

.my-detail-text h4 {
    font-family: 'Oswald', sans-serif;
    font-size: 26px;
    text-transform: uppercase;
    margin: 0 0 8px;
}

.my-detail-text p {
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0;
}

.my-full-task-box {
    margin-top: 20px;
    padding: 22px;
    border-radius: 26px;
    background:
        radial-gradient(circle at top right, rgba(34,197,94,.18), transparent 40%),
        rgba(0,0,0,.22);
    border: 1px solid rgba(34,197,94,.25);
}

.my-task-empty {
    padding: 16px;
    border-radius: 18px;
    background: rgba(250,204,21,.12);
    border: 1px solid rgba(250,204,21,.25);
    color: #fde68a;
    font-weight: 800;
}

.my-onboarding-list.compact {
    max-height: 260px;
    overflow: auto;
    padding-right: 4px;
}

.my-onboarding-item small {
    display: inline-block;
    margin-top: 6px;
    color: #86efac;
    font-weight: 800;
}

.my-onboarding-item small.open {
    color: #facc15;
}

@media (max-width: 1000px) {
    .my-detail-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .my-detail-grid {
        grid-template-columns: 1fr;
    }

    .my-detail-panel {
        padding: 18px;
    }
}


/* =========================
   USER DETAILS PAGE
========================= */

.user-detail-hero {
    min-height: 360px;
    padding: 46px;
    border-radius: 38px;
    border: 1px solid rgba(255,255,255,.14);
    background:
        linear-gradient(135deg, rgba(7,14,31,.94), rgba(14,23,44,.72)),
        radial-gradient(circle at top right, rgba(77,163,255,.28), transparent 36%),
        radial-gradient(circle at bottom left, rgba(124,58,237,.24), transparent 36%);
    box-shadow: 0 35px 120px rgba(0,0,0,.55);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    position: relative;
    overflow: hidden;
    margin-bottom: 24px;
}

.user-detail-hero::before {
    content: "DETAILS";
    position: absolute;
    right: -38px;
    bottom: -42px;
    font-family: 'Oswald', sans-serif;
    font-size: 150px;
    font-weight: 700;
    letter-spacing: 12px;
    color: rgba(255,255,255,.035);
    pointer-events: none;
}

.user-detail-main {
    display: flex;
    align-items: center;
    gap: 24px;
    position: relative;
    z-index: 2;
}

.user-detail-logo {
    width: 118px;
    height: 118px;
    border-radius: 34px;
    overflow: hidden;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    border: 3px solid rgba(255,255,255,.16);
    display: grid;
    place-items: center;
    box-shadow: 0 22px 60px rgba(0,0,0,.42);
}

.user-detail-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.user-detail-logo span {
    font-family: 'Oswald', sans-serif;
    font-size: 58px;
    font-weight: 700;
}

.user-detail-hero h1 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(46px, 6vw, 82px);
    line-height: .9;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.user-detail-main p {
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0;
}

.user-detail-status-box {
    min-width: 240px;
    padding: 24px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top, rgba(77,163,255,.20), transparent 44%),
        rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.13);
    position: relative;
    z-index: 2;
}

.user-detail-status-box span {
    color: #94a3b8;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 900;
    text-transform: uppercase;
}

.user-detail-status-box strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 40px;
    margin-top: 8px;
    text-transform: uppercase;
}

.user-detail-banner {
    height: 320px;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 26px 90px rgba(0,0,0,.42);
    margin-bottom: 24px;
    position: relative;
}

.user-detail-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.user-detail-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent, rgba(3,5,12,.85));
}

.user-admin-feedback,
.user-task-shell,
.user-file-box,
.user-detail-content {
    padding: 28px;
    border-radius: 32px;
    border: 1px solid rgba(255,255,255,.13);
    background:
        linear-gradient(135deg, rgba(8,15,31,.86), rgba(8,12,24,.70)),
        rgba(255,255,255,.03);
    box-shadow: 0 28px 90px rgba(0,0,0,.40);
    backdrop-filter: blur(18px);
    margin-bottom: 24px;
}

.user-admin-feedback h2,
.user-task-head h2,
.user-file-box h2,
.user-detail-content h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 42px;
    margin: 4px 0 12px;
    text-transform: uppercase;
}

.user-admin-feedback p,
.user-task-head p {
    color: #cbd5e1;
    line-height: 1.7;
}

.user-task-head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    margin-bottom: 18px;
}

.user-task-percent {
    min-width: 115px;
    min-height: 115px;
    border-radius: 30px;
    background:
        radial-gradient(circle at center, rgba(34,197,94,.24), transparent 58%),
        rgba(255,255,255,.06);
    border: 1px solid rgba(34,197,94,.35);
    display: grid;
    place-items: center;
    text-align: center;
}

.user-task-percent strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 34px;
    line-height: 1;
    color: #86efac;
}

.user-task-percent span {
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.user-task-list {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.user-task-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.08);
}

.user-task-item.done {
    border-color: rgba(34,197,94,.38);
    background:
        radial-gradient(circle at top left, rgba(34,197,94,.14), transparent 40%),
        rgba(255,255,255,.045);
}

.user-task-icon {
    width: 36px;
    height: 36px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.08);
    color: #94a3b8;
    font-weight: 900;
}

.user-task-item.done .user-task-icon {
    background: linear-gradient(135deg, #22c55e, #15803d);
    color: #fff;
}

.user-task-item h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 26px;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.user-task-item p {
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
}

.user-task-item small {
    display: inline-block;
    margin-top: 8px;
    color: #86efac;
    font-weight: 800;
}

.user-task-item small.open {
    color: #facc15;
}

.user-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.user-detail-card {
    padding: 22px;
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(8,15,31,.84), rgba(8,12,24,.66)),
        rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.32);
}

.user-detail-card span {
    color: #94a3b8;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 900;
    text-transform: uppercase;
}

.user-detail-card strong {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    margin-top: 8px;
}

.user-file-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.user-file-row a {
    color: #fff;
    text-decoration: none;
    padding: 13px 17px;
    border-radius: 15px;
    background: linear-gradient(135deg, #0077ff, #7c3aed);
    font-weight: 900;
    box-shadow: 0 16px 40px rgba(0,119,255,.22);
}

.user-text-block {
    padding: 20px;
    border-radius: 22px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 16px;
}

.user-text-block h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.user-text-block p {
    color: #cbd5e1;
    line-height: 1.7;
    margin: 0;
}

@media (max-width: 1000px) {
    .user-detail-hero,
    .user-detail-main,
    .user-task-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .user-detail-status-box {
        width: 100%;
    }

    .user-detail-grid {
        grid-template-columns: 1fr;
    }

    .user-detail-banner {
        height: 230px;
    }
}
/* =========================================================
   NEXO V ULTRA ANGULAR REDESIGN
   Komplettes 4-eckiges UI Upgrade fuer alle Seiten
========================================================= */
:root {
    --nv-bg-0: #02030a;
    --nv-bg-1: #06111f;
    --nv-bg-2: #0b1628;
    --nv-card: rgba(6, 14, 28, .86);
    --nv-card-2: rgba(11, 22, 40, .72);
    --nv-line: rgba(147, 197, 253, .18);
    --nv-line-strong: rgba(77, 163, 255, .45);
    --nv-blue: #3ba2ff;
    --nv-cyan: #22d3ee;
    --nv-purple: #8b5cf6;
    --nv-red: #ef4444;
    --nv-green: #22c55e;
    --nv-yellow: #facc15;
    --nv-text: #f8fbff;
    --nv-muted: #9fb4ce;
    --nv-shadow: 0 30px 90px rgba(0, 0, 0, .62);
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--nv-bg-0) !important;
    color: var(--nv-text) !important;
    letter-spacing: .01em;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -3;
    pointer-events: none;
    background:
        linear-gradient(115deg, rgba(59, 130, 246, .11), transparent 24%, rgba(139, 92, 246, .10) 50%, transparent 72%, rgba(34, 211, 238, .08)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 80px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.022) 0 1px, transparent 1px 80px),
        radial-gradient(circle at 16% 14%, rgba(0, 119, 255, .34), transparent 34%),
        radial-gradient(circle at 82% 18%, rgba(139, 92, 246, .26), transparent 35%),
        radial-gradient(circle at 70% 96%, rgba(239, 68, 68, .18), transparent 38%),
        linear-gradient(135deg, #02030a, #081527 52%, #02030a);
    animation: nvGridMove 18s linear infinite;
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,.04), transparent 18%, rgba(0,0,0,.22));
    mix-blend-mode: screen;
    opacity: .35;
}

@keyframes nvGridMove {
    0% { background-position: 0 0, 0 0, 0 0, center, center, center, center; }
    100% { background-position: 0 0, 80px 0, 0 80px, center, center, center, center; }
}

/* alles bewusst 4-eckig */
*, *::before, *::after {
    border-radius: 0 !important;
}

::selection {
    background: rgba(59, 162, 255, .35);
    color: #fff;
}

.nv-bg {
    background:
        radial-gradient(circle at 12% 18%, rgba(59, 162, 255, .26), transparent 30%),
        radial-gradient(circle at 88% 12%, rgba(139, 92, 246, .22), transparent 30%),
        radial-gradient(circle at 50% 90%, rgba(239, 68, 68, .13), transparent 34%),
        linear-gradient(135deg, #02030a, #081527 50%, #02030a) !important;
}

.nv-bg::after {
    opacity: .65 !important;
    background-size: 38px 38px !important;
}

.nv-topbar,
.nv-glass-block,
.home-hero,
.home-hero-panel,
.home-type-card,
.process-card,
.my-hero,
.my-profile-box,
.my-stat-card,
.my-app-card,
.my-info-grid div,
.my-concept-preview,
.my-special,
.my-admin-note,
.my-empty,
.detail-files,
.user-detail-card,
.user-detail-main,
.user-detail-status-box,
.user-text-block,
.user-file-box,
.user-task-shell,
.admin-dashboard-hero,
.admin-live-panel,
.admin-stat-card,
.admin-overview-card,
.admin-content-card,
.admin-application-card,
.admin-filter-shell,
.admin-decision-panel,
.admin-todo-shell,
.admin-locked-panel,
.special-box,
.nv-upload-card,
.nv-alert,
.type-bg,
.type-form,
.my-onboarding-box,
.my-full-task-box {
    background:
        linear-gradient(135deg, rgba(9, 20, 38, .94), rgba(4, 9, 20, .86)),
        radial-gradient(circle at top right, rgba(59, 162, 255, .14), transparent 34%) !important;
    border: 1px solid var(--nv-line) !important;
    box-shadow: var(--nv-shadow), inset 0 1px 0 rgba(255,255,255,.06) !important;
    backdrop-filter: blur(18px) saturate(135%) !important;
}

.nv-topbar {
    width: min(1320px, calc(100% - 32px)) !important;
    margin: 18px auto !important;
    padding: 16px 20px !important;
    border-left: 4px solid var(--nv-blue) !important;
    border-right: 4px solid var(--nv-purple) !important;
    position: sticky;
    top: 16px;
    z-index: 50;
}

.nv-brand {
    position: relative;
    font-size: 32px !important;
    text-shadow: 0 0 22px rgba(59, 162, 255, .38);
}

.nv-brand::before {
    content: "";
    position: absolute;
    left: -14px;
    top: 50%;
    width: 6px;
    height: 34px;
    transform: translateY(-50%);
    background: linear-gradient(180deg, var(--nv-blue), var(--nv-purple));
    box-shadow: 0 0 18px rgba(59,162,255,.8);
}

.nv-brand span,
.home-hero h1 span,
.nv-eyebrow {
    color: var(--nv-blue) !important;
}

.nv-topbar nav a,
.home-btn,
.nv-submit,
.file-btn,
.my-main-btn,
.my-file-row a,
.admin-open-btn,
.admin-reset-btn,
.decision-btn,
button,
input[type="submit"] {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(147, 197, 253, .22) !important;
    background: linear-gradient(135deg, rgba(59, 130, 246, .18), rgba(139, 92, 246, .14)) !important;
    color: #fff !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
    text-transform: uppercase;
}

.nv-topbar nav a::after,
.home-btn::after,
.nv-submit::after,
.file-btn::after,
.my-main-btn::after,
.my-file-row a::after,
.admin-open-btn::after,
.admin-reset-btn::after,
.decision-btn::after,
button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent, rgba(255,255,255,.22), transparent);
    transform: translateX(-120%);
    transition: transform .45s ease;
}

.nv-topbar nav a:hover::after,
.home-btn:hover::after,
.nv-submit:hover::after,
.file-btn:hover::after,
.my-main-btn:hover::after,
.my-file-row a:hover::after,
.admin-open-btn:hover::after,
.admin-reset-btn:hover::after,
.decision-btn:hover::after,
button:hover::after {
    transform: translateX(120%);
}

.nv-topbar nav a:hover,
.home-btn:hover,
.nv-submit:hover,
.file-btn:hover,
.my-main-btn:hover,
.my-file-row a:hover,
.admin-open-btn:hover,
.admin-reset-btn:hover,
.decision-btn:hover,
button:hover {
    transform: translateY(-3px) !important;
    border-color: var(--nv-line-strong) !important;
    box-shadow: 0 20px 55px rgba(59, 162, 255, .22) !important;
}

.nv-topbar nav a.danger,
.danger,
.reject {
    background: linear-gradient(135deg, rgba(239,68,68,.30), rgba(127,29,29,.22)) !important;
    border-color: rgba(239,68,68,.38) !important;
}

.primary,
.save,
.accept {
    background: linear-gradient(135deg, #0677ff, #7c3aed) !important;
}

.secondary {
    background: rgba(255,255,255,.07) !important;
}

.home-hero,
.nv-apply-hero,
.my-hero,
.admin-dashboard-hero,
.admin-view-hero,
.user-detail-hero {
    border-top: 4px solid rgba(59, 162, 255, .85) !important;
    border-bottom: 4px solid rgba(139, 92, 246, .75) !important;
    box-shadow: 0 40px 120px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.04) inset !important;
}

.home-hero::before,
.nv-apply-hero::before,
.my-hero::before {
    color: rgba(255,255,255,.045) !important;
    text-shadow: 0 0 38px rgba(59,162,255,.10);
}

h1, h2, h3,
.nv-block-title h2,
.my-head-info h2,
.section-title h2 {
    letter-spacing: .04em;
    text-shadow: 0 0 26px rgba(59, 162, 255, .16);
}

.section-title,
.nv-block-title,
.admin-list-head,
.admin-decision-head,
.admin-todo-head,
.user-task-head,
.my-onboarding-head,
.my-detail-head {
    border-left: 4px solid var(--nv-blue);
    padding-left: 16px;
}

.nv-block-title span,
.type-number,
.process-card span,
.my-empty-icon,
.my-logo-wrap,
.admin-live-dot,
.admin-card-avatar,
.admin-view-avatar,
.user-detail-logo,
.user-task-icon,
.my-onboarding-icon {
    background: linear-gradient(135deg, var(--nv-blue), var(--nv-purple)) !important;
    box-shadow: 0 0 32px rgba(59, 162, 255, .24) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
}

.home-type-card.red,
.nv-block-title.red span,
.my-special.red,
.type-bg.bad {
    border-color: rgba(239,68,68,.38) !important;
    background: linear-gradient(135deg, rgba(37, 10, 18, .92), rgba(10, 12, 22, .86)), radial-gradient(circle at top right, rgba(239,68,68,.22), transparent 34%) !important;
}

.home-type-card.blue,
.nv-block-title.blue span {
    border-color: rgba(59,130,246,.42) !important;
}

.home-type-card.green,
.nv-block-title.green span,
.my-special.green {
    border-color: rgba(34,197,94,.38) !important;
    background: linear-gradient(135deg, rgba(8, 32, 22, .92), rgba(10, 12, 22, .86)), radial-gradient(circle at top right, rgba(34,197,94,.18), transparent 34%) !important;
}

.home-type-card,
.process-card,
.my-stat-card,
.admin-stat-card,
.admin-overview-card,
.admin-application-card,
.nv-type-card,
.admin-type-mini {
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

.home-type-card:hover,
.process-card:hover,
.my-stat-card:hover,
.admin-stat-card:hover,
.admin-overview-card:hover,
.admin-application-card:hover,
.nv-type-card:hover,
.admin-type-mini:hover {
    transform: translateY(-6px) !important;
    border-color: var(--nv-line-strong) !important;
    box-shadow: 0 34px 95px rgba(0,0,0,.55), 0 0 42px rgba(59,162,255,.12) !important;
}

input,
select,
textarea {
    background: rgba(2, 6, 14, .76) !important;
    border: 1px solid rgba(147, 197, 253, .18) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 12px 26px rgba(0,0,0,.18) !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--nv-blue) !important;
    box-shadow: 0 0 0 4px rgba(59,162,255,.12), 0 0 36px rgba(59,162,255,.12) !important;
}

label {
    color: #dbeafe !important;
}

.nv-upload-card {
    border-style: solid !important;
    min-height: 180px !important;
}

.nv-upload-card:hover {
    transform: translateY(-5px) scale(1.01) !important;
}

.nv-upload-card.has-file,
.nv-alert.success,
.my-status.accepted,
.accept {
    border-color: rgba(34,197,94,.44) !important;
    background: linear-gradient(135deg, rgba(34,197,94,.20), rgba(5,14,20,.80)) !important;
}

.nv-alert.error,
.my-status.rejected {
    border-color: rgba(239,68,68,.44) !important;
    background: linear-gradient(135deg, rgba(239,68,68,.20), rgba(20,5,8,.80)) !important;
}

.my-status.pending,
.revision,
.yellow {
    border-color: rgba(250,204,21,.40) !important;
    background: rgba(250,204,21,.14) !important;
    color: #fde68a !important;
}

.my-type-badge,
.my-status,
.state,
.admin-card-meta span,
.admin-view-badges span,
.user-task-percent {
    border: 1px solid rgba(255,255,255,.10) !important;
    letter-spacing: .08em !important;
}

.my-card-banner,
.admin-view-banner,
.user-detail-banner {
    border-bottom: 1px solid rgba(147,197,253,.18) !important;
}

.my-card-banner img,
.admin-view-banner img,
.user-detail-banner img,
.my-profile-box img,
.admin-card-avatar img,
.admin-view-avatar img,
.user-detail-logo img {
    filter: saturate(1.08) contrast(1.05);
}

.home-hero-panel,
.admin-live-panel,
.admin-view-status-panel,
.user-detail-status-box {
    border-left: 4px solid var(--nv-cyan) !important;
}

.panel-live span,
.admin-live-dot {
    background: var(--nv-green) !important;
    box-shadow: 0 0 18px rgba(34,197,94,.8) !important;
}

.home-status-list div,
.admin-overview-card,
.admin-type-mini,
.my-info-grid div,
.user-file-row,
.my-onboarding-item,
.admin-todo-item,
.user-task-item {
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}

.todo-progress-bar,
.my-onboarding-progress,
.todo-progress-circle {
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(147,197,253,.16) !important;
}

.todo-progress-bar > *,
.my-onboarding-progress > *,
.todo-progress-circle > * {
    background: linear-gradient(90deg, var(--nv-blue), var(--nv-purple)) !important;
}

table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(6,14,28,.75);
    border: 1px solid rgba(147,197,253,.16);
}

th, td {
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 14px;
    text-align: left;
}

th {
    color: #bfdbfe;
    text-transform: uppercase;
    letter-spacing: .08em;
    background: rgba(59,130,246,.10);
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #02030a;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--nv-blue), var(--nv-purple));
    border: 2px solid #02030a;
}

@media (max-width: 980px) {
    .home-hero,
    .my-hero {
        grid-template-columns: 1fr !important;
        padding: 34px 22px !important;
        min-height: auto !important;
    }

    .nv-topbar {
        position: relative;
        top: auto;
    }
}

@media (max-width: 620px) {
    .nv-home,
    .nv-page {
        width: min(100% - 20px, 1280px) !important;
        margin-top: 24px !important;
    }

    .nv-topbar nav a,
    .home-btn,
    .nv-submit {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .home-actions,
    .nv-topbar nav {
        width: 100%;
    }
}


/* =========================
   DISCORD LOGIN REQUIRED FIX
========================= */
.login-required-box {
    min-height: 520px;
}

.login-required-hint {
    margin-top: 18px;
    color: rgba(255,255,255,.62);
    font-size: 14px;
    letter-spacing: .02em;
}

/* =========================================================
   NEXO-V FULLSCREEN HOMEPAGE / NUI LANDINGPAGE UPGRADE
========================================================= */
body.nv-full-home {
    background: #02040b;
}

.nv-topbar-float {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    width: calc(100% - 48px);
}

.nexo-landing {
    width: 100%;
    overflow: hidden;
}

.nexo-fullscreen-hero {
    min-height: 100vh;
    padding: 145px 56px 56px;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) 430px;
    align-items: end;
    gap: 34px;
    position: relative;
    isolation: isolate;
    background-image:
        linear-gradient(90deg, rgba(2,4,11,.96) 0%, rgba(2,4,11,.82) 39%, rgba(2,4,11,.35) 100%),
        radial-gradient(circle at 16% 20%, rgba(59,130,246,.42), transparent 31%),
        radial-gradient(circle at 90% 18%, rgba(139,92,246,.34), transparent 32%),
        var(--hero-img);
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid rgba(147,197,253,.18);
}

.nexo-fullscreen-hero::before {
    content: "NEXO-V";
    position: absolute;
    right: -18px;
    bottom: 24px;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(90px, 16vw, 260px);
    font-weight: 900;
    letter-spacing: .06em;
    color: rgba(255,255,255,.035);
    z-index: -1;
    line-height: .75;
}

.nexo-fullscreen-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(to top, #02040b 0%, transparent 28%);
    background-size: 54px 54px, 54px 54px, auto;
    opacity: .55;
}

.nexo-hero-copy {
    max-width: 1050px;
    padding-bottom: 36px;
}

.nexo-hero-copy h1 {
    margin: 0;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(58px, 8.7vw, 142px);
    line-height: .86;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.nexo-hero-copy h1 span {
    color: #4da3ff;
    text-shadow: 0 0 44px rgba(77,163,255,.45);
}

.nexo-hero-lead {
    max-width: 850px;
    margin: 28px 0 0;
    font-size: clamp(16px, 1.55vw, 22px);
    line-height: 1.75;
    color: rgba(226,232,240,.86);
}

.nexo-hero-actions,
.nexo-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.nexo-hero-points span {
    padding: 11px 16px;
    border-radius: 999px;
    border: 1px solid rgba(147,197,253,.20);
    background: rgba(255,255,255,.055);
    color: #dbeafe;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.nexo-status-panel {
    padding: 28px;
    border-radius: 30px;
    border: 1px solid rgba(147,197,253,.22);
    border-left: 4px solid #22d3ee;
    background: linear-gradient(145deg, rgba(7,14,31,.84), rgba(4,8,18,.72));
    backdrop-filter: blur(18px);
    box-shadow: 0 34px 110px rgba(0,0,0,.55);
}

.nexo-status-panel h2 {
    margin: 16px 0 8px;
    font-family: 'Oswald', sans-serif;
    font-size: 38px;
    text-transform: uppercase;
}

.nexo-status-panel p {
    margin: 0 0 18px;
    color: rgba(226,232,240,.72);
    line-height: 1.6;
}

.nexo-section {
    width: min(1440px, calc(100% - 56px));
    margin: 0 auto;
    padding: 94px 0;
}

.section-title.center {
    text-align: center;
    border-left: 0 !important;
    padding-left: 0 !important;
    margin-inline: auto;
}

.section-title.center p:not(.nv-eyebrow) {
    max-width: 920px;
    margin: 16px auto 0;
    color: rgba(226,232,240,.74);
    font-size: 17px;
    line-height: 1.8;
}

.nexo-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 34px;
}

.nexo-why-grid article,
.nexo-benefit-list div {
    min-height: 230px;
    padding: 28px;
    border-radius: 28px;
    border: 1px solid rgba(147,197,253,.16);
    background:
        radial-gradient(circle at top right, rgba(59,130,246,.17), transparent 38%),
        linear-gradient(145deg, rgba(8,15,31,.82), rgba(4,8,18,.66));
    box-shadow: 0 26px 80px rgba(0,0,0,.32);
}

.nexo-why-grid b {
    color: #4da3ff;
    letter-spacing: .18em;
}

.nexo-why-grid h3,
.nexo-image-card h3,
.nexo-benefit-copy h2,
.nexo-final-cta h2 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
}

.nexo-why-grid h3 {
    margin: 18px 0 10px;
    font-size: 30px;
}

.nexo-why-grid p,
.nexo-image-card p,
.nexo-benefit-copy p,
.nexo-benefit-list span,
.nexo-final-cta p {
    color: rgba(226,232,240,.72);
    line-height: 1.72;
}

.nexo-showcase-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 32px;
}

.nexo-image-card {
    min-height: 540px;
    padding: 30px;
    border-radius: 34px;
    border: 1px solid rgba(255,255,255,.13);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-decoration: none;
    color: #fff;
    position: relative;
    overflow: hidden;
    background-image:
        linear-gradient(to top, rgba(2,4,11,.96), rgba(2,4,11,.42), rgba(2,4,11,.10)),
        var(--card-img);
    background-size: cover;
    background-position: center;
    box-shadow: 0 34px 110px rgba(0,0,0,.45);
    transition: .28s ease;
}

.nexo-image-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 18% 12%, rgba(77,163,255,.22), transparent 34%);
    pointer-events: none;
}

.nexo-image-card.red::before { background: radial-gradient(circle at 18% 12%, rgba(239,68,68,.28), transparent 36%); }
.nexo-image-card.green::before { background: radial-gradient(circle at 18% 12%, rgba(34,197,94,.24), transparent 36%); }

.nexo-image-card:hover {
    transform: translateY(-8px) scale(1.01);
    border-color: rgba(147,197,253,.44);
    box-shadow: 0 42px 130px rgba(0,0,0,.58), 0 0 55px rgba(59,130,246,.15);
}

.nexo-image-card h3 {
    position: relative;
    margin: 22px 0 10px;
    font-size: clamp(34px, 3vw, 54px);
    line-height: .95;
}

.nexo-image-card p,
.nexo-image-card span,
.nexo-image-card .type-number {
    position: relative;
}

.nexo-image-card span:last-child {
    margin-top: 14px;
    color: #bfdbfe;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.nexo-benefits {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 28px;
    align-items: center;
}

.nexo-benefit-copy {
    padding: 42px;
    border-radius: 34px;
    border: 1px solid rgba(147,197,253,.18);
    background: linear-gradient(145deg, rgba(7,14,31,.88), rgba(4,8,18,.70));
}

.nexo-benefit-copy h2 {
    margin: 0;
    font-size: clamp(40px, 5vw, 78px);
    line-height: .95;
}

.nexo-benefit-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.nexo-benefit-list div {
    min-height: 190px;
}

.nexo-benefit-list strong {
    display: block;
    margin-bottom: 10px;
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    text-transform: uppercase;
}

.nexo-final-cta {
    margin-top: 34px;
    padding: 46px;
    border-radius: 36px;
    border: 1px solid rgba(147,197,253,.22);
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(59,130,246,.26), transparent 40%),
        linear-gradient(145deg, rgba(8,15,31,.88), rgba(4,8,18,.72));
    box-shadow: 0 34px 110px rgba(0,0,0,.42);
}

.nexo-final-cta h2 {
    margin: 0;
    font-size: clamp(36px, 5vw, 76px);
    line-height: .95;
}

.nexo-final-cta .home-btn {
    margin-top: 16px;
    display: inline-flex;
}

@media (max-width: 1120px) {
    .nexo-fullscreen-hero,
    .nexo-benefits {
        grid-template-columns: 1fr;
    }
    .nexo-status-panel {
        max-width: 680px;
    }
    .nexo-why-grid,
    .nexo-showcase-grid,
    .nexo-benefit-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 720px) {
    .nv-topbar-float {
        position: relative;
    }
    .nexo-fullscreen-hero {
        min-height: auto;
        padding: 40px 18px;
    }
    .nexo-section {
        width: min(100% - 24px, 1440px);
        padding: 58px 0;
    }
    .nexo-why-grid,
    .nexo-showcase-grid,
    .nexo-benefit-list {
        grid-template-columns: 1fr;
    }
    .nexo-image-card {
        min-height: 420px;
    }
    .nexo-benefit-copy,
    .nexo-final-cta {
        padding: 28px;
    }
}

/* =========================================================
   HERO FIX 2026-06-07
   Stabiler Vollbild-Hero, saubere Zentrierung, eigener Image-Link
========================================================= */
body.nv-full-home {
    min-height: 100vh;
    overflow-x: hidden;
}

.nv-topbar-float {
    position: fixed;
    top: 18px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(1440px, calc(100% - 48px));
    margin: 0;
    box-sizing: border-box;
    z-index: 100;
}

.nexo-fullscreen-hero {
    min-height: 100svh;
    box-sizing: border-box;
    padding: clamp(118px, 14vh, 150px) clamp(22px, 4vw, 74px) clamp(34px, 6vh, 70px);
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
    align-items: center;
    gap: clamp(24px, 4vw, 54px);
    background-position: center center;
}

.nexo-hero-copy {
    max-width: 960px;
    padding-bottom: 0;
    z-index: 2;
}

.nexo-hero-copy h1 {
    font-size: clamp(46px, 7.15vw, 112px);
    line-height: .9;
    max-width: 980px;
}

.nexo-hero-lead {
    max-width: 780px;
    margin-top: 24px;
    font-size: clamp(15px, 1.2vw, 19px);
    line-height: 1.7;
}

.nexo-hero-side {
    width: 100%;
    max-width: 540px;
    justify-self: end;
    display: grid;
    gap: 18px;
    z-index: 2;
}

.nexo-hero-image-link {
    min-height: clamp(280px, 44vh, 455px);
    padding: 28px;
    border-radius: 34px;
    border: 1px solid rgba(255,255,255,.18);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    position: relative;
    background-image:
        linear-gradient(to top, rgba(2,4,11,.98), rgba(2,4,11,.42), rgba(2,4,11,.04)),
        var(--hero-img);
    background-size: cover;
    background-position: center;
    box-shadow: 0 34px 120px rgba(0,0,0,.58), 0 0 0 1px rgba(77,163,255,.08) inset;
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.nexo-hero-image-link::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 12%, rgba(77,163,255,.33), transparent 36%),
        linear-gradient(135deg, rgba(59,130,246,.18), transparent 45%);
}

.nexo-hero-image-link:hover {
    transform: translateY(-5px);
    border-color: rgba(147,197,253,.55);
    box-shadow: 0 40px 140px rgba(0,0,0,.68), 0 0 70px rgba(59,130,246,.20);
}

.nexo-hero-image-link > * {
    position: relative;
    z-index: 1;
}

.hero-image-kicker {
    width: max-content;
    margin-bottom: 14px;
    padding: 9px 13px;
    border-radius: 999px;
    border: 1px solid rgba(147,197,253,.32);
    background: rgba(8,15,31,.68);
    color: #bfdbfe;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.nexo-hero-image-link strong {
    max-width: 410px;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(32px, 3.2vw, 54px);
    line-height: .95;
    text-transform: uppercase;
}

.nexo-hero-image-link small {
    margin-top: 14px;
    color: #dbeafe;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.nexo-status-panel {
    width: 100%;
    box-sizing: border-box;
    padding: 24px;
    border-radius: 28px;
}

.nexo-status-panel h2 {
    font-size: clamp(27px, 2.3vw, 38px);
}

@media (max-width: 1080px) {
    .nexo-fullscreen-hero {
        min-height: auto;
        grid-template-columns: 1fr;
        padding-top: 128px;
    }

    .nexo-hero-side {
        max-width: none;
        justify-self: stretch;
        grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
        align-items: stretch;
    }
}

@media (max-width: 720px) {
    .nv-topbar-float {
        position: sticky;
        top: 10px;
        width: calc(100% - 20px);
        transform: none;
        left: auto;
        margin: 10px auto 0;
    }

    .nexo-fullscreen-hero {
        padding: 34px 16px 34px;
    }

    .nexo-hero-copy h1 {
        font-size: clamp(42px, 13vw, 68px);
    }

    .nexo-hero-actions,
    .nexo-hero-points {
        gap: 10px;
    }

    .nexo-hero-side {
        grid-template-columns: 1fr;
    }

    .nexo-hero-image-link {
        min-height: 330px;
        border-radius: 26px;
        padding: 22px;
    }
}

/* =========================================================
   NEXO-V HERO FINAL FIX — sauber zentriert, Vollbild, stabil
========================================================= */
html, body.nv-full-home {
    width: 100%;
    min-height: 100%;
    margin: 0;
    overflow-x: hidden;
    background: #02040b;
}

body.nv-full-home .nv-bg {
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 12%, rgba(124,58,237,.30), transparent 34%),
        radial-gradient(circle at 16% 18%, rgba(59,130,246,.20), transparent 32%),
        linear-gradient(180deg, #02040b 0%, #050816 100%);
    z-index: -5;
}

body.nv-full-home .nv-topbar-float {
    position: fixed;
    top: 26px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(1540px, calc(100vw - 64px));
    min-height: 74px;
    margin: 0;
    padding: 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-radius: 0;
    border: 1px solid rgba(96,165,250,.26);
    border-left: 4px solid #38bdf8;
    border-right: 4px solid #8b5cf6;
    background: rgba(6,13,28,.86);
    box-shadow: 0 22px 80px rgba(0,0,0,.38);
    backdrop-filter: blur(18px);
    z-index: 999;
    box-sizing: border-box;
}

body.nv-full-home .nv-topbar-float nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
}

body.nv-full-home .nexo-landing {
    width: 100%;
    overflow: hidden;
}

body.nv-full-home .nexo-fullscreen-hero {
    width: 100%;
    min-height: 100svh;
    position: relative;
    box-sizing: border-box;
    padding: 132px max(32px, calc((100vw - 1540px) / 2 + 32px)) 70px;
    display: grid !important;
    grid-template-columns: minmax(560px, 1fr) minmax(380px, 500px) !important;
    grid-template-areas: "copy side" !important;
    align-items: center !important;
    justify-content: center;
    gap: clamp(34px, 4vw, 76px);
    isolation: isolate;
    background-image:
        linear-gradient(90deg, rgba(2,4,11,.97) 0%, rgba(3,7,18,.93) 43%, rgba(21,12,49,.78) 100%),
        radial-gradient(circle at 80% 22%, rgba(139,92,246,.30), transparent 34%),
        radial-gradient(circle at 28% 22%, rgba(59,130,246,.20), transparent 35%),
        var(--hero-img);
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid rgba(147,197,253,.14);
}

body.nv-full-home .nexo-fullscreen-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(rgba(255,255,255,.038) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.030) 1px, transparent 1px),
        linear-gradient(to top, #02040b 0%, rgba(2,4,11,.42) 22%, transparent 52%);
    background-size: 72px 72px, 72px 72px, auto;
    opacity: .80;
}

body.nv-full-home .nexo-fullscreen-hero::after {
    content: "NEXO-V";
    position: absolute;
    left: max(32px, calc((100vw - 1540px) / 2 + 32px));
    bottom: 38px;
    z-index: -1;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(88px, 11vw, 210px);
    font-weight: 900;
    line-height: .75;
    letter-spacing: .08em;
    color: rgba(255,255,255,.028);
    pointer-events: none;
}

body.nv-full-home .nexo-hero-overlay { display: none !important; }

body.nv-full-home .nexo-hero-copy {
    grid-area: copy !important;
    align-self: center !important;
    justify-self: start !important;
    width: 100%;
    max-width: 930px;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 2;
}

body.nv-full-home .nexo-hero-copy h1 {
    margin: 0;
    max-width: 930px;
    font-size: clamp(64px, 6.15vw, 116px) !important;
    line-height: .88 !important;
    letter-spacing: .018em;
    text-transform: uppercase;
}

body.nv-full-home .nexo-hero-lead {
    max-width: 760px;
    margin: 24px 0 0;
    font-size: clamp(16px, 1.05vw, 19px) !important;
    line-height: 1.75;
}

body.nv-full-home .nexo-hero-actions,
body.nv-full-home .nexo-hero-points {
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

body.nv-full-home .nexo-hero-points span {
    border-radius: 0;
    padding: 12px 18px;
    background: rgba(7,14,31,.72);
    border: 1px solid rgba(147,197,253,.24);
}

body.nv-full-home .nexo-hero-side {
    grid-area: side !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100%;
    max-width: 500px !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px;
    z-index: 2;
}

body.nv-full-home .nexo-hero-image-link {
    width: 100%;
    min-height: clamp(330px, 42vh, 470px) !important;
    box-sizing: border-box;
    border-radius: 0 !important;
    border: 1px solid rgba(147,197,253,.28);
    border-bottom: 4px solid rgba(59,130,246,.75);
    padding: 30px;
}

body.nv-full-home .nexo-status-panel {
    width: 100%;
    box-sizing: border-box;
    border-radius: 0 !important;
    padding: 24px;
}

body.nv-full-home .home-status-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
}

body.nv-full-home .home-status-list div {
    min-width: 0;
}

@media (max-width: 1180px) {
    body.nv-full-home .nexo-fullscreen-hero {
        min-height: auto;
        grid-template-columns: 1fr !important;
        grid-template-areas: "copy" "side" !important;
        padding-top: 130px;
    }
    body.nv-full-home .nexo-hero-copy,
    body.nv-full-home .nexo-hero-side {
        max-width: none !important;
    }
    body.nv-full-home .nexo-hero-side {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 430px) !important;
        align-items: stretch !important;
    }
}

@media (max-width: 760px) {
    body.nv-full-home .nv-topbar-float {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        width: calc(100% - 24px);
        margin: 12px auto 0;
        min-height: auto;
        flex-direction: column;
        align-items: stretch;
        padding: 16px;
    }
    body.nv-full-home .nv-topbar-float nav {
        justify-content: flex-start;
    }
    body.nv-full-home .nexo-fullscreen-hero {
        padding: 36px 16px 46px;
    }
    body.nv-full-home .nexo-hero-copy h1 {
        font-size: clamp(44px, 13vw, 72px) !important;
    }
    body.nv-full-home .nexo-hero-side {
        grid-template-columns: 1fr !important;
    }
    body.nv-full-home .home-status-list {
        grid-template-columns: 1fr;
    }
}
