/* =====================================================================
   PrivaNex brand layer  ·  v1.0.0  ·  PrivaNex CSS patch (18 Oct 2026)
   Shieldbyte Infosec Pvt. Ltd.  ·  CONFIDENTIAL
   Loaded after the design system (app.css) and the patch stylesheets on every screen. It re-points the design tokens
   and the few hard-coded brand colours to the PrivaNex brand suite and sets the PrivaNex logo slots.
     Primary blue  #10458F   Orange  #FF791F   Dark navy  #092C65
     Neutrals      #F5F7FA (page)  #D9E1EA (lines)  #243247 (text)      Typeface  Outfit (self-hosted, unchanged)
   Light and dark themes; every text / background token pair meets WCAG 2.2 AA (4.5 : 1), inputs and focus 3 : 1.
   Remove this file (and its <link>) to return to the previous colours.
   ===================================================================== */

/* ---------- 1. Design tokens and brand colours (generated from the compiled design system) ---------- */
:root{--dpc-blue-900:#092C65;--dpc-blue-800:#10458F;--dpc-blue-600:#1A56B0;--dpc-blue-100:#E8EFF9;--dpc-orange-600:#FF791F;--dpc-orange-700:#B84E05;--dpc-orange-50:#FFF1E6;--bg:#F5F7FA;--surface-2:#E8EFF9;--surface-warn:#FFF1E6;--text:#243247;--text-muted:#5A6779;--text-faint:#5F6D82;--border:#D9E1EA;--border-strong:#B9C6D6;--border-input:#77869B;--primary:#10458F;--primary-hover:#092C65;--link:#1A56B0;--accent:#FF791F;--accent-hover:#FF8E42;--on-accent:#092C65;--accent-ink:#B84E05;--focus:#1A56B0;--nav-bg:#092C65;--nav-bg-2:#10458F;--nav-text:#C7D6EE;--nav-faint:#A9BCD9;--warning:#B84E05;--warning-bg:#FFF1E6;--info:#1A56B0;--info-bg:#E8EFF9;--neutral:#5A6779;--neutral-bg:#EEF2F8;--risk-low:#DCE8F8;--risk-low-ink:#12417F;--if-delivery:#1A56B0;--if-spoc:#10458F;--shadow-1:0 1px 2px rgba(16,69,143,.06), 0 1px 1px rgba(16,69,143,.04);--shadow-2:0 8px 24px rgba(16,69,143,.12);--scrim:rgba(5,15,34,.55)}
@media (prefers-color-scheme:dark){
:root:not([data-theme=light]){--bg:#071630;--surface:#0C1F3F;--surface-2:#12294F;--text:#E6EDF7;--text-muted:#A9BCD9;--text-faint:#8A9EC0;--border:#1F3B66;--border-strong:#2A4C7E;--border-input:#5677A8;--primary:#2A66C4;--primary-hover:#2459AD;--link:#8DB6F2;--accent:#FF791F;--accent-hover:#FF8E42;--accent-ink:#FFB07A;--focus:#FF8E42;--nav-bg:#050F22;--nav-bg-2:#0A1B38;--nav-text:#A9BCD9;--nav-faint:#8A9EC0;--warning:#FFB07A;--info:#8DB6F2;--info-bg:#12294F;--neutral:#A9BCD9;--neutral-bg:#172A47;--risk-low:#17345E;--risk-low-ink:#C5D9F5;--f-med:#FFB07A;--if-delivery:#8DB6F2;--if-spoc:#A3C2EE}
}
:root[data-theme=dark]{--bg:#071630;--surface:#0C1F3F;--surface-2:#12294F;--text:#E6EDF7;--text-muted:#A9BCD9;--text-faint:#8A9EC0;--border:#1F3B66;--border-strong:#2A4C7E;--border-input:#5677A8;--primary:#2A66C4;--primary-hover:#2459AD;--link:#8DB6F2;--accent:#FF791F;--accent-hover:#FF8E42;--accent-ink:#FFB07A;--focus:#FF8E42;--nav-bg:#050F22;--nav-bg-2:#0A1B38;--nav-text:#A9BCD9;--nav-faint:#8A9EC0;--warning:#FFB07A;--info:#8DB6F2;--info-bg:#12294F;--neutral:#A9BCD9;--neutral-bg:#172A47;--risk-low:#17345E;--risk-low-ink:#C5D9F5;--f-med:#FFB07A;--if-delivery:#8DB6F2;--if-spoc:#A3C2EE}
.dpc-tenant option{color:#243247}
.dpc-search input{color:#243247}
.dpc-search svg{color:#5A6779}
.dpc-gantt .bar.phase{fill:var(--dpc-blue-600, #1A56B0)}
.dpc-gantt .bar.task{fill:var(--info, #1A56B0)}
.dpc-scanner__grade{background:#10458F}
.dpc-table tr.is-team td:first-child{box-shadow:inset 3px 0 0 var(--accent, #FF791F)}
.dpc-auth__brand{background-image:radial-gradient(55% 45% at 88% 8%,rgba(255,121,31,.2),transparent 70%),radial-gradient(60% 55% at 0% 100%,rgba(26,86,176,.42),transparent 72%),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 56px),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 56px),linear-gradient(155deg,#10458F,#092C65 70%)}
.dpc-auth__brand p{color:#C7D5EA}
.dpc-auth__points{color:#E3EBF7}
.dpc-cert{--cert-navy:#10458F;--cert-ink:#092C65;--cert-orange:#FF791F;--cert-orange-ink:#B84E05}
.dpc-cert__frame{background-image:radial-gradient(42% 52% at 0% 0%,rgba(16,69,143,.07),transparent 70%),radial-gradient(42% 52% at 100% 100%,rgba(255,121,31,.09),transparent 70%),repeating-linear-gradient(45deg,rgba(16,69,143,.022) 0 1px,transparent 1px 1.1cqi),repeating-linear-gradient(-45deg,rgba(16,69,143,.022) 0 1px,transparent 1px 1.1cqi)}
.dpc-cert__x{background:#C4D0E0}
.dpc-cert__meta div{border-top:1px solid #C4D0E0}
.dpc-cert__qr{border:1px solid #C4D0E0}
.dpc-rsheet{--rs-blue:#10458F;--rs-ink:#243247;--rs-muted:#5A6779;--rs-orange:#FF791F;--rs-line:#D9E1EA;--rs-tint:#EDF2FA}
.dpc-rsheet__kicker{color:#B84E05}
.dpc-rsheet__conf{color:#B84E05 !important}
.dpc-rsheet__section h3 span{color:#092C65}
.dpc-docs__nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent, #FF791F)}

/* ---------- 2. PrivaNex logo slots ----------
   The product logo (brand/privanex-on-dark.png, 4.4 : 1) replaces the Shieldbyte logo and the "ShieldDPC" word in the
   top bar of the System Admin and Delivery Team interfaces, and in client interfaces that use the platform logo.
   Client logos keep their own slot (.dpc-logo-plate) and are not changed. */
.dpc-brand--shieldbyte .dpc-logo--full { height: 34px; max-width: 156px; }
.dpc-brand--shieldbyte .dpc-logo--mark { width: 30px; height: 30px; }
.dpc-brand__product { display: none; }
@media (min-width: 2400px) and (min-height: 1200px) { .dpc-brand--shieldbyte .dpc-logo--full { height: 38px; max-width: 172px; } }
@media (min-width: 3200px) and (min-height: 1600px) { .dpc-brand--shieldbyte .dpc-logo--full { height: 44px; max-width: 196px; } }
.dpc-public__brand .dpc-logo--auth, .dpc-docs__brand .dpc-logo--auth { height: 36px; max-width: 168px; }
.dpc-brandpick__preview .dpc-logo--bar { height: 36px; max-width: 168px; }

/* maker line under the logo (sign-in, sidebar foot, public pages) */
.dpc-pnx-by { font-size: var(--fs-2xs); letter-spacing: .04em; color: var(--text-faint); white-space: nowrap; }
.dpc-sidebar__foot .dpc-pnx-by, .dpc-auth__brand .dpc-pnx-by { color: var(--nav-faint); }

/* ---------- 3. Top bar and navigation accents ---------- */
.dpc-topbar { box-shadow: inset 0 -2px 0 var(--accent); }

/* ---------- 4. Sign-in panel ----------
   Navy panel in the PrivaNex blues with the logo and its tagline, and the second tagline in orange. All CSS (no inline
   style, CSP unchanged). */
.dpc-auth__brand .dpc-logo--auth { height: clamp(64px, 5.6vw, 128px); max-width: min(100%, 460px); }
.dpc-auth__tagline { color: var(--dpc-orange-600); font-weight: var(--fw-semibold); letter-spacing: .02em; font-size: clamp(var(--fs-sm), .95vw, 1.125rem); }

/* sign-in on phones and narrow tablets: one column, a compact brand band above the form (the two-column grid of
   the large-display rules used to win here and pushed the form off screen) */
@media (max-width: 860px) {
  .dpc-auth { grid-template-columns: minmax(0, 1fr); }
  .dpc-auth__brand { padding: var(--space-5) var(--space-4); }
  .dpc-auth__inner { gap: var(--space-3); justify-content: flex-start; }
  .dpc-auth__brand .dpc-logo--auth { height: 56px; max-width: 220px; }
  .dpc-auth__brand h1 { font-size: var(--fs-xl); max-width: none; }
  .dpc-auth__brand p:not(.dpc-auth__legal), .dpc-auth__points, .dpc-auth__legal { display: none; }
  .dpc-auth__form { padding: var(--space-5) var(--space-4); }
}

/* ---------- 5. Forced colours and print ---------- */
@media (forced-colors: active) { .dpc-topbar { box-shadow: none; } }
@media print { .dpc-topbar { box-shadow: none; } }
