/* Last stylesheet. Every page uses the Day desk / Night desk roles.
   :root is specific enough to beat feature sheets, and this file loads after them. */

:root {
  background: var(--nd-bg);
  color: var(--nd-text);
  font-family: var(--nd-font);
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: -0.011em;
  accent-color: var(--nd-mark);
  scrollbar-color: var(--nd-line-strong) var(--nd-bg);
}
:root body {
  background: var(--nd-bg) !important;
  color: var(--nd-text) !important;
  font-family: var(--nd-font) !important;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: -0.011em;
  /* Firm accent stays the inline --brand / --brand-800 / --brand-tint from ui_brand.
     Canvas, ink, and the desk mark do not follow that accent. White label ink is
     the pairing the buttons used on the firm fill; the default #08689c clears
     about 6:1 with it. A lighter firm accent would not. */
  --accent: var(--brand);
  --brand-ink: #ffffff;
  --bg: var(--nd-bg) !important;
  --panel: var(--nd-raised) !important;
  --panel-2: var(--nd-overlay) !important;
  --ink: var(--nd-text) !important;
  --fg: var(--nd-text) !important;
  --muted: var(--nd-text-3) !important;
  --muted-2: var(--nd-text-3) !important;
  --line: var(--nd-line) !important;
  --line-2: var(--nd-line) !important;
  --chip: var(--nd-overlay) !important;
  --card: var(--nd-raised) !important;
  --border: var(--nd-line) !important;
  --font: var(--nd-font) !important;
  --font-heading: var(--nd-font) !important;
  --font-fact: var(--nd-mono) !important;
  --ni-blue: var(--nd-text) !important;
  --ni-ink: var(--nd-text) !important;
  --ni-muted: var(--nd-text-3) !important;
  --ni-line: var(--nd-line) !important;
  --ni-paper: var(--nd-raised) !important;
  --scia-ink: var(--nd-text) !important;
  --scia-muted: var(--nd-text-3) !important;
  --scia-teal: var(--nd-text-2) !important;
  --scia-accent: var(--nd-mark) !important;
  --scia-line: var(--nd-line) !important;
  --scia-paper: var(--nd-raised) !important;
  --scia-tint: var(--nd-overlay) !important;
  --scia-focus: var(--nd-mark) !important;
}
:root body,
:root button,
:root input,
:root select,
:root textarea,
:root h1,
:root h2,
:root h3,
:root h4,
:root .pe-product-name,
:root .brand .title {
  font-family: var(--nd-font);
}
:root h1,
:root .mhead h1,
:root .home-head h2,
:root .pe-account-heading {
  font-size: 22px;
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--nd-text);
}
:root h2 { font-size: 16px; font-weight: 650; letter-spacing: -0.015em; line-height: 1.3; color: var(--nd-text); }
:root h3,
:root h4 { font-size: 13px; font-weight: 650; line-height: 1.35; color: var(--nd-text); }
:root p,
:root li,
:root label,
:root td,
:root th { color: inherit; }
:root a { color: var(--nd-text-2); }
:root a:hover { color: var(--nd-text); }
:root ::placeholder { color: var(--nd-text-3); }
:root :focus-visible {
  outline: 2px solid var(--nd-mark) !important;
  outline-offset: 2px;
}
:root * { scrollbar-color: var(--nd-line-strong) var(--nd-bg); }

:root body main,
:root .main,
:root .wrap { background: transparent; color: inherit; min-width: 0; }
:root body header,
:root .topbar,
:root .sidebar,
:root .card,
:root .drawer,
:root .palette,
:root section,
:root article,
:root .field-card,
:root .toast {
  background-color: var(--nd-raised);
  color: var(--nd-text);
  border-color: var(--nd-line);
  box-shadow: none;
}
:root .sidebar,
:root .topbar { color: var(--nd-text-2); }
:root .nav-item,
:root .sidebar .nav-item {
  background: transparent !important;
  color: var(--nd-text-3) !important;
  border-color: transparent !important;
  box-shadow: none;
  font-size: 13px;
  font-weight: 510;
}
:root .nav-item.is-active,
:root .sidebar #nav .nav-item.is-active {
  background: var(--nd-overlay) !important;
  color: var(--nd-text) !important;
  box-shadow: inset 2px 0 0 var(--nd-mark) !important;
}
:root .nav-count,
:root .nav-badge { color: var(--nd-text-3); background: transparent; }
:root .rail-footer,
:root .hint,
:root .muted,
:root .sub { color: var(--nd-text-3); }

