.bay-invoice-overdue {
  background: #fef2f2;
  color: #b42318;
  font-weight: 600;
}
.bay-invoice-overdue-date {
  color: #b42318;
  font-weight: 600;
}
/* Shared Bay presentation. Keep the existing application markup, routes,
   authorization and session handling; override its semantic theme tokens. */
:root,
.dark {
  --background: 75 16.7% 95.3%;
  --foreground: 183.2 46.8% 15.5%;
  --border: 120 10.3% 88.6%;
  --card: 80 20% 98%;
  --card-foreground: 183.2 46.8% 15.5%;
  --card-border: 120 10.3% 88.6%;
  --popover: 80 20% 98%;
  --popover-foreground: 183.2 46.8% 15.5%;
  --popover-border: 120 10.3% 88.6%;
  --primary: 181.6 54.3% 13.7%;
  --primary-foreground: 90 18.2% 95.7%;
  --secondary: 144 15% 92%;
  --secondary-foreground: 183.2 46.8% 15.5%;
  --muted: 144 15% 92%;
  --muted-foreground: 180 7.3% 45.7%;
  --accent: 150 19% 92%;
  --accent-foreground: 167 30% 24%;
  --destructive: 8.2 44.3% 45.1%;
  --destructive-foreground: 0 0% 100%;
  --input: 143 17% 81.6%;
  --ring: 167 31% 32%;
  --sidebar: 181.6 54.3% 13.7%;
  --sidebar-foreground: 90 18.2% 95.7%;
  --sidebar-border: 172 24% 26%;
  --sidebar-primary: 167 31% 32%;
  --sidebar-primary-foreground: 90 18.2% 95.7%;
  --sidebar-accent: 181 35% 21%;
  --sidebar-accent-foreground: 90 18.2% 95.7%;
  --sidebar-ring: 156 27% 68%;
  --chart-1: 167 31% 32%;
  --chart-2: 181.6 54.3% 13.7%;
  --chart-3: 8.2 44.3% 45.1%;
  --chart-4: 37 48% 54%;
  --chart-5: 156 18% 47%;
  --app-font-sans: "DM Sans", sans-serif;
  --app-font-serif: "Manrope", sans-serif;
  --radius: .4375rem;
  --radius-xl: .625rem;
  --radius-2xl: .75rem;
  --button-outline: #c8d8cf;
  --badge-outline: #dfe5df;
  --elevate-1: #10353608;
  --elevate-2: #10353614;
  --shadow-xs: 0 1px 2px #10353605;
  --shadow-sm: 0 1px 3px #10353608;
  --shadow: 0 2px 6px #10353608;
  --shadow-md: 0 4px 12px #1035360a;
  --shadow-lg: 0 8px 24px #10353610;
  --shadow-xl: 0 12px 32px #10353614;
}

body {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--app-font-sans);
}

h1,
h2,
h3,
.font-display {
  font-family: var(--app-font-serif);
}

.font-display {
  font-weight: 500;
  letter-spacing: -.045em;
}

button,
input,
select,
textarea {
  font-family: var(--app-font-sans);
}

/* Shared form primitives, without changing compact icon buttons or checkboxes. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
select,
textarea {
  border-radius: 5px;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]) {
  min-height: 44px;
}

button.bg-primary:not(.h-9) {
  min-height: 44px;
  border-radius: 5px;
  font-weight: 600;
}

/* The portal-recovery homepage uses the same brand field and light form
   surface as the approved sign-in page. Its email behavior is unchanged. */
.bay-home > [aria-hidden="true"] {
  background: radial-gradient(ellipse at 89% 82%, #67998b2e, transparent 55%),
    radial-gradient(ellipse at 0 0, #d88b721a, transparent 45%) !important;
}

.bay-home h1 {
  letter-spacing: -.075em;
}

.bay-home h1 span {
  color: #d88b72;
  font-style: normal;
}

.bay-home section[aria-labelledby="recovery-heading"] {
  background: hsl(var(--card));
  border-color: hsl(var(--card-border));
  color: hsl(var(--foreground));
}

.bay-home section[aria-labelledby="recovery-heading"] [class*="text-primary-foreground/"] {
  color: hsl(var(--muted-foreground));
}

.bay-home section[aria-labelledby="recovery-heading"] input {
  border-color: hsl(var(--input));
  background: hsl(var(--card));
}

.bay-home [data-testid="button-recover-portal"] {
  min-height: 44px;
  background: #16494a;
  border-color: #16494a;
  color: hsl(var(--primary-foreground));
  font-weight: 600;
}

.bay-home [data-testid="button-recover-portal"]:hover:not(:disabled) {
  background: #103536;
}

/* The imported not-found screens use fixed gray utilities rather than tokens. */
[class~="bg-gray-50"] {
  background: hsl(var(--background));
}

[class~="text-gray-900"] {
  color: hsl(var(--foreground));
}

[class~="text-gray-600"] {
  color: hsl(var(--muted-foreground));
}

button[class~="bg-gray-900"] {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

button[class~="hover:bg-gray-700"]:hover {
  background: #16494a;
}
