/* ==========================================================================
   2G Energy Rental — unified brand layer

   Loaded LAST on every page in the hub, including the ported tools. Its job
   is to make five separately-built pages look like one product:

     1. One typeface — Noto Sans. Kills Barlow Condensed / Barlow / IBM Plex
        Mono, which only the LinkedIn kanban was using.
     2. One palette — Design System tokens. Re-points the kanban's lime /
        paper / charcoal at approved values.
     3. No underlines — no green underline device, no borders under headings,
        no underlined links. Table rules stay: those are structure, not
        decoration.
     4. Title Case instead of ALL CAPS. Handled by assets/brand.js, which
        flips computed `uppercase` to `capitalize` — that preserves MW, O&G,
        ERCOT, kW and every other acronym, which rewriting the text would not.

   Add both files to any new tool and it inherits the whole kit.
   ========================================================================== */

@import url('/assets/tokens.css');

/* ---- 1. One typeface -----------------------------------------------------
   Everything resolves to Noto Sans. Weight and style are left alone so bold
   stays bold and italic stays italic.
------------------------------------------------------------------------- */

html:not([data-page='kanban']) body,
html:not([data-page='kanban']) body *:not([class*='icon']):not(i) {
  font-family: var(--font-family) !important;
}

/* NO PAGE CLAIMS THIS EXEMPTION ANY MORE (2026-08-08).

   It existed for the static LinkedIn kanban, which kept Barlow Condensed
   because condensed type fit more copy per card. The Content Engine replaced
   that page and ships Noto Sans throughout, so nothing sets
   <html data-page="kanban"> and the rule above now applies everywhere.

   The escape hatch is left in place rather than deleted: it costs nothing,
   and it is the documented way to exempt a page that has earned a second
   face. If you are reading this looking for why a page is not Noto Sans,
   this is not the reason — no page is tagged. */

/* ---- 2. One palette ------------------------------------------------------
   The kanban declares these three in its own :root. Redefining them here
   re-skins that whole page without touching its markup.
------------------------------------------------------------------------- */

:root {
  --paper: var(--white);          /* was #F7F6F2 */
  --charcoal: var(--gray-80);     /* was #393A3D */
  --lime: var(--2g-green);        /* was #8FE800 — brand has no lime */
  --rule: var(--gray-40);
  --card: var(--white);
}

/* ---- 2b. One canvas, one text color, one H1 ------------------------------
   Before this the five pages disagreed: white vs #eceded canvases, #58585a
   vs pure black body text, and a 40px green H1 vs a 44px gray one.

   Settled on the pattern three of the five already used — a light gray
   canvas with white panels floating on it. Pure black is not in the palette.
------------------------------------------------------------------------- */

html {
  background: var(--gray-10);
}

html body {
  background: var(--gray-10) !important;
  color: var(--gray-80) !important;
}

h1 {
  font-size: var(--text-h1) !important;
  font-weight: var(--font-weight-bold) !important;
  color: var(--2g-green) !important;
  line-height: var(--leading-tight);
}

/* Panels read as white cards on the gray canvas. */
.card,
.kpi-pending,
.table-scroll,
.hub-tile,
.kanban .card,
.navbar,
.hub-bar {
  background: var(--white);
}

/* The hub's hero band was gray-on-white; on a gray canvas it becomes a white
   panel like every other card. */
.kpi-hero {
  background: var(--white) !important;
  border: var(--border-width) solid var(--gray-40);
}

/* ---- 3. No underlines ----------------------------------------------------
   Deliberately scoped to headings and known heading-ish elements. A blanket
   `border-bottom: none` would strip table row rules, which are structural.
------------------------------------------------------------------------- */

/* The green bar under H1s. */
.headline-underline::after {
  display: none !important;
}
.headline-underline {
  padding-bottom: 0 !important;
}

h1, h2, h3, h4, h5, h6,
header,
.colhead,
.vgroup__head,
.kpi-section__head,
.section-header,
.navbar,
.hub-bar {
  border-bottom: 0 !important;
  text-decoration: none !important;
}

/* Underline-as-emphasis anywhere. Buttons included: the Miner Calculator
   styles two link-style buttons with an inline `text-decoration: underline`,
   which only !important can beat. */
a,
a:hover,
button,
button:hover,
.navbar__links a,
.navbar__links a.active,
.hub-nav a {
  text-decoration: none !important;
}

/* The kanban marks O&G tags with a lime underline; the active PowerFlow tab
   with a green one. Both go. */
.tag.og,
.navbar__links a.active {
  border-bottom: 0 !important;
}

/* Losing the active-tab underline would leave no active state, so give it
   the same soft tint the hub nav uses. */
.navbar__links a.active {
  background: var(--light-green);
  color: var(--2g-green);
  border-radius: var(--radius-sm);
  padding: 0.35em 0.7em;
}

/* ---- 4. Section headings -------------------------------------------------
   With the rules gone, headings need a little air so sections still read as
   separate blocks.
------------------------------------------------------------------------- */

.kpi-section__head,
.vgroup__head {
  padding-bottom: var(--space-xs) !important;
}

/* ---- Kanban-specific cleanup --------------------------------------------
   Its chips used a lime left-edge; green reads as the accent now. Its cards
   and tags sat on the old paper tone.
------------------------------------------------------------------------- */

.chip {
  border-left-color: var(--2g-green) !important;
}

.tag {
  background: var(--gray-10) !important;
  border-color: var(--gray-40) !important;
}

.colbody.dragover {
  background: var(--light-green) !important;
  outline-color: var(--2g-green) !important;
}
