body { font-family: 'Segoe UI', sans-serif; background: #f4f4f9; margin: 0; padding: 0; }
.container { max-width: 1200px; margin: 20px auto; padding: 20px; }

/* Login */
.login-page { display: flex; justify-content: center; align-items: center; height: 100vh; background: #2c3e50; }
.login-box { background: white; padding: 40px; border-radius: 8px; width: 300px; text-align: center; }
.login-box input { width: 90%; padding: 10px; margin: 10px 0; border: 1px solid #ddd; border-radius: 4px; }

/* Dashboard */
header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.full-width { grid-column: span 2; }

.card { background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.card h3 { margin-top: 0; color: #333; }

/* Table */
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { padding: 12px; text-align: left; border-bottom: 1px solid #ddd; }
th { background-color: #f8f9fa; }

/* Buttons */
button, .btn-primary, .btn-scan, .btn-logout, .btn-export { padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; }
.btn-primary { background: #27ae60; color: white; width: 100%; }
.btn-scan { background: #2980b9; color: white; display: block; width: 100%; margin-bottom: 10px; text-align: center; text-decoration: none; }
.btn-logout { background: #c0392b; color: white; }
.btn-export { background: #27ae60; color: white; margin-bottom: 10px; }

/* Camera & Face */
video { width: 100%; border-radius: 4px; background: #000; }
.face-capture-area { border: 2px dashed #ccc; padding: 10px; margin-bottom: 15px; text-align: center; }

/* Scan Page */
.scan-page { display: flex; justify-content: center; align-items: center; height: 100vh; background: #34495e; color: white; }
.scan-container { background: white; color: #333; padding: 30px; border-radius: 10px; width: 400px; text-align: center; }
.step { display: none; }
.step.active { display: block; }

/* Status */
.message-box { padding: 10px; margin-top: 10px; border-radius: 4px; font-weight: bold; }
.bg-green { background: #2ecc71; color: white; padding: 3px 8px; border-radius: 10px; font-size: 12px; }
.bg-red { background: #e74c3c; color: white; padding: 3px 8px; border-radius: 10px; font-size: 12px; }