body{

    margin:0;

    padding:0;

    background:#eef3f9;

    font-family:Arial,Helvetica,sans-serif;

    min-height:100vh;

    display:flex;

    flex-direction:column;

}

body.login-has-bg{

    background-image:var(--login-bg-d, none);

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    background-attachment:fixed;

}

/* মোবাইল ডিভাইসে আলাদা ব্যাকগ্রাউন্ড — না থাকলে ডেস্কটপেরটাই দেখাবে */

@media (max-width: 767.98px){

    body.login-has-bg{

        background-image:var(--login-bg-m, var(--login-bg-d, none));

    }

}

.login-wrapper{

    display:flex;

    justify-content:center;

    align-items:center;

    flex:1;

    position:relative;

    z-index:1;

    padding:40px 16px;

}

.login-card{

    width:420px;
    max-width:100%;
    box-sizing:border-box;

    background:#fff;

    padding:35px;

    border-radius:15px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

/* ===== লগইন ফর্মের চারপাশে ঘুরতে থাকা আইকন ===== */

.login-orbits{

    position:fixed;

    inset:0;

    pointer-events:none;

    z-index:0;

}

.login-orbits .orbit-icon{

    position:fixed;

    left:50%;

    top:50%;

    width:var(--size, 64px);

    height:var(--size, 64px);

    margin:calc(var(--size, 64px) / -2) 0 0 calc(var(--size, 64px) / -2);

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.85);

    border-radius:50%;

    box-shadow:0 4px 12px rgba(0,0,0,.12);

    overflow:hidden;

    animation:login-orbit var(--dur,24s) linear infinite;

}

.login-orbits .orbit-icon-img{

    width:100%;

    height:100%;

    object-fit:contain;

    padding:6px;

}

.login-orbits .orbit-icon:nth-child(even){

    animation-direction:reverse;

}

@keyframes login-orbit{

    0%{

        transform:rotate(0deg) translateY(var(--radius,250px)) rotate(0deg);

    }

    100%{

        transform:rotate(360deg) translateY(var(--radius,250px)) rotate(-360deg);

    }

}

/* মোবাইল ডিভাইস — আইকনগুলো উপর-নিচে ফ্লো করবে */

@media (max-width: 767.98px){

    .login-orbits .orbit-icon{

        left:var(--left, 10%);

        top:0;

        width:var(--size, 56px);

        height:var(--size, 56px);

        margin:0;

        animation:login-float var(--dur,18s) ease-in-out infinite;

    }

    .login-orbits .orbit-icon:nth-child(even){

        animation-direction:alternate-reverse;

    }

}

@keyframes login-float{

    0%{

        transform:translateY(-20vh) rotate(0deg);

    }

    100%{

        transform:translateY(105vh) rotate(0deg);

    }

}

