/* The Archive — Homepage admin theme
   Document palette from brand-system.md §1.2. Applied via Homepage's custom.css mechanism.
   Deployed: 2026-04-14 (Task 10, Theming Plan C) */

:root {
  --archive-desk: #f3ede0;
  --archive-desk-shadow: #d8cdb7;
  --archive-ceiling: #e8e1cf;
  --archive-ceiling-dark: #d5cbb6;
  --archive-wall: #95b49c;
  --archive-wall-mid: #8dab95;
  --archive-wall-base: #65826f;
  --archive-page-ink: #2c3a2f;
  --archive-page-ink-soft: #4a5c4e;
  --archive-amber: #e8b86b;
}

/* Base: override dark theme and background image */
body, html {
  background: var(--archive-desk) !important;
  background-image: none !important;
  color: var(--archive-page-ink) !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Homepage injects a bg image container — suppress it */
#page-container,
.page-container,
[id*="background"],
[class*="background"] {
  background-image: none !important;
  background: var(--archive-desk) !important;
}

/* Homepage uses Tailwind — override the slate/gray/dark defaults */
body.dark,
.dark body,
[class*="bg-slate-"],
[class*="bg-gray-"],
[class*="bg-zinc-"],
[class*="bg-neutral-"],
[class*="bg-stone-"] {
  background-color: var(--archive-desk) !important;
  color: var(--archive-page-ink) !important;
}

/* Headers and titles */
h1, h2, h3, h4 {
  color: var(--archive-page-ink) !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

/* Service/bookmark card containers */
.service-card,
.bookmark-card,
[class*="service"],
[class*="bookmark"] {
  background: var(--archive-ceiling) !important;
  border: 1px solid var(--archive-ceiling-dark) !important;
  color: var(--archive-page-ink) !important;
  border-radius: 0 !important;
}

/* Service/bookmark names */
.service-name,
.bookmark-name,
.service-title,
.bookmark-title {
  color: var(--archive-page-ink) !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
  font-weight: 500 !important;
}

/* Descriptions, labels, meta text */
.service-description,
.bookmark-description,
.label,
.meta,
.text-muted,
[class*="text-slate-"],
[class*="text-gray-"] {
  color: var(--archive-page-ink-soft) !important;
  font-family: "IBM Plex Mono", ui-monospace, monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Links + hover */
a { color: var(--archive-page-ink) !important; transition: color .15s; }
a:hover { color: var(--archive-wall-base) !important; }

/* Widget blocks (weather, docker stats, etc.) */
.widget,
[class*="widget"] {
  background: var(--archive-ceiling) !important;
  border: 1px solid var(--archive-ceiling-dark) !important;
  color: var(--archive-page-ink) !important;
}

/* Status indicators */
.status-up, .up, [class*="up"] { color: var(--archive-wall-base) !important; }
.status-down, .down, [class*="down"] { color: var(--archive-amber) !important; }

/* Search bar */
input[type=text], input[type=search], input {
  background: var(--archive-desk) !important;
  border: 1px solid var(--archive-ceiling-dark) !important;
  color: var(--archive-page-ink) !important;
  font-family: "IBM Plex Sans", system-ui, sans-serif !important;
}
input:focus {
  outline: none !important;
  border-color: var(--archive-page-ink) !important;
}

/* Section headers / group labels */
.category-title,
[class*="category"],
.group-title,
[class*="group-"] {
  color: var(--archive-page-ink-soft) !important;
  font-family: "IBM Plex Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--archive-ceiling-dark) !important;
}

/* Underlined header style (headerStyle: underlined in settings) */
[class*="underline"],
hr {
  border-color: var(--archive-ceiling-dark) !important;
}
