/* CntrMngr theme, local Vazir fonts and shared PostOffice semantic aliases. */
@font-face {
    font-family: 'Vazir';
    src: url('/fonts/vazir/Vazir-Regular.woff2') format('woff2');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Vazir';
    src: url('/fonts/vazir/Vazir-Medium.woff2') format('woff2');
    font-style: normal;
    font-weight: 500 600;
    font-display: swap;
}

@font-face {
    font-family: 'Vazir';
    src: url('/fonts/vazir/Vazir-Bold.woff2') format('woff2');
    font-style: normal;
    font-weight: 700 900;
    font-display: swap;
}

:root {
    --app-font-family: "Vazir", sans-serif;
    --app-primary: #4f46e5;
    --app-primary-dark: #3730a3;
    --app-primary-soft: #eef2ff;
    --eyebrow-text: #6366f1;
    --notice-text: var(--app-primary);
    --button-primary-bg: #0d6efd;
    --button-primary-hover-bg: #0b5ed7;
    --button-outline-text: #0d6efd;
    --button-outline-hover-bg: #0d6efd;
    --app-surface: #ffffff;
    --app-surface-alt: #f8fafc;
    --app-background: #f4f7fb;
    --app-border: #e5e7eb;
    --app-border-strong: #cbd5e1;
    --app-text: #1f2937;
    --app-heading: #111827;
    --app-muted: #64748b;
    --app-input-background: #ffffff;
    --app-table-header: #f8fafc;
    --app-overlay: rgba(15, 23, 42, 0.48);
    --app-shadow: rgba(15, 23, 42, 0.08);
    --sidebar-background: radial-gradient(circle at 10% 0%, rgba(99,102,241,.14), transparent 18rem), linear-gradient(180deg, #ffffff 0%, #eef2ff 100%);
    --sidebar-text: var(--app-text);
    --sidebar-heading: var(--app-heading);
    --sidebar-muted: #64748b;
    --sidebar-border: var(--app-border);
    --sidebar-user-background: rgba(79,70,229,.045);
    --sidebar-accent: #4f46e5;
    --sidebar-hover-text: var(--app-heading);
    --sidebar-hover-background: rgba(79,70,229,.08);
}

html[data-theme="dark"] {
    --app-primary: #a5b4fc;
    --app-primary-dark: #c7d2fe;
    --app-primary-soft: rgba(129, 140, 248, 0.16);
    --eyebrow-text: var(--app-primary);
    --notice-text: #dbe4ff;
    --button-primary-bg: #2563eb;
    --button-primary-hover-bg: #1d4ed8;
    --button-outline-text: #93c5fd;
    --button-outline-hover-bg: #1e40af;
    --app-surface: #172033;
    --app-surface-alt: #1e293b;
    --app-background: #0f172a;
    --app-border: #334155;
    --app-border-strong: #475569;
    --app-text: #e5e7eb;
    --app-heading: #f8fafc;
    --app-muted: #aebbcf;
    --app-input-background: #111827;
    --app-table-header: #1e293b;
    --app-overlay: rgba(0, 0, 0, 0.58);
    --app-shadow: rgba(0, 0, 0, 0.24);
    --sidebar-background: radial-gradient(circle at 10% 0%, rgba(99, 102, 241, 0.28), transparent 18rem), linear-gradient(180deg, #111827 0%, #1e1b4b 100%);
    --sidebar-text: rgba(255, 255, 255, 0.78);
    --sidebar-heading: #f8fafc;
    --sidebar-muted: rgba(255, 255, 255, 0.58);
    --sidebar-border: rgba(255, 255, 255, 0.09);
    --sidebar-user-background: rgba(79,70,229,.045);
    --sidebar-accent: #c4b5fd;
    --sidebar-hover-text: #ffffff;
    --sidebar-hover-background: rgba(129, 140, 248, 0.16);
}

/* Semantic aliases allow all PostOffice components to use the CntrMngr palette. */
:root {
    --bg: var(--app-background);
    --surface: var(--app-surface);
    --surface-soft: var(--app-surface-alt);
    --ink: var(--app-text);
    --muted: var(--app-muted);
    --line: var(--app-border);
    --brand: var(--app-primary);
    --brand-hover: var(--app-primary-dark);
    --brand-soft: var(--app-primary-soft);
    --shadow: 0 .75rem 2rem var(--app-shadow);
    --on-brand: #ffffff;
    --danger: #dc2626;
    --danger-bg: #fef2f2;
    --success: #059669;
    --success-bg: #ecfdf5;
    --blue: #0284c7;
    --amber: #b45309;
    --action-password-text:#b45309; --action-password-bg:#fffbeb;
    --action-roles-text:#0369a1; --action-roles-bg:#eff6ff;
    --purple: #7c3aed;
    --input-background: var(--app-input-background);
    --accent-gradient: linear-gradient(135deg, #4f46e5, #7c3aed);
    --auth-background: radial-gradient(circle at 12% 18%, #ffffff2e, transparent 30%), radial-gradient(circle at 88% 82%, #ffffff24, transparent 28%), linear-gradient(135deg, #4f46e5 0%, #6d28d9 52%, #312e81 100%);
}
html[data-theme="dark"] {
    color-scheme: dark;
    --on-brand: #0f172a;
    --danger: #fca5a5;
    --danger-bg: rgba(220,38,38,.16);
    --success: #86efac;
    --success-bg: rgba(5,150,105,.16);
    --blue: #7dd3fc;
    --amber: #fbbf24;
    --action-password-text:#fcd34d; --action-password-bg:rgba(245,158,11,.16);
    --action-roles-text:#7dd3fc; --action-roles-bg:rgba(14,165,233,.16);
    --purple: #c4b5fd;
    --auth-background: radial-gradient(circle at 12% 18%, #818cf81f, transparent 30%), radial-gradient(circle at 88% 82%, #a78bfa1a, transparent 28%), linear-gradient(135deg, #111827 0%, #1e1b4b 52%, #0f172a 100%);
}
html { color-scheme: light; font-size: 16px; }
