/* ── AUTH — sfondo nero, card scura, form chiari e leggibili ── */
.carkpi-auth-body {
    background: #B9B9B9;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ck-font, 'Inter', sans-serif);
}

.auth-wrapper {
    width: 100%;
    max-width: 440px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.auth-card {
    background: #111;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    padding: 40px 36px;
    width: 100%;
    box-shadow: 0 24px 60px rgba(0,0,0,.6);
}

/* Logo — sfondo già nero, nessun wrapper aggiuntivo */
.auth-logo {
    text-align: center;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.auth-logo a { display: inline-block; }
.auth-logo img { height: 52px; width: auto; display: block; margin: 0 auto; }

/* Titoli */
.auth-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin-bottom: 4px;
}
.auth-subtitle {
    font-size: .85rem;
    color: rgba(255,255,255,.45);
    text-align: center;
    margin-bottom: 24px;
}

/* Label */
.auth-card .form-label {
    color: rgba(255,255,255,.75);
    font-size: .84rem;
    font-weight: 600;
    margin-bottom: 5px;
}

/* Input — bianchi/chiari per leggibilità massima */
.auth-card .form-control {
    background: #fff;
    border: 1.5px solid #D1D5DB;
    color: #111827;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: .9rem;
    transition: border-color .15s, box-shadow .15s;
}
.auth-card .form-control:focus {
    background: #fff;
    border-color: #2E75B6;
    color: #111827;
    box-shadow: 0 0 0 3px rgba(46,117,182,.2);
    outline: none;
}
.auth-card .form-control::placeholder { color: #9CA3AF; }
.auth-card .form-control.is-invalid   { border-color: #DC2626; }

/* Input group */
.auth-card .input-group-text {
    background: #F9FAFB;
    border: 1.5px solid #D1D5DB;
    color: #6B7280;
}
.auth-card .input-group .form-control:not(:first-child) { border-left: none; }
.auth-card .input-group-text:first-child                { border-right: none; }

/* Links e testo secondario */
.auth-card a             { color: #60A5FA; }
.auth-card a:hover       { color: #93C5FD; }
.auth-card .text-muted   { color: rgba(255,255,255,1);}
.auth-card .small        { color: rgba(255,255,255,1); }
.auth-card hr            { border-color: rgba(255,255,255,.08); }
.auth-card .form-check-label { color: rgba(255,255,255,.65); font-size: .85rem; }

/* Pulsante outline */
.auth-card .btn-outline-secondary {
    border-color: rgba(255,255,255,.2);
    color: rgba(255,255,255,.7);
    background: transparent;
    font-size: .875rem;
}
.auth-card .btn-outline-secondary:hover {
    background: rgba(255,255,255,.08);
    color: white;
    border-color: rgba(255,255,255,.35);
}

/* Footer */
.auth-footer {
    color: rgba(255,255,255,.25);
    font-size: .78rem;
    text-align: center;
}
.auth-footer a       { color: rgba(255,255,255,.25); }
.auth-footer a:hover { color: rgba(255,255,255,.5); }

/* Alert dentro auth card */
.auth-card .alert-danger {
    background: rgba(220,38,38,.15);
    color: #FCA5A5;
    border-left: 3px solid #DC2626;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: .85rem;
}
.auth-card .alert-success {
    background: rgba(22,163,74,.15);
    color: #86EFAC;
    border-left: 3px solid #16A34A;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: .85rem;
}

@media (max-width: 480px) {
    .auth-card { padding: 28px 20px; }
}
