  * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Poppins', sans-serif;
        }

        body {
            background-color: #f8fafc;
            color: #1e293b;
            padding: 30px;
        }

        .dashboard-container {
            max-width: 1200px;
            margin: 0 auto;
            background: #ffffff;
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
            display: grid;
            grid-template-columns: 320px 1fr;
            overflow: hidden;
            border: 1px solid #e2e8f0;
            margin-top: 10px;
        }

        /* Left Profile Column */
        .profile-sidebar {
            background: #ffffff;
            padding: 30px;
            border-right: 1px solid #e2e8f0;
            text-align: center;
        }

        .avatar-box {
            position: relative;
            width: 100px;
            height: 100px;
            margin: 0 auto 15px;
        }

        .avatar-box img {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            object-fit: cover;
            border: 3px solid #6366f1;
        }

        .profile-sidebar h2 {
            font-size: 20px;
            font-weight: 700;
            color: #0f172a;
        }

        .profile-sidebar p {
            font-size: 13px;
            color: #64748b;
            margin-bottom: 10px;
        }

        .badge-pill {
            display: inline-block;
            background: #ede9fe;
            color: #7c3aed;
            padding: 5px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            margin-bottom: 25px;
        }

       

        .edit-btn {
            width: 100%;
            height: 40px;
            background: #6366f1;
            color: white;
            border: none;
            padding: 12px;
            border-radius: 10px;
            font-weight: 500;
            cursor: pointer;
            transition: background 0.3s;
            margin-top: -5px;
        }

        .edit-btn:hover {
            background: #4f46e5;
        }

        /* Right Content Column */
        .dashboard-content {
            padding: 15px;
            background: #f8fafc;
        }

        .section-title {
            font-size: 15px;
            font-weight: 600;
            color: #0f172a;
            margin-bottom: 8px;
        }

        .overview-cards {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 15px;
            margin-bottom: 30px;
        }

        .card {
            background: #ffffff;
            padding: 14px;
            border-radius: 12px;
            border: 1px solid #e2e8f0;
            min-height: 110px;
        }

        .card h3 {
            font-size: 22px;
            color: #0f172a;
            margin-top: 5px;
        }

        .card span {
            font-size: 12px;
            color: #64748b;
        }

        .card i {
            font-size: 16px;
            color: #6366f1;
            background: #ede9fe;
            padding: 8px;
            border-radius: 8px;
        }

        /* Responsive */
        @media(max-width: 768px) {
            .dashboard-container {
                grid-template-columns: 1fr;
            }
            .overview-cards {
                grid-template-columns: repeat(2, 1fr);
            }
        }






        /* =========================
   PROFILE HEADER
========================= */

.profile-header{

    max-width:1200px;

    height: 70px;

    margin:30px auto 20px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:18px 24px;

    background:#ffffff;

    border:1px solid #e2e8f0;

    border-radius:18px;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

    margin-top: -15px;

}

.header-title{

    flex:1;

    margin-left:18px;

}

.header-title h1{

    font-size:18px;

    font-weight:600;

    color:#0f172a;

}

.header-title p{

    margin-top:4px;

    font-size:14px;

    color:#64748b;

}

.header-actions{

    display:flex;

    gap:10px;

}

.header-icon{

    width:32px;

    height:32px;

    border:none;

    border-radius:12px;

    background:#f8fafc;

    color:#475569;

    cursor:pointer;

    transition:.3s;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:16px;

}

.header-icon:hover{

    background:#6366f1;

    color:#ffffff;

    transform:translateY(-2px);

}


.avatar-box{

    position:relative;

    width:110px;

    height:110px;

    margin:0 auto 18px;

}

.avatar-box img{

    width:100%;

    height:100%;

    border-radius:50%;

    object-fit:cover;

    border:4px solid #6366F1;

}

/* Edit Button */

.avatar-edit{

    position:absolute;

    right:2px;

    bottom:4px;

    width:34px;

    height:34px;

    background:#6366F1;

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    border:3px solid #fff;

    cursor:pointer;

    z-index:10;

    box-shadow:0 5px 15px rgba(99,102,241,.25);

    transition:.25s;

}

.avatar-edit:hover{

    transform:scale(1.08);

    background:#4F46E5;

}

.avatar-edit i{

    font-size:13px;

}



/* ==========================
   LEVEL CARD
========================== */

.level-card{

    margin:20px 0;

    padding:15px;

    background:#F8FAFC;

    border:1px solid #E2E8F0;

    border-radius:16px;

    margin-top: -5px;

    height: 80px;

}

