/* ==========================
   AUTH PAGE
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;

    background:linear-gradient(135deg,#F8F5FF,#F4F9FF);

}

.auth-wrapper{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:60px 20px;

}

.auth-card{

    width:100%;

    max-width:850px;

    background:#fff;

    border-radius:25px;

    padding:45px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.auth-logo{

    width:90px;

    height:90px;

    object-fit:cover;

    border-radius:50%;

    display:block;

    margin:auto;

    margin-bottom:20px;

    box-shadow:0 12px 30px rgba(123,77,184,.25);

}

.auth-card h2{

    font-weight:700;

    color:#30265B;

}

.auth-card p{

    color:#6B7280;

    margin-bottom:30px;

}

.form-label{

    font-weight:600;

    color:#30265B;

}

.form-control,
.form-select{

    height:52px;

    border-radius:12px;

}

textarea.form-control{

    height:auto;

}

.hero-btn{

    width:100%;

    height:55px;

    border:none;

    border-radius:12px;

    background:linear-gradient(135deg,#A06BEF,#7B4DB8);

    color:#fff;

    font-weight:600;

    transition:.3s;

}

.hero-btn:hover{

    transform:translateY(-2px);

}

.progress{

    border-radius:20px;

}

@media(max-width:768px){

.auth-card{

padding:30px;

}

}
/* ==========================
   FLATPICKR IMPROVED THEME
========================== */

.flatpickr-calendar{
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(123,77,184,.18);
    font-family: 'Poppins', sans-serif;
}

/* Header */

.flatpickr-months{
    background: #7B4DB8;
}

.flatpickr-current-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year{
    color: #fff !important;
    font-weight: 600;
}

.flatpickr-prev-month svg,
.flatpickr-next-month svg{
    fill: #fff !important;
}

/* Weekdays */

.flatpickr-weekday{
    color: #7B4DB8 !important;
    font-weight: 600;
}

/* Normal Days */

.flatpickr-day{
    color: #333 !important;
    border-radius: 8px;
}

/* Hover */

.flatpickr-day:hover{
    background: #EEE6FF;
    color: #7B4DB8;
}

/* Selected Day */

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange{
    background: #7B4DB8 !important;
    border-color: #7B4DB8 !important;
    color: #fff !important;
}

/* Today */

.flatpickr-day.today{
    border: 2px solid #7B4DB8;
}

/* Month Dropdown */

.flatpickr-monthDropdown-months{
    background: #7B4DB8 !important;
    color: #fff !important;
}

.flatpickr-monthDropdown-month{
    color: #333 !important;
    background: #fff !important;
}

.flatpickr-monthDropdown-month:hover{
    background: #EEE6FF !important;
    color: #7B4DB8 !important;
}

/* Hide days from previous/next month */
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay{
    color:#d6d6d6 !important;
    opacity:.35;
}
.top-actions{
    display:flex;
    justify-content:flex-start;
    margin-bottom:10px;
}

.btn-back{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#F4EEFF;
    color:#7B4DB8;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.btn-back:hover{
    background:#7B4DB8;
    color:#fff;
    transform:translateX(-2px);
}


.auth-container{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px 20px;

    background:linear-gradient(135deg,#F8F5FF,#EEF2FF);

}

/* ==========================
   OTP
========================== */

.otp-wrapper{

display:flex;

justify-content:center;

gap:12px;

margin-bottom:25px;

}

.otp-input{

width:60px;

height:65px;

border:2px solid #D9D6F5;

border-radius:14px;

font-size:28px;

font-weight:700;

text-align:center;

transition:.3s;

background:#fff;

}

.otp-input:focus{

border-color:#7B4DB8;

box-shadow:0 0 0 4px rgba(123,77,184,.15);

outline:none;

}

.otp-timer{

font-size:15px;

color:#666;

}

.otp-timer strong{

color:#7B4DB8;

font-size:18px;

}