/*==================================
RESET
===================================*/

*{

margin:0;

padding:0;

box-sizing:border-box;

font-family:"Poppins",sans-serif;

}

html{

scroll-behavior:smooth;

}

body{

background:
radial-gradient(circle at top right,rgba(11,107,70,.08),transparent 35%),
radial-gradient(circle at bottom left,rgba(216,176,76,.10),transparent 40%),
linear-gradient(135deg,#fdfcf8,#f6f3ec);

min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

padding:40px 20px;

overflow-x:hidden;

color:var(--text);

}

/*==================================
PAGE LOADER
===================================*/

.page-loader{

position:fixed;

inset:0;

background:var(--cream);

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

transition:.45s ease;

}

.page-loader.hide{

opacity:0;

visibility:hidden;

}

.loader-circle{

width:62px;

height:62px;

border-radius:50%;

border:5px solid rgba(11,107,70,.12);

border-top:5px solid var(--primary);

animation:spin .8s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

/*==================================
WRAPPER
===================================*/

.login-wrapper{

width:100%;

display:flex;

justify-content:center;

align-items:center;

}

/*==================================
CARD
===================================*/

.login-card{

width:min(460px,100%);

background:rgba(255,255,255,.96);

backdrop-filter:blur(20px);

-webkit-backdrop-filter:blur(20px);

border:1px solid rgba(11,107,70,.08);

border-radius:32px;

padding:42px;

box-shadow:

0 30px 80px rgba(11,107,70,.08),

0 10px 30px rgba(0,0,0,.05);

position:relative;

overflow:hidden;

}

.login-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:linear-gradient(90deg,

var(--primary),

var(--gold),

var(--primary-light));

}

/*==================================
LOGO
===================================*/

.login-logo{

display:flex;

justify-content:center;

margin-bottom:24px;

}

.login-logo img{

width:95px;

height:95px;

object-fit:contain;

transition:.35s ease;

}

.login-logo img:hover{

transform:scale(1.06);

}

/*==================================
TITLE
===================================*/

.login-card h1{

font-size:2rem;

font-weight:800;

color:var(--primary-dark);

text-align:center;

margin-bottom:12px;

}

.login-card p{

text-align:center;

color:var(--muted);

font-size:.98rem;

line-height:1.8;

margin-bottom:34px;

font-weight:500;

}

/*==================================
FORM
===================================*/

.input-group{

margin-bottom:24px;

}

.input-group label{

display:block;

font-size:.9rem;

font-weight:700;

color:var(--primary-dark);

margin-bottom:10px;

letter-spacing:.2px;

}

.input-box{

display:flex;

align-items:center;

height:58px;

border:1px solid rgba(11,107,70,.12);

border-radius:18px;

background:#fff;

padding:0 18px;

transition:all .35s ease;

box-shadow:0 5px 15px rgba(0,0,0,.03);

}

.input-box:hover{

border-color:rgba(11,107,70,.20);

}

.input-box:focus-within{

border-color:var(--primary);

box-shadow:

0 0 0 5px rgba(11,107,70,.10),

0 12px 30px rgba(11,107,70,.08);

}

.input-box i{

font-size:1.1rem;

color:var(--primary);

margin-right:14px;

}

.input-box input{

flex:1;

height:100%;

border:none;

outline:none;

background:transparent;

font-size:.96rem;

font-weight:600;

color:var(--text);

}

.input-box input::placeholder{

color:#9aa6a0;

font-weight:500;

}

/*==================================
PASSWORD BUTTON
===================================*/

.password-toggle{

background:none;

border:none;

cursor:pointer;

width:40px;

height:40px;

border-radius:10px;

display:flex;

align-items:center;

justify-content:center;

color:var(--muted);

transition:.3s ease;

}

.password-toggle:hover{

background:rgba(11,107,70,.08);

color:var(--primary);

}

/*==================================
OPTIONS
===================================*/

.login-options{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

font-size:.9rem;

gap:10px;

}

.remember-me{

display:flex;

align-items:center;

gap:8px;

cursor:pointer;

font-weight:600;

color:var(--text);

}

.remember-me input{

accent-color:var(--primary);

transform:scale(1.1);

}

.login-options a{

text-decoration:none;

font-weight:700;

color:var(--primary);

transition:.3s ease;

}

.login-options a:hover{

color:var(--gold);

text-decoration:none;

}

/*==================================
BUTTONS
===================================*/

.login-btn,
.register-btn{

width:100%;

height:56px;

border:none;

border-radius:16px;

display:flex;

align-items:center;

justify-content:center;

gap:10px;

font-size:16px;

font-weight:700;

text-decoration:none;

cursor:pointer;

transition:.35s ease;

}

/* Login Button */

.login-btn{

background:linear-gradient(135deg,#0B6B46,#14875b);

color:#fff;

box-shadow:0 12px 30px rgba(11,107,70,.25);

}

.login-btn:hover{

transform:translateY(-3px);

background:linear-gradient(135deg,#14875b,#0B6B46);

box-shadow:0 18px 40px rgba(11,107,70,.35);

}

.login-btn:active{

transform:scale(.98);

}

/* Register Button */

.register-btn{

margin-top:20px;

background:#fff;

color:#0B6B46;

border:2px solid #0B6B46;

}

.register-btn:hover{

background:#0B6B46;

color:#fff;

transform:translateY(-3px);

box-shadow:0 15px 35px rgba(11,107,70,.20);

}

.login-btn i,
.register-btn i{

font-size:18px;

}

/*==================================
DIVIDER
===================================*/

.divider{

position:relative;

text-align:center;

margin:28px 0;

}

.divider::before{

content:"";

position:absolute;

left:0;

top:50%;

width:100%;

height:1px;

background:#e4e4e4;

}

.divider span{

position:relative;

background:#fff;

padding:0 18px;

font-size:13px;

font-weight:700;

letter-spacing:2px;

color:#999;

}

/*==================================
FOOTER
===================================*/

.login-footer{

margin-top:30px;

text-align:center;

font-size:13px;

color:#888;

line-height:1.8;

}

.login-footer strong{

color:#0B6B46;

font-weight:700;

}