/*==========================================================
    SCHOOLEAD
    DASHBOARD SLIDER
    PART 1
==========================================================*/

/*=========================================
RESET
=========================================*/
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
/*=========================================
HERO CONTAINER
=========================================*/
.hero-image{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;

}
/*=========================================
SLIDER
=========================================*/
.dashboard-slider{
    position:relative;

    width:100%;
    max-width:520px;
    height:500px;
    
    border-radius:28px;
    overflow:hidden;

}
/*=========================================
SLIDES
=========================================*/
.dashboard-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:translateX(40px);
    transition:
        opacity .6s ease,
        transform .6s ease,
        visibility .6s;

}
.dashboard-slide.active{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
}
/*=========================================
WINDOW
=========================================*/
.dashboard-window{

    width:100%;
    height:100%;

    border-radius:28px;

    background:

        linear-gradient(

            145deg,

            rgba(18,24,38,.96),

            rgba(10,16,28,.94)

        );

    border:1px solid rgba(255,255,255,.08);

    box-shadow:

        0 30px 70px rgba(0,0,0,.45),

        inset 0 1px 1px rgba(255,255,255,.04);

    backdrop-filter:blur(30px);

    -webkit-backdrop-filter:blur(30px);

    padding:10px;

    display:flex;

    flex-direction:column;

}


/*=========================================
HEADER
=========================================*/

.dashboard-header{

    margin-bottom:6px;

}
.dashboard-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.08);
    color:#7dd3fc;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:4px 8px;
    border-radius:100px;
    margin-bottom:6px;

}

.dashboard-label::before{

    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#3b82f6;
    box-shadow:0 0 12px #3b82f6;

}


.dashboard-header h3{

    font-size:22px;

    color:#ffffff;

    margin-bottom:6px;

    font-weight:700;

}


.dashboard-header p{

    font-size:14px;

    color:#94a3b8;

    line-height:1.7;

}


/*=========================================
COMMON CARDS
=========================================*/

.dashboard-card{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.07);

    border-radius:20px;

    padding:4px 8px;

    transition:.35s;

}


.dashboard-card:hover{

    transform:translateY(-5px);

    border-color:rgba(59,130,246,.40);

    box-shadow:

        0 20px 35px rgba(0,0,0,.35);

}


/*=========================================
BUTTONS
=========================================*/

.dashboard-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:4px 8px;

    border-radius:12px;

    background:#2563eb;

    color:#fff;

    font-weight:600;

    text-decoration:none;

    transition:.35s;

}


.dashboard-btn:hover{

    background:#1d4ed8;

    transform:translateY(-2px);

}


/*=========================================
FOOTER
=========================================*/

.dashboard-footer{

    margin-top:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:15px;

    padding-top:10px;

    border-top:1px solid rgba(255,255,255,.08);

}


.footer-item{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:11px;

    color:#94a3b8;

}


.footer-dot{

    width:10px;

    height:10px;

    border-radius:50%;

}


.footer-dot.green{

    background:#22c55e;

    box-shadow:0 0 12px #22c55e;

}


.footer-dot.orange{

    background:#f59e0b;

    box-shadow:0 0 12px #f59e0b;

}


.footer-dot.blue{

    background:#3b82f6;

    box-shadow:0 0 12px #3b82f6;

}


/*=========================================
ARROWS
=========================================*/

.slider-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:52px;

    height:52px;

    border:none;
    border-radius:50%;
    background:rgba(20,27,41,.90);
    color:#fff;
    cursor:pointer;
    transition:.35s;
    z-index:50;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:14px;

    backdrop-filter:blur(20px);

}


.slider-arrow:hover{

    background:#2563eb;

    transform:translateY(-50%) scale(1.08);

}


.slider-prev{

    left:-24px;

}


.slider-next{

    right:-24px;

}


/*=========================================
DOTS
=========================================*/

.slider-dots{

    position:absolute;

    bottom:20px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    gap:12px;

    z-index:50;

}


.slider-dot{

    width:12px;

    height:12px;

    border-radius:50%;

    cursor:pointer;

    background:rgba(255,255,255,.30);

    transition:.35s;

}


.slider-dot.active{

    width:42px;

    border-radius:100px;

    background:#3b82f6;

}


.slider-dot:hover{

    background:#60a5fa;

}


/*=========================================
FADE ANIMATION
=========================================*/

