:root {
  --ink: #171719;
  --muted: #6f7178;
  --line: #e7e7e9;
  --bg: #f7f7f8;
  --green: #d72027;
  --pale: #fff0f1;
  --red: #c90d17;
}

aside { background: #171719; }
.brand img { width: 36px; height: 36px; border-radius: 9px; object-fit: cover; }
.brand span { display: none; }
nav a { color: #b8b8bd; }
nav a { display: flex; align-items: center; gap: 12px; }
nav a svg { width: 19px; height: 19px; flex: 0 0 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
nav a.active, nav a:hover { background: #d72027; }
.aside-bottom { border-top-color: #36363a; }
.aside-bottom .avatar { background: #343438; }
.aside-bottom small { color: #9b9ba1; }
.primary { box-shadow: 0 4px 12px rgba(215, 32, 39, .18); }
.primary:hover { background: #cf0e18; }

/* Keep financial meaning distinct from the red brand accent. */
.positive { color: #16805c; }
.pill.payment { background: #eaf7f2; color: #16805c; }
.category.missing { color: #a86712; }

.drop-zone { border-color: #efb8bc; background: #fffafa; }
.drop-zone.dragging { background: #fff0f1; }
.view-toggle { background: #eeeeef; }
.file-card:hover { border-color: #efb8bc; box-shadow: 0 8px 24px rgba(23, 23, 25, .07); }
.folder-icon, .well-mark { background: #fff0f1; }

@media (max-width: 900px) {
  .brand img { width: 34px; height: 34px; }
  nav a { justify-content: center; gap: 0; }
  nav a svg { width: 20px; height: 20px; }
}
