body {
min-height:100vh;
margin:0;
padding:1rem;
background:linear-gradient(135deg,#f6f7f9 0%,#eef0f4 100%);
font-family:"Noto Naskh Arabic","Tahoma","Arial",sans-serif;
line-height:1.45;
color:#333
}

.main-content {
max-width:600px;
margin:3rem auto;
padding:0 1rem
}

.card.auth-card {
box-shadow:0 10px 30px #1c22281f;
overflow:hidden;
padding:2rem;
background:#fff;
border:5px solid #e865191a;
border-radius:16px
}

.card-head {
margin-bottom:2rem;
padding-bottom:1.5rem;
border-bottom:2px solid #e8651926;
text-align:center
}

.card-head .title {
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
margin:0 0 .5rem;
background:linear-gradient(90deg,#e86519,#2c3e50);
background-clip:text;
font-size:1.75rem;
font-weight:700;
color:#2c3e50
}

.lede {
margin:0;
font-size:1rem;
color:#666;
text-align:center
}

.formulaire_spip {
margin-top:1.5rem;
background:#fff
}

.reponse_formulaire {
margin-bottom:1.5rem;
padding:1rem;
border-radius:8px;
font-weight:500;
text-align:center
}

.reponse_formulaire_ok {
background-color:#2ecc711a;
border:1px solid #2ecc714d;
color:#27ae60
}

.reponse_formulaire_erreur {
background-color:#e74c3c1a;
border:1px solid #e74c3c4d;
color:#c0392b
}

.editer-groupe {
display:grid;
gap:1.25rem
}

.editer {
display:flex;
flex-direction:column;
gap:.5rem
}

.editer label {
display:flex;
align-items:center;
gap:.25rem;
font-size:.95rem;
font-weight:600;
color:#2c3e50
}

.obligatoire label::after {
content:"*";
margin-right:.25rem;
color:#e74c3c
}

.editer input[type="text"],.editer input[type="email"],.editer input[type="password"],.editer input[type="tel"],.editer textarea,.editer select {
outline:none;
box-sizing:border-box;
width:100%;
padding:.75rem 1rem;
transition:all .3s ease;
background:#fff;
border:2px solid #e8e9ec;
border-radius:10px;
font-size:1rem;
color:#333
}

.editer input:hover,.editer textarea:hover,.editer select:hover {
border-color:#bdc3c7
}

.editer input:focus,.editer textarea:focus,.editer select:focus {
box-shadow:0 0 0 4px #e8651926;
background-color:#fffffff2;
border-color:#e86519
}

.editer.erreur input {
background-color:#e74c3c0d;
border-color:#e74c3c
}

input[type="submit"].spip_button,input[type="submit"],button[type="submit"],.boutons input[type="submit"] {
box-shadow:0 6px 20px #e8651940;
display:block;
width:100%;
margin-top:1.5rem;
padding:1rem 1.5rem;
transition:all .3s ease;
background:linear-gradient(135deg,#e86519,#ff7e47);
cursor:pointer;
border:none;
border-radius:12px;
font-size:1.1rem;
font-weight:600;
color:#fff;
text-align:center;
letter-spacing:.5px
}

input[type="submit"]:hover,button[type="submit"]:hover {
box-shadow:0 8px 25px #e8651959;
transform:translateY(-2px);
background:linear-gradient(135deg,#d55a16,#e86519)
}

input[type="submit"]:active,button[type="submit"]:active {
box-shadow:0 4px 15px #e8651940;
transform:translateY(0)
}

.explication,.aide,.erreur_message {
margin-top:.25rem;
font-size:.85rem
}

.explication,.aide {
color:#7f8c8d
}

.erreur_message {
padding:.5rem;
background-color:#e74c3c14;
border-right:3px solid #e74c3c;
border-radius:6px;
font-weight:500;
color:#e74c3c
}

.card-foot {
margin-top:2rem;
padding-top:1.5rem;
border-top:1px solid #eee;
font-size:.9rem;
color:#666;
text-align:center
}

.card-foot a {
transition:color .3s ease;
font-weight:500;
color:#e86519;
text-decoration:none
}

.card-foot a:hover {
color:#d55a16;
text-decoration:underline
}

.choix {
display:flex;
flex-direction:column;
align-items:flex-start;
gap:8px
}

input[type="checkbox"]#session_remember {
appearance:none;
display:flex;
justify-content:center;
align-items:center;
width:25px;
height:25px;
margin:0;
background-color:#f5fffa;
cursor:pointer;
border:2px solid gray;
color:red
}

.session_remember,.checkbox,.nofx,#session_remember {
inputtype:checkbox]#session_remember:checked {;
background-color:#000;
border-color:#007bff
}

input[type="checkbox"]#session_remember:checked::after {
content:"\2713";
font-size:18px;
font-weight:700;
color:#007bff
}

