/* =========================================================
   MY PERSONAL ACCOUNT — Guest Authentication
   Login / Register / Registration Success
   ========================================================= */

:root{
    --guest-bg:#f6f8fc;
    --guest-card:#ffffff;
    --guest-text:#0f172a;
    --guest-muted:#64748b;
    --guest-line:#e2e8f0;
    --guest-blue:#2563eb;
    --guest-blue-dark:#1d4ed8;
    --guest-green:#16a34a;
    --guest-green-soft:#f0fdf4;
    --guest-shadow:0 28px 80px rgba(15,23,42,.15);
}

*{box-sizing:border-box}

html,body{
    margin:0;
    min-height:100%;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:var(--guest-bg);
    color:var(--guest-text);
}

body{min-height:100vh}
button,input{font:inherit}
a{color:inherit}

/* =========================================================
   SHELL
   ========================================================= */

.guest{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr);
    background:#f8fafc;
}

/* =========================================================
   LEFT PANEL
   ========================================================= */

.guest-left{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    min-height:100vh;
    padding:125px clamp(30px,6vw,100px) 60px;
    color:#fff;
    background:
        radial-gradient(circle at 8% 12%,rgba(59,130,246,.38),transparent 28%),
        radial-gradient(circle at 88% 80%,rgba(6,182,212,.24),transparent 31%),
        linear-gradient(145deg,#06132d 0%,#0b2350 48%,#123b78 100%);
}

.guest-left:before,
.guest-left:after{
    content:"";
    position:absolute;
    pointer-events:none;
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
}

.guest-left:before{
    width:650px;
    height:650px;
    right:-300px;
    top:-250px;
}

.guest-left:after{
    width:420px;
    height:420px;
    left:-260px;
    bottom:-250px;
}

.guest-left-top{
    position:absolute;
    z-index:5;
    top:28px;
    left:clamp(30px,6vw,100px);
    right:clamp(30px,6vw,100px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.guest-left-inner{
    position:relative;
    z-index:2;
    width:min(650px,100%);
}

.brand{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:0;
}

.brand img{
    width:53px;
    height:53px;
    object-fit:contain;
    padding:7px;
    border-radius:15px;
    background:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
}

.brand b{
    display:block;
    font-size:16px;
    font-weight:800;
    letter-spacing:.02em;
}

.brand small{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.60);
    font-size:10px;
}

.guest-create-top{
    display:flex;
    align-items:center;
    gap:14px;
    padding:10px 12px 10px 17px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:15px;
    background:rgba(255,255,255,.09);
    backdrop-filter:blur(16px);
    color:#fff;
    text-decoration:none;
    transition:.18s ease;
}

.guest-create-top:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.15);
    border-color:rgba(255,255,255,.30);
}

.guest-create-top span{
    display:flex;
    flex-direction:column;
    gap:2px;
    font-size:12px;
    font-weight:800;
}

.guest-create-top small{
    color:rgba(255,255,255,.58);
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.guest-create-top i{
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#fff;
    color:var(--guest-blue);
}

.guest-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    margin-bottom:18px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:#dbeafe;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    backdrop-filter:blur(12px);
}

.guest-kicker i{color:#67e8f9}

.guest-left h1{
    max-width:650px;
    margin:0 0 18px;
    font-size:clamp(42px,5vw,68px);
    line-height:1.02;
    letter-spacing:-.055em;
    font-weight:800;
}

.guest-left p{
    max-width:590px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:15px;
    line-height:1.75;
}

.feature-list{
    display:grid;
    gap:12px;
    margin-top:32px;
}

.feature{
    display:flex;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,.90);
    font-size:12px;
}

.feature>span:first-child{
    width:27px;
    height:27px;
    flex:0 0 27px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:rgba(16,185,129,.16);
    color:#6ee7b7;
    border:1px solid rgba(110,231,183,.18);
}

.guest-metrics{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:40px;
    max-width:590px;
}

.metric{
    padding:16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:17px;
    background:rgba(255,255,255,.065);
    backdrop-filter:blur(15px);
}

.metric strong{
    display:block;
    font-size:20px;
}

