/* Connexion et compte : Graphite, hiérarchie claire et commandes explicites. */
body.is-auth { background:var(--bg-0); }
.login.auth-shell { display:flex;flex-direction:column;max-width:1440px;margin:0 auto;padding:30px 48px 24px;min-height:100dvh;position:relative;z-index:1; }
.auth-header { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:36px; }
.auth-header .logo { color:var(--tx-1); }
.auth-header-label { font-size:12px;color:var(--tx-3);padding:7px 11px;border:1px solid var(--line);border-radius:7px; }
.auth-layout { display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:72px;align-items:center;flex:1; }
.auth-story { min-width:0;padding:14px 0; }
.auth-story h2 { font-size:clamp(36px,4.1vw,58px);font-weight:750;letter-spacing:-.055em;line-height:1.12;margin:17px 0 22px; }
.auth-story h2 > span { color:var(--gold-400); }
.auth-story > p { max-width:445px;font-size:15px;line-height:1.8;color:var(--tx-3); }
.auth-apollon { display:flex;align-items:center;gap:12px;position:relative;border:1px solid var(--line);border-radius:18px;background:linear-gradient(115deg,var(--bg-1),var(--bg-2));margin:26px 0 18px;padding:23px 24px;min-height:178px; }
.auth-apollon > div { min-width:0;flex:1; }
.auth-story-kicker { display:block;font-size:11px;font-weight:650;color:var(--gold-400);margin-bottom:10px; }
.auth-apollon strong { font-size:17px;letter-spacing:-.025em;line-height:1.5;display:block;max-width:235px; }
.auth-apollon p { font-size:12px;line-height:1.6;margin-top:10px;color:var(--tx-3); }
.auth-apollon img { width:154px;height:154px;object-fit:contain;filter:drop-shadow(0 10px 15px #0003);flex-shrink:0; }
.auth-guardians { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.auth-guardians > div { display:flex;align-items:center;gap:9px;min-width:0; }
.auth-guardians img { width:36px;height:36px;object-fit:contain;flex-shrink:0; }
.auth-guardians span { font-size:11px;font-weight:600;line-height:1.5; }
.auth-guardians small { display:block;font-size:10px;font-weight:500;color:var(--tx-3); }
.auth-form-side { min-width:0;width:100%;max-width:456px;justify-self:end; }
.auth-card { padding:30px;border:1px solid var(--line-2);border-radius:18px;background:var(--bg-1);box-shadow:var(--shadow-2); }
.auth-card .eyebrow { font-size:9px;letter-spacing:.085em; }
.auth-card h1 { font-size:26px;line-height:1.3;letter-spacing:-.04em;margin:11px 0 7px; }
.auth-intro { color:var(--tx-3);font-size:13px;margin-bottom:25px;line-height:1.6; }
.auth-form { gap:17px; }
.auth-form label { font-size:12px; }
.auth-form .input { min-height:48px;font-size:14px; }
.auth-form #lg-pass { padding-right:50px; }
.auth-password-eye { position:absolute;right:2px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--tx-3);border-radius:7px; }
.auth-password-eye svg { width:18px;height:18px; }
.auth-password-eye:hover,.auth-password-eye[aria-pressed=true] { color:var(--gold-400);background:var(--gold-soft); }
.auth-feedback:not([hidden]) { display:block;background:#fda4af0d;color:var(--rose);border:1px solid #fda4af66;font-size:12px;line-height:1.6;padding:12px 14px;border-radius:9px; }
.auth-field-error { color:var(--rose);font-size:12px;line-height:1.5; }
.auth-form [aria-invalid=true] { border-color:var(--rose); }
.auth-options { display:flex;align-items:center;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;margin-top:-4px; }
.auth-options .check { min-height:44px;font-size:12px; }
.auth-options > button { min-height:44px;color:var(--gold-400);font-size:12px;font-weight:600; }
.auth-remember-note { color:var(--tx-3);font-size:11px;line-height:1.5;margin-top:-17px; }
.auth-submit { min-height:50px;font-size:14px;margin-top:2px;justify-content:space-between;padding:13px 16px; }
.auth-enterprise { border-top:1px solid var(--line);margin-top:3px;padding-top:4px; }
.auth-enterprise summary { display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:600;cursor:pointer;color:var(--tx-2);list-style:none; }
.auth-enterprise summary::-webkit-details-marker { display:none; }
.auth-enterprise summary svg { width:16px;height:16px;color:var(--tx-3); }
.auth-enterprise summary svg:last-child { margin-left:auto; }
.auth-enterprise[open] summary svg:last-child { transform:rotate(180deg); }
.auth-enterprise p { font-size:12px;line-height:1.6;color:var(--tx-3);margin:3px 0 12px; }
.auth-enterprise .btn { font-size:11px;min-height:44px;padding:9px 6px; }
.auth-return { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;min-height:44px;border-top:1px solid var(--line);color:var(--tx-2);font-size:12px; }
.auth-return svg { width:16px;height:16px; }
.auth-help { display:flex;align-items:center;justify-content:center;gap:5px 10px;flex-wrap:wrap;padding:18px 0;font-size:11px;color:var(--tx-3); }
.auth-help > button { display:flex;align-items:center;gap:5px;min-height:44px;font-size:11px;font-weight:650;color:var(--tx-2); }
.auth-help svg { width:14px;height:14px; }
.auth-footer { display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:var(--tx-3);padding-top:20px;margin-top:16px;border-top:1px solid var(--line); }
.side-user.account-trigger { display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:11px;min-height:66px;padding:11px 9px;margin-left:-9px;margin-right:-9px;border:1px solid transparent;border-radius:11px;flex-shrink:0;text-align:left; }
.side-user.account-trigger:hover,.side-user.account-trigger[aria-expanded=true] { background:var(--bg-2);border-color:var(--line-2); }
.avatar.account-avatar { width:38px;height:38px;min-width:38px;border:1px solid var(--line-2);border-radius:11px;background:var(--bg-3);color:var(--tx-1);box-shadow:none;font-size:12px;font-weight:700; }
.account-trigger .side-user-meta { min-width:0;overflow:hidden; }
.account-trigger .side-user-meta strong { font-size:13px;line-height:1.5;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.account-trigger .side-user-meta small { display:block;margin-top:2px;font-size:11px;line-height:1.5;color:var(--tx-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.account-chevron { color:var(--tx-3);display:flex;align-items:center; }
.account-chevron svg { width:15px;height:15px; }
.account-menu { position:fixed;z-index:130;background:var(--bg-1);color:var(--tx-1);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow-2);overflow-y:auto;overscroll-behavior:contain; }
.account-menu-identity { display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:18px;border-bottom:1px solid var(--line); }
.account-menu-identity > div { flex:1;min-width:0; }
.account-menu-identity strong { display:block;font-size:13px;font-weight:650;overflow-wrap:anywhere; }
.account-menu-identity span:not(.avatar) { display:block;font-size:11px;color:var(--tx-3);margin-top:4px;overflow-wrap:anywhere; }
.account-menu-identity p { width:100%;font-size:11px;line-height:1.6;color:var(--tx-3);overflow-wrap:anywhere; }
.account-menu-links { padding:7px; }
.account-menu-links > a,.account-menu-footer > button { display:flex;align-items:center;gap:10px;min-height:44px;padding:11px 12px;font-size:12px;font-weight:550;width:100%;border-radius:8px;text-align:left; }
.account-menu-links > a svg,.account-menu-footer > button svg { width:16px;height:16px;flex-shrink:0;color:var(--tx-3); }
.account-menu-links > a svg:last-child { margin-left:auto;width:13px; }
.account-menu-links > a:hover,.account-menu-links > a:focus-visible { background:var(--bg-3);color:var(--tx-1); }
.account-menu-footer { padding:7px;border-top:1px solid var(--line); }
.account-menu-footer > button { color:var(--rose); }
.account-menu-footer > button svg { color:inherit; }
.account-menu-footer > button:hover,.account-menu-footer > button:focus-visible { background:#fda4af0d; }
@media(max-width:1100px) { .login.auth-shell { padding:26px 30px 22px; }.auth-layout { gap:36px; }.auth-story h2 { font-size:42px; }.auth-apollon { padding:19px; }.auth-apollon img { width:126px;height:126px; }.auth-guardians { gap:6px; }.auth-guardians img { width:30px;height:30px; } }
@media(max-width:800px) { .login.auth-shell { padding:22px; }.auth-header { margin-bottom:25px; }.auth-layout { grid-template-columns:minmax(0,1fr);gap:32px; }.auth-form-side { justify-self:center;max-width:460px;order:0; }.auth-story { order:1;width:100%;max-width:460px;justify-self:center; }.auth-story h2 { font-size:36px; }.auth-story > p { font-size:13px; }.auth-story > .eyebrow { font-size:10px; }.auth-apollon { margin-top:20px;min-height:140px; }.auth-footer { font-size:10px;flex-wrap:wrap;gap:7px; }.auth-card { padding:25px; }.auth-guardians { margin-bottom:8px; } }
@media(max-width:380px) { .login.auth-shell { padding:18px 14px; }.auth-header-label { display:none; }.auth-card { padding:22px 18px; }.auth-card h1 { font-size:23px; }.auth-guardians { grid-template-columns:1fr;gap:12px; }.auth-guardians img { width:34px;height:34px; }.auth-apollon { padding:16px;gap:8px; }.auth-apollon img { width:92px;height:118px; }.auth-apollon strong { font-size:14px; }.auth-help { padding:11px 0; } }
@media(prefers-reduced-motion:reduce) { .account-menu,.auth-shell { scroll-behavior:auto; } }