.level-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:5px;

    margin-top: -8px;

}

.level-title{

    font-size:13px;

    font-weight:600;

    color:#0F172A;

}

.level-title i{

    color:#F59E0B;

    margin-right:6px;

}

.level-rank{

    background:#EEF2FF;

    color:#6366F1;

    padding:4px 10px;

    border-radius:20px;

    font-size:12px;

    font-weight:600;

}


.progress{

    width:90%;

    height:5px;

    background:#E5E7EB;

    border-radius:50px;

    overflow:hidden;

}

.progress-fill{

    width:76%;

    height:100%;

    background:linear-gradient(90deg,#6366F1,#8B5CF6);

    border-radius:50px;

}

.xp-text{
    display:block;
    margin-top:7px;
    font-size:10px !important;
    font-weight:500;
    color:#94A3B8;
    text-align:center;
}



/* ==========================
   LEARNING OVERVIEW CARDS
========================== */

.overview-cards{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:8px;

}

.card{

    padding:10px;

    border-radius:14px;

    min-height: 110px;

    border:1px solid #E5E7EB;

    transition:.3s;

    cursor:pointer;

}

.card:hover{

    transform:translateY(-6px);

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.card i{

    width:28px;

    height:28px;

    border-radius:12px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:6px;

    font-size:12px;

}

.card span{

    display:block;

    font-size:11px;

    color:#64748B;

}

.card h3{

    margin-top:2px;

    font-size:17px;

    font-weight:700;

    color:#0F172A;

}

/* Courses */

.courses-card{

    background:#F5F3FF;

}

.courses-card i{

    background:#E9D5FF;

    color:#7C3AED;

}

/* Completed */

.completed-card{

    background:#EFF6FF;

}

.completed-card i{

    background:#DBEAFE;

    color:#2563EB;

}

/* Badges */

.badges-card{

    background:#ECFDF5;

}

.badges-card i{

    background:#D1FAE5;

    color:#059669;

}

/* Hours */

.hours-card{

    background:#FFF7ED;

}

.hours-card i{

    background:#FED7AA;

    color:#EA580C;

}






/* =========================
   RECENT ACTIVITY
========================= */

.recent-activity{

    margin-top:0px;

    background:#fff;

    border:1px solid #e5e7eb;

    border-radius:16px;

    padding:16px;

}

.activity-list{

    margin-top:10px;

}

.activity-item{

    display:flex;

    align-items:center;

    gap:10px;

    padding:10px 0;

    border-bottom:1px solid #f1f5f9;

}

.activity-item:last-child{

    border-bottom:none;

}

.activity-icon{

    width:30px;

    height:30px;

    border-radius:8px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:12px;

    flex-shrink:0;

}

.activity-info{

    flex:1;

}

.activity-info h4{

    font-size:14px;

    font-weight:600;

    color:#0f172a;

}

.activity-info p{

    font-size:12px;

    color:#64748b;

    margin-top:2px;

}

.activity-time{

    font-size:11px;

    color:#94a3b8;

    font-weight:600;

}

/* Colors */

.complete-bg{

    background:#DBEAFE;

    color:#2563EB;

}

.course-bg{

    background:#EDE9FE;

    color:#7C3AED;

}

.quiz-bg{

    background:#FEF3C7;

    color:#D97706;

}

.badge-bg{

    background:#DCFCE7;

    color:#16A34A;

}




/* ===========================
   MIDDLE SECTION
=========================== */

.middle-section{

    display:grid;

    grid-template-columns:1.5fr 1fr;

    gap:20px;

    margin-top:12px;

}

/* ===========================
   RECENT ACTIVITY
=========================== */

.recent-activity{

    background:#fff;

    border:1px solid #e9edf5;

    border-radius:18px;

    padding:20px;

    box-shadow:0 8px 20px rgba(0,0,0,.04);

}

.activity-list{

    margin-top:18px;

}

.activity-item{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:8px 0;

}

.activity-item:not(:last-child){

    border-bottom:1px solid #f1f3f7;

}

.activity-icon{

    width:38px;

    height:38px;

    border-radius:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:15px;

    flex-shrink:0;

}

.activity-info{

    flex:1;

    margin-left:14px;

}

.activity-info h4{

    font-size:15px;

    font-weight:600;

    color:#1f2937;

}

.activity-info p{

    margin-top:3px;

    font-size:12px;

    color:#8a94a6;

}

.activity-time{

    font-size:12px;

    color:#9ca3af;

    font-weight:600;

}

/* Activity Colors */

.complete-bg{

    background:#eaf2ff;

    color:#3b82f6;

}

.course-bg{

    background:#f2ebff;

    color:#7c3aed;

}

.quiz-bg{

    background:#fff2e8;

    color:#f97316;

}

.badge-bg{

    background:#e9fbf2;

    color:#10b981;

}
/* ===========================
   PREMIUM POLISH
=========================== */

.activity-item{

    transition:all .3s ease;

    border-radius:12px;

    cursor:pointer;

}

.activity-item:hover{

    background:#f8faff;

    transform:translateX(6px);

    padding-left:10px;

    padding-right:10px;

}

.activity-icon{

    transition:all .3s ease;

}

.activity-item:hover .activity-icon{

    transform:scale(1.08) rotate(-5deg);

    box-shadow:0 8px 18px rgba(0,0,0,.10);

}

.activity-info h4{

    transition:color .3s ease;

}

.activity-item:hover .activity-info h4{

    color:#4f46e5;

}

.activity-time{

    transition:all .3s ease;

    padding:4px 10px;

    border-radius:20px;

}

.activity-item:hover .activity-time{

    background:#4f46e5;

    color:#fff;

}

/* ===========================
   STREAK CARD
=========================== */

.streak-card{

    background:#fff;

    border:1px solid #e9edf5;

    border-radius:18px;

    padding:20px;

    box-shadow:0 8px 20px rgba(0,0,0,.04);

    margin-top: 0px;

}

.streak-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.streak-days{

    font-size:13px;

    color:#f97316;

    font-weight:600;

}

.streak-days i{

    margin-right:5px;

}

.streak-text{

    font-size:13px;

    color:#7b8794;

    margin:12px 0 22px;

}

.week-days{

    display:flex;

    justify-content:space-between;

    text-align:center;

}

.day span{

    display:block;

    font-size:11px;

    font-weight: 600px;

    letter-spacing: 1px;

    color:#94a3b8;

    margin-bottom:8px;

}

.active-day,

.inactive-day{

    width:18px;

    height:18px;

    border-radius:50%;

    margin:auto;

}

.active-day{

    background:#22c55e;

    box-shadow:0 0 10px rgba(34,197,94,.35);

}

.inactive-day{

    border:2px solid #d1d5db;

    background:#fff;

}

.streak-footer{

    display:flex;

    justify-content:space-between;

    margin-top:5px;

    padding-top:5px;

    border-top:1px solid #eef2f7;

}

.streak-footer small{

    font-size:10px;

    color:#8a94a6;

}

.streak-footer h4{

    margin-top:3px;

    font-size:16px;

    color:#1f2937;

}



.logout-btn{
    width: 100%;
    height: 40px;
    margin-top: 10px;

    background: #ffffff;
    color: #64748b;

    border: 1px solid #eef2f7;   /* बहुत हल्का बॉर्डर */

    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;

    cursor: pointer;
    transition: all .25s ease;
}

.logout-btn i{
    margin-right:8px;
    color:#94a3b8;
    transition:.25s;
}

.logout-btn:hover{
    border-color:#ef4444;        /* Hover पर Red Border */
    color:#ef4444;
    background:#fff5f5;          /* बहुत हल्का Red Background */
}

.logout-btn:hover i{
    color:#ef4444;
}

/* ===========================
   WEEKLY GOAL
=========================== */

.weekly-goal{

    margin-top:22px;

}

.goal-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:10px;

    font-size:13px;

    font-weight:600;

    color:#374151;

}

.goal-progress{

    width:100%;

    height:9px;

    background:#edf2f7;

    border-radius:30px;

    overflow:hidden;

    position:relative;

}

.goal-fill{

    width:86%;

    height:100%;

    border-radius:30px;

    background:linear-gradient(90deg,#4f7cff,#7b5cff);

    position:relative;

    overflow:hidden;

    animation:goalFill 1.3s ease;

}

.goal-text{

    margin-top:10px;

    font-size:12px;

    color:#6b7280;

    line-height:1.5;

}

@keyframes goalFill{

    from{

        width:0;

    }

    to{

        width:86%;

    }

}

.goal-fill::after{

    content:"";

    position:absolute;

    top:0;

    left:-30%;

    width:30%;

    height:100%;

    background:rgba(255,255,255,.45);

    transform:skewX(-20deg);

    animation:shine 2.5s infinite;

}

@keyframes shine{

    from{

        left:-30%;

    }

    to{

        left:120%;

    }

}





.profile-bio {
    margin: 4px 0 10px;
    font-size: 13px;
    font-weight: 500;
    color: #64748B;
    line-height: 1.5;
    text-align: center;
    margin-top: -5px;

    overflow: hidden;
    text-overflow: ellipsis;

    display: -webkit-box;
    -webkit-box-orient: vertical;
   
}















.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.modal-container {
    background: #ffffff;
    width: 100%;
    max-width: 650px;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
    transform: translateY(20px);
    transition: transform 0.3s ease;
}

.modal-overlay.active .modal-container {
    transform: translateY(0);
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 15px;
}

.modal-header h3 {
    font-size: 20px;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 10px;
}

.modal-header h3 i {
    color: #6366f1;
}

.close-btn {
    background: #f1f5f9;
    margin-top: -60px;
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 16px;
    color: #64748b;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.close-btn:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.form-group label i {
    color: #6366f1;
}

.form-control {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font-size: 14px;
    color: #0f172a;
    outline: none;
    transition: border-color 0.2s;
    background: #fff;
}

.form-control:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
}

textarea.form-control {
    resize: vertical;
    height: 90px;
}

.char-count {
    text-align: right;
    font-size: 11px;
    color: #94a3b8;
    margin-top: 4px;
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 30px;
    border-top: 1px solid #e2e8f0;
    padding-top: 20px;
}

.btn-cancel {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #475569;
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-cancel:hover {
    background: #f1f5f9;
}

.btn-save {
    background: #6366f1;
    border: none;
    color: #ffffff;
    padding: 10px 24px;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
}

.btn-save:hover {
    background: #4f46e5;
}


.custom-date-input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font-size: 14px;
    color: #0f172a;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.custom-date-input i {
    color: #6366f1;
}

.cal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 3000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
}
.cal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.cal-container {
    background: #ffffff;
    width: 300px;
    height:400px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
    transform: scale(0.95);
    transition: transform 0.2s ease;
}
.cal-overlay.active .cal-container {
    transform: scale(1);
}

