/* ==========================
   PAGE DE CONNEXION ERP
========================== */
:root{
    --torino:#7F1D1D;
    --grenade:#A61E2A;
    --rubis:#B91C2B;
    --champagne:#B89A68;
}
.login-screen{
    position:fixed;
    inset:0;
    min-height:100vh;
    min-height:100dvh;
    background:
        radial-gradient(ellipse 65% 50% at 10% 10%, rgba(217,48,48,.38) 0%, transparent 55%),
        radial-gradient(ellipse 55% 65% at 92% 85%, rgba(192,104,64,.32) 0%, transparent 55%),
        radial-gradient(ellipse 50% 40% at 85% 8%, rgba(212,148,58,.22) 0%, transparent 50%),
        radial-gradient(ellipse 70% 70% at 50% 50%, rgba(240,223,192,.55) 0%, transparent 70%),
        linear-gradient(145deg, #faf4e8 0%, #f5e8d0 35%, #eedfc0 65%, #f0dfc0 100%);
    display:flex;
    justify-content:center;
    align-items:center;
    padding:
        max(16px, env(safe-area-inset-top))
        max(16px, env(safe-area-inset-right))
        max(16px, env(safe-area-inset-bottom))
        max(16px, env(safe-area-inset-left));
    z-index:99999;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}

.login-card{
    position:relative;
    z-index:100001;

    width:min(520px,90vw);

    background:
        radial-gradient(
            circle at center,
            rgba(166,30,42,.22) 0%,
            rgba(166,30,42,.08) 40%,
            transparent 75%
        ),
        linear-gradient(
            150deg,
            #2B1715 0%,
            var(--torino) 35%,
            #4E171B 65%,
            #25110F 100%
        );

    border:1px solid rgba(255,255,255,.12);

    border-radius:32px;

    padding:32px;

    box-shadow:
        0 40px 100px rgba(0,0,0,.30),
        0 20px 50px rgba(0,0,0,.20),
        0 0 80px rgba(166,30,42,.15);

    backdrop-filter:blur(30px);
    -webkit-backdrop-filter:blur(30px);

    overflow:hidden;

    display:flex;
    flex-direction:column;
    gap:14px;
}
.login-card::before{
    content:'';
    position:absolute;
    inset:-80px;
    z-index:-1;

    background:radial-gradient(
        circle,
        rgba(166,30,42,.35) 0%,
        rgba(166,30,42,.12) 45%,
        transparent 75%
    );

    filter:blur(60px);
}

.login-card::after{
    content:'';
    position:absolute;
    inset:0;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.18) 0%,
        rgba(255,255,255,.08) 25%,
        transparent 55%
    );

    pointer-events:none;
}

.login-logo{
    font-family:'Mister Grape', cursive !important;
    font-size:72px;
    text-align:center;
    color:#C8A56D;
    margin-bottom:20px;
    line-height:1;
}

.login-title{
    text-align:center;
    font-size:13px;
    letter-spacing:.35em;
    color:rgba(196,160,106,.95);
    text-transform:uppercase;
    margin-bottom:25px;
}

.login-card input{
    width:100%;
    box-sizing:border-box;
    padding:14px 16px;

    background:rgba(255,255,255,.95);

    border:1px solid rgba(255,255,255,.15);

    border-radius:12px;

    color:#332B26;

    font-size:14px;

    transition:.25s;
}

.login-card input:focus{
    outline:none;

    border-color:var(--grenade);

    box-shadow:
        0 0 0 3px rgba(166,30,42,.15),
        0 0 20px rgba(166,30,42,.20);
}

.login-card button{
    position:relative;
    overflow:hidden;

    width:100%;
    box-sizing:border-box;
    padding:14px;

    background:linear-gradient(
        180deg,
        #B91C2B 0%,
        #A61E2A 100%
    );

    color:#fff;

    border:none;
    border-radius:14px;

    font-size:14px;
    font-weight:700;

    cursor:pointer;

    box-shadow:
        0 8px 24px rgba(166,30,42,.35);

    transition:.25s;
}

.login-card button:hover{
    transform:translateY(-2px);

    box-shadow:
        0 12px 32px rgba(166,30,42,.45);
}

.login-card button:hover{
    transform:translateY(-1px);

    box-shadow:
        0 12px 30px rgba(166,30,42,.45);
}

.login-card button .shimmer{
    position:absolute;
    inset:0;

    background:linear-gradient(
        105deg,
        transparent 25%,
        rgba(255,255,255,.22) 50%,
        transparent 75%
    );

    transform:translateX(-100%);

    animation:shimmer 3s ease-in-out infinite;

    pointer-events:none;
}

.login-card button .btn-text{
    position:relative;
    z-index:2;
}

@keyframes shimmer{
    0%{
        transform:translateX(-100%);
    }

    35%{
        transform:translateX(220%);
    }

    100%{
        transform:translateX(220%);
    }
}
#login-error{
    color:#ff6b6b;
    text-align:center;
    min-height:18px;
    font-size:13px;
}

