@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');

*{margin:0;padding:0;box-sizing:border-box;font-family:'Poppins',sans-serif;}

body{
 background:#f4f7fb;
 color:#1e293b;
}

/* HEADER */
header{
 background:white;
 border-bottom:4px solid #1d4ed8;
 padding:14px 30px;
 position:sticky;
 top:0;
 z-index:100;
 box-shadow:0 8px 18px rgba(0,0,0,.1);
}

.nav-container{
 display:flex;
 align-items:center;
 gap:15px;
}

.logo{
 width:52px;
}

.nav-title{
 font-size:22px;
 font-weight:600;
 color:#1d4ed8;
}

/* MAIN */
main{
 max-width:1200px;
 margin:auto;
 padding:30px 20px;
}

/* BLOCK CARDS */
.block{
 background:white;
 border-radius:14px;
 padding:28px;
 margin-bottom:30px;
 box-shadow:0 12px 30px rgba(0,0,0,.08);
 animation:fadeUp .8s;
}

@keyframes fadeUp{
 from{opacity:0;transform:translateY(40px);}
 to{opacity:1;transform:none;}
}

h2{
 color:#1d4ed8;
 margin-bottom:18px;
}

/* INPUT + BUTTON */
.upload input{
 padding:10px;
 border:2px solid #c7d2fe;
 border-radius:8px;
}

button{
 background:#1d4ed8;
 color:white;
 border:none;
 padding:10px 22px;
 border-radius:10px;
 font-weight:600;
 margin-left:8px;
 cursor:pointer;
 transition:.3s;
}

button:hover{
 background:#2563eb;
 transform:scale(1.05);
}

/* TABLE */
table{
 width:100%;
 border-collapse:collapse;
 margin-top:10px;
}

th{
 background:#1d4ed8;
 color:white;
 padding:12px;
 text-align:left;
}

td{
 padding:12px;
 border-bottom:1px solid #e5e7eb;
}

/* MESSAGE BOX */
.msg{
 background:#eef2ff;
 border-left:5px solid #1d4ed8;
 padding:14px 18px;
 border-radius:8px;
 margin:12px 0;
 animation:pop .4s;
}

@keyframes pop{
 from{opacity:0;transform:scale(.5);}
 to{opacity:1;transform:scale(1);}
}

/* DASHBOARD CENTER ALIGN */
.dashboard{
 display:flex;
 flex-direction:column;
 align-items:center;
}

/* CHART PERFECT CENTER */
.dashboard canvas{
 width:340px !important;
 height:340px !important;
 margin-top:10px;
}

/* LEAVE PASS */
.pass{
 text-align:center;
}

.passBox{
 display:flex;
 justify-content:center;
 flex-wrap:wrap;
}

.passCard{
 background:linear-gradient(45deg,#22c55e,#bbf7d0);
 color:#022c22;
 padding:22px;
 border-radius:14px;
 width:240px;
 margin:12px;
 box-shadow:0 8px 20px rgba(0,0,0,.2);
 animation:flip .6s;
}

@keyframes flip{
 from{transform:rotateX(90deg);}
 to{transform:none;}
}
