:root {
    --primary: #4f46e5;
    --primary-hover: #4338ca;
    --danger: #ef4444;
    --danger-hover: #dc2626;
    --success: #22c55e;
    --warning: #f59e0b;
    --bg: #f3f4f6;
    --card-bg: #ffffff;
    --text: #1f2937;
    --border: #e5e7eb;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: var(--bg); color: var(--text); line-height: 1.5; }

nav { background: var(--card-bg); padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.container { max-width: 1200px; margin: 2rem auto; padding: 0 1rem; }
.login-container { max-width: 400px; margin: 4rem auto; background: var(--card-bg); padding: 2rem; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }

.card { background: var(--card-bg); padding: 1.5rem; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 2rem; }
h1, h2, h3 { margin-bottom: 1rem; }

.form-group { margin-bottom: 1rem; }
label { display: block; margin-bottom: 0.5rem; font-weight: 500; }
input { width: 100%; padding: 0.5rem; border: 1px solid var(--border); border-radius: 4px; font-size: 1rem; }
.inline-form { display: flex; gap: 1rem; flex-wrap: wrap; }
.inline-form input { width: auto; flex: 1; min-width: 150px; }

.btn { display: inline-block; padding: 0.5rem 1rem; border: none; border-radius: 4px; cursor: pointer; font-size: 1rem; text-decoration: none; color: white; background: var(--primary); transition: background 0.2s; }
.btn:hover { background: var(--primary-hover); }
.btn.danger { background: var(--danger); }
.btn.danger:hover { background: var(--danger-hover); }
.btn.success { background: var(--success); }
.btn.warning { background: var(--warning); }
.btn.logout { background: #6b7280; }
.btn.sm { padding: 0.25rem 0.5rem; font-size: 0.875rem; }

table { width: 100%; border-collapse: collapse; }
th, td { padding: 0.75rem; text-align: left; border-bottom: 1px solid var(--border); }
th { background: #f9fafb; font-weight: 600; }
.actions { display: flex; gap: 0.5rem; }

.alert { padding: 1rem; border-radius: 4px; margin-bottom: 1rem; }
.alert.error { background: #fee2e2; color: #991b1b; }
.alert.success { background: #dcfce7; color: #166534; }

.table-responsive { overflow-x: auto; }