.cal-header {
    background: #0d9488;
    color: #ffffff;
    padding: 14px 18px 12px
}
.cal-year {
    font-size: 12px;
    font-weight: 500;
    opacity: 0.9;
    margin-bottom: 5px;
    cursor: pointer;
    display: inline-block;
    margin-bottom: 2px;
}
.cal-year:hover {
    text-decoration: underline;
}
.cal-date-display {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

.cal-body {
    padding: 8px 16px 6px;
    height: 250px;
}
.cal-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-weight: 600;
    font-size: 14px;
    color: #334155;
}
.cal-nav span {
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background 0.2s;
    cursor:pointer;
}
.cal-nav span:hover {
    background: #f1f5f9;
}
.cal-nav button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: #64748b;
    padding: 5px 10px;
}
.cal-nav button:hover {
    color: #0f172a;
}

.weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    margin-bottom: 4px;
}

.days-grid{

    display:grid;

    grid-template-columns:repeat(7,1fr);

    gap:4px;

    row-gap:4px;

    height:240px;      /* Fixed Height */

    align-content:start;

}
.day-cell{

    width:28px;

    height:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    border-radius:50%;

    font-size: 12px;

    cursor:pointer;

}
.day-cell:hover {
    background: #f1f5f9;
}
.day-cell.selected {
    background: #0d9488;
    color: #ffffff;
    font-weight: 600;
}
.day-cell.empty {
    cursor: default;
}

