@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700&display=swap');

:root {
    --primary: #2563eb;
    --primary-dark: #1d4ed8;
    --bg-soft: #f4f6f9;
}

* { font-family: 'Vazirmatn', Tahoma, sans-serif !important; }

body {
    background: var(--bg-soft);
}

.navbar-brand { font-weight: 700; }

.sidebar {
    min-height: calc(100vh - 56px);
    background: #111827;
    color: #d1d5db;
}
.sidebar a {
    color: #d1d5db;
    display: block;
    padding: .65rem 1rem;
    border-radius: .5rem;
    text-decoration: none;
    margin: 2px 8px;
    font-size: .95rem;
}
.sidebar a:hover, .sidebar a.active {
    background: var(--primary);
    color: #fff;
}
.sidebar .section-title {
    font-size: .75rem;
    color: #6b7280;
    padding: 1rem 1rem .25rem;
}

.card { border: none; border-radius: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.stat-card { border-radius: 16px; color: #fff; }
.stat-card .num { font-size: 2rem; font-weight: 700; }

.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }

.table thead th { background: #f8fafc; font-size: .85rem; color: #475569; font-weight: 600; }

.login-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1d4ed8, #2563eb 60%, #3b82f6);
}
.login-card {
    width: 100%;
    max-width: 400px;
    border-radius: 18px;
}

.chat-bubble { border-radius: 14px; padding: .75rem 1rem; margin-bottom: .75rem; max-width: 80%; }
.chat-bubble.admin { background: #eff6ff; margin-left: auto; }
.chat-bubble.client { background: #f1f5f9; }
.chat-meta { font-size: .75rem; color: #64748b; margin-bottom: 2px; }