@keyframes dashboardFade{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


.dashboard-window>*{

    animation:dashboardFade .8s ease;

}


/*=========================================
SCROLLBAR
=========================================*/

.dashboard-window::-webkit-scrollbar{

    width:8px;

}


.dashboard-window::-webkit-scrollbar-thumb{

    background:#334155;

    border-radius:20px;

}


.dashboard-window::-webkit-scrollbar-track{

    background:transparent;

}


/*=========================================
RESPONSIVE BASE
=========================================*/

@media(max-width:992px){

    .dashboard-slider{

        max-width:100%;

        height:560px;

    }

}


@media(max-width:768px){

    .dashboard-slider{

        height:520px;

    }

    .dashboard-window{

        padding:10px;

    }

    .dashboard-header h3{

        font-size:20px;

    }

    .slider-prev{

        left:10px;

    }

    .slider-next{

        right:10px;

    }

}


@media(max-width:576px){

    .dashboard-slider{

        height:500px;

    }

    .dashboard-header h3{

        font-size:14px;

    }

    .dashboard-header p{

        font-size:11px;

    }

    .dashboard-footer{

        flex-direction:column;

        align-items:flex-start;

    }

}

/*==========================================================
    PART 2A-1
    SCREEN 1 — DASHBOARD
    Statistics Cards + Summary
==========================================================*/


/*=========================================
STATISTICS GRID
=========================================*/

.dashboard-stats{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-bottom:6px;

}


/*=========================================
STAT CARD
=========================================*/

.dashboard-stat-card{

    position:relative;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.06),
        rgba(255,255,255,.03)
    );

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    padding:10px;

    overflow:hidden;

    transition:.35s;

}


.dashboard-stat-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(59,130,246,.12),
        transparent
    );

    opacity:0;

    transition:.35s;

}


.dashboard-stat-card:hover{

    transform:translateY(-8px);

    border-color:rgba(59,130,246,.35);

    box-shadow:

        0 18px 35px rgba(0,0,0,.35);

}


.dashboard-stat-card:hover::before{

    opacity:1;

}


/*=========================================
STAT NUMBER
=========================================*/

.stat-number{

    font-size:20px;

    font-weight:800;

    color:#ffffff;

    line-height:1;

    margin-bottom:6px;

}


.stat-number.blue{

    color:#3b82f6;

}


.stat-number.orange{

    color:#f59e0b;

}


.stat-number.green{

    color:#22c55e;

}


/*=========================================
STAT TITLE
=========================================*/

.stat-title{

    font-size:11px;

    color:#94a3b8;

    font-weight:600;

    letter-spacing:.02em;

}


/*=========================================
SUMMARY CARD
=========================================*/

.dashboard-summary{

    margin-bottom:6px;

    padding:4px 8px;

    border-radius:18px;

    background:

        linear-gradient(

            135deg,

            rgba(59,130,246,.14),

            rgba(37,99,235,.05)

        );

    border:1px solid rgba(59,130,246,.18);

    color:#dbeafe;

    font-size:11px;

    line-height:1.8;

}


/*=========================================
SMALL BADGE
=========================================*/

.dashboard-summary::before{

    content:"●";

    color:#3b82f6;

    margin-right:10px;

}


/*=========================================
CARD ANIMATION
=========================================*/

.dashboard-stat-card{

    animation:dashboardCard .8s ease;

}


.dashboard-stat-card:nth-child(2){

    animation-delay:.15s;

}


.dashboard-stat-card:nth-child(3){

    animation-delay:.30s;

}


@keyframes dashboardCard{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:768px){

    .dashboard-stats{

        grid-template-columns:1fr;

        gap:16px;

    }

    .dashboard-stat-card{

        padding:10px;

    }

    .stat-number{

        font-size:20px;

    }

}


@media(max-width:480px){

    .dashboard-summary{

        font-size:14px;

        padding:10px;

    }

    .stat-number{

        font-size:20px;

    }

}

/*==========================================================
    PART 2A-2A
    SCREEN 1 — DASHBOARD
    Progress Section
==========================================================*/


/*=========================================
PROGRESS AREA
=========================================*/

.dashboard-progress-area{

    display:flex;
    flex-direction:column;
    gap:22px;

    margin-top:10px;

}


/*=========================================
PROGRESS ITEM
=========================================*/

