:root,[data-theme=light]{--color-bg: #f7f8fa;--color-surface: #ffffff;--color-surface-2: #f0f2f5;--color-border: #e2e6ea;--color-text: #1a1f29;--color-text-muted: #6b7280;--color-text-inverse: #ffffff;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-success: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--color-info: #0ea5e9;--color-trust-official: #2563eb;--color-trust-partner: #0ea5e9;--color-trust-community: #6b7280;--color-trust-internal: #7c3aed;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--elevation-1: 0 1px 2px rgba(0, 0, 0, .06);--elevation-2: 0 4px 12px rgba(0, 0, 0, .1);--elevation-3: 0 12px 32px rgba(0, 0, 0, .16);--opacity-disabled: .4;--opacity-overlay: .5;--opacity-hover: .08;--z-base: 0;--z-sticky: 100;--z-drawer: 1000;--z-modal: 1100;--z-toast: 1200;--z-tooltip: 1300;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 40px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--lh-tight: 1.2;--lh-normal: 1.5;--lh-loose: 1.75;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--container-max: 1440px;--container-narrow: 720px;--motion-fast: .15s;--motion-base: .25s;--easing-standard: cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-bg: #0f1216;--color-surface: #171b21;--color-surface-2: #1f242c;--color-border: #2a313b;--color-text: #e6e9ed;--color-text-muted: #9aa4b2;--color-text-inverse: #0f1216;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #38bdf8;--color-trust-official: #3b82f6;--color-trust-partner: #38bdf8;--color-trust-community: #9aa4b2;--color-trust-internal: #a78bfa;--elevation-1: 0 1px 2px rgba(0, 0, 0, .4);--elevation-2: 0 4px 12px rgba(0, 0, 0, .5);--elevation-3: 0 12px 32px rgba(0, 0, 0, .6);--opacity-hover: .12}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--color-bg);color:var(--color-text);font:var(--text-base) / var(--lh-normal) var(--font-sans)}.px-shell{display:flex;min-height:100vh}.px-shell>[data-shell-area=sidebar],.px-shell>.px-shell-sidebar,.px-shell aside{width:240px;flex-shrink:0;border-right:1px solid var(--color-border, rgba(128, 128, 128, .2));padding:var(--space-4);background:var(--color-surface, var(--color-bg))}.px-shell>[data-shell-area=content],.px-portal-content{flex:1 1 auto;min-width:0}.px-nav-sidebar .px-nav-group-label{font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.04em}.px-nav-sidebar a.px-nav-item{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm, 6px);color:var(--color-text);text-decoration:none;cursor:pointer}.px-nav-sidebar a.px-nav-item:hover{background:var(--color-surface-hover, rgba(128, 128, 128, .12))}.px-nav-sidebar a.px-nav-item[aria-current=page]{background:var(--color-accent-soft, rgba(59, 130, 246, .15));color:var(--color-accent, #3b82f6);font-weight:var(--weight-semibold)}.px-login input,.px-login button,.px-portal-header button{display:block;width:100%;margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border, rgba(128, 128, 128, .3));background:var(--color-surface, #fff);color:var(--color-text);font:inherit}.px-portal-header button{width:auto}.px-login button,.px-portal-header button{cursor:pointer;background:var(--color-accent, #3b82f6);color:#fff;border:none}.px-login-error{color:var(--color-danger, #dc2626);font-size:var(--text-sm)}:focus-visible{outline:2px solid var(--color-accent, #3b82f6);outline-offset:2px}@media (max-width: 720px){.px-shell{flex-direction:column}.px-shell>[data-region=sidebar],.px-shell>.px-nav-sidebar,.px-shell aside{width:100%;border-right:none;border-bottom:1px solid var(--color-border, rgba(128, 128, 128, .2))}.px-nav-sidebar .px-nav-group-children{display:flex;flex-wrap:wrap;gap:var(--space-2)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
