/* SMF light palette: colours only. Geometry, typography and motion stay unchanged. */
:root,
.dark,
.admin-dark,
.brand-dark {
  --background: oklch(0.9680 0.0059 239.8195);
  --foreground: oklch(0.3098 0.0748 248.9089);
  --card: oklch(1.0000 0 0);
  --card-foreground: oklch(0.3098 0.0748 248.9089);
  --popover: oklch(1.0000 0 0);
  --popover-foreground: oklch(0.3098 0.0748 248.9089);
  --primary: oklch(0.7347 0.1447 228.9136);
  --primary-foreground: oklch(0.3098 0.0748 248.9089);
  --secondary: oklch(0.3098 0.0748 248.9089);
  --secondary-foreground: oklch(1.0000 0 0);
  --muted: oklch(0.9352 0.0412 217.6616);
  --muted-foreground: oklch(0.4186 0.0765 246.7831);
  --accent: oklch(0.9352 0.0412 217.6616);
  --accent-foreground: oklch(0.3098 0.0748 248.9089);
  --border: oklch(0.8761 0 0);
  --input: oklch(1.0000 0 0);
  --ring: oklch(0.3098 0.0748 248.9089);
  --color-navy-deep: oklch(0.3098 0.0748 248.9089);
  --color-graphite: oklch(0.4186 0.0765 246.7831);
  --color-cyan-smf: oklch(0.7347 0.1447 228.9136);
  --color-teal-deep: oklch(0.4694 0.0568 228.3984);
  --color-ice-blue: oklch(0.9352 0.0412 217.6616);
  --color-off-white: oklch(1.0000 0 0);
  --color-steel: oklch(0.4186 0.0765 246.7831);
  --color-text-dark: oklch(0.3098 0.0748 248.9089);
  --color-border-light: oklch(0.8761 0 0);
  color-scheme: light;
}
body, .brand-dark, .site-footer { background-color: var(--background); color: var(--foreground); }
.site-footer { border-color: var(--border); }
.site-footer :is(h2, .eyebrow) { color: #00b7ee !important; }
.site-footer :is(a, p, address, span) { color: #002b4c !important; }
.site-footer .text-muted-foreground { color: #1e5b87 !important; }
.site-footer .border-border-light { border-color: #bdeaf5 !important; }
.text-navy-deep, .text-text-dark { color: var(--foreground); }
.text-graphite, .text-steel { color: var(--muted-foreground); }
.text-teal-deep { color: var(--foreground); }
.text-cyan-smf { color: var(--primary); }
.bg-navy-deep, .bg-graphite, .bg-teal-deep { background-color: var(--background); }
.bg-ice-blue, .bg-border-light { background-color: var(--accent); }
.bg-off-white { background-color: var(--card); }
.bg-cyan-smf { background-color: var(--primary); }
.border-navy-deep, .border-steel, .border-teal-deep, .border-border-light { border-color: var(--border); }
.border-cyan-smf { border-color: var(--primary); }
.brand-shimmer { color: var(--primary); }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .brand-shimmer { background-image: linear-gradient(100deg, var(--primary), var(--foreground), var(--primary)); }
}
header[style*="background-color"] { background-color: var(--card) !important; }
.brand-dark .text-white\/80, .brand-dark .text-white\/70 { color: var(--foreground); }
/* Laravel public pages, including the separate quotation form. */
body:not(.admin-dark) { background: var(--background); color: var(--foreground); }
.site-header, body:has(.quote-hero) .site-header { background: var(--card); border-color: var(--border); }
.main-nav a.active, .main-nav a:hover, .text-link, .row-number, .row-arrow,
.service-code, .project-meta, .contact-detail a, .eyebrow,
.quote-aside li span, .quote-aside .quote-help a, .quote-consent a,
.quote-hero-index, .header-quote, body:has(.quote-hero) .header-quote { color: var(--foreground); }
.main-nav .quote-link, body:has(.quote-hero) .header-quote,
.enquiry-form, .quote-form { border-color: var(--primary); }
.cream, .quote-section, .quote-hero, .dark, .cta, .site-footer { background: var(--background); color: var(--foreground); }
.quote-hero { border-color: var(--border); }
.quote-hero p, .quote-aside>p, .quote-submit p, .lead, .muted, .fine,
.step p, .service-row p, .site-footer p, .quote-form-header>span { color: var(--muted-foreground); }
.steps, .step, .facts, .facts div, .rows, .record-row, .project, .privacy-section,
.quote-aside ol, .quote-aside li, .quote-submit, .footer-bottom { border-color: var(--border); }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea,
.quote-form input, .quote-form select, .quote-form textarea { background: var(--card); color: var(--foreground); border-color: var(--border); }
.button, .button.copper { background: #002b4c; color: #fff; border-color: #002b4c; }
.button:hover, .button.copper:hover { background: #00b7ee; border-color: #00b7ee; color: #002b4c; }
.button.outline { background: transparent; color: var(--foreground); }
body:has(.quote-hero) .header-quote:hover { background: var(--accent); }
/* The independent Laravel administration uses its existing dimensions and controls. */
html:has(.top), html:has(.login-body) { background: var(--background); color: var(--foreground); }
html:has(.top) body, html:has(.login-body) body { background: var(--background); color: var(--foreground); }
.top, .array-item, .editor-actions { background: var(--card); border-color: var(--border); }
.top nav a:hover, .top nav a:focus-visible, .logout, .text-button, .return,
.section-heading a, .detail a, .small-button, .brand, .eyebrow,
.metrics strong, .item:hover strong, .list>a:hover strong { color: var(--foreground); }
.brand span { color: var(--foreground); }
.metrics, .metrics>div, .item, .list, .field, .field-group, .detail,
.detail div, .login-box, .editor-actions { border-color: var(--border); }
.login-box input, .field input, .field textarea, .search-form input {
  background: var(--card); color: var(--foreground); border-color: var(--border);
}
.small-button { border-color: var(--primary); }
.dot { background: var(--primary); }
.login-box, .field-group { border-color: var(--primary); }
input:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline-color: var(--ring); }
.metrics span, .detail dt, p, small { color: var(--muted-foreground); }
