:root{--orange:#ff6a00;--orange-deep:#e95600;--orange-soft:#fff0e5;--black:#151517;--ink:#202024;--muted:#74767d;--line:rgba(32,32,36,.16);--white:#fff}
*{box-sizing:border-box}
html{min-height:100%;max-width:100%;overflow-x:clip;background:#fff}
body{margin:0;min-height:100svh;max-width:100%;overflow-x:clip;font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-skip{position:fixed;z-index:100;left:12px;top:10px;padding:10px 15px;border-radius:9px;background:var(--black);color:#fff;font-weight:700;transform:translateY(-150%)}
.auth-skip:focus{transform:none}
.auth-header{position:fixed;z-index:20;left:0;right:0;top:0;height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(28px,4vw,68px);pointer-events:none}
.auth-header>a{pointer-events:auto}
.auth-brand{display:flex;align-items:center;gap:13px;color:var(--black);font-size:25px;letter-spacing:-.9px}
.auth-brand>span{position:relative;width:58px;height:50px;display:grid;place-items:center;color:var(--orange);font-size:31px;font-style:italic;font-weight:800;letter-spacing:-4px;filter:drop-shadow(0 8px 15px rgba(255,106,0,.16))}
.auth-brand>span::after{content:"";position:absolute;right:3px;bottom:7px;width:27px;height:4px;border-radius:999px;background:var(--orange);transform:rotate(-56deg);transform-origin:right center}
.auth-brand strong{font-weight:800}
.home-link{min-height:45px;display:inline-flex;align-items:center;gap:10px;padding:0 2px;border-bottom:1px solid rgba(21,21,23,.5);color:var(--black);font-size:13px;font-weight:650;transition:color .2s ease,border-color .2s ease}
.home-link:hover{color:var(--orange-deep);border-color:var(--orange)}
.home-link svg{width:19px;height:19px;display:none}
.auth-stage{position:relative;isolation:isolate;min-height:100svh;display:grid;place-items:center;padding:126px 20px 76px;overflow:hidden}
.wave-scene{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;background:#fff}
.auth-wave-original-header{position:absolute;inset:0 0 auto;height:72%;text-align:center;background:linear-gradient(60deg,rgba(84,58,183,1) 0%,rgba(0,172,193,1) 100%);color:#fff}
.auth-wave-original{position:absolute;right:0;bottom:-7px;left:0;width:100%;height:15vh;min-height:100px;max-height:150px}
.auth-wave-parallax>use{animation:authWaveMove 25s cubic-bezier(.55,.5,.45,.5) infinite;will-change:transform}
.auth-wave-parallax>use:nth-child(1){animation-delay:-2s;animation-duration:7s}.auth-wave-parallax>use:nth-child(2){animation-delay:-3s;animation-duration:10s}.auth-wave-parallax>use:nth-child(3){animation-delay:-4s;animation-duration:13s}.auth-wave-parallax>use:nth-child(4){animation-delay:-5s;animation-duration:20s}
.login-panel{position:relative;z-index:2;width:min(100%,590px);padding:48px 56px 34px;border:1px solid rgba(255,255,255,.9);border-radius:27px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.68));box-shadow:0 30px 76px rgba(31,28,27,.17),0 2px 10px rgba(31,28,27,.06),inset 0 1px 0 #fff;backdrop-filter:blur(30px) saturate(138%);-webkit-backdrop-filter:blur(30px) saturate(138%)}
.login-panel::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(132deg,rgba(255,255,255,.76),rgba(255,255,255,.08) 45%,rgba(255,106,0,.035))}
.login-panel::after{content:"";position:absolute;z-index:-1;left:14%;right:14%;bottom:-26px;height:55px;border-radius:50%;background:rgba(130,67,26,.13);filter:blur(24px);pointer-events:none}
.panel-heading,.login-form,.login-links,.auth-message,.security-note{position:relative}
.panel-heading{text-align:center}
.panel-heading h1{margin:0;font-size:34px;line-height:1.16;letter-spacing:-1.55px;font-weight:800}
.panel-heading h1 .desktop-title{display:inline;background:linear-gradient(90deg,var(--black) 0 52%,var(--orange-deep) 68%);-webkit-background-clip:text;background-clip:text;color:transparent}
.mobile-title{display:none}
.panel-heading p{margin:11px 0 29px;color:var(--muted);font-size:13px;line-height:1.65}
.login-form{display:grid}
.login-form>label{margin:0 0 8px;font-size:12px;font-weight:750;color:#28282c}
.login-form>label:not(:first-of-type){margin-top:20px}
.auth-field{position:relative;height:55px;display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.94);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.auth-field:focus-within{border-color:var(--orange);background:rgba(255,255,255,.94);box-shadow:0 0 0 4px rgba(255,106,0,.11),inset 0 1px 0 #fff}
.auth-field>svg{position:absolute;left:16px;width:21px;height:21px;color:#96989f;pointer-events:none}
.auth-field input{width:100%;height:100%;border:0;outline:0;border-radius:inherit;background:transparent;color:#151517;padding:0 46px;font-size:14px;font-weight:520}
.auth-field input::placeholder{color:#a5a7ad;font-weight:500}
.password-field input{padding-right:57px}
.password-toggle{position:absolute;right:6px;width:43px;height:43px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#45474c;cursor:pointer;transition:background .2s ease,color .2s ease}
.password-toggle:hover{background:var(--orange-soft);color:var(--orange-deep)}
.password-toggle svg{width:21px;height:21px}.eye-closed{display:none}.password-toggle[aria-pressed="true"] .eye-open{display:none}.password-toggle[aria-pressed="true"] .eye-closed{display:block}
.login-submit{height:56px;margin-top:25px;display:flex;align-items:center;justify-content:center;gap:13px;border:1px solid var(--orange);border-radius:11px;background:linear-gradient(110deg,#ff6200,#ff8600);box-shadow:0 13px 27px rgba(255,98,0,.27),inset 0 1px 0 rgba(255,255,255,.32);color:#fff;font-size:15px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.login-submit span{font-size:20px;transition:transform .2s ease}.login-submit:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 17px 32px rgba(255,98,0,.32),inset 0 1px 0 rgba(255,255,255,.32)}.login-submit:hover span{transform:translateX(3px)}
.login-submit:focus-visible,.password-toggle:focus-visible,.home-link:focus-visible,.auth-brand:focus-visible,.login-links a:focus-visible,.auth-footer a:focus-visible{outline:3px solid rgba(255,106,0,.38);outline-offset:3px}
.login-links{margin-top:23px;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:19px;text-align:center}
.login-links i{width:1px;height:25px;background:#d7d8dc}.login-links a{font-size:11px;font-weight:650;text-decoration:underline;text-decoration-color:#c4c5c9;text-underline-offset:4px;transition:color .2s ease}.login-links a:hover{color:var(--orange-deep)}
.auth-message{margin:0 0 19px;padding:12px 14px;border-radius:9px;font-size:12px;font-weight:650;line-height:1.45}.auth-message.error{border:1px solid #ffc3a1;background:#fff0e8;color:#a63700}.auth-message.success{border:1px solid #acdcca;background:#e8f8f0;color:#176b49}
.security-note{display:flex;align-items:center;justify-content:center;gap:10px;margin:25px 0 0;padding-top:21px;border-top:1px solid rgba(45,47,52,.09);color:#74777e;font-size:10px;text-align:center}.security-note svg{width:22px;height:22px;color:#7d8087;stroke-width:1.7;flex:0 0 auto}
.auth-footer{position:fixed;z-index:10;right:0;left:0;bottom:18px;display:flex;justify-content:center;gap:22px;color:#777a81;font-size:10px}.auth-footer a{padding:5px 2px;text-shadow:0 1px 8px #fff}.auth-footer a:hover{color:var(--orange-deep)}
.reset-panel{max-width:540px}.reset-panel .panel-heading p{max-width:430px;margin-inline:auto}.reset-help,.reset-information{position:relative;margin:24px 0 0;padding:18px;border:1px solid rgba(255,106,0,.16);border-radius:11px;background:rgba(255,248,242,.76);color:#6e625b;font-size:11px;line-height:1.65;text-align:center}.reset-submit{width:100%;text-decoration:none}.reset-success-icon{position:relative;width:62px;height:62px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fff0e5,#ffd8bb);color:var(--orange-deep);box-shadow:0 12px 28px rgba(255,106,0,.18)}.reset-success-icon svg{width:31px;height:31px;stroke-width:2.4}.password-meter{position:relative;display:grid;grid-template-columns:110px 1fr;align-items:center;gap:11px;margin:9px 0 2px;color:#777a81;font-size:9px}.password-meter::before{content:"";height:5px;border-radius:999px;background:#e5e6e9}.password-meter i{position:absolute;left:0;width:var(--strength,0);max-width:110px;height:5px;border-radius:999px;background:#ff6a00;transition:width .2s ease,background .2s ease}.password-meter[data-score="3"] i,.password-meter[data-score="4"] i{background:#1f9d68}
@keyframes authWaveMove{0%{transform:translate3d(-90px,0,0)}100%{transform:translate3d(85px,0,0)}}
@media(max-height:790px) and (min-width:701px){.auth-stage{padding-top:106px;padding-bottom:49px}.login-panel{padding-top:34px;padding-bottom:25px}.panel-heading p{margin-bottom:20px}.auth-field{height:49px}.login-form>label:not(:first-of-type){margin-top:15px}.login-submit{height:50px;margin-top:20px}.login-links{margin-top:17px}.security-note{margin-top:17px;padding-top:16px}.auth-footer{bottom:7px}}
@media(max-width:700px){
  .auth-header{position:absolute;height:82px;padding:0 16px}.auth-brand{gap:8px;font-size:19px}.auth-brand>span{width:45px;height:42px;font-size:24px}.auth-brand>span::after{right:1px;bottom:5px;width:21px;height:3px}.home-link{width:43px;height:43px;min-height:43px;display:grid;place-items:center;padding:0;border:1px solid rgba(31,31,34,.12);border-radius:11px;background:rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(31,31,34,.06);backdrop-filter:blur(12px)}.home-link svg{display:block;width:21px;height:21px}.home-link span{display:none}
  .auth-stage{min-height:100svh;padding:115px 13px 74px}.auth-wave-original-header{height:68%}.auth-wave-original{height:40px;min-height:40px;max-height:40px}
  .login-panel{width:100%;max-width:430px;padding:34px 25px 27px;border-radius:23px;background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.72));box-shadow:0 25px 60px rgba(34,34,37,.16),inset 0 1px 0 #fff}.panel-heading h1{font-size:30px;letter-spacing:-1.2px}.desktop-title{display:none!important}.mobile-title{display:inline}.panel-heading p{margin:9px 0 24px;font-size:13px}.auth-field{height:53px}.login-submit{height:54px}.login-links{grid-template-columns:1fr;gap:0;margin-top:20px}.login-links i{width:100%;height:1px;margin:14px 0;background:#e2e3e6}.login-links a{min-height:24px;font-size:12px;text-decoration:none}.login-links a::after{content:"›";margin-left:7px;color:var(--orange);font-size:18px;vertical-align:-2px}.security-note{margin-top:20px;padding-top:17px;font-size:9px;line-height:1.45}.auth-footer{position:absolute;bottom:10px;padding:0 15px}
}
@media(max-width:380px){.auth-stage{padding-inline:9px}.login-panel{padding-inline:20px}.auth-brand strong{font-size:17px}.panel-heading h1{font-size:28px}.panel-heading p{font-size:12px}.auth-footer{gap:16px}}
@media(prefers-reduced-motion:reduce){.auth-wave-parallax>use,.login-submit,.login-submit span,.password-toggle,.home-link{animation:none!important;transition:none!important}}

/* Logo fourni par AY Facture, conservé dans ses couleurs d'origine */
.auth-brand{display:inline-flex;align-items:center;padding:3px 5px;border-radius:11px;background:#fff;box-shadow:0 8px 24px rgba(11,43,91,.06)}.auth-brand>img{display:block;width:clamp(205px,19vw,272px);height:auto}.auth-brand>span,.auth-brand>strong{display:none}
@media(max-width:700px){.auth-brand{padding:2px 4px}.auth-brand>img{width:180px}}
@media(max-width:380px){.auth-brand>img{width:158px}}
