body{
margin:0;
font-family:Arial,sans-serif;
background:#f5f7fb;
color:#1e293b;
}

.app{
display:flex;
min-height:100vh;
}

.sidebar{
width:250px;
background:#1e3a8a;
color:white;
padding:20px;
}

.logo{
font-size:24px;
font-weight:bold;
margin-bottom:30px;
}

.logo span{
color:#bfdbfe;
}

.sidebar a{
display:block;
padding:13px 14px;
margin:8px 0;
background:#294c94;
color:white;
text-decoration:none;
border-radius:10px;
cursor:pointer;
}

.sidebar a.active{
background:#2563eb;
}

.main{
flex:1;
padding:30px;
}

.topbar{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px;
}

.cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin-bottom:30px;
}

.card,.schedule-table{
background:white;
padding:22px;
border-radius:16px;
box-shadow:0 4px 14px rgba(0,0,0,.08);
}

.btn,button{
background:#2563eb;
color:white;
border:0;
padding:11px 18px;
border-radius:10px;
cursor:pointer;
font-weight:bold;
}

input,select{
padding:12px;
margin:8px;
border:1px solid #cbd5e1;
border-radius:8px;
}

table{
width:100%;
border-collapse:collapse;
}

th,td{
padding:12px;
border-bottom:1px solid #e5e7eb;
text-align:left;
}

th{
background:#eff6ff;
}

.login{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
}

.loginCard{
background:white;
padding:35px;
border-radius:18px;
box-shadow:0 8px 25px rgba(0,0,0,.12);
width:360px;
}

@media(max-width:900px){
.app{flex-direction:column}
.sidebar{width:100%}
.cards{grid-template-columns:1fr}
}
