
:root {
  --brand-ink: #0866ff; --brand: #0866ff; --brand-text: #ffffff; --brand-dark: #0652cc; --brand-tint: #e6f0ff;
  --dark: #17442a; --dark-text: #ffffff;
  --accent: #f50031; --accent-text: #1f1f1f;
  --aggregate: #d97706; --aggregate-text: #1f1f1f; --aggregate-tint: #fbf1e6;
  --concrete: #2563eb; --concrete-text: #ffffff; --concrete-tint: #e9effd;
  --lowbed: #7c3aed; --lowbed-text: #ffffff; --lowbed-tint: #f2ebfd;
}

/* Django admin */
:root, html[data-theme="light"] {
  --primary: #0866ff; --primary-fg: #ffffff; --secondary: #17442a; --accent: #f50031;
  --header-bg: #17442a; --header-color: #ffffff; --header-branding-color: #f50031;
  --header-link-color: #ffffff;
  --breadcrumbs-bg: #0866ff; --breadcrumbs-fg: #ffffff; --breadcrumbs-link-fg: #ffffff;
  --link-fg: #0866ff; --link-hover-color: #17442a; --link-selected-fg: #0866ff;
  --button-bg: #0866ff; --button-fg: #ffffff; --button-hover-bg: #0652cc;
  --default-button-bg: #17442a; --default-button-hover-bg: #113320;
  --object-tools-bg: #17442a; --object-tools-hover-bg: #0866ff;
}

/* Header bar on every page */
header { background: var(--dark) !important; color: var(--dark-text) !important; border-bottom: 4px solid var(--accent); }
header h1 { color: var(--accent) !important; }
.brand-logo { height: 34px; width: auto; background: transparent; padding: 3px 6px; border-radius: 4px; margin-right: 6px; }
header h1::before { content: "Canopy Builds \00b7 "; }
header button, header input, header select, header .btn {
  background: rgba(255, 255, 255, .12) !important; border-color: rgba(255, 255, 255, .28) !important;
  color: var(--dark-text) !important; }
header select option { background: #ffffff; color: #111827; }
header #newbtn { background: var(--brand) !important; border-color: var(--brand) !important; color: var(--brand-text) !important; }

/* Buttons and links */
.btn-primary { background: var(--brand) !important; color: var(--brand-text) !important; }
.link, .edit { color: var(--brand) !important; }
.cell.empty .add { color: var(--brand) !important; }
.pill.on { background: var(--dark) !important; border-color: var(--dark) !important; color: var(--dark-text) !important; }
#banner { background: var(--brand) !important; color: var(--brand-text) !important; }
#banner button { border-color: var(--brand-text) !important; color: var(--brand-text) !important; }
.res.armed { outline-color: var(--brand) !important; background: var(--brand-tint) !important; }
.card.moving { outline-color: var(--accent) !important; }
.job.sel { border-color: var(--brand) !important; background: var(--brand-tint) !important; }

/* Delivery types: board cards, badges, timeline blocks, pop-up tabs */
.card.aggregate { border-left-color: var(--aggregate) !important; background: var(--aggregate-tint) !important; }
.card.concrete { border-left-color: var(--concrete) !important; background: var(--concrete-tint) !important; }
.card.lowbed { border-left-color: var(--lowbed) !important; background: var(--lowbed-tint) !important; }
.badge.aggregate { background: var(--aggregate) !important; color: var(--aggregate-text) !important; }
.badge.concrete { background: var(--concrete) !important; color: var(--concrete-text) !important; }
.badge.lowbed { background: var(--lowbed) !important; color: var(--lowbed-text) !important; }
.blk.aggregate { border-left-color: var(--aggregate) !important; background: var(--aggregate-tint) !important; }
.blk.concrete { border-left-color: var(--concrete) !important; background: var(--concrete-tint) !important; }
.blk.lowbed { border-left-color: var(--lowbed) !important; background: var(--lowbed-tint) !important; }
.seg button.on[data-type="aggregate"] { background: var(--aggregate) !important; border-color: var(--aggregate) !important; color: var(--aggregate-text) !important; }
.seg button.on[data-type="concrete"] { background: var(--concrete) !important; border-color: var(--concrete) !important; color: var(--concrete-text) !important; }
.seg button.on[data-type="lowbed"] { background: var(--lowbed) !important; border-color: var(--lowbed) !important; color: var(--lowbed-text) !important; }

/* More of the company color: headings, table headers, active tabs */
.wrap h2, .wrap h3, main h2, main h3, section > h2, .sec { color: var(--brand-ink) !important; }
th { color: var(--brand-ink) !important; }
.tabs button.on, .pill.on, .seg button.on:not([data-type]) {
  background: var(--brand) !important; border-color: var(--brand) !important; color: var(--brand-text) !important; }

/* Dark mode (each person's choice: html.dk) */
html.dk { color-scheme: dark;
  --dk-bg: #0f1216; --dk-surface: #181c22; --dk-raised: #1e232a; --dk-chip: #2a3039; --dk-text: #e6e8eb;
  --dk-line: #2a3039; --dk-line2: #3a414c;
  --brand-tint: #143160; --brand-ink: #77abff;
  --aggregate-tint: #42301c; --concrete-tint: #1b2c4e; --lowbed-tint: #2e234f; }
@media screen {
html.dk body { background: var(--dk-bg) !important; color: var(--dk-text) !important; }
html.dk input, html.dk select, html.dk textarea { background-color: var(--dk-bg) !important; color: var(--dk-text) !important;
  border-color: var(--dk-line2) !important; }
html.dk input::placeholder, html.dk textarea::placeholder { color: #6b7280 !important; }
html.dk table, html.dk td { border-color: var(--dk-line) !important; }
html.dk img:not(.brand-logo), html.dk video, html.dk canvas, html.dk iframe { filter: brightness(.92); }
html.dk [style*="background:#fff"], html.dk [style*="background: #fff"], html.dk [style*="background:white"] { background: var(--dk-surface) !important; }
html.dk [style*="background:#f9fafb"], html.dk [style*="background:#f3f4f6"] { background: var(--dk-raised) !important; }
html.dk [style*="color:#111827"], html.dk [style*="color: #111827"], html.dk [style*="color:#1f2937"], html.dk [style*="color:#111"] { color: var(--dk-text) !important; }
html.dk [style*="color:#374151"], html.dk [style*="color:#4b5563"] { color: #c5cad3 !important; }
html.dk [style*="color:#6b7280"] { color: #9ca3af !important; }
html.dk [style*="border:1px solid #e5e7eb"], html.dk [style*="border:1px solid #d1d5db"] { border-color: var(--dk-line2) !important; }
}
