:root {
  --bfsuapa-red: #b84f42;
  --bfsuapa-red-hover: #a94439;
  --bfsuapa-red-soft: #f8eeec;
  --bfsuapa-ink: #16181d;
  --bfsuapa-muted: #69707d;
  --bfsuapa-border: #e7e9ed;
  --bfsuapa-paper: #ffffff;

  --affine-v2-button-primary: var(--bfsuapa-red) !important;
  --affine-v2-input-border-active: var(--bfsuapa-red) !important;
  --affine-v2-layer-background-primary: var(--bfsuapa-paper) !important;
  --affine-v2-layer-background-secondary: #f7f8fa !important;
  --affine-v2-layer-background-hoverOverlay: rgba(184, 79, 66, 0.08) !important;
  --affine-v2-layer-insideBorder-border: var(--bfsuapa-border) !important;
  --affine-v2-text-primary: var(--bfsuapa-ink) !important;
  --affine-v2-text-secondary: var(--bfsuapa-muted) !important;

  --primary: 7 47% 49% !important;
  --primary-foreground: 0 0% 100% !important;
  --ring: 7 47% 49% !important;
  --background: 0 0% 100% !important;
  --foreground: 222 14% 10% !important;
  --border: 220 13% 91% !important;
  --sidebar-bg: 220 20% 98% !important;
  --sidebar-active: 8 42% 94% !important;
  --sidebar-hover: 8 36% 96% !important;
}

html,
body {
  background: var(--bfsuapa-paper) !important;
  color: var(--bfsuapa-ink);
}

::selection {
  background: rgba(184, 79, 66, 0.18);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline-color: var(--bfsuapa-red) !important;
  box-shadow: 0 0 0 3px rgba(184, 79, 66, 0.16) !important;
}

button[class*="bg-primary"],
[role="button"][class*="bg-primary"] {
  background: var(--bfsuapa-red) !important;
}

button[class*="bg-primary"]:hover,
[role="button"][class*="bg-primary"]:hover {
  background: var(--bfsuapa-red-hover) !important;
}

img[src$="/admin/assets/logo.cb18cf26.svg"] {
  width: min(48vw, 680px) !important;
  height: auto !important;
  right: 4vw !important;
  bottom: 7vh !important;
  object-fit: contain !important;
  object-position: right bottom !important;
}

body:has(img[src$="/admin/assets/logo.cb18cf26.svg"]) h1 {
  max-width: 470px;
  text-wrap: balance;
}

div[class*="text-sidebar-foreground"] > span[class*="items-center"]:first-child {
  min-width: 30px;
  min-height: 24px;
  background: url("/brand/bfsuapa-mark-transparent.png") center / contain no-repeat;
}

div[class*="text-sidebar-foreground"] > span[class*="items-center"]:first-child > svg {
  visibility: hidden;
}

#app:empty::before {
  content: "BFSUAPA Team";
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--bfsuapa-muted);
  font: 500 14px/1.4 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0.02em;
}

@media (prefers-color-scheme: dark) {
  :root {
    --affine-v2-button-primary: #c66155 !important;
    --affine-v2-input-border-active: #c66155 !important;
  }
}

@media (max-width: 1023px) {
  img[src$="/admin/assets/logo.cb18cf26.svg"] {
    opacity: 0.08;
  }

  body:has(img[src$="/admin/assets/logo.cb18cf26.svg"]) h1 {
    max-width: 360px;
    padding-inline: 16px;
    text-align: center;
    font-size: 30px !important;
    line-height: 1.12 !important;
  }

  body:has(img[src$="/admin/assets/logo.cb18cf26.svg"]) h1 + p {
    max-width: 360px;
    padding-inline: 16px;
    text-align: center;
  }
}

/* Theme bridge: keep BFSUAPA brand colors while preserving AFFiNE dark mode. */
:root[data-theme='dark'],
html[data-theme='dark'],
body[data-theme='dark'] {
  --affine-v2-layer-background-primary: #141414 !important;
  --affine-v2-layer-background-secondary: #252525 !important;
  --affine-v2-layer-background-hoverOverlay: rgba(255, 255, 255, 0.10) !important;
  --affine-v2-layer-insideBorder-border: #414141 !important;
  --affine-v2-text-primary: #e6e6e6 !important;
  --affine-v2-text-secondary: #929292 !important;
  --affine-v2-button-primary: #c66155 !important;
  --affine-v2-input-border-active: #c66155 !important;
  --primary: 7 47% 56% !important;
  --primary-foreground: 0 0% 100% !important;
  --ring: 7 47% 56% !important;
  --background: 0 0% 8% !important;
  --foreground: 0 0% 96% !important;
  --border: 220 10% 25% !important;
  --sidebar-bg: 0 0% 12% !important;
  --sidebar-active: 7 20% 22% !important;
  --sidebar-hover: 0 0% 17% !important;
}

html[data-theme='dark'],
body[data-theme='dark'] {
  background: #141414 !important;
  color: #e6e6e6 !important;
}

/* Legacy AFFiNE variable bridge used by auth and older workspace surfaces. */
:root[data-theme='dark'],
html[data-theme='dark'],
body[data-theme='dark'] {
  --affine-background-primary-color: #141414 !important;
  --affine-background-secondary-color: #252525 !important;
  --affine-background-modal-color: rgba(0, 0, 0, 0.5) !important;
  --affine-background-overlay-panel-color: #1e1e1e !important;
  --affine-text-primary-color: #eaeaea !important;
  --affine-text-secondary-color: #9c9ca0 !important;
  --affine-text-disable-color: #77757d !important;
  --affine-icon-color: #a8a8a0 !important;
  --affine-icon-secondary: rgba(205, 205, 205, 0.75) !important;
  --affine-border-color: #2e2e2e !important;
  --affine-divider-color: #727272 !important;
  --affine-placeholder-color: #3e3e3f !important;
  --affine-link-color: #78beff !important;
  --affine-hover-color: rgba(255, 255, 255, 0.1) !important;
  --affine-hover-color-filled: #2a2a2a !important;
  --affine-v2-layer-background-primary: #141414 !important;
  --affine-v2-layer-background-secondary: #252525 !important;
  --affine-v2-layer-background-hoverOverlay: rgba(255, 255, 255, 0.10) !important;
  --affine-v2-layer-insideBorder-border: #414141 !important;
  --affine-v2-text-primary: #e6e6e6 !important;
  --affine-v2-text-secondary: #929292 !important;
  --affine-v2-text-tertiary: #7a7a7a !important;
  --affine-v2-button-primary: #c66155 !important;
  --affine-v2-input-border-active: #c66155 !important;
  --primary: 7 47% 56% !important;
  --primary-foreground: 0 0% 100% !important;
  --ring: 7 47% 56% !important;
  --background: 0 0% 8% !important;
  --foreground: 0 0% 96% !important;
  --border: 220 10% 25% !important;
  --sidebar-bg: 0 0% 12% !important;
  --sidebar-active: 7 20% 22% !important;
  --sidebar-hover: 0 0% 17% !important;
}

html[data-theme='dark'],
html[data-theme='dark'] body,
body[data-theme='dark'] {
  background: #141414 !important;
  color: #e6e6e6 !important;
}
