:root {
    --primary: #2c3e50;
    --secondary: #3498db;
    --accent: #2ecc71;
    --text: #2c3e50;
    --text-light: #7f8c8d;
    --bg: #f5f7fa;
    --card-bg: #ffffff;
    --sidebar-bg: #f8f9fa;
    --border: #dce1e5;
    --shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    --hover-color: #f0f7ff;
    --online: #2ecc71;
    --offline: #e74c3c;
    --warning: #f39c12;
    --danger: #e74c3c;
    --transition-duration: 0.3s;
}

.dark-mode {
    --primary: #ecf0f1;
    --secondary: #1abc9c;
    --accent: #27ae60;
    --text: #ecf0f1;
    --text-light: #bdc3c7;
    --bg: #121f1f;
    --card-bg: #1a2c2c;
    --sidebar-bg: #0f1a1a;
    --border: #34495e;
    --shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    --hover-color: #1e3a3a;
    --online: #27ae60;
    --offline: #e74c3c;
    --warning: #f39c12;
    --danger: #e74c3c;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    transition: background-color var(--transition-duration) ease,
                border-color var(--transition-duration) ease,
                color var(--transition-duration) ease;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--bg);
    color: var(--text);
    line-height: 1.6;
    min-height: 100vh;
}

a { color: var(--secondary); text-decoration: none; }
button { cursor: pointer; border: none; border-radius: 4px; }
input, select, textarea {
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: var(--card-bg);
    color: var(--text);
}

.avatar-small { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid var(--border); }
.avatar-preview { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; border: 2px solid var(--border); margin: 10px 0; }
.btn-primary {
    background-color: var(--accent);
    color: white;
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 600;
    border: none;
}
.btn-primary:hover { background-color: var(--secondary); }

@media (max-width: 600px) {
    .avatar-small { width: 30px; height: 30px; }
}