/* ===================================================
   QIANA MEDIKA LOGIN V2
   Author : ChatGPT
=================================================== */

:root{

    --primary:#E88AA8;
    --secondary:#F4B6C8;
    --accent:#D86B99;

    --white:#ffffff;

    --text:#374151;

    --border:#EDD7DF;

    --bg:#FFF8FB;

    --shadow:0 20px 60px rgba(0,0,0,.15);

}

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

    font-family:'Poppins',sans-serif;

}

html,
body{

    height:100%;

}

body{

    background:

    linear-gradient(

    135deg,

    #FFFDFE 0%,

    #FCE7EF 45%,

    #F6B9CC 100%

    );

    overflow-x:hidden;

    color:var(--text);

}

/* ===========================
BACKGROUND CIRCLE
=========================== */

body::before{

    content:"";

    position:fixed;

    width:600px;

    height:600px;

    left:-180px;

    top:-200px;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    z-index:-2;

}

body::after{

    content:"";

    position:fixed;

    width:700px;

    height:700px;

    right:-250px;

    bottom:-250px;

    border-radius:50%;

    background:rgba(255,255,255,.10);

    z-index:-2;

}

/* ===========================
LOGIN
=========================== */

.login-page{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px;

}

.login-card{

    width:100%;

    max-width:1180px;

    overflow:hidden;

    border-radius:32px;

    background:rgba(255,255,255,.97);

    backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,.70);

    box-shadow:
        0 30px 80px rgba(0,0,0,.18);

    animation:fadeLogin .6s ease;

}

/* ===================================================
   LEFT PANEL
=================================================== */

.login-left{

    position:relative;

    overflow:hidden;

    padding:70px 60px;

    color:#fff;

    min-height:700px;

    display:flex;

    align-items:center;

    background:

    radial-gradient(
        circle at top right,
        rgba(255,255,255,.18),
        transparent 30%
    ),

    radial-gradient(
        circle at bottom left,
        rgba(255,255,255,.08),
        transparent 35%
    ),

    linear-gradient(
        180deg,
        #E88AA8 0%,
        #F4B6C8 100%
    );

}

.login-left::before{

    content:"";

    position:absolute;

    width:480px;

    height:480px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    top:-180px;

    right:-150px;

}

.login-left::after{

    content:"";

    position:absolute;

    width:300px;

    height:300px;

    border-radius:50%;

    background:rgba(255,255,255,.06);

    bottom:-120px;

    left:-120px;

}

.login-content{

    position:relative;

    z-index:5;

    width:100%;

}

/* ===========================
LOGO
=========================== */

.logo{

    width:110px;

    height:auto;

    display:block;

    margin:0 0 30px 0;

    transition:.3s ease;

}

.logo:hover{

    transform:scale(1.05);

}

.logo-text{

    width:230px;

    height:auto;

    display:block;

    margin:0 0 40px 0;

}

/* ===========================
LOGIN LOGO
=========================== */

.login-logo{

    width:90px;

    height:auto;

    display:block;

    margin:0 auto 20px;

}

/* ===========================
TITLE
=========================== */

.login-left h1{

    font-size:46px;

    font-weight:700;

    line-height:55px;

    margin-bottom:18px;

}

.subtitle{

    font-size:17px;

    line-height:31px;

    opacity:.95;

    margin-bottom:35px;

}

/* ===========================
FEATURE
=========================== */

.feature{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:18px;

    font-size:15px;

    font-weight:500;

    transition:.3s;

}

.feature i{

    width:42px;

    height:42px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    transition:.3s;

}

.feature:hover{

    transform:translateX(8px);

}

.feature:hover i{

    background:#fff;

    color:#D86B99;

    transform:rotate(360deg);

}

/* ===========================
DOCTOR
=========================== */

.doctor{

    margin-top:35px;

    text-align:center;

}

.doctor img{

    width:100%;

    max-width:330px;

    animation:doctorFloat 4s ease-in-out infinite;

}

@keyframes doctorFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

/* ===================================================
   RIGHT PANEL
=================================================== */

.login-right{

    position:relative;

    padding:60px;

    background:#fff;

}

.login-right::before{

    content:"";

    position:absolute;

    width:250px;

    height:250px;

    border-radius:50%;

    background:rgba(244,182,200,.25);

    top:-80px;

    right:-80px;

    pointer-events:none;

}

.login-form{

    position:relative;

    z-index:2;

}

.login-form h2{

    font-size:34px;

    font-weight:700;

    color:#374151;

    margin-bottom:8px;

}

.login-form p{

    color:#6B7280;

    margin-bottom:0;

}

/* ===================================================
   FORM
=================================================== */

.form-label{

    display:block;

    margin-bottom:8px;

    font-size:14px;

    font-weight:600;

    color:#374151;

}

/* ===================================================
   CUSTOM INPUT
=================================================== */