:root button,
:root .btn,
:root input,
:root select,
:root textarea { font-size: 13px; }
:root button,
:root .btn,
:root .md-button {
  background: var(--nd-overlay);
  color: var(--nd-text);
  border: 1px solid var(--nd-line);
  border-radius: var(--nd-radius);
}
:root button[type="submit"]:not(.pp-armed):not(.danger):not(.ni-danger):not(.btn-danger),
:root .btn:not(.secondary):not(.quiet):not(.ghost):not(.linkish):not(.pp-armed):not(.danger):not(.ni-danger):not(.btn-danger),
:root button.ni-primary,
:root .ui-create-matter {
  background: var(--nd-accent) !important;
  color: var(--nd-accent-ink) !important;
  border-color: var(--nd-accent) !important;
}
:root .pp-armed,
:root .btn.danger,
:root button.danger,
:root .btn-danger,
:root button.ni-danger,
:root .ni-danger {
  background: var(--nd-danger) !important;
  color: var(--nd-danger-ink) !important;
  border-color: var(--nd-danger) !important;
}
:root .btn.secondary,
:root .btn.quiet,
:root .btn.ghost,
:root button.ghost {
  background: var(--nd-overlay) !important;
  color: var(--nd-text) !important;
  border-color: var(--nd-line) !important;
}
:root .btn.quiet,
:root .btn.ghost,
:root button.ghost { background: transparent !important; }
:root input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="range"]):not([type="color"]),
:root select,
:root textarea {
  background: var(--nd-input);
  color: var(--nd-text);
  border: 1px solid var(--nd-line-strong);
  border-radius: var(--nd-radius);
}
:root table { color: inherit; border-collapse: collapse; max-width: 100%; }
:root th,
:root td { border-bottom: 1px solid var(--nd-line); }
:root .badge,
:root .pill,
:root .tag { background: var(--nd-overlay); color: var(--nd-text-2); border-color: var(--nd-line); }
:root .pe-logo { width: 28px; height: 28px; border-radius: 6px; box-shadow: 0 0 0 2px var(--brand); }
:root .pe-product-name { font-size: 14px; font-weight: 650; letter-spacing: -0.02em; color: var(--nd-text); }
:root .pe-firm-name,
:root .brand .firm { color: var(--nd-text-3); font-size: 12px; }
:root .scrim { background: color-mix(in srgb, #000 45%, transparent); }
:root .toast { border: 1px solid var(--nd-line); color: var(--nd-text); background: var(--nd-raised); }
:root .toast-err { border-color: var(--nd-danger); color: var(--nd-danger); }
:root .toast-ok { border-color: var(--nd-ok); }
:root .account-page .card,
:root .legal-page .card { box-shadow: none; }
:root .draft { background: var(--nd-overlay); color: var(--nd-warn); border: 1px solid var(--nd-line); }
:root .err,
:root .error { color: var(--nd-danger); }
:root .nd-theme-float {
  position: fixed;
  right: 12px;
  bottom: 12px;
  z-index: 40;
  display: flex;
  gap: 4px;
  padding: 4px;
  background: var(--nd-raised);
  border: 1px solid var(--nd-line);
  border-radius: 6px;
}
:root .nd-theme-float button {
  background: transparent !important;
  color: var(--nd-text-3) !important;
  border: 0 !important;
  min-height: 28px;
  padding: 0 8px;
}
:root .nd-theme-float button[aria-checked="true"] {
  background: var(--nd-overlay) !important;
  color: var(--nd-text) !important;
  box-shadow: inset 0 -2px 0 var(--nd-mark);
}

@media (max-width: 900px) {
  :root select,
  :root textarea,
  :root input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]) {
    max-width: calc(100vw - 32px);
    min-width: 0 !important;
  }
  :root body,
  :root main,
  :root .layout,
  :root .nd-stage,
  :root .library-layout,
  :root .columns,
  :root .systems { min-width: 0; max-width: 100%; }
  :root .layout,
  :root .layout:has(.rail:not(:empty)),
  :root .nd-stage,
  :root .library-layout,
  :root .columns,
  :root .systems { grid-template-columns: minmax(0, 1fr) !important; }
  :root img,
  :root svg,
  :root pre,
  :root table { max-width: 100%; }
  :root pre,
  :root code { overflow-wrap: anywhere; }
  :root table { display: block; overflow-x: auto; }
}

@media print {
  :root,
  :root body { background: #fff !important; color: #14161a !important; }
  :root a { color: #14161a; }
  :root .nd-theme-float,
  :root .draft { display: none; }
}

/* The older workspace sheet sets 17–36px type at a specificity that beats
   the desk scale. These selectors sit last and name that sheet's rules. */
html body.pe-modern-workspace .home-head h2,
html body.pe-modern-workspace .mhead h1,
html body.pe-modern-workspace .pe-workspace-head h2,
html body .account-page h1,
html body .pe-account-heading {
  font-family: var(--nd-font) !important;
  font-size: 22px !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}
html body.pe-modern-workspace .card > h3,
html body.pe-modern-workspace .ui-queue-head h3,
html body.pe-modern-workspace .ui-next h3,
html body.pe-modern-workspace .ui-welcome h3,
html body.pe-modern-workspace .rail h4,
html body.pe-modern-workspace .md-safe-form .md-group legend {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}
html body.pe-modern-workspace .ui-stat strong {
  font-size: 22px !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em;
}
html body.pe-modern-workspace .ui-task-description,
html body.pe-modern-workspace .ui-task-name,
html body .account-page input,
html body .account-page button,
html body .anchors input,
html body .facts input,
html body .facts select,
html body .team-form input,
html body .team-form select {
  font-size: 13px !important;
}
html body .nd-rail h2 { font-size: 13px !important; }
html[data-theme="night"] { color-scheme: dark; }
html[data-theme="day"] { color-scheme: light; }