.metric span{
    display:block;
    margin-top:5px;
    color:rgba(255,255,255,.56);
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* =========================================================
   RIGHT PANEL
   ========================================================= */

.guest-right{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
    padding:42px clamp(18px,5vw,80px);
    background:
        radial-gradient(circle at 90% 10%,rgba(37,99,235,.08),transparent 28%),
        #f8fafc;
}

.auth-card{
    width:min(480px,100%);
    padding:38px;
    border:1px solid rgba(226,232,240,.95);
    border-radius:28px;
    background:rgba(255,255,255,.97);
    box-shadow:var(--guest-shadow);
}

.auth-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    margin-bottom:18px;
    border-radius:17px;
    background:linear-gradient(135deg,#dbeafe,#e0f2fe);
    color:var(--guest-blue);
    font-size:23px;
}

.auth-card h2{
    margin:0;
    color:#0f172a;
    font-size:30px;
    line-height:1.15;
    letter-spacing:-.035em;
    font-weight:800;
}

.auth-sub{
    margin:9px 0 0;
    color:var(--guest-muted);
    font-size:12px;
    line-height:1.65;
}

.small{
    color:var(--guest-muted);
    font-size:11px;
    line-height:1.6;
}

/* =========================================================
   ALERTS
   ========================================================= */

.guest-alert{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin:0 0 14px;
    padding:13px 14px;
    border-radius:14px;
    font-size:11px;
    line-height:1.55;
}

.guest-alert.error{
    border:1px solid #fecaca;
    background:#fef2f2;
    color:#991b1b;
}

.guest-alert.success{
    border:1px solid #bbf7d0;
    background:#f0fdf4;
    color:#166534;
}

/* =========================================================
   FORM
   ========================================================= */

.form-group{
    margin-bottom:16px;
}

.form-group label{
    display:block;
    margin:0 0 8px;
    color:#334155;
    font-size:11px;
    font-weight:800;
}

.input-wrap{position:relative}

.input-wrap>i{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    color:#94a3b8;
    font-size:16px;
    pointer-events:none;
}

.input-wrap .form-control{
    padding-left:45px;
}

.form-control{
    width:100%;
    min-height:50px;
    padding:13px 15px;
    border:1px solid #dbe2ea;
    border-radius:14px;
    outline:none;
    background:#f8fafc;
    color:#0f172a;
    font-size:12px;
    transition:.18s ease;
}

.form-control::placeholder{color:#a1acba}

.form-control:focus{
    border-color:#60a5fa;
    background:#fff;
    box-shadow:0 0 0 4px rgba(37,99,235,.10);
}

.auth-btn{
    width:100%;
    min-height:52px;
    margin-top:3px;
    border:0;
    border-radius:14px;
    cursor:pointer;
    color:#fff;
    background:linear-gradient(135deg,var(--guest-blue),var(--guest-blue-dark));
    box-shadow:0 12px 24px rgba(37,99,235,.24);
    font-size:12px;
    font-weight:800;
    transition:.18s ease;
}

.auth-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 30px rgba(37,99,235,.30);
}

.auth-btn i{margin-right:7px}

/* =========================================================
   CREATE ACCOUNT PROMO
   ========================================================= */

.create-account-box{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
    margin-top:22px;
    padding:15px;
    border:1px solid #bfdbfe;
    border-radius:17px;
    background:linear-gradient(135deg,#eff6ff,#f8fbff);
    box-shadow:0 8px 22px rgba(37,99,235,.07);
}

.create-account-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#dbeafe;
    color:#2563eb;
    font-size:18px;
}

.create-account-content strong{
    display:block;
    color:#0f172a;
    font-size:11px;
    font-weight:800;
}

.create-account-content span{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:9px;
    line-height:1.4;
}

.create-account-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:0 13px;
    border-radius:11px;
    background:#2563eb;
    color:#fff;
    text-decoration:none;
    white-space:nowrap;
    font-size:10px;
    font-weight:800;
    box-shadow:0 7px 15px rgba(37,99,235,.22);
    transition:.18s ease;
}

.create-account-btn:hover{
    transform:translateY(-1px);
    background:#1d4ed8;
}

/* =========================================================
   PAYMENT
   ========================================================= */

.payment-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:17px 0;
    padding:16px 18px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:linear-gradient(135deg,#eff6ff,#f0f9ff);
}

.payment-box b{
    color:#1d4ed8;
    font-size:22px;
    font-weight:800;
}

.payment-box .small{
    text-align:right;
}

/* Payment panel on registration-success */

