/* Aquamen Cleaning — monochrome brand layer. Load after the page styles.
   Component styles use neutralized source colors; this layer defines the
   intentional contrast hierarchy and the supplied logo treatment. */
:root {
  --navy: #111111;
  --navy2: #242424;
  --ink: #191919;
  --muted: #666666;
  --line: #dedede;
  --paper: #f5f5f5;
  --white: #ffffff;
  --teal: #181818;
  --teal-dark: #383838;
  --mint: #eeeeee;
  --orange: #666666;
  --amber: #484848;
  --red: #333333;
  --shadow: 0 2px 5px #00000008;
  color: var(--ink);
  background: var(--paper);
  color-scheme: light;
}
body { background: var(--paper); color: var(--ink); }
button:focus-visible, a:focus-visible, select:focus-visible,
input:focus-visible, textarea:focus-visible {
  outline: 3px solid #777777;
  outline-offset: 3px;
}
a, .text-btn, .back, .eyebrow { color: #242424; }
.btn { color: #242424; border-color: #d5d5d5; background: #ffffff; }
.btn:hover { background: #eeeeee; border-color: #9a9a9a; }
.btn.primary, .btn.dark { color: #ffffff; background: #161616; border-color: #161616; box-shadow: 0 2px 3px #00000012; }
.btn.primary:hover, .btn.dark:hover { background: #383838; border-color: #383838; }
.btn.danger { color: #222222; border-color: #777777; background: #ffffff; }
.btn.danger:hover { background: #eeeeee; }
input[type=checkbox], input[type=radio], .checklist input { accent-color: #191919; }
.field label, .field>label { color: #3e3e3e; }
.field small, .subtitle, .card-header p { color: #666666; }
input::placeholder, textarea::placeholder { color: #757575; opacity: 1; }
.bids-search:focus-within, .biz-search:focus-within { outline-color: #777777; }

/* The supplied mark has its own wordmark. Keep it whole and uncropped. */
.brand-logo-lockup { display: flex; flex-direction: column; align-items: center; gap: 10px; text-decoration: none; }
.aquamen-logo { display: block; width: 112px; height: 112px; object-fit: contain; flex-shrink: 0; filter: grayscale(1) contrast(1.15); mix-blend-mode: multiply; }
.brand-logo-lockup small { margin: 0; color: #666666; font-size: 9px; line-height: 1.5; letter-spacing: 1.8px; font-weight: 600; text-align: center; }
.sidebar .brand-logo-lockup { padding: 0 8px 17px; margin: 0 0 3px; }
.sidebar .aquamen-logo { width: 122px; height: 122px; }
.sidebar .aquamen-logo, .auth-story .aquamen-logo { filter: grayscale(1) contrast(1.15) invert(1); mix-blend-mode: screen; }
.sidebar .brand-logo-lockup small, .auth-story .brand-logo-lockup small { color: #bcbcbc; }
.auth-story .brand-logo-lockup { align-self: flex-start; padding: 0; }
.auth-story .aquamen-logo { width: 145px; height: 145px; }
header > .brand-logo-lockup { flex-direction: row; gap: 20px; padding: 0; color: #161616; }
header > .brand-logo-lockup .aquamen-logo { width: 88px; height: 88px; }
header > .brand-logo-lockup small { font-size: 10px; }

/* Navigation and authentication retain strong white-on-black contrast. */
.sidebar, .auth-story { background: #111111; color: #eeeeee; }
.brand-name, .brand-name span { color: #ffffff; }
.nav-label, .sidebar-footer small, .auth-foot { color: #a8a8a8; }
.nav-item { color: #bfbfbf; }
.nav-item:hover { background: #252525; color: #ffffff; }
.nav-item.active { background: #303030; color: #ffffff; box-shadow: inset 3px 0 #ffffff; }
.nav-item.active svg { color: #ffffff; }
.nav-item .count { background: #3b3b3b; border-color: #4b4b4b; color: #eeeeee; }
.workspace-card { background: #202020; border-color: #393939; }
.workspace-card strong, .sidebar-footer strong { color: #eeeeee; }
.workspace-card p { color: #b3b3b3; }
.workspace-card .dot { background: #e0e0e0; }
.sidebar .icon-btn { color: #cccccc; }
.sidebar .icon-btn:hover { color: #ffffff; }
.avatar { color: #343434; background: #e5e5e5; }
.sidebar .avatar { background: #3b3b3b; color: #ffffff; border-color: #646464; }
.auth-intro .eyebrow, .auth-benefits { color: #e0e0e0; }
.auth-intro>p { color: #c5c5c5; }
.auth-panel { background: #ffffff; }

/* Quiet surfaces, legible secondary text and consistent black accents. */
.topbar { background: #ffffffed; }
.card, .stat, .building-card, .person-card, .job-card, .biz-card, .bids-tile { background: #ffffff; border-color: #dedede; }
.shared-day, .target-card, .careers-link-card, .biz-dispatch-summary,
.biz-expense-summary, .apply-heading { background: #eeeeee; border-color: #d5d5d5; }
.shared-day p, .careers-link-card p, .careers-link-card small,
.target-card .eyebrow, .target-card .progress-meta,
.target-footer p, .target-card .target-value small { color: #626262; }
.target-footer strong, .biz-expense-summary strong { color: #222222; }
.stat:hover, .building-card:hover { border-color: #999999; }
.stat-top, .stat-bottom, .stat-bottom.positive, .stat-bottom.warning { color: #626262; }
.stat-icon, .stat.orange .stat-icon, .target-top .stat-icon,
.attention-icon, .attention-icon.red, .attention-icon.green,
.building-icon, .biz-client-icon, .biz-app-icon { background: #ededed; color: #4c4c4c; border-color: #d8d8d8; }
.attention-content p, .table-sub, .data-table th, .data-table td,
.detail-row, .detail-row strong, .task-info p, .task-due,
.timeline-item, .timeline-item small, .bottom-note,
.biz-label, .biz-connection-copy, .biz-connection-caption,
.bids-kpi>small, .bids-kpi>span, .bids-reference, .bids-tile>p,
.bids-tile-date, .bids-tile footer>span { color: #626262; }
.data-table th { background: #f7f7f7; }
.data-table tbody tr:hover { background: #f7f7f7; }
.tabs, .bids-tabs, .biz-tabs { background: #eaeaea; border-color: #d9d9d9; }
.tab, .bids-tabs button, .biz-tabs button { color: #606060; }
.tab.active, .bids-tabs button.active, .biz-tabs button.active { background: #ffffff; color: #171717; }
.bids-tabs button:focus-visible { outline-color: #777777; }
.kanban-column, .bids-column { background: #eeeeee; border-color: #dedede; }
.progress { background: #d8d8d8; }
.progress span, .session-status .dot { background: #333333; }
.coverage .mini-people span { background: #555555; }
.coverage .mini-people span.missing { background: #ffffff; border: 1px dashed #777777; }

/* Status words remain visible; borders/patterns add non-color distinctions. */
.badge, .badge.gray, .badge.blue, .pill { background: #eeeeee; color: #484848; }
.badge.green { background: #222222; color: #ffffff; }
.badge.amber { background: #e8e8e8; color: #333333; box-shadow: inset 0 0 0 1px #999999; }
.badge.red { background: #ffffff; color: #222222; outline: 1px dashed #777777; outline-offset: -1px; }
.task-due.late, .bids-tile-date.late { color: #222222; font-weight: 650; }
.demo-strip, .info-note.warning, .local-note, .bids-attention { background: #eeeeee; border-color: #bcbcbc; color: #414141; }
.demo-strip .text-btn { color: #222222; }
.form-error { background: #f4f4f4; border-color: #888888; color: #222222; }
.error { color: #222222; font-weight: 600; }
.success-icon { background: #242424; color: #ffffff; }
.bids-kpi.won { background: #f4f4f4; border-color: #999999; }
.bids-kpi.won>strong, .bids-kpi.attention>strong { color: #191919; }
.bids-chart .won, .bids-chart-legend .won { background: #222222; }
.bids-chart .lost, .bids-chart-legend .lost {
  background: repeating-linear-gradient(135deg, #c9c9c9, #c9c9c9 3px, #eeeeee 3px, #eeeeee 5px);
  border: 1px dashed #777777;
}
.bids-chart-month, .bids-chart-month>small, .bids-chart-legend { color: #626262; }
.bids-chart-month>strong { color: #333333; }
dialog::backdrop { background: #00000099; }

@media (max-width: 900px) {
  .auth-story .brand-logo-lockup { flex-direction: row; gap: 16px; }
  .auth-story .aquamen-logo { width: 90px; height: 90px; }
}
@media (max-width: 600px) {
  header > .brand-logo-lockup { gap: 12px; }
  header > .brand-logo-lockup .aquamen-logo { width: 70px; height: 70px; }
  header > .brand-logo-lockup small { font-size: 8px; letter-spacing: 1.4px; }
  .auth-story .aquamen-logo { width: 78px; height: 78px; }
  .sidebar .aquamen-logo { width: 105px; height: 105px; }
}
@media print {
  .aquamen-logo { filter: grayscale(1) contrast(1.15); mix-blend-mode: multiply; }
  .bids-chart .won, .bids-chart .lost { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Invoice output uses the same unaltered silhouette at a compact print size. */
.aquamen-invoice-logo { display: block; width: 76px; height: 76px; object-fit: contain; filter: grayscale(1) contrast(1.15); mix-blend-mode: multiply; }
.biz-invoice-brand > div:has(.aquamen-invoice-logo) { display: flex; align-items: center; gap: 14px; }
