/* dora-ui design tokens — Light theme inspired by 2fa.fun (indigo + violet) */
:root {
    /* surfaces */
    --bg-base: #f5f7fb;          /* page bg */
    --bg-elevated: #ffffff;       /* cards / sidebar / topbar */
    --bg-elevated-2: #fafbfd;     /* nested cards / table header */
    --bg-hover: #f1f3f9;
    --bg-active: #eef2ff;          /* indigo-50, selected */
    --bg-input: #ffffff;
    --bg-disabled: #f3f4f6;

    /* borders */
    --border-subtle: #eef0f5;
    --border-default: #e2e6ee;
    --border-strong: #cdd2dc;

    /* text */
    --text-primary: #111827;
    --text-secondary: #4b5563;
    --text-tertiary: #9ca3af;
    --text-disabled: #c7cad1;

    /* accent: indigo→violet gradient family */
    --accent: #6366f1;             /* indigo-500 */
    --accent-hover: #4f46e5;       /* indigo-600 */
    --accent-active: #4338ca;      /* indigo-700 */
    --accent-soft: #8b5cf6;        /* violet-500 */
    --accent-bg: rgba(99, 102, 241, 0.08);
    --accent-bg-strong: rgba(99, 102, 241, 0.16);
    --accent-border: rgba(99, 102, 241, 0.45);
    --accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --accent-gradient-hover: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);

    /* status */
    --success: #10b981;
    --success-bg: rgba(16, 185, 129, 0.10);
    --warning: #f59e0b;
    --warning-bg: rgba(245, 158, 11, 0.10);
    --danger: #ef4444;
    --danger-bg: rgba(239, 68, 68, 0.10);
    --info: #06b6d4;
    --info-bg: rgba(6, 182, 212, 0.10);

    /* radius */
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-pill: 999px;

    /* shadow */
    --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
    --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.06);
    --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.10);
    --shadow-glow: 0 0 0 3px rgba(99, 102, 241, 0.18);
    --shadow-card: 0 1px 2px rgba(15, 23, 42, 0.04), 0 0 0 1px rgba(15, 23, 42, 0.04);

    /* font */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, 'PingFang SC', 'Microsoft YaHei', sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Consolas, monospace;

    /* layout */
    --header-h: 60px;
    --sidebar-w: 224px;
    --sidebar-w-collapsed: 64px;

    --transition-fast: 0.12s ease;
    --transition-base: 0.18s ease;
}

html, body {
    background: var(--bg-base) !important;
    color: var(--text-primary) !important;
    font-family: var(--font-sans) !important;
    font-size: 13px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }
::-webkit-scrollbar-corner { background: transparent; }

::selection {
    background: var(--accent-bg-strong);
    color: var(--text-primary);
}
