/* STEVENS FINANCES — page de connexion équipe, clair/sombre */
body.sf-login-page{min-height:100vh;margin:0!important;display:flex;align-items:center;justify-content:center;padding:28px 16px;box-sizing:border-box;background:radial-gradient(circle at 15% 20%,#d9eafa 0,transparent 37%),linear-gradient(135deg,#e9f1f8,#d9e7ef)!important;color:#16384f!important;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.sf-login-page *{box-sizing:border-box}
.sf-login-shell{width:min(100%,470px);margin:auto!important;padding:0!important}
.sf-login-card.panel{width:100%;max-width:none!important;margin:0!important;padding:36px!important;background:#fff!important;color:#19394d!important;border:1px solid #cbdce9!important;border-radius:22px!important;box-shadow:0 18px 60px #0b37502a!important}
.sf-login-brand{display:flex;align-items:center;gap:12px;color:#133c55;font-weight:900;letter-spacing:.09em;font-size:13px}
.sf-login-brand small{display:block;font-size:10px;color:#6a8294;letter-spacing:.15em;margin-top:4px}
.sf-login-mark{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#086f85,#0a395d);color:#fff;font-weight:900;font-size:16px}
.sf-login-eyebrow{margin-top:32px;color:#147c93;font-size:11px;letter-spacing:.16em;font-weight:900}
.sf-login-card h1{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;color:#113950!important;font-size:clamp(25px,5vw,32px)!important;line-height:1.15;margin:9px 0!important;letter-spacing:-.03em}
.sf-login-intro{margin:0 0 25px!important;color:#58758a!important;font-size:14px}
.sf-login-card form{display:grid;gap:15px}
.sf-login-card label{display:block;color:#244b63!important;font-weight:700;font-size:13px;margin:0!important}
.sf-login-card input{display:block;width:100%!important;margin:8px 0 0!important;padding:13px 14px!important;border:1px solid #b7cbd9!important;border-radius:10px!important;background:#f8fbfe!important;color:#142f42!important;font-size:15px!important;min-height:46px}
.sf-login-card input:focus{outline:3px solid #54b9d055!important;outline-offset:1px;border-color:#1385a1!important}
.sf-login-card .sf-login-submit{width:100%;min-height:48px;margin:5px 0 0!important;border:0!important;border-radius:10px!important;background:#087e78!important;color:#fff!important;font-size:14px!important;font-weight:800!important;display:flex;justify-content:center;align-items:center;gap:12px;cursor:pointer}
.sf-login-card .sf-login-submit:hover{background:#06645f!important}
.sf-login-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:25px;padding-top:20px;border-top:1px solid #dce7ee}
.sf-login-footer a{color:#116d84!important;font-size:13px;font-weight:700;text-decoration:none}
.sf-login-footer a:hover{text-decoration:underline}
.sf-login-card .error{padding:11px;border-radius:9px;background:#fee2e2;color:#8d2020}
html[data-sf-theme="dark"] body.sf-login-page{background:radial-gradient(circle at 20% 10%,#153c46 0,transparent 40%),#080f17!important;color:#eaf3fa!important}
html[data-sf-theme="dark"] .sf-login-card.panel{background:#141f2d!important;color:#edf6ff!important;border-color:#34475b!important;box-shadow:0 22px 70px #0008!important}
html[data-sf-theme="dark"] .sf-login-brand,html[data-sf-theme="dark"] .sf-login-card h1{color:#f0f7ff!important}
html[data-sf-theme="dark"] .sf-login-brand small,html[data-sf-theme="dark"] .sf-login-intro{color:#a8bdce!important}
html[data-sf-theme="dark"] .sf-login-card label{color:#d4e5f3!important}
html[data-sf-theme="dark"] .sf-login-card input{background:#0b1622!important;border-color:#40556a!important;color:#fff!important}
html[data-sf-theme="dark"] .sf-login-footer{border-color:#34475b!important}
html[data-sf-theme="dark"] .sf-login-footer a{color:#85d6ef!important}
@media(max-width:480px){.sf-login-card.panel{padding:25px!important}.sf-login-footer{flex-direction:column}}
@media print{body.sf-login-page{background:#fff!important}}

/* Administrateur : même charte graphique que le collaborateur */
body.sf-admin-login .sf-login-card.panel{width:min(100%,470px);margin:0!important}
body.sf-admin-login .sf-login-card label{margin:0!important}
body.sf-admin-login .sf-login-card input{width:100%!important}
body.sf-admin-login .sf-login-card form{display:grid;gap:15px}
body.sf-admin-login .sf-login-card .err{padding:12px;background:#fee2e2;color:#9f1e29;border-radius:9px}
/* Espace client : harmonisation sans toucher aux autres pages */
body:has(.sf-client-card){background:linear-gradient(135deg,#e9f1f8,#d9e7ef)!important}
.sf-client-card.panel{max-width:470px!important;margin:38px auto 65px!important;padding:36px!important}
.sf-client-card .sf-login-brand{margin-bottom:25px}
.sf-client-card .sf-login-eyebrow{margin-top:0}
.sf-client-card .sf-login-footer p{margin:0;font-size:12px;color:#60788b;max-width:260px}
html[data-sf-theme="dark"] body:has(.sf-client-card){background:#080f17!important}
html[data-sf-theme="dark"] .sf-client-card .sf-login-footer p{color:#b2c8d9!important}
@media(max-width:520px){.sf-client-card.panel{padding:24px!important;margin:20px 10px 45px!important}}

/* Logo officiel STEVENS FINANCES à la place du monogramme SF.
   Fonctionne sur les trois connexions sans toucher à l'authentification. */
.sf-login-brand .sf-login-mark{
  display:block!important;flex:0 0 54px!important;
  width:54px!important;height:54px!important;
  padding:0!important;border:1px solid #d7e1e8!important;
  border-radius:12px!important;background-color:#ffffff!important;
  background-image:url("images/logo-stevens-finances.png")!important;
  background-position:center!important;background-size:contain!important;
  background-repeat:no-repeat!important;
  font-size:0!important;line-height:0!important;
  color:transparent!important;text-shadow:none!important;
  overflow:hidden!important;
}
html[data-sf-theme="dark"] .sf-login-brand .sf-login-mark{
  background-color:#ffffff!important;border-color:#668098!important;
}
