.supplier-portal{--sp-primary:#d97706;--sp-primary-deep:#b45309;--sp-primary-bright:#f59e0b;--sp-on-primary:#ffffff;--sp-surface:#f8fafc;--sp-surface-warm:#ffffff;--sp-surface-card:#ffffff;--sp-surface-low:#f1f5f9;--sp-surface-container:#e2e8f0;--sp-on-surface:#0f172a;--sp-muted:#64748b;--sp-outline:#cbd5e1;--sp-border:#e2e8f0;--sp-secondary-container:#fef3c7;--sp-on-secondary-container:#92400e;--sp-ring:#d97706;--background:var(--sp-surface);--foreground:var(--sp-on-surface);--card:var(--sp-surface-card);--card-foreground:var(--sp-on-surface);--popover:var(--sp-surface-card);--popover-foreground:var(--sp-on-surface);--muted:var(--sp-surface-low);--muted-foreground:var(--sp-muted);--border:var(--sp-border);--input:var(--sp-outline);--primary:var(--sp-primary);--primary-foreground:var(--sp-on-primary);--ring:var(--sp-ring);--accent:var(--sp-secondary-container);--accent-foreground:var(--sp-on-secondary-container);--sidebar-primary:var(--sp-primary);--sidebar-primary-foreground:var(--sp-on-primary);--sidebar-ring:var(--sp-ring);font-family:var(--font-supplier-portal),var(--font-sans),system-ui,sans-serif;color:var(--sp-on-surface)}.supplier-portal-shell{background-color:var(--sp-surface);overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;min-height:100dvh;width:100%;max-width:100vw;overflow-x:clip}.dark .supplier-portal,.supplier-portal.dark{--sp-surface:#0f172a;--sp-surface-warm:#111827;--sp-surface-card:#1e293b;--sp-surface-low:#1e293b;--sp-surface-container:#334155;--sp-on-surface:#f8fafc;--sp-muted:#94a3b8;--sp-outline:#475569;--sp-border:#334155;--sp-primary:#f59e0b;--sp-primary-deep:#fbbf24;--sp-primary-bright:#fbbf24;--sp-on-primary:#0f172a;--sp-secondary-container:#451a03;--sp-on-secondary-container:#fde68a;--sp-ring:#f59e0b;--background:var(--sp-surface);--foreground:var(--sp-on-surface);--card:var(--sp-surface-card);--card-foreground:var(--sp-on-surface);--popover:var(--sp-surface-card);--popover-foreground:var(--sp-on-surface);--muted:var(--sp-surface-low);--muted-foreground:var(--sp-muted);--border:var(--sp-border);--input:var(--sp-outline);--primary:var(--sp-primary);--primary-foreground:var(--sp-on-primary);--ring:var(--sp-ring);--accent:var(--sp-secondary-container);--accent-foreground:var(--sp-on-secondary-container);--sidebar-primary:var(--sp-primary);--sidebar-primary-foreground:var(--sp-on-primary);--sidebar-ring:var(--sp-ring)}.supplier-portal-mesh{pointer-events:none;position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 80% 60% at 50% -15%,color-mix(in srgb,var(--sp-primary) 8%,transparent),transparent),radial-gradient(ellipse 50% 40% at 100% 100%,color-mix(in srgb,var(--sp-primary-bright) 5%,transparent),transparent),var(--sp-surface)}.supplier-portal .sp-safe-top{padding-top:max(env(safe-area-inset-top,0px),var(--sp-sat,0px))}.supplier-portal .sp-safe-bottom{padding-bottom:max(env(safe-area-inset-bottom,0px),var(--sp-sab,0px))}.supplier-portal .sp-glass-header{background:color-mix(in srgb,var(--sp-surface) 88%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--sp-border) 70%,transparent);box-shadow:0 1px 8px rgb(0 0 0/.03)}.supplier-portal .sp-card{box-shadow:0 1px 3px rgb(0 0 0/.04)}.supplier-portal .sp-card,.supplier-portal .sp-card-interactive{background:var(--sp-surface-card);border:1px solid color-mix(in srgb,var(--sp-border) 80%,transparent);border-radius:1.25rem}.supplier-portal .sp-card-interactive{box-shadow:0 2px 8px rgb(0 0 0/.04);transition:all .2s cubic-bezier(.16,1,.3,1)}.supplier-portal .sp-card-interactive:hover{border-color:color-mix(in srgb,var(--sp-primary) 40%,transparent);box-shadow:0 8px 24px -8px color-mix(in srgb,var(--sp-primary) 12%,transparent)}.supplier-portal .sp-metric-card{background:color-mix(in srgb,var(--sp-surface-card) 95%,transparent);border:1px solid color-mix(in srgb,var(--sp-border) 80%,transparent);border-radius:1.25rem;transition:all .2s cubic-bezier(.16,1,.3,1)}.supplier-portal .sp-metric-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--sp-primary) 50%,transparent);box-shadow:0 12px 28px -10px color-mix(in srgb,var(--sp-primary) 16%,transparent)}