/* Soft charcoal surfaces retain the portal's existing layout and green accents. */
.brand.brand-logo { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.brand-logo img { display: block; width: 156px; height: 72px; object-fit: contain; background: #fff; border-radius: 6px; padding: 8px; }
.brand.brand-logo span { font-size: 11px; letter-spacing: .02em; line-height: 1.4; margin: 0; font-weight: 500; }
.sign-in-brand .brand-logo img { width: 200px; height: 92px; }
.sign-in-brand .brand.brand-logo span { font-size: 14px; letter-spacing: .02em; }

@media screen {
  :root {
    color-scheme: dark;
    color: #e8eeeb;
    background: #252e31;
    --ink: #a2ceb5;
    --muted: #b0bdb8;
    --line: #465255;
    --paper: #303b3e;
    --surface: #303b3e;
    --canvas: #252e31;
    --accent: #a2ceb5;
  }
  body, .sign-in-page, .login-page { background: var(--canvas); }
  .sidebar { background: #20292c; overflow-y: auto; }
  .topbar { background: #2a3437; }
  .brand, .breadcrumb strong, label, dialog.card, .empty-state strong { color: #e8eeeb; }
  .nav-label, .nav-link, .eyebrow, .workspace-footer, .activity-row time,
  .sign-in-help, .sign-in-layout footer, .hero-description { color: var(--muted); }
  .hero h1 em, .sign-in-icon, .metric .icon, .section-title > .icon,
  .quick-workflows .icon, .activity-row .icon, .empty-state .icon,
  td .record-link { color: var(--accent); }
  .primary, .nav-link.active { background: #a2ceb5; color: #172b23; border-color: #a2ceb5; }
  .primary:hover { background: #b4ddc6; }
  .secondary, .skip-link { background: #354144; color: #e8eeeb; }
  .secondary:hover, .nav-link:hover, tbody tr:hover { background: #3c4a4c; color: #eef3f0; }
  input, select, textarea, .catalog-dialog textarea {
    background: #263235; color: #e8eeeb; border-color: var(--line);
  }
  input::placeholder, textarea::placeholder { color: #a9b9b2; opacity: 1; }
  input:disabled, select:disabled, .workstation-selectors select:disabled {
    background: #2b3739; color: #bac6c0;
  }
  input[type="checkbox"] { accent-color: var(--accent); }
  .metric { background: var(--paper); }
  th, .gi-table-wrap th { background: #2b3538; color: #c5d1cb; }
  th, td, .quick-workflows a, .activity-row, .journey-steps details { border-color: var(--line); }
  .gi-table-wrap tbody tr:nth-child(even) { background: #334043; }
  .gi-table-wrap tbody tr:hover { background: #3c4a4c; }
  .overview-banner, .workflow-card, .journey, .setup, .item,
  .import-panel, .upload-area, .zpl-preview { background: #344344; border-color: var(--line); }
  .workflow-card:hover { background: #405153; }
  .workflow-printing { background: #355a4e; color: #edf5f0; }
  .workflow-printing:hover { background: #416b5d; }
  .workflow-printing p { color: #c6d8ce; }
  .banner-art { background: #3d4d4b; border-color: #63796c; box-shadow: 8px 12px 0 #243331; }
  .brand-square, .avatar { background: #3c5149; color: #deece3; border-color: #526c5f; }
  .notice, .status, .pill { background: #3a4943; color: #d3e0d8; border-color: #52655a; }
  .status.ok, .pill.confirmed, .result { background: #2d5041; color: #c0e5cf; }
  .server-status.ok { color: #a2d6b7; }
  .server-status.warn { color: #efcb8b; }
  .status.warn, .pill.pending, .gi-outstanding { background: #574731; color: #f3d6a0; }
  .notice.error, .result.error, .pill.failed, .pill.cancelled { background: #573d3a; color: #f4b9ae; border-color: #80534b; }
  .login-error { color: #f4b9ae; }
  dialog::backdrop { background: #101719aa; }
  .label-art { color: #233b37; }
  .hero-art { color: #233b37; }
}
