
/* PSA Student Portal */
.dashboard-wrap{min-height:calc(100vh - 130px);display:grid;grid-template-columns:260px 1fr;background:#f6f8fc}
.dashboard-sidebar{background:#0B1F3A;color:#fff;padding:24px 16px;position:sticky;top:0;height:100vh;overflow-y:auto}
.dashboard-sidebar .portal-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 22px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.dashboard-sidebar .portal-brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}
.dashboard-sidebar .portal-brand strong{font-family:Montserrat;color:#D4AF37}
.dashboard-sidebar nav a{display:flex;align-items:center;gap:10px;padding:12px 13px;color:rgba(255,255,255,.82);border-radius:11px;margin:4px 0;font-weight:700}
.dashboard-sidebar nav a:hover,.dashboard-sidebar nav a.active{background:#D4AF37;color:#0B1F3A}
.dashboard-main{padding:clamp(18px,3vw,34px);min-width:0}
.student-welcome{display:grid;grid-template-columns:1fr 150px;gap:24px;align-items:center;background:linear-gradient(135deg,#0B1F3A,#143B68);color:#fff;border-radius:24px;padding:clamp(22px,4vw,36px);box-shadow:0 18px 45px rgba(11,31,58,.14);margin-bottom:22px}
.student-welcome h2{font-family:Montserrat;font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 8px}
.student-welcome p{color:rgba(255,255,255,.82)}
.student-welcome img{width:140px;height:140px;object-fit:contain}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi{background:#fff;border:1px solid #E6E8EC;border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(11,31,58,.06)}
.kpi strong{display:block;font-family:Montserrat;color:#0B1F3A;font-size:clamp(1.25rem,2vw,2rem);margin-bottom:5px}
.kpi span{color:#667085;font-size:.88rem;font-weight:700}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.status-timeline,.message-card,.lms-card{background:#fff;border:1px solid #E6E8EC;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(11,31,58,.05)}
.timeline-item{position:relative;padding:14px 14px 14px 24px;border-left:3px solid #D4AF37;margin-left:5px}
.badge{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;background:#F7F3E4;color:#6b5711;font-weight:800;font-size:.78rem}
.progress-bar{height:9px;background:#EEF1F5;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:#D4AF37}
.portal-quick-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1000px){.dashboard-wrap{grid-template-columns:1fr}.dashboard-sidebar{position:fixed;left:-280px;top:0;width:260px;z-index:1200;transition:left .25s}.dashboard-sidebar.show{left:0}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}}
@media(max-width:600px){.dashboard-main{padding:14px}.student-welcome{grid-template-columns:1fr}.student-welcome img{width:90px;height:90px}.kpi-grid{grid-template-columns:1fr 1fr}.portal-quick-actions .btn{flex:1}.grid-2,.grid-3{grid-template-columns:1fr}}


/* ==========================================================
   PSA STUDENT PORTAL — FINAL RESPONSIVE COMPATIBILITY
   ========================================================== */
.dashboard-wrap { width:100%; }
.dashboard-main { min-width:0; overflow:hidden; }
.dashboard-main > * { min-width:0; }
.dashboard-main img { max-width:100%; }

.sidebar, .dashboard-sidebar {
    scrollbar-width:thin;
}
.sidebar a, .dashboard-sidebar nav a {
    transition:background .2s ease, color .2s ease, transform .2s ease;
}
.sidebar a:hover, .dashboard-sidebar nav a:hover {
    transform:translateX(2px);
}

@media (max-width:1000px) {
    .dashboard-wrap {
        grid-template-columns:1fr !important;
    }
    .dashboard-sidebar {
        position:relative !important;
        height:auto !important;
        top:auto !important;
        left:auto !important;
    }
    .sidebar {
        position:relative !important;
        top:auto !important;
        height:auto !important;
    }
}

@media (max-width:700px) {
    .dashboard-wrap {
        padding:18px 4% !important;
    }
    .student-welcome {
        padding:22px !important;
    }
    .student-welcome h2 {
        font-size:1.45rem;
    }
    .dashboard-main {
        padding:0 !important;
    }
    .kpi {
        padding:17px;
    }
    .status-timeline,
    .message-card,
    .lms-card {
        padding:17px;
    }
}
