/* FONT AWESOME CDN */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:#f3f4f6;color:#1f2937;line-height:1.6}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.flex-between{display:flex;justify-content:space-between;align-items:center}
.text-center{text-align:center}

/* LOGIN */
.login-body{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{background:rgba(255,255,255,0.98);border-radius:20px;padding:40px;width:100%;max-width:420px;box-shadow:0 25px 80px rgba(0,0,0,0.3);animation:fadeInUp 0.6s ease}
.login-head{text-align:center;margin-bottom:30px}
.login-head img{width:80px;height:80px;border-radius:50%;margin-bottom:15px;border:4px solid rgba(102,126,234,0.2)}
.login-head h2{color:#1a237e;font-size:26px;margin-bottom:5px}
.login-head p{color:#666;font-size:14px}
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#555;font-size:14px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 15px;border:2px solid #e5e7eb;border-radius:12px;font-size:15px;transition:.3s;background:#fff}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px rgba(102,126,234,0.1)}
.form-group textarea{min-height:100px;resize:vertical}
.btn{padding:12px 24px;border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:.3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.15)}
.btn-primer{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}
.btn-full{width:100%;padding:14px;font-size:16px;justify-content:center}
.btn-lg{padding:15px 40px;font-size:18px;background:#fff;color:#667eea;font-weight:700}
.btn-success{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);color:#fff}
.btn-warning{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff}
.btn-info{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);color:#fff}
.btn-danger{background:linear-gradient(135deg,#ff416c 0%,#ff4b2b 100%);color:#fff}
.btn-dark{background:#1f2937;color:#fff}
.btn-outline{border:2px solid #667eea;color:#667eea;background:transparent}
.btn-outline:hover{background:#667eea;color:#fff}
.alert{padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px}
.alert-red{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.alert-green{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}
.login-foot{text-align:center;margin-top:20px;color:#6b7280;font-size:13px}

/* LANDING */
.nav-land{background:#fff;padding:18px 0;box-shadow:0 2px 15px rgba(0,0,0,0.06);position:sticky;top:0;z-index:100}
.nav-land h1{color:#1a237e;font-size:22px;display:flex;align-items:center;gap:10px}
.hero-land{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:100px 20px;animation:fadeIn 0.8s ease}
.hero-land h2{font-size:40px;margin-bottom:20px}
.hero-land p{font-size:18px;opacity:0.9;margin-bottom:35px;max-width:600px;margin-left:auto;margin-right:auto}
.fitur-land{padding:80px 20px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}
.fitur-card{background:#fff;padding:35px;border-radius:20px;box-shadow:0 5px 25px rgba(0,0,0,0.06);text-align:center;transition:.3s;animation:fadeInUp 0.5s ease backwards}
.fitur-card:hover{transform:translateY(-5px)}
.fitur-icon{font-size:48px;margin-bottom:15px;color:#667eea}
.fitur-card h3{color:#1a237e;margin-bottom:10px;font-size:20px}
.fitur-card p{color:#6b7280;font-size:15px}
.foot-land{background:#1f2937;color:#9ca3af;padding:25px 0;margin-top:40px}

/* DASHBOARD */
.dash-body{background:#f3f4f6}
.sidebar{position:fixed;left:0;top:0;width:260px;height:100vh;z-index:1000;overflow:hidden;color:#fff;display:flex;flex-direction:column}
.sidebar-head{padding:25px 20px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.15);flex-shrink:0}
.sidebar-head img{width:75px;height:75px;border-radius:50%;border:3px solid rgba(255,255,255,0.3);margin-bottom:12px;object-fit:cover}
.sidebar-head h3{font-size:16px;margin-bottom:4px;font-weight:600}
.sidebar-head p{font-size:12px;opacity:0.85}
.sidebar-menu{flex:1;overflow-y:auto;padding:15px 0}
.sidebar-menu::-webkit-scrollbar{width:4px}
.sidebar-menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.3);border-radius:4px}
.sidebar-menu a{display:flex;align-items:center;padding:13px 20px;color:rgba(255,255,255,0.85);text-decoration:none;font-size:14px;transition:.3s;border-left:3px solid transparent;gap:12px}
.sidebar-menu a:hover,.sidebar-menu a.active{background:rgba(255,255,255,0.12);color:#fff;border-left-color:#fff}
.sidebar-menu .icon{font-size:16px;width:24px;text-align:center}
.sidebar-divider{height:1px;background:rgba(255,255,255,0.2);margin:10px 20px}
.sidebar-foot{padding:15px 20px;border-top:1px solid rgba(255,255,255,0.15);flex-shrink:0}
.sidebar-foot a{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;border:1px solid rgba(255,255,255,0.3);color:rgba(255,255,255,0.9);text-decoration:none;font-size:14px;transition:.3s;background:rgba(0,0,0,0.15)}
.sidebar-foot a:hover{background:rgba(220,38,38,0.8);border-color:rgba(220,38,38,0.5);transform:translateY(-2px);box-shadow:0 4px 15px rgba(220,38,38,0.3);color:#fff}
.main{margin-left:260px;min-height:100vh}
.topbar{background:#fff;padding:18px 30px;box-shadow:0 2px 15px rgba(0,0,0,0.05);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:99}
.topbar h2{font-size:20px;color:#1f2937;font-weight:700;display:flex;align-items:center;gap:10px}
.topbar-user{display:flex;align-items:center;gap:15px}
.topbar-user img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb}
.topbar-user span{font-size:14px;color:#6b7280}
.content{padding:30px}

/* CARDS */
.card{background:#fff;border-radius:16px;padding:25px;margin-bottom:25px;box-shadow:0 2px 12px rgba(0,0,0,0.04);animation:fadeInUp 0.4s ease}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}
.card-head h3{font-size:18px;color:#1f2937;font-weight:700;display:flex;align-items:center;gap:10px}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px}
.stat-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:16px;padding:25px;text-align:center;box-shadow:0 8px 25px rgba(102,126,234,0.25);animation:fadeInUp 0.5s ease backwards;transition:.3s}
.stat-card:hover{transform:translateY(-3px)}
.stat-card h4{font-size:32px;margin-bottom:5px;font-weight:700}
.stat-card p{font-size:14px;opacity:0.9;display:flex;align-items:center;justify-content:center;gap:8px}
.stat-card.green{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);box-shadow:0 8px 25px rgba(17,153,142,0.25)}
.stat-card.orange{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);box-shadow:0 8px 25px rgba(245,87,108,0.25)}
.stat-card.blue{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);box-shadow:0 8px 25px rgba(79,172,254,0.25)}
.stat-card.red{background:linear-gradient(135deg,#ff416c 0%,#ff4b2b 100%);box-shadow:0 8px 25px rgba(255,75,43,0.25)}
.stat-card.dark{background:linear-gradient(135deg,#2d3436 0%,#636e72 100%);box-shadow:0 8px 25px rgba(45,52,54,0.25)}

/* TABLE */
.table-wrap{overflow-x:auto;border-radius:12px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.04)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #f3f4f6}
th{background:#f9fafb;font-weight:600;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:0.5px}
tr:hover{background:#f9fafb}
.badge{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:5px}
.badge-hijau{background:#d1fae5;color:#065f46}
.badge-kuning{background:#fef3c7;color:#92400e}
.badge-merah{background:#fee2e2;color:#991b1b}
.badge-biru{background:#dbeafe;color:#1e40af}
.badge-abu{background:#f3f4f6;color:#4b5563}
.badge-pink{background:#fce7f3;color:#9d174d}

/* FORM */
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}

/* ANIMATIONS */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* RESPONSIVE */
@media (max-width:768px){
    .sidebar{width:100%;position:relative;height:auto}
    .main{margin-left:0}
    .hero-land h2{font-size:28px}
    .stat-grid{grid-template-columns:1fr}
    .topbar{padding:15px 20px}
    .content{padding:20px}
    .card-head{flex-direction:column;align-items:flex-start}
}
