/* ===================== */
/* RESET & GLOBAL */
/* ===================== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI',sans-serif;
}

body{
    background:#eef2f7;
    margin:0;
}

/* ===================== */
/* CONTAINER */
/* ===================== */
.container{
    max-width:1100px;
    margin:auto;
    padding:20px;
}

/* FORM CONTAINER */
.form-box{
    max-width:500px;
    margin:40px auto;
    background:white;
    padding:25px;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

/* ===================== */
/* TITLE */
/* ===================== */
h2{
    text-align:center;
    margin-bottom:20px;
}

/* ===================== */
/* BUTTON */
/* ===================== */
.btn{
    background:#28a745;
    color:white;
    padding:10px 15px;
    border-radius:6px;
    text-decoration:none;
}

.btn:hover{
    opacity:0.9;
}

.btn-cetak{
    background:#007bff;
    color:white;
    padding:6px 8px;
    border-radius:5px;
}

.btn-edit{
    background:#ffc107;
    color:black;
    padding:6px 8px;
    border-radius:5px;
}

.btn-hapus{
    background:#dc3545;
    color:white;
    padding:6px 8px;
    border-radius:5px;
}

/* ===================== */
/* TABLE */
/* ===================== */
table{
    width:100%;
    border-collapse:collapse;
    background:white;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 5px 15px rgba(0,0,0,0.05);
}

th{
    background:#007bff;
    color:white;
}

td, th{
    padding:10px;
    text-align:left;
}

tr:hover{
    background:#f1f5ff;
}

/* ===================== */
/* FORM */
/* ===================== */
input, textarea, select{
    width:100%;
    padding:10px;
    margin:8px 0;
    border-radius:6px;
    border:1px solid #ccc;
    font-size:14px;
}

button{
    width:100%;
    background:#28a745;
    color:white;
    border:none;
    padding:10px;
    border-radius:6px;
    cursor:pointer;
    margin-top:10px;
}

button:hover{
    opacity:0.9;
}

/* ===================== */
/* LINK */
/* ===================== */
a{
    text-decoration:none;
}

/* ===================== */
/* FOTO */
/* ===================== */
img{
    width:90px;
    border-radius:6px;
}

.foto{
    width:60px;
    height:70px;
    object-fit:cover;
}

/* ===================== */
/* ALERT */
/* ===================== */
.alert{
    background:#ffe5e5;
    padding:10px;
    margin-bottom:10px;
    border-radius:6px;
    color:#c00;
}

/* ===================== */
/* KARTU PELAJAR */
/* ===================== */
.card{
    width:520px;
    height:300px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 15px 40px rgba(0,0,0,0.25);
    overflow:hidden;
    position:relative;
    margin:auto;
    margin-top:40px;
}

/* WATERMARK */
.watermark{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    width:220px;
    opacity:0.08;
    z-index:1;
}

/* HEADER */
.header{
    position:relative;
    text-align:center;
    padding:10px 10px 5px;
    z-index:2;
}

/* LOGO */
.logo-kiri{
    position:absolute;
    left:10px;
    top:10px;
    width:50px;
}

.logo-kanan{
    position:absolute;
    right:10px;
    top:10px;
    width:50px;
}

/* TITLE */
.title{
    font-size:12px;
    line-height:1.3;
}

.title h2{
    margin:2px 0;
    font-size:18px;
    font-weight:bold;
    color:#003366;
}

/* GARIS */
.garis{
    margin-top:5px;
}

.garis1{
    height:3px;
    background:#003366;
}

.garis2{
    height:1px;
    background:#00c6ff;
}

/* CONTENT */
.content{
    display:flex;
    padding:12px;
    position:relative;
    z-index:2;
}

/* FOTO BESAR */
.foto-besar{
    width:110px;
    height:140px;
    border-radius:10px;
    border:3px solid white;
    object-fit:cover;
    background:#ddd;
}

/* DATA */
.data{
    margin-left:15px;
    font-size:13px;
    line-height:1.6;
}

.data b{
    color:#003366;
}

/* FOOTER */
.footer{
    position:absolute;
    bottom:15px;
    right:20px;
    text-align:right;
    font-size:12px;
    z-index:2;
}

.ket{
    position:absolute;
    bottom:10px;
    left:15px;
    font-size:11px;
    color:#555;
    z-index:2;
}

/* ===================== */
/* RESPONSIVE */
/* ===================== */
@media(max-width:600px){
    .card{
        transform:scale(0.8);
    }

    table{
        font-size:12px;
    }
}

/* ===================== */
/* PRINT */
/* ===================== */
@media print {
    body{
        background:none;
    }
}
