4.0.2
Visual refresh — the admin dashboard and the default front-end form theme now share the design language of core-forms.com, with no webfonts loaded anywhere.
Admin design system
New assets/css/design-system.css declares the brand / ink / surface / radius / shadow tokens lifted directly from the marketing site, scoped to Core Forms admin pages so other plugins are untouched.
New components:
– .cf-page-hero — gradient page header with eyebrow pill, heading, sub-text, CTA row
– .cf-btn family — primary / secondary / ghost in sm / lg sizes, with the marketing-site shadow + lift-on-hover
– .cf-stat — KPI tile with brand-tinted icon chip
WordPress chrome inside Core Forms pages picks up the new look:
– .wp-list-table, .form-table inputs, .button-primary, .tablenav, .subsubsub, .notice
– Brand-blue 4-step focus ring, 8px corner radii, layered shadow scale
Page redesigns
- Forms overview opens with the hero plus four KPI stat cards (active forms, total submissions, submissions today, caught as spam) before the forms list.
- Settings gets the same hero treatment with a Documentation CTA.
Default front-end form theme
Rewrote form-theme.css against the same tokens:
– Brand-blue submit buttons with lift-on-hover and the marketing-site shadow (0 4px 12px rgba(47,99,245,.25))
– 8px input radii, hover state on inputs, brand-blue focus border with 4-step focus ring
– Soft-tint success / error / warning messages with proper border colors
– Secondary buttons for multi-step \”back\”
– Dashed brand-tinted drop-zone styling for <input type=\"file\">
– Headings get proper letter-spacing and weight scale
No webfonts
- The admin design system uses the WordPress system stack (
-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, …). - The front-end form theme sets
--cf-font: inherit, so each form picks up the host theme’s font. - No
fonts.googleapis.comrequests anywhere.
Upgrade notes
- No data or schema migrations.
- Pure CSS / template chrome refresh — fully backwards compatible.
- Custom form theme tokens (
cf_form_theme_tokensoption) keep working unchanged.