/* ======================================
GLOBAL
====================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

body{
background:#f5f7fa;
color:#333;
line-height:1.6;
}

/* ======================================
HEADER
====================================== */

header{
background:#003366;
color:#fff;
padding:15px 25px;
box-shadow:0 2px 8px rgba(0,0,0,0.20);
}

.header-container{
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
}

.logo-section{
display:flex;
align-items:center;
gap:15px;
}

.logo-section img{
height:70px;
}

.logo-section h1{
font-size:28px;
margin-bottom:4px;
}

.logo-section p{
font-size:14px;
color:#d9e6f2;
}

.login-section select{
padding:10px 15px;
border:none;
border-radius:5px;
font-size:15px;
font-weight:bold;
cursor:pointer;
background:#fff;
color:#003366;
}

/* ======================================
HERO BANNER
====================================== */

.hero{
width:100%;
overflow:hidden;
}

.hero img{
width:100%;
height:500px;
object-fit:cover;
display:block;
}

/* ======================================
MAIN CONTENT
====================================== */

.main-content{
display:flex;
gap:20px;
padding:25px;
align-items:stretch;
}

/* ======================================
LEFT PANEL
====================================== */

.left-panel{
flex:3;
background:#fff;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
overflow:hidden;
}

.welcome-card{
padding:30px;
height:100%;
display:flex;
flex-direction:column;
}

.portal-tag{
display:inline-block;
background:#003366;
color:#fff;
padding:8px 16px;
border-radius:25px;
font-size:13px;
font-weight:bold;
margin-bottom:18px;
}

.welcome-card h2{
font-size:34px;
color:#003366;
margin-bottom:18px;
padding-bottom:12px;
border-bottom:3px solid #003366;
line-height:1.2;
}

.lead-text{
font-size:17px;
line-height:1.9;
text-align:justify;
color:#444;
margin-bottom:20px;
}

/* ======================================
HIGHLIGHT BOX
====================================== */

.highlight-box{
background:#f8fbff;
border-left:5px solid #003366;
padding:18px;
border-radius:6px;
margin-bottom:20px;
}

.highlight-box h3{
color:#003366;
margin-bottom:12px;
}

.highlight-box ul{
padding-left:22px;
}

.highlight-box li{
margin-bottom:10px;
line-height:1.7;
}

/* ======================================
STATISTICS
====================================== */

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:15px;
margin-top:auto;
}

.stat-box{
background:#f4f7fb;
padding:18px;
text-align:center;
border-radius:8px;
border-top:4px solid #003366;
transition:0.3s;
}

.stat-box:hover{
transform:translateY(-3px);
}

.stat-box h3{
font-size:28px;
color:#003366;
margin-bottom:5px;
}

.stat-box p{
font-size:14px;
margin:0;
color:#555;
}

/* ======================================
RIGHT PANEL
====================================== */

.right-panel{
flex:2;
background:#fff;
padding:22px;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
}

.right-panel h2{
color:#003366;
margin-bottom:18px;
padding-bottom:10px;
border-bottom:2px solid #003366;
font-size:22px;
}

.right-panel ul{
list-style:none;
}

.right-panel ul li{
padding:14px;
margin-bottom:12px;
background:#f8f9fc;
border-left:5px solid #003366;
transition:0.3s;
cursor:pointer;
font-size:15px;
}

.right-panel ul li:hover{
background:#e9f0f7;
transform:translateX(5px);
}

/* ======================================
IMPORTANT DATES
====================================== */

.important-dates{
margin:25px;
background:#fff;
padding:25px;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
}

.important-dates h2{
margin-bottom:15px;
color:#003366;
font-size:30px;
}

.important-dates table{
width:100%;
border-collapse:collapse;
}

.important-dates th{
background:#003366;
color:#fff;
padding:12px;
}

.important-dates td{
padding:12px;
border:1px solid #ddd;
}

/* ======================================
QUICK LINKS
====================================== */

.quick-links{
margin:25px;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:15px;
}

.quick-card{
background:#fff;
padding:20px;
text-align:center;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
transition:0.3s;
}

.quick-card:hover{
transform:translateY(-5px);
}

.quick-card a{
text-decoration:none;
color:#003366;
font-weight:bold;
}

/* ======================================
FOOTER
====================================== */

footer{
margin-top:30px;
background:#003366;
color:#fff;
text-align:center;
padding:20px;
font-size:14px;
}

/* ======================================
RESPONSIVE
====================================== */

@media(max-width:992px){

.main-content{
flex-direction:column;
}

.quick-links{
grid-template-columns:repeat(2,1fr);
}

.stats-grid{
grid-template-columns:repeat(2,1fr);
}

.hero img{
height:350px;
}

}

@media(max-width:600px){

.logo-section{
flex-direction:column;
text-align:center;
}

.header-container{
flex-direction:column;
gap:15px;
}

.quick-links{
grid-template-columns:1fr;
}

.stats-grid{
grid-template-columns:1fr;
}

.logo-section h1{
font-size:22px;
}

.hero img{
height:250px;
}

.welcome-card h2{
font-size:26px;
}

.lead-text{
font-size:15px;
}

}
