:root {
    --repo360-ink: #0b0e0c;
    --repo360-muted: #4f5d55;
    --repo360-line: #d6dfd8;
    --repo360-surface: #ffffff;
    --repo360-primary: #3cc951;
    --repo360-primary-strong: #26933b;
    --repo360-background: #f1f4f2;
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--repo360-ink);
    font-family: "Manrope", sans-serif;
    background-color: var(--repo360-background) !important;
}

.repo360-auth-shell {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 2rem 1rem;
    background:
        linear-gradient(135deg, rgba(60, 201, 81, 0.13), transparent 42%),
        linear-gradient(315deg, rgba(17, 24, 20, 0.08), transparent 38%),
        #f6f9f6;
}

.repo360-auth-panel {
    width: min(100%, 440px);
    padding: 2.75rem 2.5rem;
    background: var(--repo360-surface);
    border: 1px solid var(--repo360-line);
    border-radius: 8px;
    box-shadow: 0 24px 55px rgba(9, 14, 10, 0.13);
}

.repo360-auth-logo {
    display: block;
    width: fit-content;
    margin: 0 auto 2rem;
}

.repo360-auth-logo img {
    display: block;
    width: auto;
    height: 54px;
}

.repo360-auth-heading {
    margin-bottom: 1.75rem;
    text-align: center;
}

.repo360-auth-heading h1 {
    margin: 0 0 0.45rem;
    color: var(--repo360-ink);
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: 0;
}

.repo360-auth-heading p {
    margin: 0;
    color: var(--repo360-muted);
    font-size: 0.9rem;
}

.repo360-auth-panel .auth-label {
    display: block;
    margin-bottom: 0.5rem;
    color: #253229 !important;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.repo360-auth-panel .auth-input {
    min-height: 48px;
    padding: 0.75rem 0.9rem;
    color: var(--repo360-ink) !important;
    background: #f8fbf8 !important;
    border: 1px solid #bdcbbf !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

.repo360-auth-panel .auth-input:focus {
    border-color: var(--repo360-primary-strong) !important;
    box-shadow: 0 0 0 3px rgba(60, 201, 81, 0.18) !important;
}

.repo360-auth-panel .form-check-label {
    color: var(--repo360-muted);
    font-size: 0.88rem;
}

.repo360-auth-panel .form-check-input:checked {
    background-color: var(--repo360-primary-strong);
    border-color: var(--repo360-primary-strong);
}

.repo360-auth-panel .auth-btn {
    min-height: 48px;
    color: #ffffff !important;
    background: var(--repo360-primary-strong) !important;
    border: 1px solid var(--repo360-primary-strong) !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 18px rgba(38, 147, 59, 0.24) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.repo360-auth-panel .auth-btn:hover,
.repo360-auth-panel .auth-btn:focus {
    background: #1f7a31 !important;
    border-color: #1f7a31 !important;
    box-shadow: 0 10px 22px rgba(31, 122, 49, 0.3) !important;
    transform: translateY(-1px);
}

.repo360-auth-errors {
    margin-bottom: 1.25rem;
    padding: 0.8rem 1rem;
    color: #8f1d1d;
    background: #fff2f2;
    border: 1px solid #efc4c4;
    border-radius: 6px;
    font-size: 0.88rem;
}

.repo360-auth-errors ul {
    margin: 0;
    padding-left: 1.1rem;
}

@media (max-width: 576px) {
    .repo360-auth-shell {
        padding: 1rem;
    }

    .repo360-auth-panel {
        padding: 2rem 1.5rem;
    }
}