.progress-item{

    display:flex;
    flex-direction:column;
    gap:10px;

}


/*=========================================
PROGRESS HEADER
=========================================*/

.progress-head{

    display:flex;

    justify-content:space-between;

    align-items:center;

}


.progress-head span:first-child{

    color:#ffffff;

    font-size:15px;

    font-weight:600;

}


.progress-head span:last-child{

    color:#cbd5e1;

    font-size:11px;

    font-weight:700;

}


/*=========================================
PROGRESS BAR
=========================================*/

.progress-bar{

    width:100%;

    height:12px;

    background:rgba(255,255,255,.08);

    border-radius:50px;

    overflow:hidden;

    position:relative;

}


/*=========================================
TRACK
=========================================*/

.progress-bar::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:50px;

    background:

        linear-gradient(

            90deg,

            rgba(255,255,255,.05),

            rgba(255,255,255,.01)

        );

}


/*=========================================
PROGRESS FILL
=========================================*/

.progress-fill{

    position:relative;

    height:100%;

    width:0;

    border-radius:50px;

    transition:width 1.8s ease;

}


/*=========================================
GREEN
=========================================*/

.progress-fill.green{

    background:

        linear-gradient(

            90deg,

            #22c55e,

            #4ade80

        );

    box-shadow:

        0 0 15px rgba(34,197,94,.45);

}


/*=========================================
BLUE
=========================================*/

.progress-fill.blue{

    background:

        linear-gradient(

            90deg,

            #2563eb,

            #60a5fa

        );

    box-shadow:

        0 0 15px rgba(37,99,235,.45);

}


/*=========================================
ORANGE
=========================================*/

.progress-fill.orange{

    background:

        linear-gradient(

            90deg,

            #f59e0b,

            #fbbf24

        );

    box-shadow:

        0 0 15px rgba(245,158,11,.45);

}


/*=========================================
SHINE EFFECT
=========================================*/

.progress-fill::after{

    content:"";

    position:absolute;

    top:0;

    left:-35%;

    width:30%;

    height:100%;

    background:

        rgba(255,255,255,.45);

    transform:skewX(-25deg);

    animation:progressShine 2.5s infinite;

}


/*=========================================
ANIMATION
=========================================*/

@keyframes progressShine{

    0%{

        left:-35%;

    }

    100%{

        left:120%;

    }

}


/*=========================================
HOVER
=========================================*/

.progress-item:hover .progress-bar{

    transform:scaleY(1.15);

    transition:.3s;

}


/*=========================================
SPACING
=========================================*/

.progress-item:last-child{

    margin-bottom:6px;

}


/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:768px){

    .dashboard-progress-area{

        gap:18px;

    }

    .progress-head span:first-child{

        font-size:11px;

    }

    .progress-head span:last-child{

        font-size:11px;

    }

    .progress-bar{

        height:10px;

    }

}


@media(max-width:480px){

    .progress-bar{

        height:8px;

    }

}

/*==========================================================
    PART 2A-2B
    SCREEN 1 — DASHBOARD
    Footer • Live Status • Micro Animations
==========================================================*/


/*=========================================
DASHBOARD FOOTER
=========================================*/

.dashboard-footer{

    margin-top:auto;

    padding-top:10px;

    border-top:1px solid rgba(255,255,255,.08);

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    flex-wrap:wrap;

}


/*=========================================
FOOTER ITEM
=========================================*/

.footer-item{

    display:flex;

    align-items:center;

    gap:12px;

    color:#cbd5e1;

    font-size:11px;

    font-weight:500;

}


.footer-item strong{

    color:#ffffff;

    font-weight:700;

}


/*=========================================
STATUS DOT
=========================================*/

.footer-dot{

    width:10px;

    height:10px;

    border-radius:50%;

    animation:statusPulse 2s infinite;

}


.footer-dot.green{

    background:#22c55e;

    box-shadow:0 0 14px rgba(34,197,94,.8);

}


.footer-dot.orange{

    background:#f59e0b;

    box-shadow:0 0 14px rgba(245,158,11,.8);

}


.footer-dot.blue{

    background:#3b82f6;

    box-shadow:0 0 14px rgba(59,130,246,.8);

}


/*=========================================
LIVE PULSE
=========================================*/