/* Picker Views (Month & Year) */
.picker-view {
    padding: 15px 20px;
    height: 265px;
    overflow-y: auto;
}
.picker-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
}
.picker-item {
    padding: 10px;
    font-size: 15px;
    color: #334155;
    cursor: pointer;
    border-radius: 8px;
    transition: background 0.2s;
}
.picker-item:hover {
    background: #f1f5f9;
}
.picker-item.selected {
    background: #0d9488;
    color: #ffffff;
    font-weight: 600;
}

.cal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 6px 16px 8px 20px;
    border-top: 1px solid #f1f5f9;
}
.cal-btn {
    background: none;
    border: none;
    color: #0d9488;
    font-weight: 600;
    font-size: 13px;
    padding: 8px 14px;
    cursor: pointer;
    border-radius: 4px;
}
.cal-btn:hover {
    background: #f0fdfa;
}





/*==========================
      POPUP HEADER
==========================*/

.popup-title{

    display:flex;

    align-items:center;

    gap:14px;

}

/* Profile Photo */

.popup-avatar{

    width:70px;

    height:70px;

    border-radius:50%;

    overflow:hidden;

    flex-shrink:0;

    border:2px solid #EEF2FF;

}

.popup-avatar img{

    width:100%;

    height:100%;

    object-fit:cover;

}

