/**
 * Nexora — design tokens (from Master Business Brief).
 * Purple #7C3AED → Blue #6366F1 gradient, dark sidebar #121421, light surface #F8F9FB.
 */
:root {
    --font-body: "Inter", "Segoe UI", system-ui, sans-serif;
    --font-display: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;

    --nex-primary: #7C3AED;
    --nex-primary-light: #A855F7;
    --nex-accent: #6366F1;
    --nex-accent-bright: #3B82F6;
    --nex-gradient: linear-gradient(135deg, #7C3AED 0%, #6366F1 52%, #3B82F6 100%);
    --nex-gradient-soft: linear-gradient(135deg, rgba(124, 58, 237, 0.14) 0%, rgba(99, 102, 241, 0.1) 100%);

    --nex-sidebar-bg: #121421;
    --nex-sidebar-border: rgba(148, 163, 184, 0.12);
    --nex-sidebar-text: #E2E8F0;
    --nex-sidebar-muted: #94A3B8;
    --nex-sidebar-faint: #64748B;

    --nex-bg: #F8F9FB;
    --nex-surface: #FFFFFF;
    --nex-surface-2: #F1F5F9;
    --nex-border: rgba(15, 23, 42, 0.08);
    --nex-text: #0F172A;
    --nex-text-soft: #334155;
    --nex-text-muted: #64748B;
    --nex-success: #10B981;

    --nex-radius: 14px;
    --nex-radius-sm: 10px;
    --nex-shadow: 0 8px 30px rgba(15, 23, 42, 0.08);
    --nex-sidebar-w: 272px;
    --nex-topbar-h: 68px;
}

* { box-sizing: border-box; }

.nex-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.65rem 1.15rem;
    border-radius: var(--nex-radius-sm);
    border: none;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    cursor: pointer;
    background: var(--nex-gradient);
    color: #fff;
    min-height: 44px;
    transition: transform 0.15s, box-shadow 0.15s;
}
.nex-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(124, 58, 237, 0.25); }
.nex-btn-sm { padding: 0.45rem 0.85rem; font-size: 0.82rem; min-height: 38px; }
.nex-btn-ghost {
    background: transparent;
    color: var(--nex-text);
    border: 1px solid var(--nex-border);
}

.skip-to-content {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}
.skip-to-content:focus {
    width: auto; height: auto; margin: 0; clip: auto;
    overflow: visible; white-space: normal;
    left: 1rem; top: 1rem; padding: 0.75rem 1rem;
    background: var(--nex-surface); color: var(--nex-text);
    border: 2px solid var(--nex-primary); border-radius: 8px;
    z-index: 10000; font-weight: 700; text-decoration: none;
}
