body{
margin:0;
font-family:"Segoe UI","Trebuchet MS",Arial,sans-serif;
min-height:100vh;
overflow-x:hidden;
color:#f7f1ea;
background:
radial-gradient(circle at 16% 14%, rgba(201,163,106,0.16), transparent 22%),
radial-gradient(circle at 82% 18%, rgba(240,215,178,0.10), transparent 20%),
linear-gradient(180deg,#111111 0%,#070707 100%);
}

.auth-background{
position:fixed;
inset:0;
background-image:
linear-gradient(180deg, rgba(7,7,7,0.20), rgba(7,7,7,0.86)),
url("../assets/images/hero.jpg");
background-size:cover;
background-position:center;
filter:brightness(0.55) saturate(0.85);
animation:zoom 28s infinite alternate;
transform-origin:center;
}

.auth-background::after{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at 25% 20%, rgba(201,163,106,0.10), transparent 18%),
radial-gradient(circle at 75% 70%, rgba(240,215,178,0.08), transparent 20%);
}

.auth-container{
position:relative;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:28px 18px;
z-index:1;
}

.auth-box{
width:min(100%, 520px);
padding:24px;
border-radius:28px;
background:linear-gradient(180deg, rgba(28,24,20,0.94), rgba(14,14,16,0.95));
border:1px solid rgba(225,198,164,0.14);
box-shadow:0 28px 90px rgba(0,0,0,0.55);
backdrop-filter:blur(14px);
text-align:left;
}

.auth-brand{
display:flex;
align-items:center;
justify-content:center;
padding:12px;
height:124px;
margin-bottom:18px;
border-radius:22px;
background:linear-gradient(180deg, rgba(34,30,26,0.96), rgba(20,19,18,0.96));
border:1px solid rgba(188,159,121,0.22);
overflow:hidden;
}

.auth-home-link{
display:block;
text-decoration:none;
}

.auth-home-link:focus-visible{
outline:2px solid rgba(240,215,178,0.85);
outline-offset:4px;
border-radius:24px;
}

.auth-brand img{
display:block;
width:100%;
height:100%;
max-width:none;
object-fit:cover;
}

.auth-box h2{
margin:0 0 8px;
font-size:2rem;
letter-spacing:0.01em;
color:#fff8ef;
}

.subtitle{
margin:0 0 24px;
color:rgba(247,241,234,0.72);
line-height:1.6;
}

.auth-box input{
width:100%;
padding:13px 14px;
margin-bottom:14px;
border:1px solid rgba(225,198,164,0.12);
border-radius:14px;
background:rgba(255,255,255,0.04);
color:#f7f1ea;
font-size:14px;
box-sizing:border-box;
}

.auth-box input:focus{
outline:none;
border-color:rgba(201,163,106,0.55);
box-shadow:0 0 0 3px rgba(201,163,106,0.12);
}

.auth-box button{
width:100%;
padding:13px 16px;
border:none;
border-radius:14px;
background:linear-gradient(135deg,#f0d7b2,#c9a36a);
color:#16120d;
font-size:15px;
font-weight:700;
cursor:pointer;
box-shadow:0 16px 28px rgba(201,163,106,0.16);
}

.auth-box button.secondary-button{
background:rgba(255,255,255,0.06);
color:#f7f1ea;
border:1px solid rgba(225,198,164,0.14);
box-shadow:none;
}

.auth-box button:hover{
filter:brightness(1.03);
}

.auth-box button.secondary-button:hover{
filter:brightness(1.06);
}

.auth-footer{
margin-top:18px;
font-size:14px;
color:rgba(247,241,234,0.72);
}

.auth-footer a{
color:#f0d7b2;
text-decoration:none;
font-weight:700;
}

.error{
background:rgba(118,34,34,0.72);
padding:12px 14px;
margin-bottom:14px;
border-radius:14px;
border:1px solid rgba(214,109,109,0.26);
color:#ffe7e7;
}

.success{
background:rgba(20,83,45,0.72);
padding:12px 14px;
margin-bottom:14px;
border-radius:14px;
border:1px solid rgba(34,197,94,0.20);
color:#d1fae5;
font-size:14px;
}

.login-btn{
display:inline-flex;
align-items:center;
justify-content:center;
margin-top:10px;
background:linear-gradient(135deg,#f0d7b2,#c9a36a);
color:#16120d;
padding:10px 18px;
border-radius:14px;
text-decoration:none;
font-weight:700;
}

.login-btn:hover{
filter:brightness(1.03);
}

@keyframes zoom{
from{transform:scale(1)}
to{transform:scale(1.08)}
}

@media (max-width: 640px){
.auth-container{
align-items:flex-start;
padding:80px 14px 28px;
}

.auth-box{
width:min(100%, 620px);
padding:22px;
border-radius:22px;
}
.auth-brand{
padding:10px;
height:118px;
}
.auth-brand img{
height:100%;
}
.auth-box h2{
font-size:1.8rem;
}

.subtitle{
font-size:15px;
line-height:1.65;
}

.auth-box button{
padding:16px 18px;
font-size:18px;
font-weight:800;
border-radius:16px;
}
}