/* Text */

.popup-title-text{

    display:flex;

    flex-direction:column;

}

.popup-title-text h2{

    font-size:28px;

    font-weight:700;

    color:#1E293B;

    line-height:1.1;

    margin:0;

}

.popup-title-text p{

    margin-top:3px;

    font-size:13px;

    color:#94A3B8;

}















/* ===============================
   PROFILE PHOTO MODAL
================================= */

.photo-modal-overlay{

    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(15,23,42,.55);
    backdrop-filter:blur(8px);

    opacity:0;
    visibility:hidden;

    transition:.30s ease;

    z-index:999999;

}

.photo-modal-overlay.active{

    opacity:1;
    visibility:visible;

}

.photo-modal{

    position:relative;

    width:460px;
    max-width:92%;

    background:#fff;

    border-radius:28px;

    padding:32px;

    box-shadow:
    0 20px 70px rgba(0,0,0,.18);

    animation:photoPopup .28s ease;

}

@keyframes photoPopup{

    from{

        transform:translateY(25px) scale(.96);

        opacity:0;

    }

    to{

        transform:translateY(0) scale(1);

        opacity:1;

    }

}

/* Close */

.photo-close{

    position:absolute;

    top:18px;
    right:18px;

    width:40px;
    height:40px;

    border:none;

    border-radius:50%;

    background:#f1f5f9;

    color:#475569;

    cursor:pointer;

    transition:.25s;

}

.photo-close:hover{

    background:#6366F1;

    color:#fff;

}

/* Camera Icon */

.photo-icon{

    width:78px;
    height:78px;

    margin:0 auto 18px;

    border-radius:50%;

    background:#EEF2FF;

    color:#6366F1;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:30px;

}

/* Heading */

.photo-modal h2{

    text-align:center;

    font-size:25px;

    font-weight:700;

    color:#111827;

}

.photo-modal p{

    text-align:center;

    color:#64748B;

    margin-top:10px;
    margin-bottom:28px;

    line-height:1.6;
    font-size: 14px;

}

/* Options */

.photo-option{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:14px 16px;

    border:1px solid #E2E8F0;

    border-radius:18px;

    margin-bottom:12px;

    cursor:pointer;

    transition:.25s;

}

.photo-option:hover{

    transform:translateY(-2px);

    border-color:#6366F1;

    background:#F8FAFF;

}

.photo-option .left{

    display:flex;

    align-items:center;

    gap:12px;

}

.photo-option .icon{

    width:48px;
    height:48px;

    border-radius:16px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:17px;

}

.gallery{

    background:#EEF2FF;

    color:#6366F1;

}

.camera{

    background:#ECFDF5;

    color:#10B981;

}

.remove{

    background:#FEF2F2;

    color:#EF4444;

}

.photo-option h4{

    font-size:14px;

    color:#111827;

    margin-bottom:4px;

}

.photo-option span{

    font-size:12px;

    color:#64748B;

}

.photo-option>i{

    color:#94A3B8;

    font-size:15px;

}

/* Cancel */