.payment-method{
    margin-top:18px;
    padding:18px;
    border:1px solid #dcfce7;
    border-radius:19px;
    background:linear-gradient(135deg,#f0fdf4,#f8fff9);
}

.payment-method-head{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

.payment-method-icon{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#dcfce7;
    color:#15803d;
    font-size:18px;
}

.payment-method-head strong{
    display:block;
    font-size:12px;
    color:#14532d;
}

.payment-method-head span{
    display:block;
    margin-top:2px;
    font-size:9px;
    color:#64748b;
}

.payment-logo{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:110px;
    margin-bottom:13px;
    border:1px dashed #bbf7d0;
    border-radius:15px;
    background:#fff;
}

.payment-logo{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:300px;
    margin-bottom:13px;
    padding:12px;
    border:1px dashed #bbf7d0;
    border-radius:15px;
    background:#fff;
    overflow:hidden;
}

.payment-logo img{
    display:block;
    width:280px;
    max-width:100%;
    height:auto;
    object-fit:contain;
}

.upi-number{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 13px;
    border:1px solid #dcfce7;
    border-radius:12px;
    background:#fff;
}

.upi-number span{
    color:#64748b;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.upi-number strong{
    color:#166534;
    font-size:14px;
    letter-spacing:.02em;
}

.payment-instruction{
    margin:12px 0 0;
    color:#64748b;
    font-size:10px;
    line-height:1.55;
}

/* =========================================================
   WHATSAPP / LINKS / NOTE
   ========================================================= */

.whatsapp{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:47px;
    margin-top:13px;
    border:1px solid #bbf7d0;
    border-radius:13px;
    background:#f0fdf4;
    color:#15803d;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
    transition:.18s ease;
}

.whatsapp:hover{
    background:#dcfce7;
    transform:translateY(-1px);
}

.auth-links{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:20px;
    padding-top:19px;
    border-top:1px solid #edf1f5;
}

.auth-links a{
    color:#2563eb;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}

.auth-links a:hover{text-decoration:underline}

.auth-note{
    margin:16px 0 0;
    color:#94a3b8;
    font-size:9px;
    line-height:1.6;
    text-align:center;
}

/* =========================================================
   SUCCESS PAGE
   ========================================================= */

.success-icon{
    width:70px;
    height:70px;
    display:grid;
    place-items:center;
    margin-bottom:18px;
    border-radius:22px;
    background:#dcfce7;
    color:#16a34a;
    font-size:32px;
}

.success-user{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:20px;
    padding:16px 18px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:#eff6ff;
}

.success-user strong{
    color:#1d4ed8;
    font-size:19px;
}

.success-user span{
    color:#64748b;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:980px){
    .guest{
        grid-template-columns:1fr;
    }

    .guest-left{
        min-height:auto;
        padding:112px 28px 45px;
    }

    .guest-right{
        min-height:auto;
        padding:35px 20px 55px;
    }

    .guest-left h1{
        font-size:44px;
    }
}

@media(max-width:560px){
    .guest-left{
        padding:105px 20px 35px;
    }

    .guest-left-top{
        top:20px;
        left:20px;
        right:20px;
    }

    .brand img{
        width:45px;
        height:45px;
    }

    .brand b{font-size:13px}

    .brand small{font-size:8px}

    .guest-create-top{
        padding:8px 9px 8px 12px;
    }

    .guest-create-top span{
        font-size:9px;
    }

    .guest-create-top small{
        font-size:7px;
    }

    .guest-create-top i{
        width:27px;
        height:27px;
    }

    .guest-left h1{
        font-size:36px;
    }

    .guest-left p{
        font-size:13px;
    }

    .guest-metrics{
        grid-template-columns:1fr;
        margin-top:28px;
    }

    .guest-right{
        padding:20px 13px 35px;
    }

    .auth-card{
        padding:25px 19px;
        border-radius:22px;
    }

    .auth-card h2{
        font-size:27px;
    }

    .create-account-box{
        grid-template-columns:auto 1fr;
    }

    .create-account-btn{
        grid-column:1 / -1;
        width:100%;
    }

    .auth-links{
        flex-direction:column;
        align-items:stretch;
        text-align:center;
    }

    .payment-box{
        align-items:flex-start;
        flex-direction:column;
    }

    .payment-box .small{
        text-align:left;
    }
}