.nofx {
margin:0;
cursor:pointer;
text-align:inherit
}

@media (max-width: 768px) {
.main-content {
margin:1.5rem auto
}

.card.auth-card {
padding:1.5rem;
border-radius:12px
}

.card-head .title {
font-size:1.5rem
}

input[type="submit"] {
padding:.9rem 1.25rem;
font-size:1rem
}
}

@media (max-width: 540px) {
.card.auth-card {
padding:1.25rem
}

.card-head .title {
font-size:1.35rem
}

.editer-groupe {
gap:1rem
}
}

[dir="rtl"] .editer {
text-align:left
}

[dir="rtl"] .erreur_message {
border-left:3px solid #e74c3c;
border-right:none
}

@media (prefers-reduced-motion: reduce) {
* {
transition:none!important;
animation:none!important
}

input[type="submit"]:hover,button[type="submit"]:hover {
transform:none
}
}

div[style*="text-align"] {
margin-top:1.5rem;
text-align:center!important
}

div[style*="text-align"] a {
padding:.5rem 1rem;
transition:all .3s ease;
background-color:#e8651914;
border-radius:6px;
font-weight:500;
color:#e86519!important;
text-decoration:none
}

div[style*="text-align"] a:hover {
background-color:#e8651926;
text-decoration:none
}

.formulaire_oubli {
margin-top:1.5rem
}

.formulaire_oubli fieldset legend {
width:100%;
margin-bottom:1rem;
padding:.5rem 1rem;
border-bottom:2px solid #e8651933;
font-size:1.35rem;
font-weight:600;
color:#2c3e50;
text-align:center
}

.formulaire_oubli fieldset p {
margin:0 0 1.5rem;
padding:0 .5rem;
font-size:.95rem;
line-height:1.5;
color:#666;
text-align:center
}

.formulaire_oubli .editer-groupe {
display:block;
max-width:400px;
margin:0 auto
}

.formulaire_oubli .editer.saisie_oubli {
margin-bottom:.5rem
}

