/* ===========================================================================
   Net Worth - the estate's tokens. Phase 2 of the merge, 2026-09-23.

   WHY THIS FILE EXISTS. Every one of the 26 page templates carried its OWN
   :root block - 16 distinct versions of it, already drifted apart (--ink and
   --muted each had two different values in circulation, --bad had two). There
   was no single place to change a colour, so they could only drift further.
   This is that place. It is linked LAST in every <head>, so it overrides each
   template's local copy without any of them having to be edited beyond the one
   include.

   WHAT CHANGED, AND WHAT DELIBERATELY DID NOT.

   Changed - the NEUTRALS and the TYPE, because those are what make two apps
   look like two products: the warm grey paper became the estate's sand, and
   Newsreader/IBM Plex Sans became Spectral/Public Sans, the pairing the portal
   and the trading journal already use. IBM Plex Mono stays; the journal uses it
   too.

   NOT changed - the SEMANTIC COLOURS. --msd, --personal, --pay, --edu,
   --takaful, --credit and the ok/warn/bad set encode WHOSE money it is and what
   kind. They are data, in the same way profit-green and loss-red are data in
   the journal, and flattening them into the house navy would destroy
   information to gain nothing. An estate that shares its neutrals and its type
   already reads as one product.

   Dark mode was already present and correctly guarded in 25 of the 29
   templates; those values are carried through here so the four that lacked it
   gain it for free.
   =========================================================================== */

:root {
  --accent: #254A7D;
  --accent-soft: #E4EBF4;
  --asset: #0F6B5C;
  --asset-soft: #E1EFEA;
  --bad: #9B2C2C;
  --credit: #737B86;
  --credit-soft: #EEEFF1;
  --edu: #6B4FA0;
  --edu-line: #C6B4DE;
  --edu-soft: #ECE5F5;
  --faint: #98A0AE;
  --flag: #8A6A00;
  --flag-soft: #FAF0D3;
  --hair: #E2D6C2;
  --ink: #22242A;
  --liab: #9B2C2C;
  --liab-soft: #F6E3E3;
  --line: #E2D6C2;
  --mono: "IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --msd: #0F6B5C;
  --msd-line: #9FC9BF;
  --msd-soft: #E1EFEA;
  --muted: #6B7280;
  --navy: #0F1F3D;
  --navy-light: #1C3159;
  --ok: #1E6B45;
  --paper: #F5EFE3;
  --pay: #254A7D;
  --pay-line: #A8BDD8;
  --pay-soft: #E4EBF4;
  --personal: #A2601C;
  --personal-line: #DDB588;
  --personal-soft: #F7EADA;
  --raise: #EFE7D6;
  --sand: #E8DCC8;
  --sand-light: #F5EFE3;
  --sans: "Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif: "Spectral",Georgia,"Times New Roman",serif;
  --shadow: 0 1px 2px rgba(15,31,61,.05), 0 8px 24px -18px rgba(15,31,61,.22);
  --sunk: #EFE7D6;
  --surface: #FFFFFF;
  --takaful: #1B6A7A;
  --takaful-line: #9BC9D2;
  --takaful-soft: #DCEEF1;
  --warn: #9A6B12;
}

/* The guard matters: an explicit light choice must still beat a dark OS. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --accent: #8FB4E3;
    --accent-soft: #182436;
    --asset: #63C9B2;
    --asset-soft: #13312C;
    --bad: #E08585;
    --credit: #8B939C;
    --credit-soft: #232829;
    --edu: #B99CE0;
    --edu-line: #4A3A66;
    --edu-soft: #241C33;
    --faint: #78839A;
    --flag: #E0BA58;
    --flag-soft: #2C2614;
    --hair: #26304A;
    --ink: #E8EAF0;
    --liab: #E08585;
    --liab-soft: #331A1A;
    --line: #26304A;
    --msd: #63C9B2;
    --msd-line: #2C5B52;
    --msd-soft: #13312C;
    --muted: #97A0B5;
    --navy: #8FB3E0;
    --navy-light: #B0CBEC;
    --ok: #5FBF8C;
    --paper: #0B1220;
    --pay: #8FB4E3;
    --pay-line: #33506F;
    --pay-soft: #182436;
    --personal: #E2A662;
    --personal-line: #61451F;
    --personal-soft: #31240F;
    --raise: #1B2437;
    --sand: #1B2437;
    --sand-light: #0B1220;
    --shadow: 0 1px 2px rgba(0,0,0,.45), 0 8px 24px -18px rgba(0,0,0,.75);
    --sunk: #1B2437;
    --surface: #141C2E;
    --takaful: #6FC7D9;
    --takaful-line: #2E5A66;
    --takaful-soft: #16303A;
    --warn: #D8AB55;
  }
}

:root[data-theme="dark"] {
    --accent: #8FB4E3;
    --accent-soft: #182436;
    --asset: #63C9B2;
    --asset-soft: #13312C;
    --bad: #E08585;
    --credit: #8B939C;
    --credit-soft: #232829;
    --edu: #B99CE0;
    --edu-line: #4A3A66;
    --edu-soft: #241C33;
    --faint: #78839A;
    --flag: #E0BA58;
    --flag-soft: #2C2614;
    --hair: #26304A;
    --ink: #E8EAF0;
    --liab: #E08585;
    --liab-soft: #331A1A;
    --line: #26304A;
    --msd: #63C9B2;
    --msd-line: #2C5B52;
    --msd-soft: #13312C;
    --muted: #97A0B5;
    --navy: #8FB3E0;
    --navy-light: #B0CBEC;
    --ok: #5FBF8C;
    --paper: #0B1220;
    --pay: #8FB4E3;
    --pay-line: #33506F;
    --pay-soft: #182436;
    --personal: #E2A662;
    --personal-line: #61451F;
    --personal-soft: #31240F;
    --raise: #1B2437;
    --sand: #1B2437;
    --sand-light: #0B1220;
    --shadow: 0 1px 2px rgba(0,0,0,.45), 0 8px 24px -18px rgba(0,0,0,.75);
    --sunk: #1B2437;
    --surface: #141C2E;
    --takaful: #6FC7D9;
    --takaful-line: #2E5A66;
    --takaful-soft: #16303A;
    --warn: #D8AB55;
}

/* --------------------------------------------------------------- the trail
   Every page says where it sits in the group, exactly as the portal and the
   journal do. Net Worth is MSD Proniaga's record, so the trail passes through
   that company rather than hanging off the portal root. */
.estate-crumbs {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
  font: 500 12px/1.4 var(--sans); color: var(--muted);
  max-width: 1240px; margin: 0 auto; padding: 14px 20px 0;
}
.estate-crumbs a { color: var(--muted); text-decoration: none;
                    border-bottom: 1px solid transparent; }
.estate-crumbs a:hover { color: var(--ink); border-bottom-color: var(--line); }
.estate-crumbs a:focus-visible { outline: 2px solid var(--navy);
                                  outline-offset: 2px; border-radius: 2px; }
.estate-crumbs .sep { opacity: .45; user-select: none; }
.estate-crumbs .here { color: var(--ink); font-weight: 600; }
