.installer-page {
    position: relative;
    min-height: 100vh;
    background-color: #071426;
    background-image: url("../images/installer-background.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    padding-bottom: 112px;
    isolation: isolate;
}

.installer-page::before {
    position: fixed;
    inset: 0;
    z-index: -1;
    content: "";
    background:
        linear-gradient(135deg, rgba(3, 12, 27, 0.7), rgba(10, 31, 68, 0.38)),
        radial-gradient(circle at center, rgba(15, 40, 83, 0.08), rgba(2, 8, 23, 0.44));
}

.installer-shell {
    position: relative;
    z-index: 1;
}

.installer-card {
    box-shadow:
        0 32px 80px rgba(2, 8, 23, 0.48),
        0 8px 24px rgba(15, 23, 42, 0.2);
}

.installer-success-page {
    padding-bottom: 32px;
}

.installer-success-panel {
    background:
        radial-gradient(circle at 50% 0%, rgba(16, 185, 129, 0.12), transparent 42%),
        linear-gradient(180deg, #f0fdf8 0%, #ffffff 72%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.installer-success-hero {
    position: relative;
}

.installer-success-hero::before,
.installer-success-hero::after {
    position: absolute;
    width: 88px;
    height: 88px;
    content: "";
    border: 1px solid rgba(16, 185, 129, 0.16);
    border-radius: 28px;
    transform: rotate(18deg);
}

.installer-success-hero::before {
    top: -34px;
    left: 5%;
}

.installer-success-hero::after {
    right: 6%;
    bottom: -42px;
}

.installer-success-icon {
    position: relative;
    z-index: 1;
    background: linear-gradient(145deg, #10b981, #047857);
    border: 8px solid rgba(209, 250, 229, 0.92);
    box-shadow:
        0 18px 40px rgba(5, 150, 105, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.installer-input-invalid {
    border-color: #ef4444;
    background-color: #fff7f7;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
}

.installer-submit-bar {
    position: fixed;
    right: max(24px, calc((100vw - 56rem) / 2 + 24px));
    bottom: 16px;
    z-index: 10;
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.installer-submit-bar > p {
    display: none;
}

@media (max-width: 639px) {
    .installer-page {
        background-attachment: scroll;
        background-position: 62% center;
        padding-bottom: 24px;
    }

    .installer-page::before {
        background: rgba(3, 12, 27, 0.68);
    }

    .installer-submit-bar {
        position: static;
        width: auto;
        padding: 12px;
        border: 1px solid #dbeafe;
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
        backdrop-filter: blur(12px);
    }

    .installer-submit-bar > p {
        display: flex;
    }
}