.formulaire_oubli .boutons input[type="submit"] {
box-shadow:0 6px 20px #3498db40;
max-width:400px;
margin-left:auto;
margin-right:auto;
background:linear-gradient(135deg,#3498db,#2980b9)
}

.formulaire_oubli .boutons input[type="submit"]:hover {
box-shadow:0 8px 25px #3498db59;
background:linear-gradient(135deg,#2980b9,#2471a3)
}

.formulaire_oubli .reponse_formulaire_ok {
margin-bottom:1.5rem;
padding:1.25rem;
background-color:#3498db1a;
border:1px solid #3498db4d;
border-radius:10px;
color:#2980b9;
text-align:center
}

.formulaire_oubli .reponse_formulaire_erreur {
margin-bottom:1.5rem;
padding:1.25rem;
background-color:#e74c3c1a;
border:1px solid #e74c3c4d;
border-radius:10px;
color:#c0392b;
text-align:center
}

.formulaire_oubli .explication {
margin-top:.25rem;
font-size:.9rem;
font-style:italic;
color:#7f8c8d;
text-align:center
}

@media (max-width: 768px) {
.formulaire_oubli fieldset legend {
padding:.5rem;
font-size:1.2rem
}

.formulaire_oubli fieldset p {
padding:0;
font-size:.9rem
}

.formulaire_oubli .editer-groupe {
max-width:100%
}

.formulaire_oubli .boutons input[type="submit"] {
max-width:100%
}
}

@media (max-width: 540px) {
.formulaire_oubli fieldset legend {
font-size:1.15rem
}

.formulaire_oubli fieldset p {
margin-bottom:1.25rem;
font-size:.85rem
}
}

.formulaire_oubli form {
animation:fadeInUp .5s ease-out
}

@keyframes fadeInUp {
from {
opacity:0;
transform:translateY(20px)
}

to {
opacity:1;
transform:translateY(0)
}
}

[dir="rtl"] .formulaire_oubli fieldset legend,[dir="rtl"] .formulaire_oubli fieldset p,[dir="rtl"] .formulaire_oubli .explication {
text-align:center
}

.card.auth-card .formulaire_oubli {
margin-top:.5rem
}

.card.auth-card .formulaire_oubli fieldset legend {
display:none
}

.card.auth-card .formulaire_oubli fieldset p {
display:none
}

.card.auth-card .formulaire_oubli .editer-groupe {
display:block;
max-width:400px;
margin:0 auto
}

.card.auth-card .formulaire_oubli .editer.saisie_oubli {
margin-bottom:.5rem
}

.card.auth-card .formulaire_oubli .boutons input[type="submit"] {
box-shadow:0 6px 20px #e8651940;
display:block;
width:100%;
max-width:400px;
margin:1.5rem auto 0;
padding:1rem 1.5rem;
transition:all .3s ease;
background:linear-gradient(135deg,#e86519,#ff7e47);
cursor:pointer;
border:none;
border-radius:12px;
font-size:1.1rem;
font-weight:600;
color:#fff;
text-align:center;
letter-spacing:.5px
}

.card.auth-card .formulaire_oubli .boutons input[type="submit"]:hover {
box-shadow:0 8px 25px #e8651959;
transform:translateY(-2px);
background:linear-gradient(135deg,#d55a16,#e86519)
}

.card.auth-card .formulaire_oubli .boutons input[type="submit"]:active {
box-shadow:0 4px 15px #e8651940;
transform:translateY(0)
}

.card.auth-card .formulaire_oubli .reponse_formulaire_ok {
margin-bottom:1.5rem;
padding:1.25rem;
background-color:#2ecc711a;
border:1px solid #2ecc714d;
border-radius:10px;
font-weight:500;
color:#27ae60;
text-align:center
}

.card.auth-card .formulaire_oubli .reponse_formulaire_erreur {
margin-bottom:1.5rem;
padding:1.25rem;
background-color:#e74c3c1a;
border:1px solid #e74c3c4d;
border-radius:10px;
font-weight:500;
color:#c0392b;
text-align:center
}

.card.auth-card .formulaire_oubli .explication {
margin-top:.5rem;
font-size:.9rem;
font-style:italic;
color:#7f8c8d;
text-align:center
}

.card-foot a {
transition:color .3s ease;
font-weight:500;
color:#e86519;
text-decoration:none
}

.card-foot a:hover {
color:#d55a16;
text-decoration:underline
}

.card-foot p {
margin:.5rem 0;
text-align:center
}

@media (max-width: 768px) {
.card.auth-card .formulaire_oubli .editer-groupe {
max-width:100%
}

.card.auth-card .formulaire_oubli .boutons input[type="submit"] {
max-width:100%
}
}

.card.auth-card .formulaire_oubli .editer input[type="email"],.card.auth-card .formulaire_oubli .editer input[type="text"] {
outline:none;
box-sizing:border-box;
width:100%;
padding:.75rem 1rem;
transition:all .3s ease;
background:#fff;
border:2px solid #e8e9ec;
border-radius:10px;
font-size:1rem;
color:#333
}

.card.auth-card .formulaire_oubli .editer input:hover {
border-color:#bdc3c7
}

.card.auth-card .formulaire_oubli .editer input:focus {
box-shadow:0 0 0 4px #e8651926;
background-color:#fffffff2;
border-color:#e86519
}

.card.auth-card .formulaire_oubli .editer label {
display:flex;
align-items:center;
gap:.25rem;
margin-bottom:.5rem;
font-size:.95rem;
font-weight:600;
color:#2c3e50
}

.card.auth-card .formulaire_oubli .obligatoire label::after {
content:"*";
margin-right:.25rem;
color:#e74c3c
}

.card.auth-card .formulaire_oubli .erreur_message {
margin-top:.5rem;
padding:.5rem;
background-color:#e74c3c14;
border-right:3px solid #e74c3c;
border-radius:6px;
font-weight:500;
color:#e74c3c
}

[dir="rtl"] .card.auth-card .formulaire_oubli .erreur_message {
border-left:3px solid #e74c3c;
border-right:none
}

.card.auth-card .formulaire_oubli form {
animation:fadeInUp .5s ease-out
}

@keyframes fadeInUp {
from {
opacity:0;
transform:translateY(20px)
}

to {
opacity:1;
transform:translateY(0)
}
}