/* Pages de compte (connexion, acces refuse) de Softic.Tender : autonomes, sans theme DevExpress ni ressource externe. Charte SOFTIC. */
@font-face { font-family: "Space Grotesk"; src: url("../fonts/SpaceGrotesk-Variable.ttf") format("truetype"); font-weight: 300 700; font-display: swap; }
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { font-family: "Segoe UI", system-ui, -apple-system, sans-serif; font-size: 1rem; line-height: 1.5; color: #17263B; background: #0F1B33; }
.st-account-stage { min-height: 100vh; display: grid; grid-template-columns: 1.15fr 1fr; }
.st-account-visual { position: relative; overflow: hidden; background: #0F1B33; display: flex; align-items: flex-end; }
.st-account-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.st-account-tagline { position: relative; padding: 48px 56px; color: #fff; }
.st-account-kicker { font-family: "Space Grotesk", "Segoe UI", sans-serif; font-weight: 600; letter-spacing: .06em; color: #7FD3E6; font-size: .85rem; }
.st-account-claim { font-family: "Space Grotesk", "Segoe UI", sans-serif; font-weight: 500; font-size: 1.7rem; line-height: 1.25; max-width: 22ch; margin-top: 8px; }
.st-account-card { background: #fff; display: flex; flex-direction: column; justify-content: center; padding: 56px clamp(32px, 8vw, 96px); }
.st-brand { display: flex; align-items: center; gap: 10px; color: #17263B; text-decoration: none; margin-bottom: 36px; }
.st-brand-text { font-family: "Space Grotesk", "Segoe UI", sans-serif; font-size: 1.1rem; letter-spacing: .02em; }
.st-mark { display: inline-grid; grid-template-columns: 1fr 1fr; gap: 2px; width: 24px; height: 24px; }
.st-logo-light { display: block; width: 230px; max-width: 100%; height: auto; }
.st-brand-product { display: inline-flex; align-items: center; gap: 6px; font-family: "Space Grotesk", "Segoe UI", sans-serif; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #0A2540; margin-top: 6px; }
.st-brand-product::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: #FF7200; }
.st-brand.st-brand-dark { flex-direction: column; align-items: flex-start; gap: 4px; }
.st-mark .sq { display: block; border-radius: 2px; }
.sq-blue { background: #144A80; } .sq-cyan { background: #FF7200; } .sq-navy { background: #144A80; } .sq-violet { background: #FF7200; }
h1.h4 { font-family: "Space Grotesk", "Segoe UI", sans-serif; font-size: 1.5rem; font-weight: 600; margin: 0 0 20px; color: #0A2540; }
p { margin: 0 0 1rem; }
.mb-3 { margin-bottom: 1rem; } .mb-4 { margin-bottom: 1.5rem; } .mt-4 { margin-top: 1.5rem; } .w-100 { width: 100%; }
.small { font-size: .875em; } .text-muted { color: #6c757d; } .text-danger { color: #b02a37; }
.form-label { display: inline-block; margin-bottom: .35rem; font-weight: 500; }
.form-control { display: block; width: 100%; padding: .6rem .8rem; font: inherit; color: #212529; background: #fff; border: 1px solid #CBD3DE; border-radius: 8px; }
.form-control:focus { outline: 0; border-color: #144A80; box-shadow: 0 0 0 .2rem rgba(20, 74, 128, .18); }
.form-check { display: flex; align-items: center; gap: .5rem; }
.form-check-input { width: 1rem; height: 1rem; margin: 0; }
.btn { display: inline-block; padding: .65rem 1rem; font: inherit; font-weight: 600; text-align: center; text-decoration: none; border: 1px solid transparent; border-radius: 8px; cursor: pointer; }
.btn-primary { color: #fff; background: #144A80; border-color: #144A80; }
.btn-primary:hover { background: #0d5ea6; }
.btn-primary:focus-visible { outline: 3px solid #7FD3E6; outline-offset: 2px; }
.alert { padding: .75rem 1rem; border: 1px solid transparent; border-radius: 8px; margin-bottom: 1rem; }
.alert-danger { color: #842029; background: #f8d7da; border-color: #f5c2c7; }
.st-account-cultures { margin-top: 28px; display: flex; gap: 14px; }
.st-account-cultures a { color: #5B6B80; text-decoration: none; font-size: .85rem; font-weight: 600; }
.st-account-cultures a:hover { color: #144A80; }
code { font-family: Consolas, "Courier New", monospace; }
@media (max-width: 900px) {
    .st-account-stage { grid-template-columns: 1fr; }
    .st-account-visual { min-height: 200px; }
    .st-account-tagline { padding: 24px 28px; }
    .st-account-card { padding: 36px 28px; }
}