@keyframes statusPulse{

    0%{

        transform:scale(1);

        opacity:1;

    }

    50%{

        transform:scale(1.45);

        opacity:.65;

    }

    100%{

        transform:scale(1);

        opacity:1;

    }

}


/*=========================================
WINDOW HOVER
=========================================*/

.dashboard-window{

    transition:

        transform .45s ease,

        box-shadow .45s ease;

}


.dashboard-window:hover{

    transform:translateY(-4px);

    box-shadow:

        0 35px 80px rgba(0,0,0,.55),

        inset 0 1px 1px rgba(255,255,255,.05);

}


/*=========================================
STAT CARD FLOAT
=========================================*/

.dashboard-stat-card{

    animation:floatCard 6s ease-in-out infinite;

}


.dashboard-stat-card:nth-child(2){

    animation-delay:.4s;

}


.dashboard-stat-card:nth-child(3){

    animation-delay:.8s;

}


@keyframes floatCard{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-6px);

    }

    100%{

        transform:translateY(0);

    }

}


/*=========================================
SUMMARY GLOW
=========================================*/

.dashboard-summary{

    position:relative;

    overflow:hidden;

}


.dashboard-summary::after{

    content:"";

    position:absolute;

    top:0;

    left:-60%;

    width:35%;

    height:100%;

    background:

        linear-gradient(

            90deg,

            transparent,

            rgba(255,255,255,.12),

            transparent

        );

    animation:summaryGlow 5s linear infinite;

}


@keyframes summaryGlow{

    from{

        left:-60%;

    }

    to{

        left:130%;

    }

}


/*=========================================
SMOOTH ENTRANCE
=========================================*/

.dashboard-window>*{

    opacity:0;

    animation:fadeItem .8s forwards;

}


.dashboard-header{

    animation-delay:.10s;

}

.dashboard-stats{

    animation-delay:.20s;

}

.dashboard-summary{

    animation-delay:.35s;

}

.dashboard-progress-area{

    animation-delay:.50s;

}

.dashboard-footer{

    animation-delay:.70s;

}


@keyframes fadeItem{

    from{

        opacity:0;

        transform:translateY(18px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:768px){

    .dashboard-footer{

        flex-direction:column;

        align-items:flex-start;

        gap:14px;

    }

    .footer-item{

        font-size:11px;

    }

}


@media(max-width:480px){

    .dashboard-footer{

        padding-top:10px;

    }

    .footer-item{

        font-size:11px;

    }

    .footer-dot{

        width:8px;

        height:8px;

    }

}

/*==========================================================
    PART 2B-1
    SCREEN 2 — SCOLARITÉ
    Student Report Card • Header • PDF Badge • Subject List
==========================================================*/


/*=========================================
REPORT CARD
=========================================*/

.student-report-card{

    display:flex;

    flex-direction:column;

    gap:24px;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.05),
        rgba(255,255,255,.025)
    );

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

    padding:10px;

    box-shadow:
        0 18px 45px rgba(0,0,0,.30);

    transition:.35s;

}


.student-report-card:hover{

    transform:translateY(-6px);

    border-color:rgba(59,130,246,.35);

    box-shadow:
        0 25px 55px rgba(0,0,0,.40);

}


/*=========================================
HEADER
=========================================*/

.student-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    padding-bottom:10px;

    border-bottom:1px solid rgba(255,255,255,.08);

}


.student-header h4{

    font-size:18px;

    color:#ffffff;

    margin-bottom:6px;

    font-weight:700;

}


.student-header span{

    color:#94a3b8;

    font-size:11px;

}


/*=========================================
PDF BADGE
=========================================*/

.pdf-status{

    display:flex;

    align-items:center;

    gap:10px;

    background:rgba(34,197,94,.12);

    border:1px solid rgba(34,197,94,.35);

    color:#22c55e;

    padding:4px 8px;

    border-radius:100px;

    font-size:14px;

    font-weight:700;

    white-space:nowrap;

}


.pdf-status i{

    font-size:14px;

}


/*=========================================
SUBJECT LIST
=========================================*/

.subject-list{

    display:flex;

    flex-direction:column;

    gap:12px;

}


/*=========================================
SUBJECT ROW
=========================================*/

.subject-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:4px 8px;

    border-radius:16px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.06);

    transition:.30s;

}


.subject-row:hover{

    transform:translateX(6px);

    background:rgba(59,130,246,.10);

    border-color:rgba(59,130,246,.30);

}