.cancel-photo{

    width:100%;

    height:52px;

    margin-top:10px;

    border:none;

    border-radius:16px;

    background:#F1F5F9;

    color:#334155;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

.cancel-photo:hover{

    background:#E2E8F0;

}












/* ==========================
   Upload Loader
========================== */

.upload-overlay{

    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(15,23,42,.55);
    backdrop-filter:blur(8px);

    opacity:0;
    visibility:hidden;

    transition:.3s;

    z-index:9999999;

}

.upload-overlay.active{

    opacity:1;
    visibility:visible;

}

.upload-box{

    width:320px;

    background:#fff;

    border-radius:22px;

    padding:35px;

    text-align:center;

    box-shadow:0 20px 60px rgba(0,0,0,.18);

}

.upload-spinner{

    width:58px;
    height:58px;

    margin:0 auto 20px;

    border:5px solid #E5E7EB;

    border-top:5px solid #6366F1;

    border-radius:50%;

    animation:spin .8s linear infinite;

}

@keyframes spin{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

.upload-box h3{

    font-size:22px;

    color:#111827;

}

.upload-box p{

    margin-top:8px;

    color:#64748B;

}









/* ==========================
   SUCCESS TOAST
========================== */

.success-toast{

    position:fixed;

    top:25px;
    right:25px;

    display:flex;
    align-items:center;

    gap:12px;

    background:#16A34A;

    color:#fff;

    padding:14px 20px;

    border-radius:14px;

    box-shadow:0 15px 35px rgba(0,0,0,.18);

    transform:translateX(120%);

    transition:.35s ease;

    z-index:99999999;

}

.success-toast.show{

    transform:translateX(0);

}

.success-toast i{

    font-size:20px;

}

.success-toast span{

    font-size:14px;

    font-weight:600;

}













/* =========================================================
   FUTUREVERSE PROFILE — PREMIUM MOBILE RESPONSIVE
   ========================================================= */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 768px) {

    body {
        padding: 12px;
    }


    /* ================= HEADER ================= */

    .profile-header {
        width: 100%;
        height: auto;
        min-height: 64px;
        margin: 0 0 14px;
        padding: 12px 14px;
        border-radius: 16px;
        gap: 10px;
    }

    .header-title {
        margin-left: 8px;
        min-width: 0;
    }

    .header-title h1 {
        font-size: 16px;
        white-space: nowrap;
    }

    .header-title p {
        font-size: 11px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .header-actions {
        gap: 5px;
        flex-shrink: 0;
    }

    .header-icon {
        width: 30px;
        height: 30px;
        border-radius: 10px;
        font-size: 13px;
    }


    /* ================= DASHBOARD ================= */

    .dashboard-container {
        width: 100%;
        margin: 0;
        display: flex;
        flex-direction: column;
        border-radius: 18px;
        overflow: hidden;
    }


    /* ================= PROFILE ================= */

    .profile-sidebar {
        width: 100%;
        padding: 24px 18px 20px;
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
    }

    .avatar-box {
        width: 92px;
        height: 92px;
        margin-bottom: 12px;
    }

    .avatar-edit {
        width: 30px;
        height: 30px;
        right: 0;
        bottom: 2px;
        border-width: 2px;
    }

    .profile-sidebar h2 {
        font-size: 19px;
    }

    .profile-email {
        font-size: 12px !important;
    }

    .badge-pill {
        margin-bottom: 18px;
    }

    .profile-bio {
        max-width: 280px;
        margin-left: auto;
        margin-right: auto;
    }

    .level-card {
        max-width: 360px;
        margin: 18px auto;
    }

    .edit-btn,
    .logout-btn {
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }


    /* ================= RIGHT CONTENT ================= */

    .dashboard-content {
        width: 100%;
        padding: 18px 14px 22px;
    }

    .section-title {
        font-size: 15px;
        margin-bottom: 10px;
    }


    /* ================= OVERVIEW ================= */

    .overview-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 18px;
    }

    .card {
        min-height: 105px;
        padding: 12px;
        border-radius: 14px;
    }

    .card i {
        width: 30px;
        height: 30px;
        padding: 7px;
        margin-bottom: 7px;
    }

    .card span {
        font-size: 11px;
    }

    .card h3 {
        font-size: 19px;
    }


    /* ================= MIDDLE SECTION ================= */

    .middle-section {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 0;
    }

    .recent-activity,
    .streak-card {
        width: 100%;
        padding: 15px;
        border-radius: 16px;
    }

    .activity-item {
        gap: 8px;
        padding: 10px 0;
    }

    .activity-info {
        margin-left: 8px;
        min-width: 0;
    }

    .activity-info h4 {
        font-size: 13px;
    }

    .activity-info p {
        font-size: 11px;
    }

    .activity-time {
        font-size: 10px;
        flex-shrink: 0;
    }

    .activity-icon {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }


    /* ================= STREAK ================= */

    .streak-header {
        gap: 8px;
    }

    .streak-days {
        font-size: 11px;
    }

    .streak-text {
        font-size: 12px;
        margin: 10px 0 18px;
    }

    .active-day,
    .inactive-day {
        width: 16px;
        height: 16px;
    }

    .day span {
        font-size: 10px;
    }

    .streak-footer h4 {
        font-size: 14px;
    }


    /* ================= EDIT PROFILE MODAL ================= */

    .modal-overlay {
        padding: 10px;
    }

    .modal-container {
        width: 100%;
        max-width: 100%;
        max-height: 92vh;
        padding: 20px 16px;
        border-radius: 18px;
    }

    .modal-header {
        margin-bottom: 18px;
    }

    .popup-avatar {
        width: 52px;
        height: 52px;
    }

    .popup-title-text h2 {
        font-size: 21px;
    }

    .popup-title-text p {
        font-size: 11px;
    }

    .close-btn {
        margin-top: 0;
        width: 34px;
        height: 34px;
    }

    .form-group {
        margin-bottom: 16px;
    }

    .form-control {
        padding: 11px 12px;
        font-size: 13px;
    }

    .modal-footer {
        flex-direction: column-reverse;
        gap: 8px;
    }

    .btn-cancel,
    .btn-save {
        width: 100%;
        min-height: 44px;
    }


    /* ================= CALENDAR ================= */

    .cal-container {
        width: min(94vw, 320px);
        height: 400px;
    }


    /* ================= PHOTO MODAL ================= */

    .photo-modal-overlay {
        padding: 14px;
    }

    .photo-modal {
        width: 100%;
        max-width: 430px;
        padding: 25px 18px;
        border-radius: 22px;
    }

    .photo-icon {
        width: 64px;
        height: 64px;
        font-size: 25px;
        margin-bottom: 14px;
    }

    .photo-modal h2 {
        font-size: 21px;
    }

    .photo-modal p {
        font-size: 12px;
        margin-bottom: 20px;
    }

    .photo-option {
        padding: 12px;
        border-radius: 15px;
    }

    .photo-option .icon {
        width: 42px;
        height: 42px;
        border-radius: 13px;
    }

    .photo-option h4 {
        font-size: 13px;
    }

    .photo-option span {
        font-size: 10px;
    }


    /* ================= TOAST ================= */

    .success-toast {
        left: 12px;
        right: 12px;
        top: 14px;
        justify-content: center;
        padding: 12px 14px;
    }

    .success-toast span {
        font-size: 12px;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 480px) {

    body {
        padding: 8px;
    }


    /* HEADER */

    .profile-header {
        padding: 10px 11px;
        border-radius: 14px;
    }

    .header-title h1 {
        font-size: 15px;
    }

    .header-title p {
        font-size: 9px;
    }

    .header-actions {
        gap: 3px;
    }

    .header-icon {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }


    /* PROFILE */

    .profile-sidebar {
        padding: 20px 14px 18px;
    }

    .avatar-box {
        width: 82px;
        height: 82px;
    }

    .profile-sidebar h2 {
        font-size: 18px;
    }

    .badge-pill {
        font-size: 11px;
        padding: 5px 10px;
    }


    /* CONTENT */

    .dashboard-content {
        padding: 16px 10px 20px;
    }


    /* OVERVIEW */

    .overview-cards {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .card {
        min-height: 96px;
        padding: 10px;
        border-radius: 13px;
    }

    .card i {
        width: 27px;
        height: 27px;
        font-size: 11px;
    }

    .card span {
        font-size: 10px;
    }

    .card h3 {
        font-size: 17px;
    }


    /* ACTIVITY */

    .recent-activity,
    .streak-card {
        padding: 13px;
        border-radius: 14px;
    }

    .activity-info h4 {
        font-size: 12px;
    }

    .activity-info p {
        font-size: 10px;
    }


    /* MODAL */

    .modal-container {
        padding: 18px 13px;
        border-radius: 16px;
    }

    .popup-avatar {
        width: 46px;
        height: 46px;
    }

    .popup-title-text h2 {
        font-size: 19px;
    }


    /* PHOTO MODAL */

    .photo-modal {
        padding: 22px 14px;
        border-radius: 20px;
    }

    .photo-option {
        padding: 10px;
    }

    .photo-option .icon {
        width: 38px;
        height: 38px;
    }

}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 360px) {

    .header-actions .header-icon {
        width: 26px;
        height: 26px;
    }

    .header-title {
        margin-left: 4px;
    }

    .header-title h1 {
        font-size: 14px;
    }

    .overview-cards {
        gap: 6px;
    }

    .card {
        padding: 9px;
        min-height: 92px;
    }

    .card h3 {
        font-size: 16px;
    }

    .card span {
        font-size: 9px;
    }

    .activity-info h4 {
        font-size: 11px;
    }

    .activity-info p {
        font-size: 9px;
    }

}












/* =========================================
   MOBILE UPLOAD LOADER
========================================= */

@media (max-width: 768px) {

    .upload-overlay {
        padding: 16px;
    }

    .upload-box {
        width: min(90vw, 320px);
        padding: 28px 20px;
        border-radius: 20px;
    }

    .upload-spinner {
        width: 52px;
        height: 52px;
        border-width: 4px;
        margin-bottom: 16px;
    }

    .upload-box h3 {
        font-size: 19px;
    }

    .upload-box p {
        font-size: 12px;
    }
}


/* Small phones */

@media (max-width: 480px) {

    .upload-box {
        width: calc(100vw - 40px);
        padding: 25px 16px;
        border-radius: 18px;
    }

    .upload-spinner {
        width: 48px;
        height: 48px;
    }

    .upload-box h3 {
        font-size: 17px;
    }

    .upload-box p {
        font-size: 11px;
    }
}


















































/* =========================================
   FUTUREVERSE PROFILE — DARK MODE
   ========================================= */

body[data-theme="dark"] {

    background:#0b1020;

    color:#f8fafc;

}


/* HEADER */

body[data-theme="dark"] .profile-header {

    background:#111827;

    border-color:#202a3d;

    box-shadow:
        0 10px 30px rgba(0,0,0,.25);

}


body[data-theme="dark"] .header-title h1 {

    color:#f8fafc;

}


body[data-theme="dark"] .header-title p {

    color:#94a3b8;

}


body[data-theme="dark"] .header-icon {

    background:#1f2937;

    color:#cbd5e1;

}


/* MAIN DASHBOARD */

body[data-theme="dark"] .dashboard-container {

    background:#111827;

    border-color:#202a3d;

    box-shadow:
        0 15px 40px rgba(0,0,0,.25);

}


/* PROFILE SIDEBAR */

body[data-theme="dark"] .profile-sidebar {

    background:#111827;

    border-right-color:#202a3d;

}


body[data-theme="dark"] .profile-name {

    color:#f8fafc;

}


body[data-theme="dark"] .profile-email,

body[data-theme="dark"] .profile-gender,

body[data-theme="dark"] .profile-dob,

body[data-theme="dark"] .profile-bio {

    color:#94a3b8;

}


/* LEVEL CARD */

body[data-theme="dark"] .level-card {

    background:#172033;

    border-color:#26344d;

}


body[data-theme="dark"] .level-title {

    color:#f8fafc;

}


body[data-theme="dark"] .level-rank {

    background:#24245a;

    color:#a5b4fc;

}


body[data-theme="dark"] .progress {

    background:#273449;

}


/* SECTION TITLES */

body[data-theme="dark"] .section-title {

    color:#f8fafc;

}


/* LEARNING CARDS */

body[data-theme="dark"] .card {

    border-color:#26344d;

}


body[data-theme="dark"] .courses-card {

    background:#242044;

}


body[data-theme="dark"] .completed-card {

    background:#172d4b;

}


body[data-theme="dark"] .badges-card {

    background:#12372d;

}


body[data-theme="dark"] .hours-card {

    background:#3b2b1b;

}


body[data-theme="dark"] .card span {

    color:#aab6c8;

}


body[data-theme="dark"] .card h3 {

    color:#f8fafc;

}


/* RECENT ACTIVITY */

body[data-theme="dark"] .recent-activity {

    background:#111827;

    border-color:#26344d;

}


body[data-theme="dark"] .activity-info h4 {

    color:#f8fafc;

}


body[data-theme="dark"] .activity-info p,

body[data-theme="dark"] .activity-time {

    color:#94a3b8;

}


/* LEARNING STREAK */

body[data-theme="dark"] .streak-card {

    background:#111827;

    border-color:#26344d;

}


body[data-theme="dark"] .streak-text {

    color:#cbd5e1;

}


/* EDIT PROFILE */

body[data-theme="dark"] .edit-btn {

    box-shadow:
        0 10px 25px rgba(0,0,0,.25);

}


/* LOGOUT */

body[data-theme="dark"] .logout-btn {

    background:#111827;

    color:#cbd5e1;

    border-color:#26344d;

}









































/* =========================================
   PROFILE — DARK MODE FRAME FIX
   ========================================= */

/* पूरा main frame */
body[data-theme="dark"] .dashboard-container {
    background: #111827 !important;
    border-color: #202a3d !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.35) !important;
}

/* Right side का white/light background */
body[data-theme="dark"] .dashboard-content {
    background: #111827 !important;
    color: #f8fafc !important;
}

/* Left profile area */
body[data-theme="dark"] .profile-sidebar {
    background: #111827 !important;
    border-color: #202a3d !important;
}

/* अगर frame के अंदर कोई direct white background रह गया हो */
body[data-theme="dark"] .dashboard-container > * {
    background-color: #111827;
}