/* Grade Helper v7 — official brand layer. Loaded last so the product keeps one codebase while the brand system stays easy to evolve. */
:root{
  --gh-obsidian:#111418;--gh-charcoal:#252A30;--gh-ivory:#F7F6F2;--gh-platinum:#C8CDD2;
  --gh-sapphire:#426F9E;--gh-sapphire-deep:#294E76;--gh-champagne:#B59868;--gh-champagne-soft:#EFE6D6;
  --vx-bg:#F7F6F2;--vx-bg-alt:#F0EFEA;--vx-surface:#FCFBF8;--vx-surface-2:#FFFFFF;--vx-surface-muted:#F1F0EC;
  --vx-ink:#111418;--vx-ink-soft:#30353A;--vx-muted:#687078;--vx-line:#DDDCD6;--vx-line-strong:#C9C7C0;
  --vx-navy:#111418;--vx-navy-2:#252A30;--vx-blue:#426F9E;--vx-blue-soft:#E6EDF4;--vx-teal:#547D85;--vx-teal-soft:#E5EEEE;
  --vx-gold:#B59868;--vx-gold-soft:#EFE6D6;--vx-success:#397A61;--vx-danger:#A2545E;--vx-ring:rgba(66,111,158,.25);
  --navy:var(--gh-obsidian);--navy2:var(--gh-charcoal);--blue:var(--gh-sapphire);--blue2:#6C8FB3;--gold:var(--gh-champagne);
  --sp-navy:var(--gh-obsidian);--sp-navy2:var(--gh-charcoal);--sp-blue:var(--gh-sapphire);--sp-gold:var(--gh-champagne);
}
html[data-theme="dark"]{
  --vx-bg:#0F1215;--vx-bg-alt:#15191D;--vx-surface:#1A1F24;--vx-surface-2:#20262C;--vx-surface-muted:#181D22;
  --vx-ink:#F1F0EC;--vx-ink-soft:#D4D6D8;--vx-muted:#A8AFB5;--vx-line:#30363C;--vx-line-strong:#41484F;
  --vx-navy:#F5F3ED;--vx-navy-2:#E3E0D8;--vx-blue:#7FA1C4;--vx-blue-soft:#223141;--vx-teal:#7FA0A4;--vx-teal-soft:#203235;
  --vx-gold:#C9AD7A;--vx-gold-soft:#3B3123;--vx-success:#6CAF91;--vx-danger:#D07A84;
}
html[data-comfort="true"]{--vx-bg:#F4F1EA;--vx-bg-alt:#EEEAE2;--vx-surface:#FAF8F3;--vx-ink:#202427;--vx-blue:#5C7895;--vx-gold:#9E875F}
html[data-theme="dark"][data-comfort="true"]{--vx-bg:#181A1C;--vx-bg-alt:#1D2022;--vx-surface:#232629;--vx-ink:#E7E3DA;--vx-blue:#8399AE;--vx-gold:#B7A27B}
body{background:radial-gradient(820px 500px at 92% -10%,rgba(181,152,104,.055),transparent 68%),radial-gradient(760px 440px at -12% 18%,rgba(66,111,158,.05),transparent 70%),var(--vx-bg)}
html[data-theme="dark"] body{background:radial-gradient(820px 500px at 92% -10%,rgba(201,173,122,.05),transparent 68%),radial-gradient(760px 440px at -12% 18%,rgba(127,161,196,.045),transparent 70%),var(--vx-bg)}
.nav{background:rgba(247,246,242,.9)!important;border-bottom-color:rgba(17,20,24,.09)!important}
html[data-theme="dark"] .nav{background:rgba(15,18,21,.90)!important;border-bottom-color:rgba(255,255,255,.09)!important}
.brand{gap:11px}.brand-name{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:900;letter-spacing:-.025em}.brand-name small{color:#7A7F84!important;letter-spacing:.14em!important}
.brand-mark.gh-mark,.premium-monogram.gh-mark{background:linear-gradient(145deg,#111418 0%,#292E34 70%,#414850 100%)!important;border:1px solid rgba(181,152,104,.45)!important;color:#F7F6F2!important;font-family:Georgia,"Times New Roman",serif!important;font-size:.88rem!important;letter-spacing:-.08em!important;box-shadow:0 10px 26px rgba(17,20,24,.18),inset 0 0 0 1px rgba(255,255,255,.08)!important}
.brand-mark.gh-mark::after{background:radial-gradient(circle,rgba(201,173,122,.34),transparent 72%)!important}
.btn-primary{background:linear-gradient(135deg,#294E76,#426F9E 58%,#506F8B)!important;border-color:rgba(41,78,118,.35)!important;box-shadow:0 10px 26px rgba(41,78,118,.20)!important}
.btn-primary:hover{box-shadow:0 14px 34px rgba(41,78,118,.25)!important}.nav-links a::after{background:linear-gradient(90deg,var(--gh-sapphire),var(--gh-champagne))!important}
.eyebrow{color:#3A6187!important;background:#E8EDF1!important}.eyebrow::before{background:var(--gh-champagne)!important}html[data-theme="dark"] .eyebrow{color:#B6C9DC!important;background:#242B31!important}
.gradient-text{background:linear-gradient(98deg,#294E76,#426F9E 48%,#9A8058 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
html[data-theme="dark"] .gradient-text{background:linear-gradient(98deg,#AFC4D8,#8FAFCF 50%,#D1B681 100%)!important;-webkit-background-clip:text!important;background-clip:text!important}
.hero{background:radial-gradient(650px 400px at 82% 15%,rgba(181,152,104,.10),transparent 68%),radial-gradient(620px 400px at 8% 20%,rgba(66,111,158,.09),transparent 70%),linear-gradient(180deg,#FBFAF6,#F3F1EB)!important}
html[data-theme="dark"] .hero{background:radial-gradient(650px 400px at 82% 15%,rgba(201,173,122,.07),transparent 68%),radial-gradient(620px 400px at 8% 20%,rgba(127,161,196,.07),transparent 70%),linear-gradient(180deg,#111418,#15191D)!important}
.gh-hero-signature{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;padding:8px 14px 8px 9px;margin-bottom:15px;border:1px solid rgba(17,20,24,.09);border-radius:17px;background:rgba(255,255,255,.68);box-shadow:0 10px 30px rgba(17,20,24,.06);backdrop-filter:blur(12px)}
.gh-hero-signature img{width:88px;height:54px;object-fit:contain;border-radius:10px;background:#fff}.gh-hero-signature small,.gh-hero-signature strong{display:block}.gh-hero-signature small{font-size:.59rem;letter-spacing:.15em;color:#747A80;font-weight:850}.gh-hero-signature strong{font-family:Georgia,"Times New Roman",serif;font-size:.92rem;margin-top:3px;color:#111418}
html[data-theme="dark"] .gh-hero-signature{background:rgba(30,35,40,.78);border-color:rgba(255,255,255,.09)}html[data-theme="dark"] .gh-hero-signature strong{color:#F5F3ED}
.workspace-sidebar,.premium-admin-side{background:linear-gradient(180deg,#111418 0%,#171B20 55%,#20262C 100%)!important}
.workspace-reference{border-color:rgba(201,173,122,.20)!important;background:rgba(255,255,255,.045)!important}.workspace-reference small{color:#D5BE92!important}
.workspace-nav button.active:before{background:var(--gh-champagne)!important}.workspace-mobile-nav{background:rgba(17,20,24,.96)!important;border:1px solid rgba(181,152,104,.18)}
.filter-chip.active{background:#111418!important;border-color:#111418!important}.bar-track i{background:linear-gradient(90deg,var(--gh-sapphire),var(--gh-champagne))!important}
.ops-pill i,.secure-dot{background:#69C99E!important}.premium-admin-side .brand-name small,.workspace-sidebar .brand-name small{color:#B9B5AA!important}
.trust-seal,.verify-seal,.sp3d-verification-seal,.sp3d-document-seal-mini{border-color:rgba(181,152,104,.48)!important;box-shadow:0 0 0 1px rgba(255,255,255,.04),0 18px 50px rgba(17,20,24,.18)!important}
.doc-mini-preview i,.mini-monogram,.mock-brand{font-family:Georgia,"Times New Roman",serif!important;letter-spacing:-.06em!important}
.gh-footer-logo{display:block;width:168px;max-width:100%;border-radius:14px;background:#fff;padding:8px;margin-bottom:12px;box-shadow:0 10px 25px rgba(0,0,0,.15)}
/* Mobile gets the same identity with a lighter visual load. */
@media(max-width:760px){
  .gh-hero-signature{width:100%;padding:8px 10px}.gh-hero-signature img{width:72px;height:46px}.gh-hero-signature strong{font-size:.84rem}
  .brand-name{font-size:.95rem}.brand-name small{font-size:.58rem!important}.brand-mark.gh-mark{width:38px!important;height:38px!important;min-width:38px!important}
  .workspace-mobile-nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important}
}
@media(prefers-reduced-motion:reduce){.gh-hero-signature{backdrop-filter:none}}
.gh-entry-lockup{display:block;width:190px;max-width:72%;margin:0 auto 18px;border-radius:15px;background:#fff;padding:10px;box-shadow:0 16px 38px rgba(17,20,24,.10);border:1px solid rgba(17,20,24,.07)}
.login-card .gh-entry-lockup{width:170px}.premium-entry .gh-entry-lockup{width:180px}
@media(max-width:760px){.gh-entry-lockup{width:150px;margin-bottom:14px}.gh-footer-logo{width:145px}}

/* Grade Helper v7.0.1 — exact official-logo integration.
   The supplied Grade Helper artwork is used as the canonical visible logo across public, client and admin UI. */
.gh-brand-lockup{
  display:block;width:94px;height:auto;max-height:58px;object-fit:contain;flex:0 0 auto;
  filter:none;transition:filter .2s ease,opacity .2s ease,transform .2s ease;
}
.gh-brand-context{
  display:block;font-size:.62rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;
  color:#747A80;font-weight:850;max-width:112px;white-space:normal;
}
.brand:has(.gh-brand-lockup){gap:10px;min-width:0}
html[data-theme="dark"] .gh-brand-lockup,
.footer .gh-brand-lockup,
.workspace-sidebar .gh-brand-lockup,
.premium-admin-side .gh-brand-lockup{filter:invert(1) brightness(1.14)}
html[data-theme="dark"] .gh-brand-context,
.footer .gh-brand-context,
.workspace-sidebar .gh-brand-context,
.premium-admin-side .gh-brand-context{color:#C5C1B8}
.workspace-sidebar .brand:has(.gh-brand-lockup),.premium-admin-side .brand:has(.gh-brand-lockup){align-items:center;gap:8px}
.workspace-sidebar .gh-brand-lockup,.premium-admin-side .gh-brand-lockup{width:118px;max-height:74px}
.workspace-sidebar .gh-brand-context,.premium-admin-side .gh-brand-context{text-align:center;max-width:150px;font-size:.58rem}
.footer .brand:has(.gh-brand-lockup){align-items:center}
.footer .gh-brand-lockup{width:112px;max-height:70px}
.verify-brand .gh-brand-lockup{width:112px;max-height:70px}
.login-card .brand:has(.gh-brand-lockup),.premium-entry .brand:has(.gh-brand-lockup){justify-content:center;margin-bottom:10px}
.login-card .gh-brand-lockup,.premium-entry .gh-brand-lockup{width:112px;max-height:70px}
.login-card .gh-brand-context,.premium-entry .gh-brand-context{text-align:left}

/* Exact supplied artwork in hero/entry/footer applications; transparent background keeps dark/light modes clean. */
.gh-entry-lockup,.gh-footer-logo,.gh-hero-signature img{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;object-fit:contain}
.gh-entry-lockup{width:210px!important;max-width:78%!important}
.gh-footer-logo{width:178px!important;filter:invert(1) brightness(1.14)}
html[data-theme="dark"] .gh-hero-signature img{filter:invert(1) brightness(1.14)}

/* Exact logo artwork inside dimensional brand objects. */
.gh-orb-logo{position:relative;z-index:2;width:72px;height:auto;filter:invert(1) brightness(1.14);object-fit:contain}
.sp3d-monogram-orb small{z-index:2}
.sp3d-doc-logo{overflow:hidden;padding:3px!important}
.sp3d-doc-logo img{width:100%;height:100%;object-fit:contain}
html[data-theme="dark"] .sp3d-doc-logo img{filter:invert(1) brightness(1.12)}
.sp3d-shield-inner img{width:48px;height:auto;object-fit:contain;filter:none}
.mini-monogram img{width:27px;height:auto;object-fit:contain}
.gh-orbit-logo{display:block;width:94px;max-width:80%;height:auto;margin:0 auto 5px;object-fit:contain}
html[data-theme="dark"] .gh-orbit-logo{filter:invert(1) brightness(1.14)}
.gh-seal-logo{position:relative;z-index:2;width:58px;max-width:72%;height:auto;object-fit:contain}
.sp3d-document-seal-mini .gh-seal-logo{width:48px}
.sp3d-verification-seal .gh-seal-logo{width:58px}
.trust-seal .gh-seal-logo{width:60px}
.doc-mini-preview i{width:31px;height:22px;display:grid;place-items:center}
.doc-mini-preview i img{width:31px;height:auto;object-fit:contain}
html[data-theme="dark"] .doc-mini-preview i img{filter:none}

/* The old CSS-generated GH badges are no longer used for primary brand identity. */
.brand-mark.gh-mark,.premium-monogram.gh-mark{display:none!important}

@media(max-width:760px){
  .gh-brand-lockup{width:80px;max-height:50px}.gh-brand-context{font-size:.52rem;max-width:92px}
  .nav-wrap{height:72px}.nav .brand:has(.gh-brand-lockup){gap:7px}
  .workspace-sidebar .gh-brand-lockup,.premium-admin-side .gh-brand-lockup{width:102px}
  .gh-entry-lockup{width:168px!important}.gh-footer-logo{width:150px!important}
  .gh-orb-logo{width:52px}.sp3d-monogram-orb small{bottom:7px;font-size:.4rem}
  .gh-orbit-logo{width:78px}.gh-seal-logo{width:50px}
}


/* Grade Helper v16.1 — trademark branding is embedded in the two canonical
   logo PNG assets used by the website. This guarantees every rendered logo instance
   carries the same TM mark without duplicate HTML overlays. */
