@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Fraunces:opsz,wght@9..144,600;700&display=swap');

:root {
    --ps-font-sans: "Manrope", "Segoe UI", sans-serif;
    --ps-font-display: "Fraunces", "Manrope", serif;

    --ps-brand-1: #5633ff;
    --ps-brand-2: #19004a;
    --ps-brand-3: #7455ff;
    --ps-login-gradient: radial-gradient(circle at top right, var(--ps-brand-1), var(--ps-brand-2) 60%);

    --ps-ink: #0b1220;
    --ps-ink-soft: #334155;
    --ps-muted: #64748b;

    --ps-border: #e2e8f0;
    --ps-surface: #ffffff;
    --ps-surface-2: #f7f7fb;
    --ps-bg: #f3f4fb;

    --ps-primary: var(--ps-brand-1);
    --ps-primary-strong: #3f21d1;
    --ps-secondary: #6d5bff;
    --ps-success: #16a34a;
    --ps-warning: #f59e0b;
    --ps-danger: #dc2626;
    --ps-info: #0ea5e9;

    --ps-radius-sm: 10px;
    --ps-radius-md: 12px;
    --ps-radius-lg: 16px;
    --ps-radius-xl: 20px;

    --ps-shadow-sm: 0 8px 20px rgba(15, 23, 42, 0.08);
    --ps-shadow-md: 0 16px 40px rgba(15, 23, 42, 0.12);
    --ps-shadow-lg: 0 24px 60px rgba(15, 23, 42, 0.16);

    --ps-space-1: 4px;
    --ps-space-2: 8px;
    --ps-space-3: 12px;
    --ps-space-4: 16px;
    --ps-space-5: 24px;
    --ps-space-6: 32px;
    --ps-space-7: 40px;
    --ps-space-8: 48px;

    --ps-font-size-h1: 1.75rem;
    --ps-font-size-h2: 1.35rem;
    --ps-font-size-h3: 1.15rem;
    --ps-font-size-body: 0.98rem;
    --ps-font-size-caption: 0.8rem;

    --ps-size-input-height: 44px;
    --ps-size-button-height: 40px;
    --ps-size-table-row: 52px;
    --ps-size-sidebar-width: 260px;
    --ps-size-topbar-height: 64px;

    --ps-focus-ring: 0 0 0 0.2rem rgba(86, 51, 255, 0.25);

    --paystream-accent: var(--ps-primary);
    --paystream-accent-strong: var(--ps-primary-strong);
    --paystream-accent-warm: var(--ps-warning);

    --paystream-border: var(--ps-border);
    --paystream-surface: var(--ps-surface);
    --paystream-surface-2: var(--ps-surface-2);
    --paystream-bg: var(--ps-bg);

    --paystream-shadow: var(--ps-shadow-md);
    --paystream-shadow-soft: var(--ps-shadow-sm);
    --paystream-radius: var(--ps-radius-lg);
    --paystream-radius-sm: var(--ps-radius-md);

    --paystream-sidebar-bg: var(--ps-login-gradient);
    --paystream-login-bg: var(--ps-login-gradient);

    --bs-body-font-family: var(--ps-font-sans);
    --bs-body-color: var(--ps-ink);
    --bs-body-bg: var(--ps-bg);
    --bs-primary: var(--ps-primary);
    --bs-secondary: #475569;
    --bs-success: var(--ps-success);
    --bs-danger: var(--ps-danger);
    --bs-warning: var(--ps-warning);
    --bs-info: var(--ps-info);
    --bs-light: #f8fafc;
    --bs-dark: var(--ps-ink);
    --bs-border-color: var(--ps-border);

    --b-snackbar-background: #0b1220;
    --b-snackbar-text-color: #f8fafc;
    --b-snackbar-background-success: rgba(22, 163, 74, 0.18);
    --b-snackbar-text-success: #14532d;
    --b-snackbar-background-danger: rgba(220, 38, 38, 0.18);
    --b-snackbar-text-danger: #7f1d1d;
    --b-snackbar-background-warning: rgba(245, 158, 11, 0.2);
    --b-snackbar-text-warning: #7c2d12;
    --b-snackbar-background-info: rgba(14, 165, 233, 0.18);
    --b-snackbar-text-info: #0c4a6e;
}
