/* AirHub 2026 rebrand: light-mode-only palette + typography.
   Nova's primary/link color is already blue by default and untouched
   here except for actual <button> elements (see below), so hyperlinks
   and the sidebar/nav (which uses <a>/router-link, not <button>) keep
   their normal blue. */

@font-face {
    font-family: "Helvetica Neue Std 95";
    src: local("Helvetica Neue Std 95"), local("HelveticaNeue-Std-95");
    font-weight: 700;
}

@font-face {
    font-family: "Helvetica Neue Regular";
    src: local("Helvetica Neue Regular"), local("HelveticaNeue-Regular"), local("Helvetica Neue");
    font-weight: 400;
}

@font-face {
    font-family: "Helvetica Neue Light";
    src: local("Helvetica Neue Light"), local("HelveticaNeue-Light"), local("Helvetica Neue");
    font-weight: 300;
}

html.h-full.font-sans.antialiased,
body {
    font-family: "Helvetica Neue Regular", "Helvetica Neue", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Helvetica Neue Std 95", "Helvetica Neue", Arial, sans-serif;
}

/* Page background */
body.bg-gray-100,
.bg-gray-100 {
    background-color: #efedeb !important;
}

/* All body/label/heading text to black (links use Nova's separate
   text-primary-* classes and are untouched, staying blue) */
.text-gray-300,
.text-gray-400,
.text-gray-500,
.text-gray-600,
.text-gray-700,
.text-gray-800,
.text-gray-900 {
    color: #000000 !important;
}

/* Buttons (Create New, Save, etc.) - #333 with white text. Nova's
   "Create X" buttons are actually <a> tags (they navigate to a create
   form), not <button> elements, so this targets the real solid-button
   class signature confirmed in Nova's compiled bundle - bg-primary-500
   paired with text-white and a hover state - rather than the HTML tag.
   Badges/avatars/notification dots also use bg-primary-500 but pair it
   with text-primary-* (not text-white) or have no hover/active state,
   so they're unaffected; same for the sidebar/nav, which doesn't use
   this bg+hover+text-white combination anywhere. */
.bg-primary-500.text-white,
.bg-primary-50.text-white,
.bg-primary-100.text-white,
.bg-primary-400.text-white,
.bg-primary-600.text-white,
.bg-primary-900.text-white,
.hover\:bg-primary-400.text-white:hover,
.hover\:bg-primary-500.text-white:hover,
.hover\:bg-primary-600.text-white:hover,
.active\:bg-primary-600.text-white:active {
    background-color: #333333 !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}

.bg-primary-500.text-white *,
.bg-primary-50.text-white *,
.bg-primary-100.text-white *,
.bg-primary-400.text-white *,
.bg-primary-600.text-white *,
.bg-primary-900.text-white * {
    color: #ffffff !important;
}

/* Outline-style buttons (e.g. "Create X" on an empty relationship panel)
   - Nova's other button variant: white background, colored border+text
   instead of a solid fill. Confirmed in the compiled bundle
   (InertiaButton.vue's "outline" variant) as the pairing of bg-white
   with text-primary-500 - not used anywhere else per the bundle, so
   this is scoped to just these buttons, same approach as the solid
   button rule above. */
.bg-white.text-primary-500,
.bg-white.text-primary-500.hover\:border-primary-500:hover {
    color: #333333 !important;
    border-color: #333333 !important;
}

/* Default blue links (table cell/field values, footer credits, etc.)
   - black, Helvetica Neue Light, no underline except on hover, instead
   of blue.

   Targets Nova's dedicated .link-default class specifically, not the
   generic text-primary-* color utility - that utility is reused all
   over Nova's UI for unrelated things (tab underlines, focus states,
   and critically the sidebar's active-item indicator), so an earlier
   version of this rule that targeted text-primary-* directly also
   recolored/underlined the current sidebar nav item, which shouldn't
   be touched. .link-default is Nova's own "this is a hyperlink" class
   (used explicitly in resources/views/nova/footer.blade.php, and by
   Nova itself for reference/file/notification links), and the sidebar
   does not use it. */
.link-default,
.link-default:hover,
.link-default:active,
.link-default:focus {
    color: #000000 !important;
    text-decoration: none !important;
    font-family: "Helvetica Neue Light", "Helvetica Neue", Arial, sans-serif !important;
    font-weight: 300 !important;
}

.link-default:hover {
    text-decoration: underline !important;
}

/* Bigger brand logo, both the sidebar corner and the login page (same
   SVG, same <Logo> component in both places). Nova applies its size
   classes directly to the <svg> tag itself rather than a wrapper, and
   those classes are computed/forwarded through several layers of
   minified Vue components, so rather than guess the exact Tailwind
   class, this targets the logo structurally: it's the only <svg> in
   the whole app that wraps an embedded <image> (a raster logo) -
   every one of Nova's own icons is a plain vector path SVG. */
svg:has(image) {
    transform: scale(1.4);
    transform-origin: center;
}

/* Login page: "Welcome Back!" heading and the decorative divider bar
   right under it. The heading text itself can't be blanked via the
   translation override alone (Nova's client-side __() helper falls back
   to the untranslated key whenever the translation value is falsy, and
   an empty string is falsy - see lang/vendor/nova/en.json), and even
   with a non-empty placeholder the empty heading still reserves line-
   height. Collapsing it via CSS removes it fully instead.

   .max-w-\[25rem\] is the login form's own class and, per the compiled
   bundle, is not reused by any other Nova page/form (forgot password,
   confirm password, etc.), so this is scoped to login only:
   - the h2 is the form's first child
   - the divider is whatever element immediately follows the h2 */
form.max-w-\[25rem\] > h2:first-child,
form.max-w-\[25rem\] > h2:first-child + * {
    display: none !important;
}