.login-back-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:max-content;
    max-width:100%;
    align-self:center;
    margin-top:2px;
    padding:8px 12px;
    color:rgba(245,232,208,.82);
    border:1px solid rgba(200,165,109,.28);
    border-radius:999px;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    transition:.22s ease;
}

.login-back-link i{
    font-size:15px;
}

.login-back-link:hover{
    color:#F7E7C8;
    border-color:rgba(200,165,109,.55);
    background:rgba(255,255,255,.08);
    transform:translateY(-1px);
}
.password-wrapper{
    position:relative;
    width:100%;
}

.password-wrapper input{
    width:100%;
    padding-right:45px;
}

.toggle-password{
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    color:#8c7b5d;
    font-size:16px;
    user-select:none;
    z-index:10;
}
.remember-box{
    margin-top:0px;
    margin-bottom:4px;
    font-size:13px;
    color:#D5B483;
}

.remember-box label{
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
}

.remember-box input{
    width:auto !important;
}

.starfield{
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:100000;
}

.star{
    position:absolute;
    animation:starGlow ease-in-out infinite;
}

.star::before{
    content:'✦';

    font-size:14px;

    color:#FFF7E8;

    opacity:1;

    text-shadow:
        0 0 8px rgba(255,247,232,.95),
        0 0 16px rgba(255,247,232,.75),
        0 0 28px rgba(255,247,232,.55);
}

.star:nth-child(1){top:8%;left:6%;animation-duration:5s;}
.star:nth-child(2){top:14%;right:9%;animation-duration:4s;}
.star:nth-child(3){top:72%;left:8%;animation-duration:6s;}
.star:nth-child(4){top:80%;right:7%;animation-duration:4.5s;}
.star:nth-child(5){top:42%;left:3%;animation-duration:7s;}
.star:nth-child(6){top:55%;right:4%;animation-duration:5.5s;}
.star:nth-child(7){top:12%;left:82%;animation-duration:8s;}

.login-card{
    z-index:100001;
}
@keyframes starGlow {
    0%,100% {
        opacity:0;
        transform:scale(.5) rotate(0deg);
    }

    50% {
        opacity:.8;
        transform:scale(1.2) rotate(45deg);
    }
}

.login-ornament{
    width:340px;
    height:1px;

    align-self:center;
    margin:10px auto 24px;

    background:linear-gradient(
        90deg,
        transparent 0%,
        rgba(200,165,109,.20) 18%,
        rgba(200,165,109,.95) 50%,
        rgba(200,165,109,.20) 82%,
        transparent 100%
    );
}
.login-ornament{
    text-align:center;
    color:#C8A56D;
    font-size:18px;
    margin:-10px 0 20px;
}
.login-switch-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:8px;
    margin-bottom:12px;
}

.switch-label{
    color:#C8A56D;
    font-size:13px;
    font-weight:600;
    transition:.25s;
}

.switch-label.active{
    color:#F0D6A3;
}

.switch{
    position:relative;
    width:52px;
    height:28px;
}

.switch input{
    display:none;
}

.slider{
    position:absolute;
    inset:0;

    background:#C8A56D;

    border-radius:999px;

    cursor:pointer;

    transition:.3s;
}

.slider::before{
    content:'';

    position:absolute;

    width:22px;
    height:22px;

    left:3px;
    top:3px;

    border-radius:50%;

     background:#FDF7EE;

    box-shadow:
        0 2px 8px rgba(0,0,0,.15);

    transition:.3s;
}

.switch input:checked + .slider{
    background:#C8A56D
}

.switch input:checked + .slider::before{
    transform:translateX(24px);
}
.client-panel{
    text-align:center;
    padding:26px 22px;

    border-radius:18px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.14);

    color:#F5E8D0;

    margin-bottom:22px;
}

.client-panel-title{
    font-size:18px;
    font-weight:700;

    color:#E5C28A;

    margin-bottom:10px;
}

.client-panel-text{
    font-size:13px;

    line-height:1.6;

    color:#EAD7B8;
}
#seller-form{
    display:flex;
    flex-direction:column;
    gap:14px;
}
@media (max-width:768px){

    .login-card{
        width:min(100%, 520px);
        padding:22px;
        gap:10px;
        border-radius:28px;
    }

    .login-logo{
        font-size:52px;
        line-height:1.05;
        margin-bottom:8px;
    }

    .login-title{
        font-size:11px;
        letter-spacing:.25em;
        margin-bottom:12px;
    }

    .login-card input{
        padding:12px 14px;
        font-size:15px;
    }

    .login-card button{
        padding:12px;
        font-size:15px;
    }

    .switch-label{
        font-size:14px;
    }

    .switch{
        transform:scale(.9);
    }

    .login-ornament{
        width:180px;
        margin:4px auto 10px;
    }
}

@media (max-width:480px), (max-height:760px){

    .login-screen{
        align-items:center;
        padding-top:max(18px, env(safe-area-inset-top));
        padding-bottom:max(18px, env(safe-area-inset-bottom));
    }

    .login-card{
        padding:20px;
        gap:9px;
    }

    .login-logo{
        font-size:clamp(42px, 12vw, 56px);
    }
}