/*=========================================
SUBJECT NAME
=========================================*/

.subject-row span{

    color:#e2e8f0;

    font-size:11px;

    font-weight:500;

}


/*=========================================
MARK
=========================================*/

.subject-row strong{

    color:#ffffff;

    font-size:11px;

    font-weight:700;

    min-width:70px;

    text-align:right;

}


/*=========================================
ROW COLORS
=========================================*/

.subject-row:nth-child(1) strong{

    color:#22c55e;

}

.subject-row:nth-child(2) strong{

    color:#f59e0b;

}

.subject-row:nth-child(3) strong{

    color:#3b82f6;

}

.subject-row:nth-child(4) strong{

    color:#22c55e;

}

.subject-row:nth-child(5) strong{

    color:#8b5cf6;

}


/*=========================================
ROW ANIMATION
=========================================*/

.subject-row{

    opacity:0;

    animation:subjectFade .7s forwards;

}


.subject-row:nth-child(1){

    animation-delay:.10s;

}

.subject-row:nth-child(2){

    animation-delay:.20s;

}

.subject-row:nth-child(3){

    animation-delay:.30s;

}

.subject-row:nth-child(4){

    animation-delay:.40s;

}

.subject-row:nth-child(5){

    animation-delay:.50s;

}


@keyframes subjectFade{

    from{

        opacity:0;

        transform:translateY(12px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:768px){

    .student-header{

        flex-direction:column;

        align-items:flex-start;

    }

    .student-header h4{

        font-size:22px;

    }

    .pdf-status{

        font-size:11px;

        padding:4px 8px;

    }

    .subject-row{

        padding:4px 8px;

    }

}


@media(max-width:480px){

    .student-report-card{

        padding:10px;

    }

    .student-header h4{

        font-size:20px;

    }

    .subject-row span{

        font-size:11px;

    }

    .subject-row strong{

        font-size:11px;

    }

}

/*==========================================================
    PART 2B-2
    SCREEN 2 — SCOLARITÉ
    Average Card • Report Footer • Download Button
==========================================================*/


/*=========================================
AVERAGE CARD
=========================================*/

.average-card{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    margin-top:8px;

    padding:10px;

    border-radius:22px;

    background:linear-gradient(
        135deg,
        rgba(37,99,235,.16),
        rgba(30,41,59,.55)
    );

    border:1px solid rgba(59,130,246,.25);

    transition:.35s;

}


.average-card:hover{

    transform:translateY(-5px);

    box-shadow:
        0 18px 40px rgba(37,99,235,.18);

}


.average-card span{

    display:block;

    color:#94a3b8;

    font-size:14px;

    margin-bottom:6px;

    text-transform:uppercase;

    letter-spacing:.05em;

}


.average-card h2{

    color:#ffffff;

    font-size:22px;

    font-weight:800;

    line-height:1;

}


/*=========================================
AVERAGE BADGE
=========================================*/

.average-badge{

    display:flex;

    align-items:center;

    gap:10px;

    background:rgba(34,197,94,.12);

    color:#22c55e;

    border:1px solid rgba(34,197,94,.30);

    padding:4px 8px;

    border-radius:14px;

    font-weight:700;

    white-space:nowrap;

}


.average-badge i{

    font-size:16px;

}


/*=========================================
REPORT FOOTER
=========================================*/

.report-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:10px;

    padding-top:10px;

    border-top:1px solid rgba(255,255,255,.08);

}


/*=========================================
VALIDATION INFO
=========================================*/

.footer-info{

    display:flex;

    align-items:center;

    gap:10px;

    color:#22c55e;

    font-size:11px;

    font-weight:600;

}


.footer-info i{

    font-size:12px;

}


/*=========================================
DOWNLOAD BUTTON
=========================================*/

.download-report{

    display:flex;

    align-items:center;

    gap:10px;

    padding:4px 8px;

    border:none;

    border-radius:14px;

    cursor:pointer;

    background:linear-gradient(
        135deg,
        #2563eb,
        #1d4ed8
    );

    color:#ffffff;

    font-size:11px;

    font-weight:700;

    transition:.35s;

    box-shadow:
        0 10px 25px rgba(37,99,235,.25);

}


.download-report:hover{

    transform:translateY(-3px);

    box-shadow:
        0 16px 32px rgba(37,99,235,.35);

}


.download-report:active{

    transform:scale(.98);

}


.download-report i{

    font-size:11px;

}


/*=========================================
ENTRANCE ANIMATIONS
=========================================*/

.average-card{

    opacity:0;

    animation:averageAppear .8s .45s forwards;

}


.report-footer{

    opacity:0;

    animation:averageAppear .8s .65s forwards;

}


@keyframes averageAppear{

    from{

        opacity:0;

        transform:translateY(18px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*=========================================
HOVER EFFECTS
=========================================*/

.student-report-card:hover .average-card{

    border-color:rgba(96,165,250,.45);

}


.student-report-card:hover .download-report{

    background:linear-gradient(
        135deg,
        #3b82f6,
        #2563eb
    );

}


/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:768px){

    .average-card{

        flex-direction:column;

        align-items:flex-start;

    }

    .average-card h2{

        font-size:22px;

    }

    .report-footer{

        flex-direction:column;

        align-items:flex-start;

    }

    .download-report{

        width:100%;

        justify-content:center;

    }

}


@media(max-width:480px){

    .average-card{
        padding:10px;
    }
    .average-card h2{
        font-size:22px;

    }

    .average-badge{

        width:100%;

        justify-content:center;

    }

    .download-report{

        padding:4px 8px;

        font-size:11px;

    }

}

/*==========================================================
    PART 3 — SCREEN 3 (PORTAIL PARENTS)
==========================================================*/

/*========================
PARENT DASHBOARD
========================*/

.parent-dashboard{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-bottom:6px;
}

.parent-card{
    display:flex;
    align-items:center;
    gap:18px;
    padding: 4px 8px;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    transition:.35s;
}

.parent-card:hover{
    transform:translateY(-5px);
    background:rgba(37,99,235,.12);
    border-color:rgba(59,130,246,.35);
    box-shadow:0 15px 35px rgba(0,0,0,.25);
}

.parent-icon{
    width:62px;
    height:62px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:18px;
    background:linear-gradient(135deg,#2563eb,#3b82f6);
    color:#fff;
    font-size:26px;
    flex-shrink:0;
}

.parent-content h4{
    color:#fff;
    font-size:12px;
    margin-bottom:6px;
}

.parent-content p{
    color:#94a3b8;
    font-size:11px;
    line-height:1.6;
}

/*========================
NOTIFICATIONS
========================*/

.parent-notifications{
    margin-top:10px;
    padding:10px;
    border-radius:20px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
}

.notification-title{
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-size:14px;
    font-weight:700;
    margin-bottom:6px;
}

.notification-title i{
    color:#3b82f6;
}

.notification-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.notification-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding: 4px 8px;
    border-radius:14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.05);
    transition:.3s;
}

.notification-item:hover{
    background:rgba(37,99,235,.10);
    transform:translateX(6px);
}

.notification-item i{
    color:#22c55e;
    margin-top:2px;
    font-size:16px;
}

.notification-item span{
    color:#cbd5e1;
    line-height:1.7;
    font-size:11px;
}

/*========================
ANIMATIONS
========================*/

.parent-card,
.notification-item{
    opacity:0;
    animation:portalFade .7s forwards;
}

.parent-card:nth-child(1){animation-delay:.1s;}
.parent-card:nth-child(2){animation-delay:.2s;}
.parent-card:nth-child(3){animation-delay:.3s;}
.parent-card:nth-child(4){animation-delay:.4s;}

.notification-item:nth-child(1){animation-delay:.5s;}
.notification-item:nth-child(2){animation-delay:.6s;}
.notification-item:nth-child(3){animation-delay:.7s;}

@keyframes portalFade{

    from{
        opacity:0;
        transform:translateY(18px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/*========================
RESPONSIVE
========================*/

@media(max-width:768px){

    .parent-dashboard{
        grid-template-columns:1fr;
    }

    .parent-card{
        padding:4px 8px;
    }

    .parent-icon{
        width:56px;
        height:56px;
        font-size:18px;
    }

    .notification-title{
        font-size:13px;
    }

}

@media(max-width:480px){
    .parent-card{
        flex-direction:column;
        text-align:center;
    }
    .parent-content h4{
        font-size:13px;
    }
    .notification-item{
        padding:10px;
    }

}

/*==========================================================
    PART 4 — SCREEN 4 (DOCUMENTS)
==========================================================*/


/*========================
STUDENT CARD
========================*/

.school-card{
    display:flex;
    flex-direction:column;
    gap:22px;
    padding:10px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 45px rgba(0,0,0,.30);
    transition:.35s;
}

.school-card:hover{
    transform:translateY(-6px);
    border-color:rgba(59,130,246,.35);
    box-shadow:0 28px 55px rgba(0,0,0,.40);
}


/*========================
HEADER
========================*/

.school-card-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.school-card-header h4{
    color:#fff;
    font-size:16px;
    margin-bottom:6px;
}

.school-card-header span{
    color:#94a3b8;
    font-size:11px;
}

.card-status{
    display:flex;
    align-items:center;
    gap:8px;
    padding:4px 8px;
    border-radius:100px;
    background:rgba(34,197,94,.12);
    color:#22c55e;
    border:1px solid rgba(34,197,94,.30);
    font-weight:700;
}


/*========================
BODY
========================*/

.school-card-body{
    display:flex;
    align-items:center;
    gap:25px;
}

.student-photo{
    width: 90px;
    height: 90px;
    border-radius:18px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(135deg,#2563eb,#3b82f6);
    color:#fff;
    font-size:16px;
    flex-shrink:0;
}

.student-details{
    flex:1;
}

.student-details h3{
    color:#fff;
    font-size:18px;
    margin-bottom:6px;
}

.student-details p{
    color:#cbd5e1;
    margin-bottom:6px;
    line-height:1.7;
}

.student-details strong{
    color:#fff;
}


/*========================
QR SECTION
========================*/

.school-card-footer{
    display:flex;
    align-items:center;
    gap:22px;
    padding:4px 8px;
    border-radius:18px;
    background:rgba(255,255,255,.04);
}

.qr-box{
    width:90px;
    height:90px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:16px;
    background:#fff;
    color:#111827;
    font-size:22px;
}

.qr-info h5{
    color:#fff;
    font-size:14px;
    margin-bottom:6px;
}

.qr-info p{
    color:#94a3b8;
    line-height:1.7;
}


/*========================
FEATURES
========================*/

.document-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}

.document-feature{
    display:flex;
    align-items:center;
    gap:12px;
    padding:4px 8px;
    border-radius:16px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.07);
    transition:.35s;
}

.document-feature:hover{
    background:rgba(37,99,235,.10);
    border-color:rgba(59,130,246,.35);
    transform:translateY(-4px);
}

.document-feature i{
    width:48px;
    height:48px;
    border-radius:14px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#2563eb;
    color:#fff;
    font-size:14px;
}

.document-feature span{
    color:#fff;
    font-weight:600;
}


/*========================
ANIMATION
========================*/

.school-card,
.document-feature{
    opacity:0;
    animation:documentFade .7s forwards;
}

.school-card{
    animation-delay:.15s;
}

.document-feature:nth-child(1){animation-delay:.25s;}
.document-feature:nth-child(2){animation-delay:.35s;}
.document-feature:nth-child(3){animation-delay:.45s;}
.document-feature:nth-child(4){animation-delay:.55s;}

@keyframes documentFade{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/*========================
RESPONSIVE
========================*/

@media(max-width:768px){

    .school-card-body{
        flex-direction:column;
        text-align:center;
    }

    .school-card-header{
        flex-direction:column;
        gap:15px;
        align-items:flex-start;
    }

    .school-card-footer{
        flex-direction:column;
        text-align:center;
    }

    .document-features{
        grid-template-columns:1fr;
    }

}

@media(max-width:480px){

    .school-card{
        padding:10px;
    }

    .student-photo{
        width:100px;
        height:120px;
        font-size:16px;
    }

    .student-details h3{
        font-size:16px;
    }

    .qr-box{
        width:75px;
        height:75px;
        font-size:20px;
    }

}

/*==========================================================
    PART 5 — SCREEN 5 (FINANCES)
==========================================================*/


/*========================
INVOICE CARD
========================*/

.invoice-card{
    display:flex;
    flex-direction:column;
    gap:22px;
    padding:10px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 45px rgba(0,0,0,.30);
    transition:.35s;
}

.invoice-card:hover{
    transform:translateY(-6px);
    border-color:rgba(34,197,94,.35);
    box-shadow:0 28px 55px rgba(0,0,0,.40);
}


/*========================
HEADER
========================*/

.invoice-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:10px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.invoice-number{
    color:#94a3b8;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.invoice-header h4{
    color:#fff;
    font-size:16px;
    margin-top:5px;
}

.invoice-status{
    display:flex;
    align-items:center;
    gap:8px;
    padding:4px 8px;
    border-radius:100px;
    background:rgba(34,197,94,.12);
    border:1px solid rgba(34,197,94,.35);
    color:#22c55e;
    font-weight:700;
}


/*========================
SCHOOL
========================*/

.invoice-school{
    padding:10px;
    border-radius:18px;
    background:rgba(255,255,255,.04);
}

.invoice-school strong{
    display:block;
    color:#fff;
    font-size:13px;
    margin-bottom:6px;
}

.invoice-school p{
    color:#94a3b8;
}


/*========================
DETAILS
========================*/

.invoice-details{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.invoice-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:4px 8px;
    border-radius:14px;
    background:rgba(255,255,255,.04);
    transition:.3s;
}

.invoice-row:hover{
    background:rgba(37,99,235,.08);
}

.invoice-row span{
    color:#cbd5e1;
}

.invoice-row strong{
    color:#fff;
}

.invoice-row.total{
    background:rgba(34,197,94,.12);
    border:1px solid rgba(34,197,94,.25);
}

.invoice-row.total strong{
    color:#22c55e;
    font-size:12px;
}


/*========================
PAYMENT INFO
========================*/

.payment-information{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.payment-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:4px 8px;
    border-radius:16px;
    background:rgba(255,255,255,.04);
    transition:.3s;
}

.payment-item:hover{
    transform:translateY(-4px);
    background:rgba(59,130,246,.10);
}

.payment-item i{
    width:46px;
    height:46px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:14px;
    background:#2563eb;
    color:#fff;
}

.payment-item strong{
    display:block;
    color:#fff;
    margin-bottom:6px;
}

.payment-item span{
    color:#94a3b8;
    font-size:11px;
}


/*========================
QR
========================*/

.invoice-security{
    display:flex;
    gap:20px;
    align-items:center;
    padding:10px;
    border-radius:18px;
    background:rgba(255,255,255,.04);
}

.invoice-qr{
    width:90px;
    height:90px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:16px;
    background:#fff;
    color:#111827;
    font-size:22px;
}

.invoice-security-info h5{
    color:#fff;
    font-size:14px;
    margin-bottom:6px;
}

.invoice-security-info p{
    color:#94a3b8;
    line-height:1.7;
}


/*========================
SUMMARY
========================*/

.finance-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:20px;
}

.finance-box{
    padding:4px 8px;
    text-align:center;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.07);
    transition:.35s;
}

.finance-box:hover{
    transform:translateY(-5px);
    background:rgba(37,99,235,.10);
}

.finance-box h4{
    color:#22c55e;
    font-size:18px;
    margin-bottom:6px;
}

.finance-box span{
    color:#94a3b8;
}


/*========================
ANIMATION
========================*/

.invoice-card,
.payment-item,
.finance-box{
    opacity:0;
    animation:financeFade .7s forwards;
}

.invoice-card{animation-delay:.1s;}
.payment-item:nth-child(1){animation-delay:.2s;}
.payment-item:nth-child(2){animation-delay:.3s;}
.payment-item:nth-child(3){animation-delay:.4s;}
.finance-box:nth-child(1){animation-delay:.5s;}
.finance-box:nth-child(2){animation-delay:.6s;}
.finance-box:nth-child(3){animation-delay:.7s;}

@keyframes financeFade{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/*========================
RESPONSIVE
========================*/

@media(max-width:992px){

    .payment-information,
    .finance-summary{
        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .invoice-header{
        flex-direction:column;
        align-items:flex-start;
        gap:15px;
    }

    .invoice-security{
        flex-direction:column;
        text-align:center;
    }

}

@media(max-width:576px){

    .invoice-card{
        padding:10px;
    }

    .invoice-row{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }

    .payment-item{
        flex-direction:column;
        text-align:center;
        align-items:center;
    }

    .invoice-qr{
        width:70px;
        height:70px;
        font-size:20px;
    }

    .finance-box h4{
        font-size:16px;
    }

}

