/* Pages d'authentification + back-office Kokoto */

.auth-wrap { max-width: 440px; margin: 3rem auto; }
.auth-card {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow);
}
.auth-card h1 { font-size: 1.8rem; margin-top: 0; }

.auth-form { display: grid; gap: 1.1rem; margin-top: 1.2rem; }
.auth-form .field { display: grid; gap: .35rem; margin: 0; }
.auth-form label > span, .auth-form .field > span { font-weight: 600; font-size: .95rem; }
.auth-form input {
    font-family: var(--font-body); font-size: 1rem; color: var(--text);
    background: var(--bg); border: 1px solid var(--border);
    border-radius: var(--radius); padding: .7rem .9rem; width: 100%;
}
.auth-form input:focus {
    outline: none; border-color: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);
}
.auth-form .btn { width: 100%; justify-content: center; }
.auth-links { margin-top: 1.2rem; font-size: .92rem; }
.auth-flash {
    list-style: none; padding: .9rem 1.1rem; margin: 0 0 1.2rem;
    border: 1px solid var(--accent); border-radius: var(--radius);
    background: color-mix(in srgb, var(--accent) 10%, var(--bg));
}
.auth-flash li { margin: 0; }

/* ── Back-office ── */
.admin-table { width: 100%; border-collapse: collapse; margin-top: 1.5rem; }
.admin-table th, .admin-table td {
    text-align: left; padding: .7rem .8rem; border-bottom: 1px solid var(--border);
    font-size: .95rem; vertical-align: middle;
}
.admin-table th { font-weight: 700; }
.status-pill {
    display: inline-block; padding: .15rem .6rem; border-radius: var(--radius-pill);
    font-size: .78rem; font-weight: 700; border: 1px solid var(--border);
}
.status-pending  { color: var(--ocre-profond, #6E4D12); border-color: var(--accent); background: color-mix(in srgb, var(--accent) 15%, var(--bg)); }
.status-active   { color: var(--success); border-color: var(--success); }
.status-suspended{ color: var(--error-text); border-color: var(--error); }
.row-actions { display: flex; gap: .4rem; flex-wrap: wrap; }
.row-actions button, .btn-sm {
    font-size: .82rem; padding: .35rem .7rem; border-radius: var(--radius-pill);
    border: 1px solid var(--border); background: var(--bg); color: var(--text);
    cursor: pointer; min-height: 34px;
}
.row-actions button:hover { background: var(--surface); border-color: var(--accent); }
.btn-danger { border-color: var(--error); color: var(--error-text); }

.create-form {
    display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    align-items: end; background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius-lg); padding: 1.4rem; margin-top: 1.5rem;
}
.create-form .field { margin: 0; }
.create-form input {
    width: 100%; padding: .6rem .8rem; border: 1px solid var(--border);
    border-radius: var(--radius); background: var(--bg); color: var(--text); font-size: .95rem;
}