.input-custom{

    display:flex;

    align-items:center;

    width:100%;

    height:56px;

    background:#ffffff;

    border:1px solid var(--border);

    border-radius:16px;

    transition:all .25s ease;

    overflow:hidden;

    margin-bottom:5px;

}

.input-custom:hover{

    border-color:#E88AA8;

}

.input-custom:focus-within{

    border-color:#E88AA8;

    box-shadow:
        0 0 0 4px rgba(232,138,168,.15);

}

.input-icon{

    width:56px;

    height:56px;

    display:flex;

    justify-content:center;

    align-items:center;

    color:var(--accent);

    flex-shrink:0;

    font-size:17px;

}

.input-flat{

    flex:1;

    width:100%;

    height:56px;

    border:none;

    outline:none;

    background:transparent;

    padding:0 16px 0 0;

    font-size:15px;

    color:#374151;

}

.input-flat::placeholder{

    color:#9CA3AF;

}

.input-flat:focus{

    outline:none;

    box-shadow:none;

}

/* Hilangkan spinner input number */

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{

    -webkit-appearance:none;

    margin:0;

}

input[type=number]{

    -moz-appearance:textfield;

}

/* ===================================================
   PASSWORD BUTTON
=================================================== */

.password-toggle{

    width:56px;

    height:56px;

    border:none;

    border-left:1px solid var(--border);

    background:#ffffff;

    color:var(--accent);

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.25s;

    flex-shrink:0;

}

.password-toggle:hover{

    background:#FFF5F8;

}

.password-toggle:focus{

    outline:none;

}

/* ===================================================
   BUTTON LOGIN
=================================================== */

.login-btn{

    width:100%;

    height:56px;

    border:none;

    border-radius:16px;

    background:linear-gradient(
        90deg,
        #D86B99,
        #ED8DB3
    );

    color:#ffffff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.login-btn:hover{

    transform:translateY(-2px);

    box-shadow:
        0 18px 35px rgba(232,138,168,.30);

}

.login-btn:disabled{

    opacity:.7;

    cursor:not-allowed;

}

/* ===================================================
   LINK & CHECKBOX
=================================================== */

.forgot-link{

    color:#D86B99;

    text-decoration:none;

    font-weight:500;

}

.forgot-link:hover{

    color:#C85D89;

}

.form-check-input:checked{

    background:#D86B99;

    border-color:#D86B99;

}

/* ===================================================
   ANIMATION
=================================================== */

@keyframes fadeLogin{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ===================================================
   TABLET
=================================================== */

@media (max-width:991px){

.login-page{

    padding:20px;

}

.login-card{

    max-width:450px;

    border-radius:24px;

}

.login-left{

    display:none;

}

.login-right{

    padding:35px 30px;

}

.login-form h2{

    font-size:30px;

}

.logo{

    width:75px;

}

.subtitle,
.feature,
.doctor,
.logo-text{

    display:none;

}

.input-custom{

    height:54px;

}

.input-icon{

    width:52px;

    height:54px;

}

.input-flat{

    height:54px;

    font-size:15px;

}

.password-toggle{

    width:52px;

    height:54px;

}

.login-btn{

    height:54px;

}

}

/* ===================================================
   MOBILE
=================================================== */

@media (max-width:576px){

.login-page{

    padding:15px;

}

.login-card{

    border-radius:20px;

    max-width:100%;

}

.login-right{

    padding:25px 20px;

}

.login-form h2{

    font-size:26px;

}

.login-form p{

    font-size:14px;

}

.logo{

    width:70px;

}

.form-label{

    font-size:13px;

}

.input-custom{

    height:52px;

    border-radius:14px;

}

.input-icon{

    width:48px;

    height:52px;

    font-size:15px;

}

.input-flat{

    height:52px;

    font-size:14px;

}

.password-toggle{

    width:48px;

    height:52px;

}

.login-btn{

    height:52px;

    font-size:15px;

    border-radius:14px;

}

.form-check-label{

    font-size:13px;

}

.forgot-link{

    font-size:13px;

}

}

/* ===================================================
   SMALL DEVICE
=================================================== */

@media (max-width:360px){

.login-right{

    padding:20px 15px;

}

.login-form h2{

    font-size:22px;

}

.logo{

    width:60px;

}

.input-custom{

    height:48px;

}

.input-icon{

    width:45px;

    height:48px;

}

.input-flat{

    height:48px;

    font-size:13px;

}

.password-toggle{

    width:45px;

    height:48px;

}

.login-btn{

    height:48px;

    font-size:14px;

}

}

/* ===================================================
   IMAGE
=================================================== */

img{

    max-width:100%;

    display:block;

}

/* ===================================================
   REMOVE BOOTSTRAP SHADOW
=================================================== */

.form-control:focus,
.btn:focus,
button:focus{

    outline:none !important;

    box-shadow:none !important;

}