.login-card{

    width:420px;
    max-width:100%;
    box-sizing:border-box;

    background:#fff;

    padding:35px;

    border-radius:15px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.logo{

    font-weight:bold;

    color:#0d6efd;

}

.login-logo{

    max-height:140px;

    max-width:380px;

    width:100%;

    height:auto;

    object-fit:contain;

    margin-left:auto;

    margin-right:auto;

    display:block;

}

.form-control{

    height:48px;

}

.password-box{

    position:relative;

}

.toggle-password{

    position:absolute;

    right:15px;

    top:12px;

    cursor:pointer;

    color:#777;

}

.btn{

    height:48px;

    border-radius:8px;

}

/* ===== লগইন/রেজি ফুটার ===== */

.auth-footer{

    position:relative;
    background:rgba(255,255,255,.92);

    border-top:1px solid rgba(0,0,0,.08);

    padding:18px 16px;

    text-align:center;

    z-index:2;

}

body.login-has-bg .auth-footer{

    background:rgba(255,255,255,.85);

    backdrop-filter:blur(4px);

}

.auth-footer-links{

    display:flex;

    flex-wrap:wrap;

    gap:8px 18px;

    justify-content:center;

    margin-bottom:10px;

}

.auth-footer-links a{

    color:#555;

    text-decoration:none;

    font-size:14px;

}

.auth-footer-links a:hover{

    color:#0d6efd;

}

.auth-footer-links .auth-footer-support{

    color:#0d6efd;

    font-weight:600;

}

.auth-footer-meta{

    display:flex;

    flex-wrap:wrap;

    gap:6px 20px;

    justify-content:center;

    font-size:13px;

    color:#888;

    margin-bottom:6px;

}

.auth-footer-text{

    font-size:12px;

    color:#999;

}

@media (max-width: 575.98px){

    .auth-footer-links{

        gap:6px 12px;

    }

}

/* ===== গেস্ট পেজ স্প্লিট লেআউট (বাম: পেজ কনটেন্ট / ডান: লগইন) ===== */

.auth-split{

    width:100%;

    max-width:980px;

    background:#fff;

    border-radius:18px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    overflow:hidden;

    display:flex;

}

.auth-split-left{

    flex:1 1 55%;

    background:#ffffff;

    color:#212529;

    padding:40px 36px;

    min-width:0;

    border-right:1px solid rgba(0,0,0,.08);

}

.auth-split-right{

    flex:1 1 45%;

    padding:36px 32px;

    min-width:0;

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.auth-split-title{

    font-size:22px;

    font-weight:700;

    margin-bottom:14px;

    color:#212529;

}

.auth-split .auth-page-content{

    font-size:15px;

    line-height:1.8;

    white-space:pre-line;

    word-break:break-word;

    color:#374151;

}

.auth-split-single .auth-split-right{

    flex:1 1 100%;

    max-width:560px;

    margin:0 auto;

    width:100%;

}

.auth-split-right h3{

    font-size:20px;

}

/* ===== লগইন হোমপেজ — আমাদের সেবাসমূহ তালিকা ===== */

.auth-services-list{

    list-style:none;

    margin:0;

    padding:0;

    display:flex;

    flex-direction:column;

    gap:10px;

}

.auth-services-list li{

    margin:0;

}

.auth-services-list li a{

    display:flex;

    align-items:center;

    gap:12px;

    padding:12px 14px;

    background:#f8fafc;

    border:1px solid #e2e8f0;

    border-radius:12px;

    text-decoration:none;

    color:#0f172a;

    transition:all .15s ease;

}

.auth-services-list li a:hover{

    background:#eff6ff;

    border-color:#93c5fd;

    transform:translateX(2px);

}

.auth-services-ic{

    flex:0 0 32px;

    width:32px;

    height:32px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#2563eb14;

    color:#2563eb;

    border-radius:50%;

    font-size:14px;

}

.auth-services-list li a:hover .auth-services-ic{

    background:#2563eb;

    color:#fff;

}

.auth-services-list li a > span:nth-child(2){

    flex:1 1 auto;

    min-width:0;

    font-weight:600;

    font-size:14px;

}

.auth-services-list li a small{

    display:block;

    font-weight:400;

    color:#64748b;

    font-size:12px;

    margin-top:2px;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;

}

.auth-services-arrow{

    color:#cbd5e1;

    font-size:14px;

}

.auth-split-hint{

    margin:18px 0 0;

    font-size:13px;

    color:#64748b;

    display:flex;

    align-items:center;

    gap:6px;

}

@media (max-width: 767.98px){

    .auth-split-hint{

        margin-bottom:6px;

    }

}

@media (max-width: 767.98px){

    .auth-split{

        flex-direction:column;

    }

    .auth-split-left{

        padding:26px 20px;

    }

    .auth-split-right{

        padding:26px 20px;

    }

}

/* ===== লগইন করা ইউজারের প্যানেলের ভিতরের পেজ কনটেন্ট ===== */

.auth-panel-content{

    font-size:15px;

    line-height:1.8;

    white-space:pre-line;

    word-break:break-word;

}

/* ===== টপ মেনু (হেডার/নেভবারের উপরে ছোট বার) — লগইন/রেজিস্টার পেজ ===== */

.sp-top-nav{

    position:fixed;

    top:0;

    left:0;

    right:0;

    z-index:1035;

    height:40px;

    display:flex;

    align-items:center;

    background:#fff;

    border-bottom:1px solid rgba(0,0,0,.08);

    box-shadow:0 1px 4px rgba(0,0,0,.06);

}

.sp-top-nav-inner{

    gap:4px;

    padding:0 14px;

    overflow:visible;

    flex-wrap:nowrap;

}

.sp-tools-nav{

    display:flex;

    align-items:center;

    gap:4px;

}

.sp-top-nav .dropdown-menu{

    z-index:2000;

    max-height:calc(100vh - 60px);

    overflow-y:auto;

}

.sp-top-nav-link{

    display:inline-flex;

    align-items:center;

    gap:6px;

    padding:5px 12px;

    font-size:13px;

    font-weight:500;

    color:#6b7280;

    text-decoration:none;

    border-radius:7px;

    white-space:nowrap;

    transition:background .15s ease, color .15s ease;

}

.sp-top-nav-link i{

    font-size:12px;

    color:#2563eb;

}

.sp-top-nav-link:hover,

.sp-top-nav-link:focus{

    background:rgba(37,99,235,.1);

    color:#1f2937;

}

.sp-top-nav-link.dropdown-toggle::after{

    font-size:10px;

    margin-left:2px;

}

.sp-top-nav .dropdown-menu{

    margin-top:6px;

}

.sp-top-nav .dropdown-item{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:13px;

    padding:8px 14px;

}

.sp-top-nav .dropdown-item i{

    width:18px;

    text-align:center;

}

body.sp-auth-pt{

    padding-top:40px;

}

body.sp-auth-pt .sp-top-nav-inner{

    justify-content:center;

}

@media (max-width: 767.98px){

    .sp-top-nav-inner{

        overflow-x:auto;

        flex-wrap:nowrap;

        scrollbar-width:none;

    }

    .sp-top-nav-inner::-webkit-scrollbar{

        display:none;

    }

    .sp-top-nav-link{

        padding:5px 8px;

        font-size:12px;

        gap:4px;

    }

    .sp-top-nav-link i{

        display:none;

    }

    .sp-top-nav .dropdown-item{

        font-size:12px;

    }

}

/* ===== মোবাইলে Convert ড্রপডাউন — স্ক্রল-ক্লিপ এড়াতে ফিক্সড ফুল-উইডথ প্যানেল ===== */

@media (max-width: 991.98px){

    .sp-top-nav .dropdown-menu.show{

        position:fixed !important;

        top:52px !important;

        left:8px !important;

        right:8px !important;

        width:auto !important;

        min-width:0 !important;

        margin:0 !important;

        transform:none !important;

        z-index:3000 !important;

        max-height:70vh !important;

        overflow-y:auto !important;

    }

}
/* ===== লগিন পেজ স্প্লিট (বাম: নিউজ ফিড / ডান: লগিন-রেজ-ফরগট) ===== */

.auth-split-page .auth-split{

    max-width:1320px;

    margin:28px auto 28px;

    height:calc(100vh - 160px);

    min-height:460px;

    position:relative;

    z-index:1;

}

.auth-feed-panel{

    flex:1 1 66%;

    min-width:0;

    display:flex;

    flex-direction:column;

    background:#f6f8fb;

    border-right:1px solid rgba(0,0,0,.08);

}

.auth-feed-head{

    display:flex;

    align-items:center;

    gap:10px;

    padding:15px 20px;

    font-size:17px;

    font-weight:700;

    color:#fff;

    background:linear-gradient(135deg,#0d6efd,#0aa2c0);

    flex-shrink:0;

}

.auth-feed-head-icon{

    margin-left:auto;

    font-size:18px;

}

.auth-feed-scroll{

    overflow-y:auto;

    padding:16px 20px;

    display:flex;

    flex-direction:column;

    gap:10px;

}

.auth-feed-item{

    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    border-radius:12px;

    padding:14px 16px;

    box-shadow:0 2px 6px rgba(0,0,0,.04);

}

.auth-feed-badge{

    margin-right:8px;

    font-size:12px;

}

.auth-feed-date{

    font-size:12px;

    color:#6c757d;

}

.auth-feed-title{

    font-weight:700;

    font-size:16px;

    margin-top:6px;

    color:#212529;

}

.auth-feed-body{

    font-size:14px;

    color:#4b5563;

    line-height:1.7;

    margin-top:4px;

    white-space:pre-line;

}

.auth-feed-empty{

    padding:48px 20px;

    text-align:center;

    color:#6c757d;

}

.auth-feed-empty i{

    font-size:40px;

    display:block;

    margin-bottom:10px;

    color:#adb5bd;

}

.auth-forms-panel{

    flex:1 1 34%;

    min-width:0;

    background:#fff;

    display:flex;

    overflow:hidden;

}

.auth-forms-sticky.login-card{

    position:sticky;

    top:0;

    height:100%;

    overflow-y:auto;

    width:100%;

    max-width:none;

    border:none;

    border-radius:0;

    box-shadow:none;

    padding:26px 30px;

    justify-content:flex-start;

}

.auth-split-page .tab-content{

    min-height:0;

}

.auth-split-page .nav-tabs .nav-link{

    font-size:13.5px;

}

@media (max-width:860px){

    .auth-split-page .auth-split{

        flex-direction:column;

        height:auto;

        min-height:0;

        margin:18px auto 18px;

    }

    .auth-feed-panel{

        border-right:none;

        border-bottom:1px solid rgba(0,0,0,.08);

    }

    .auth-feed-scroll{

        max-height:340px;

    }

    .auth-forms-panel{

        overflow:visible;

    }

    .auth-forms-sticky.login-card{

        position:static;

        height:auto;

        overflow:visible;

    }

}

/* ===== কমপ্যাক্ট মোড: ডান পাশের লগিন/রেজিস্টার/ফরগট পাস ===== */

.auth-forms-sticky.login-card{

    padding:16px 22px;

}

.auth-forms-sticky .login-logo{

    max-height:44px;

    width:auto;

    margin-bottom:.2rem;

}

.auth-forms-sticky h2.logo{

    font-size:20px;

}

.auth-forms-sticky .text-muted{

    font-size:12px;

}

.auth-forms-sticky .mb-3{

    margin-bottom:.55rem !important;

}

.auth-forms-sticky .nav-tabs .nav-link{

    padding:.34rem .6rem;

    font-size:12.5px;

}

.auth-forms-sticky .nav-tabs{

    margin-bottom:.65rem !important;

}

.auth-forms-sticky .tab-content > .tab-pane > p{

    font-size:12px;

    line-height:1.5;

    margin-bottom:.55rem;

}

.auth-forms-sticky .form-control{

    padding:.42rem .62rem;

    font-size:.85rem;

    height:auto;

    border-radius:8px;

}

.auth-forms-sticky .form-label{

    font-size:.8rem;

    margin-bottom:.2rem;

}

.auth-forms-sticky .form-check-label{

    font-size:.8rem;

}

.auth-forms-sticky .form-check-input{

    margin-top:.15rem;

}

.auth-forms-sticky .btn{

    padding:.44rem .7rem;

    font-size:.86rem;

    height:auto;

}

.auth-forms-sticky .btn-sm{

    padding:.28rem .55rem;

    font-size:.78rem;

    height:auto;

}

.auth-forms-sticky .alert{

    padding:.5rem .75rem;

    margin-bottom:.6rem;

    font-size:.85rem;

}

.auth-forms-sticky .sp-captcha-box{

    margin-bottom:.6rem;

}

.auth-forms-sticky .password-box .toggle-password{

    top:9px;

    right:13px;

    font-size:14px;

}

.auth-forms-sticky .mb-2{

    margin-bottom:.45rem !important;

}

.auth-forms-sticky .mt-2{

    margin-top:.4rem;

}

.auth-forms-sticky .mt-3{

    margin-top:.6rem;

}

.auth-forms-sticky .small{

    font-size:12px;

}

.auth-forms-sticky .divider-text{

    font-size:12px;

}

.auth-feed-item{

    padding:16px 18px;

    border-radius:13px;

}

.auth-feed-badge{

    font-size:12.5px;

}

.auth-feed-date{

    font-size:12.5px;

}

.auth-feed-scroll{

    gap:16px;

    padding:18px 22px;

}

/* ===== নিউজ ফিড আইটেম: থাম্ব + টাইটেল ===== */

.auth-feed-link{

    display:flex;

    gap:12px;

    align-items:flex-start;

    cursor:pointer;

    text-align:left;

    transition:box-shadow .15s ease, transform .15s ease;

}

.auth-feed-link:hover{

    box-shadow:0 6px 14px rgba(13,110,253,.12);

    transform:translateY(-1px);

}

.feed-thumb{

    width:66px;

    height:52px;

    object-fit:cover;

    border-radius:9px;

    border:1px solid rgba(0,0,0,.08);

    flex-shrink:0;

    background:#eef1f5;

}

.feed-thumb-ph{

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

    color:#aab4c3;

    background:linear-gradient(135deg,#eef1f5,#e2e8f0);

}

.feed-thumb-info{

    flex:1;

    min-width:0;

}

.auth-feed-badge-row{

    display:flex;

    align-items:center;

    gap:8px;

    flex-wrap:wrap;

    margin-bottom:3px;

}

.auth-feed-title{

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

/* ===== নিউজ পড়ার মোডাল ===== */

.auth-news-img-wrap:empty{ display:none; }

.auth-news-img{

    width:100%;

    max-height:360px;

    object-fit:cover;

    border-radius:12px;

    margin-bottom:14px;

    border:1px solid rgba(0,0,0,.06);

}

.auth-news-modal-title{

    font-size:22px;

    font-weight:700;

    color:#111827;

    margin-bottom:12px;

}

.auth-news-modal-body{

    font-size:15px;

    line-height:1.85;

    color:#374151;

    word-break:break-word;

}

.auth-news-modal-body img{

    max-width:100%;

    height:auto;

    border-radius:8px;

    margin:6px 0;

}

.auth-news-modal-body p{

    margin-bottom:10px;

}

.auth-news-modal-body ul,

.auth-news-modal-body ol{

    padding-left:22px;

    margin-bottom:10px;

}

.auth-news-modal-body a{

    color:#0d6efd;

    text-decoration:underline;

}

.auth-news-modal-body table{

    border-collapse:collapse;

    width:100%;

    margin:10px 0;

}

.auth-news-modal-body td,

.auth-news-modal-body th{

    border:1px solid #dee2e6;

    padding:6px 10px;

}

.auth-news-modal-body blockquote{

    border-left:4px solid #0d6efd;

    margin:10px 0;

    padding:4px 14px;

    color:#555;

    background:#f8fafc;

}

/* ===== গেস্ট পেজের কনটেন্ট কার্ড (পেজ কনটেন্ট + নিউজ ফিড) ===== */

.auth-page-card{

    background:#fff;

    border:1px solid rgba(13,110,253,.2);

    border-left:4px solid #0d6efd;

    border-radius:13px;

    padding:16px 18px;

    margin-bottom:2px;

}

.auth-page-card .auth-page-title{

    font-size:18px;

    font-weight:700;

    color:#0d6efd;

    margin-bottom:8px;

}

.auth-page-card .auth-page-content{

    font-size:14.5px;

    color:#374151;

    line-height:1.8;

    word-break:break-word;

}

.auth-page-card img{ max-width:100%; height:auto; border-radius:8px; }

.auth-page-card table{ border-collapse:collapse; width:100%; margin:10px 0; }

.auth-page-card td, .auth-page-card th{ border:1px solid #dee2e6; padding:6px 10px; }

.auth-page-card blockquote{ border-left:4px solid #0d6efd; margin:10px 0; padding:4px 14px; color:#555; }

.auth-redirect-note{

    font-size:13px;

    color:#6c757d;

    margin-bottom:10px;

    background:#fff3cd;

    border:1px solid #ffe69c;

    border-radius:10px;

    padding:8px 12px;

}

.auth-feed-home{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:30px;

    height:30px;

    border-radius:8px;

    background:rgba(255,255,255,.18);

    color:#fff;

    font-size:14px;

    text-decoration:none;

    flex-shrink:0;

    transition:background .15s ease;

}

.auth-feed-home:hover{

    background:rgba(255,255,255,.32);

    color:#fff;

}
