@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap");

/*
 * LYNQ Academy Design System v3.0
 *
 * Canonical visual bridge for public, learner, authentication, administration,
 * operations and verification surfaces. The file is loaded last so historical
 * page bundles keep their layout while inheriting the current Academy identity.
 */

:root {
  color-scheme: light;

  /* Canonical palette from the redesigned Academy entry journeys. */
  --lynq-cream: #f6f0e5;
  --lynq-cream-deep: #eee4d5;
  --lynq-paper: #fffaf2;
  --lynq-paper-strong: #fffdf8;
  --lynq-navy: #092742;
  --lynq-navy-deep: #061b2d;
  --lynq-text: #243b4d;
  --lynq-muted: #5f6972;
  --lynq-muted-strong: #52616d;
  --lynq-line: rgba(9, 39, 66, .14);
  --lynq-line-strong: rgba(9, 39, 66, .26);
  --lynq-orange: #f04a24;
  --lynq-orange-dark: #d93b18;
  --lynq-orange-deep: #c93715;
  --lynq-orange-soft: #fff0e9;
  --lynq-yellow: #f4bb28;
  --lynq-yellow-soft: #fff7dc;
  --lynq-sky: #36a7d8;
  --lynq-sky-soft: #dcecff;
  --lynq-green: #247454;
  --lynq-green-dark: #247454;
  --lynq-green-soft: #e6f4ed;
  --lynq-red: #c9374f;
  --lynq-red-soft: #fff0f2;
  --lynq-violet: #7659c7;
  --lynq-violet-soft: #f0ebff;

  --lynq-radius-xs: 10px;
  --lynq-radius-s: 12px;
  --lynq-radius-m: 18px;
  --lynq-radius-l: 26px;
  --lynq-radius-xl: 34px;
  --lynq-shadow-s: 0 10px 28px rgba(9, 39, 66, .07);
  --lynq-shadow-m: 0 22px 58px rgba(9, 39, 66, .11);
  --lynq-shadow-l: 0 34px 90px rgba(6, 27, 45, .17);
  --lynq-focus: 0 0 0 5px rgba(217, 59, 24, .2);
  --lynq-container: 1280px;
  --lynq-touch: 44px;

  /* Compatibility aliases used by legacy bundles. */
  --bg: var(--lynq-cream);
  --surface: var(--lynq-paper-strong);
  --surface-2: var(--lynq-paper);
  --surface-3: #f1eadf;
  --soft: var(--lynq-orange-soft);
  --ink: var(--lynq-navy);
  --ink-2: var(--lynq-text);
  --text: var(--lynq-navy);
  --muted: var(--lynq-muted);
  --muted-2: #5f6972;
  --line: var(--lynq-line);
  --line-strong: var(--lynq-line-strong);
  --dark: var(--lynq-navy-deep);
  --accent: var(--lynq-orange);
  --accent-soft: var(--lynq-orange-soft);
  --green: var(--lynq-green);
  --green-soft: var(--lynq-green-soft);
  --blue: #247da8;
  --blue-soft: var(--lynq-sky-soft);
  --sand: #8f6821;
  --sand-soft: var(--lynq-yellow-soft);
  --rose: var(--lynq-red);
  --rose-soft: var(--lynq-red-soft);
  --violet: var(--lynq-violet);
  --violet-soft: var(--lynq-violet-soft);
  --sky: var(--lynq-sky);
  --sky-soft: var(--lynq-sky-soft);
  --success: var(--lynq-green);
  --danger: var(--lynq-red);
  --danger-soft: var(--lynq-red-soft);
  --warning: #906314;
  --warning-soft: var(--lynq-yellow-soft);
  --radius: var(--lynq-radius-l);
  --shadow: var(--lynq-shadow-m);

  /* Administration, operations, commerce and verification aliases. */
  --admin-soft: #f1eadf;
  --admin-green: var(--lynq-green);
  --admin-accent: var(--lynq-orange);
  --admin-accent-soft: var(--lynq-orange-soft);
  --admin-focus: var(--lynq-focus);
  --admin-elevated: var(--lynq-shadow-m);
  --admin-shadow: var(--lynq-shadow-m);
  --ops-bg: var(--lynq-cream);
  --ops-card: var(--lynq-paper-strong);
  --ops-line: var(--lynq-line);
  --ops-text: var(--lynq-navy);
  --ops-muted: var(--lynq-muted);
  --ops-dark: var(--lynq-navy-deep);
  --ops-green: var(--lynq-green-soft);
  --ops-blue: var(--lynq-sky-soft);
  --ops-sand: var(--lynq-yellow-soft);
  --ops-rose: var(--lynq-red-soft);
  --vi-ink: var(--lynq-navy);
  --vi-muted: var(--lynq-muted);
  --vi-line: var(--lynq-line);
  --vi-green: var(--lynq-green);
  --vi-soft: var(--lynq-green-soft);
  --vi-warn: var(--lynq-yellow-soft);
  --vi-danger: var(--lynq-red-soft);
  --commerce-ink: var(--lynq-navy);
  --commerce-muted: var(--lynq-muted);
  --commerce-line: var(--lynq-line);
  --commerce-soft: #f1eadf;
  --commerce-mint: var(--lynq-green-soft);
  --commerce-blue: var(--lynq-sky-soft);
  --commerce-sand: var(--lynq-yellow-soft);
}

/* --------------------------------------------------------------------------
   Foundation
   -------------------------------------------------------------------------- */
html {
  max-width: 100%;
  background: var(--lynq-cream);
  scroll-padding-top: 96px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.lynq-ui-v3 {
  max-width: 100%;
  background-color: var(--lynq-cream);
  color: var(--lynq-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: rgba(244, 187, 40, .52);
  color: var(--lynq-navy-deep);
}

body.lynq-ui-v3:not(.lynq-editorial-v3):not(.lynq-login-v3) :is(h1, h2, h3, h4, h5, h6, .display-title, .page-title) {
  font-family: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
  text-wrap: balance;
}

body.lynq-ui-v3 :is(p, li, dd, figcaption, .card-description) {
  text-wrap: pretty;
}

body.lynq-ui-v3 :is(img, svg, video, canvas) {
  max-width: 100%;
}

body.lynq-ui-v3 :is(button, input, select, textarea) {
  font: inherit;
}

body.lynq-ui-v3 :where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid var(--lynq-orange-dark) !important;
  outline-offset: 3px !important;
  box-shadow: var(--lynq-focus);
}

body.lynq-ui-v3:not(.lynq-editorial-v3) :is(.eyebrow, .kicker, .meta-label, .section-kicker, .vi-kicker, .ops-eyebrow) {
  color: var(--lynq-orange-deep);
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.lynq-ui-v3 hr {
  border: 0;
  border-top: 1px solid var(--lynq-line);
}

/* --------------------------------------------------------------------------
   Shared surfaces and actions
   -------------------------------------------------------------------------- */
body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3):not(.lynq-app) :is(
  .metric-card,
  .public-card,
  .marketing-card,
  .pricing-card,
  .pricing-plan-card,
  .price-card,
  .dashboard-card,
  .journey-card,
  .profession-public-card,
  .homepage-school-card,
  .business-program-public-card,
  .auth-card,
  .installer-card,
  .setting-card,
  .editor-form-card,
  .admin-card,
  .operations-card,
  .update-card,
  .communications-card,
  .vi-card,
  .vi-stat,
  .talent-card,
  .opportunity-card,
  .opportunity-admin-card
) {
  border-color: var(--lynq-line);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3):not(.lynq-app) :is(
  .profession-public-card,
  .homepage-school-card,
  .business-program-public-card,
  .academic-book-card,
  .review-card,
  .opportunity-card
):hover {
  border-color: var(--lynq-line-strong);
  box-shadow: var(--lynq-shadow-m);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(
  .button.primary,
  .btn.primary,
  .primary-button,
  .auth-submit,
  .install-submit,
  .communications-button.primary,
  .ops-button.primary,
  .vi-button:not(.secondary),
  .public-button.primary,
  .marketing-button.primary
) {
  border-color: var(--lynq-orange-dark);
  background: var(--lynq-orange-dark);
  color: #fff;
  box-shadow: 0 12px 28px rgba(240, 74, 36, .2);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(
  .button.primary,
  .btn.primary,
  .primary-button,
  .auth-submit,
  .install-submit,
  .communications-button.primary,
  .ops-button.primary,
  .vi-button:not(.secondary),
  .public-button.primary,
  .marketing-button.primary
):hover {
  border-color: var(--lynq-orange-deep);
  background: var(--lynq-orange-deep);
  box-shadow: 0 16px 34px rgba(217, 59, 24, .24);
  transform: translateY(-1px);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(
  .button.secondary,
  .btn.secondary,
  .secondary-button,
  .communications-button:not(.primary),
  .ops-button:not(.primary):not(.danger),
  .vi-button.secondary,
  .public-button.secondary,
  .marketing-button.secondary
) {
  border-color: var(--lynq-line);
  background: rgba(255, 253, 248, .86);
  color: var(--lynq-navy);
  box-shadow: none;
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(
  .button.secondary,
  .btn.secondary,
  .secondary-button,
  .communications-button:not(.primary),
  .ops-button:not(.primary):not(.danger),
  .vi-button.secondary
):hover {
  border-color: var(--lynq-line-strong);
  background: #fff;
  color: var(--lynq-orange-dark);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.button, .btn, .primary-button, .secondary-button, .ops-button, .vi-button, .communications-button) {
  min-height: var(--lynq-touch);
  border-radius: var(--lynq-radius-s);
  font-weight: 760;
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.danger-button, .button.danger, .btn.danger, .ops-button.danger) {
  border-color: rgba(201, 55, 79, .26);
  background: var(--lynq-red-soft);
  color: #9f2439;
}

/* Accessible action variants for the bespoke editorial entry pages. */
body.lynq-editorial-v3 :is(
  .lxh-btn--green,
  .lxh-final-actions .lxh-btn:first-child,
  .lxh-mobile-cta a:last-child,
  .lxa-btn--accent,
  .lxa-mobile-cta a:first-child,
  .lxb-button--primary,
  .lco-button--primary,
  .lxf-btn--accent,
  .lxp-btn.orange,
  .lxp-badge.promo,
  .lxp-step:nth-child(2) > span
) {
  border-color: var(--lynq-orange-dark);
  background: var(--lynq-orange-dark);
  color: #fff;
}

body.lynq-editorial-v3 :is(
  .lxh-btn--green,
  .lxh-final-actions .lxh-btn:first-child,
  .lxh-mobile-cta a:last-child,
  .lxa-btn--accent,
  .lxa-mobile-cta a:first-child,
  .lxb-button--primary,
  .lco-button--primary,
  .lxf-btn--accent,
  .lxp-btn.orange
):hover {
  border-color: var(--lynq-orange-deep);
  background: var(--lynq-orange-deep);
}

body.lynq-editorial-v3 .lxp-badge.owned {
  background: var(--lynq-green-dark);
  color: #fff;
}

body.lynq-editorial-v3 :is(.eyebrow, [class$="-kicker"], [class*="-kicker "]) {
  color: var(--lynq-orange-deep);
}

body.lynq-editorial-v3 .lxp-price-display em {
  color: var(--lynq-orange-deep);
}

/* Forms */
body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
  select,
  textarea
) {
  min-height: 48px;
  border-color: var(--lynq-line);
  border-radius: var(--lynq-radius-s);
  background-color: var(--lynq-paper-strong);
  color: var(--lynq-navy);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
  select,
  textarea
):focus {
  border-color: rgba(240, 74, 36, .58);
  background-color: #fff;
  box-shadow: 0 0 0 4px rgba(240, 74, 36, .1);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(input, textarea)::placeholder {
  color: #8b959c;
  opacity: 1;
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--lynq-orange);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(label, .field label, .form-field label) {
  color: var(--lynq-text);
}

body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3):not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.form-help, .field-help, .field-note, .content-json-hint) {
  color: var(--lynq-muted);
  line-height: 1.55;
}

/* Search inputs inherit focus from their chrome wrapper; treating the inner
   control as a full field would overflow the fixed-height top bars. */
body.lynq-ui-v3 :is(
  .top-search,
  .admin-search,
  .commerce-search,
  .profession-search,
  .workspace-search,
  .skill-search,
  .os-glossary-search,
  .video-catalog-search,
  .editor-tree-search,
  .video-section-head label
) input {
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.lynq-ui-v3 :is(
  .top-search,
  .admin-search,
  .commerce-search,
  .profession-search,
  .workspace-search,
  .skill-search,
  .os-glossary-search,
  .video-catalog-search,
  .editor-tree-search,
  .video-section-head label
):focus-within {
  border-color: var(--lynq-orange-dark);
  box-shadow: 0 0 0 4px rgba(217, 59, 24, .14);
}

/* Status and feedback */
body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.form-alert.success, .alert.success, .notice.success, .form-message.success, .ops-alert.success, .vi-notice.success) {
  border-color: rgba(45, 139, 104, .2);
  background: var(--lynq-green-soft);
  color: #1d664c;
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.form-alert.error, .alert.error, .notice.error, .form-message.error, .ops-alert.error, .vi-notice.error) {
  border-color: rgba(201, 55, 79, .2);
  background: var(--lynq-red-soft);
  color: #97263a;
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.alert.info, .notice.info, .form-alert.info) {
  border-color: rgba(54, 167, 216, .22);
  background: var(--lynq-sky-soft);
  color: #205f7d;
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.alert.warning, .notice.warning, .vi-notice.warning) {
  border-color: rgba(244, 187, 40, .32);
  background: var(--lynq-yellow-soft);
  color: #755213;
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.badge, .chip, .status-pill, .status-label, .vi-meta span) {
  border-color: var(--lynq-line);
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.status-pill.active, .status-pill.ok, .badge.success, .status.success, .verified) {
  background: var(--lynq-green-soft);
  color: #1d664c;
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.status-pill.pending, .badge.warning, .status.pending) {
  background: var(--lynq-yellow-soft);
  color: #795713;
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.status-pill.error, .badge.error, .status.error, .status-pill.danger) {
  background: var(--lynq-red-soft);
  color: #97263a;
}

/* Tables */
body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(.table-wrap, .table-shell, .admin-table-wrap, .public-table-wrap, .data-table-wrap, .ops-table-wrap, .vi-table-wrap, .communications-table-wrap, .funnel-table-wrap, .responsive-table, .referral-admin-table) {
  max-width: 100%;
  overflow-x: auto;
  border-color: var(--lynq-line);
  border-radius: var(--lynq-radius-m);
  background: var(--lynq-paper-strong);
  box-shadow: var(--lynq-shadow-s);
  -webkit-overflow-scrolling: touch;
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) table {
  max-width: 100%;
  border-color: var(--lynq-line);
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) :is(th, td) {
  border-color: var(--lynq-line);
  vertical-align: top;
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) thead th {
  background: #f3ede3;
  color: var(--lynq-muted-strong);
}

body.lynq-ui-v3:not(.lynq-app[data-route="course"]):not(.lynq-app[data-route="lesson"]) tbody tr:hover > td {
  background-color: rgba(244, 187, 40, .055);
}

/* --------------------------------------------------------------------------
   Public pages not carrying a bespoke v3 layout
   -------------------------------------------------------------------------- */
body.lynq-public:not(.lynq-editorial-v3) :is(
  .public-main,
  .public-academic-main,
  .profession-page-main,
  .talent-main,
  .community-main,
  .commerce-main,
  .evidence-main,
  .legal-page,
  .storage-admin-main
) {
  background-color: var(--lynq-cream);
}

body.lynq-public:not(.lynq-editorial-v3) :is(.public-main, .public-academic-main, .profession-page-main, .talent-main, .community-main, .commerce-main, .evidence-main) {
  padding-block: clamp(44px, 6vw, 86px);
}

body.lynq-public:not(.lynq-editorial-v3) :is(
  .marketing-container,
  .public-container,
  .narrow-public-container,
  .profession-page-main,
  .public-academic-main,
  .talent-container,
  .community-container,
  .commerce-container,
  .business-program-container,
  .vi-shell,
  .evidence-shell,
  .legal-document-layout
) {
  min-width: 0;
}

body.lynq-public:not(.lynq-editorial-v3) :is(
  .public-heading h1,
  .academic-hero h1,
  .commerce-hero h1,
  .profession-page-hero h1,
  .video-library-hero h1,
  .business-program-hero h1,
  .talent-hero h1,
  .community-hero h1,
  .opportunity-hero h1,
  .profile-public-hero h1,
  .vi-hero h1,
  .evidence-hero h1,
  .legal-document-hero h1,
  .learner-dashboard-shell h1
) {
  color: var(--lynq-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  font-size: clamp(38px, 5.3vw, 70px);
  line-height: 1.01;
  letter-spacing: -.052em;
}

body.lynq-public:not(.lynq-editorial-v3) main h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

body.lynq-public:not(.lynq-editorial-v3) :is(
  .public-heading p,
  .academic-hero p,
  .commerce-hero p,
  .profession-page-hero p,
  .video-library-hero p,
  .business-program-hero p,
  .talent-hero p,
  .community-hero p,
  .opportunity-hero p,
  .profile-public-hero p,
  .vi-hero p,
  .evidence-hero p,
  .legal-document-hero p
) {
  color: var(--lynq-muted);
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.72;
}

body.lynq-public:not(.lynq-editorial-v3) :is(
  .public-card,
  .profession-public-card,
  .commerce-hero-card,
  .community-card,
  .opportunity-card,
  .talent-card,
  .profile-public-card,
  .vi-card,
  .evidence-card,
  .dashboard-card,
  .business-program-public-card
) {
  border-color: var(--lynq-line);
  border-radius: var(--lynq-radius-m);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-public:not(.lynq-editorial-v3) :is(
  .public-heading h2,
  .academic-section h2,
  .commerce-section h2,
  .profession-page-section h2,
  .talent-section h2,
  .community-section h2,
  .opportunity-section h2,
  .learner-dashboard-shell h2
) {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.035em;
}

body.lynq-public:not(.lynq-editorial-v3) .legal-page > section {
  width: min(920px, calc(100% - 32px));
  margin: clamp(34px, 6vw, 72px) auto;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid var(--lynq-line);
  border-radius: var(--lynq-radius-l);
  background: var(--lynq-paper-strong);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-public:not(.lynq-editorial-v3) .legal-page > section h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  font-size: clamp(36px, 5vw, 62px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

body.lynq-public:not(.lynq-editorial-v3) .legal-page > section :is(p, li) {
  color: var(--lynq-text);
  font-size: 15px;
  line-height: 1.72;
}

/* Learner journey pages are rendered through the public shell. */
body.lynq-public:not(.lynq-editorial-v3) .learner-dashboard-shell {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  padding-block: clamp(30px, 5vw, 68px) clamp(70px, 8vw, 108px);
}

body.lynq-public:not(.lynq-editorial-v3) .learner-subnav {
  border-color: var(--lynq-line);
  border-radius: var(--lynq-radius-s);
  background: rgba(255, 253, 248, .82);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-public:not(.lynq-editorial-v3) .learner-subnav a.active,
body.lynq-public:not(.lynq-editorial-v3) .learner-subnav a[aria-current="page"] {
  background: var(--lynq-orange-dark);
  color: #fff;
}

body.lynq-public:not(.lynq-editorial-v3) :is(
  .journey-pace,
  .journey-progress-card,
  .journey-deadline-card,
  .journey-skills,
  .journey-pace-control,
  .journey-week,
  .journey-notification-card,
  .journey-preference-page,
  .journey-diagnostic,
  .journey-empty,
  .journey-complete
) {
  border-color: var(--lynq-line);
  border-radius: var(--lynq-radius-m);
  background: var(--lynq-paper-strong);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-public:not(.lynq-editorial-v3) :is(.journey-continue, .journey-first-lesson) {
  border-color: rgba(255, 255, 255, .1);
  border-radius: var(--lynq-radius-l);
  background:
    radial-gradient(circle at 92% 10%, rgba(244, 187, 40, .18), transparent 24%),
    var(--lynq-navy-deep);
  color: #fff;
  box-shadow: var(--lynq-shadow-l);
}

body.lynq-public:not(.lynq-editorial-v3) :is(.journey-continue, .journey-first-lesson) :is(h2, p, small) {
  color: #fff;
}

body.lynq-public:not(.lynq-editorial-v3) .journey-continue-icon {
  background: var(--lynq-orange-dark);
  color: #fff;
}

body.lynq-public:not(.lynq-editorial-v3) .journey-progress-stats > div,
body.lynq-public:not(.lynq-editorial-v3) .journey-skill-grid > article {
  border-color: var(--lynq-line);
  background: #f3ede3;
}

/* --------------------------------------------------------------------------
   Authentication and installation
   -------------------------------------------------------------------------- */
body.lynq-auth:not(.lynq-login-v3) .auth-layout,
body.lynq-auth:not(.lynq-login-v3) .installer-layout {
  background: var(--lynq-cream);
}

body.lynq-auth:not(.lynq-login-v3) .auth-brand {
  border-color: rgba(255, 255, 255, .11);
  background:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(145deg, var(--lynq-navy) 0%, var(--lynq-navy-deep) 100%);
  background-size: 32px 32px, 32px 32px, auto;
  color: #fff;
}

body.lynq-auth:not(.lynq-login-v3) .auth-brand::after {
  right: -95px;
  bottom: -115px;
  width: 310px;
  height: 310px;
  border: 52px solid rgba(244, 187, 40, .82);
  background: transparent;
  opacity: .82;
}

body.lynq-auth:not(.lynq-login-v3) .auth-brand :is(.brand-lockup b, .auth-copy h1) {
  color: #fff;
}

body.lynq-auth:not(.lynq-login-v3) .auth-brand :is(.brand-lockup small, .auth-copy p, .eyebrow) {
  color: rgba(255, 255, 255, .7);
}

body.lynq-auth:not(.lynq-login-v3) .auth-brand .eyebrow {
  color: var(--lynq-yellow);
}

body.lynq-auth:not(.lynq-login-v3) .brand-lockup > span {
  position: relative;
  border: 1px solid rgba(255, 255, 255, .2);
  background: var(--lynq-paper-strong) !important;
  color: var(--lynq-navy) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
}

body.lynq-auth:not(.lynq-login-v3) .brand-lockup > span::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lynq-orange);
  box-shadow: 0 0 0 4px rgba(244, 187, 40, .22);
}

body.lynq-auth:not(.lynq-login-v3) .auth-main,
body.lynq-auth:not(.lynq-login-v3) .installer-main {
  background:
    radial-gradient(circle at 85% 12%, rgba(54, 167, 216, .12), transparent 28%),
    var(--lynq-cream);
}

body.lynq-auth:not(.lynq-login-v3) .auth-card,
body.lynq-auth:not(.lynq-login-v3) .installer-card {
  border-color: var(--lynq-line);
  background: rgba(255, 253, 248, .94);
  box-shadow: var(--lynq-shadow-m);
}

body.lynq-auth:not(.lynq-login-v3) .auth-card :is(h1, h2),
body.lynq-auth:not(.lynq-login-v3) .installer-card :is(h1, h2) {
  color: var(--lynq-navy);
}

body.lynq-auth:not(.lynq-login-v3) .language-pill {
  border-color: rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .1);
  color: #fff;
  backdrop-filter: blur(12px);
}

body.lynq-auth:not(.lynq-login-v3) .auth-pattern-card {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .1);
  color: #fff;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .2);
  backdrop-filter: blur(14px);
}

body.lynq-auth:not(.lynq-login-v3) .auth-pattern-card strong {
  background: var(--lynq-orange-dark);
}

body.lynq-auth:not(.lynq-login-v3) .demo-box,
body.lynq-auth:not(.lynq-login-v3) .credential-box,
body.lynq-auth:not(.lynq-login-v3) .database-fields {
  border-color: var(--lynq-line);
  background: #f3ede3;
}

/* --------------------------------------------------------------------------
   Learner application shell and shared routes
   -------------------------------------------------------------------------- */
body.lynq-app {
  --bg: var(--lynq-cream);
  --surface: var(--lynq-paper-strong);
  --surface-2: var(--lynq-paper);
  --surface-3: #f1eadf;
  --ink: var(--lynq-navy);
  --ink-2: var(--lynq-text);
  --accent: var(--lynq-orange);
  --accent-soft: var(--lynq-orange-soft);
  --line: var(--lynq-line);
  --line-strong: var(--lynq-line-strong);
  background: var(--lynq-cream);
}

body.lynq-app .sidebar {
  border-color: rgba(255, 255, 255, .1);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .025), transparent 44%),
    var(--lynq-navy-deep);
  color: #fff;
  box-shadow: 18px 0 52px rgba(6, 27, 45, .09);
}

body.lynq-app .sidebar .brand {
  color: #fff;
}

body.lynq-app .sidebar .brand-mark {
  position: relative;
  border: 1px solid rgba(255, 255, 255, .14);
  background: var(--lynq-paper-strong);
  color: var(--lynq-navy);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .2);
}

body.lynq-app .sidebar .brand-mark::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lynq-orange);
}

body.lynq-app .sidebar .brand-copy :is(b, small) {
  color: #fff;
}

body.lynq-app .sidebar .brand-copy small,
body.lynq-app .sidebar-section-label {
  color: rgba(255, 255, 255, .5);
}

body.lynq-app .sidebar .nav-link {
  border: 1px solid transparent;
  color: rgba(255, 255, 255, .7);
}

body.lynq-app .sidebar .nav-link:hover {
  border-color: rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .07);
  color: #fff;
}

body.lynq-app .sidebar .nav-link.active,
body.lynq-app .sidebar .nav-link[aria-current="page"] {
  border-color: rgba(255, 255, 255, .12);
  background: var(--lynq-orange-dark);
  color: #fff;
  box-shadow: 0 12px 26px rgba(240, 74, 36, .22);
}

body.lynq-app .sidebar .nav-icon {
  color: currentColor;
}

body.lynq-app .sidebar-ai {
  border-color: rgba(255, 255, 255, .11);
  background: rgba(255, 255, 255, .055);
  color: #fff;
}

body.lynq-app .sidebar-ai p,
body.lynq-app .sidebar-footer small {
  color: rgba(255, 255, 255, .58);
}

body.lynq-app .sidebar-footer {
  border-color: rgba(255, 255, 255, .11);
}

body.lynq-app :is(.profile-mini, .lang-btn) {
  color: #fff;
}

body.lynq-app .profile-mini:hover,
body.lynq-app .lang-btn:hover {
  background: rgba(255, 255, 255, .08);
}

body.lynq-app .main-shell,
body.lynq-app .content {
  background-color: var(--lynq-cream);
}

body.lynq-app .topbar {
  border-color: var(--lynq-line);
  background: rgba(246, 240, 229, .88);
  box-shadow: 0 10px 30px rgba(9, 39, 66, .045);
  backdrop-filter: blur(20px) saturate(1.12);
}

body.lynq-app :is(.top-search, .plan-chip, .icon-btn) {
  border-color: var(--lynq-line);
  background: rgba(255, 253, 248, .88);
  color: var(--lynq-navy);
}

body.lynq-app .top-search:focus-within {
  border-color: rgba(240, 74, 36, .48);
  box-shadow: 0 0 0 4px rgba(240, 74, 36, .09);
}

body.lynq-app :is(.drawer, .guide-panel, .search-results, .modal-card) {
  border-color: var(--lynq-line);
  background: var(--lynq-paper-strong);
  color: var(--lynq-text);
  box-shadow: var(--lynq-shadow-l);
}

body.lynq-app .mobile-bottom-nav {
  border-color: var(--lynq-line);
  background: rgba(255, 253, 248, .94);
  box-shadow: 0 -16px 42px rgba(9, 39, 66, .09);
  backdrop-filter: blur(18px);
}

body.lynq-app .mobile-bottom-nav :is(.active, [aria-current="page"]) {
  color: #a92f12;
}

body.lynq-app :is(.mobile-ai-button, .chat-send) {
  background: var(--lynq-orange-dark);
  color: #fff;
  box-shadow: 0 14px 32px rgba(240, 74, 36, .25);
}

body.lynq-app:not([data-route="course"]):not([data-route="lesson"]) :is(
  .card,
  .panel,
  .metric,
  .progress-card,
  .resource-card,
  .portfolio-card,
  .skill-card,
  .certificate-card,
  .workspace-card,
  .ai-card,
  .profile-card,
  .today-work-card,
  .evidence-card
) {
  border-color: var(--lynq-line);
  border-radius: var(--lynq-radius-m);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-app:not([data-route="course"]):not([data-route="lesson"]) :is(.page-head h1, .academy-hero h1, .section-title h2, .section-head h2) {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.04em;
}

/* --------------------------------------------------------------------------
   Main administration shell and standalone admin pages
   -------------------------------------------------------------------------- */
body.lynq-admin {
  background: var(--lynq-cream);
  color: var(--lynq-text);
}

body.lynq-admin .admin-sidebar {
  border-color: rgba(255, 255, 255, .1);
  background: var(--lynq-navy-deep);
  color: #fff;
  box-shadow: 16px 0 50px rgba(6, 27, 45, .09);
}

body.lynq-admin .admin-brand {
  color: #fff;
}

body.lynq-admin .admin-brand > span {
  position: relative;
  border: 1px solid rgba(255, 255, 255, .14);
  background: var(--lynq-paper-strong);
  color: var(--lynq-navy);
}

body.lynq-admin .admin-brand > span::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 6px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lynq-orange);
}

body.lynq-admin .admin-brand :is(strong, small) {
  color: #fff;
}

body.lynq-admin .admin-sidebar .admin-nav {
  border: 1px solid transparent;
  color: rgba(255, 255, 255, .68);
}

body.lynq-admin .admin-sidebar .admin-nav:hover {
  border-color: rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .07);
  color: #fff;
}

body.lynq-admin .admin-sidebar .admin-nav.active,
body.lynq-admin .admin-sidebar .admin-nav[aria-current="page"] {
  border-color: rgba(255, 255, 255, .12);
  background: var(--lynq-orange-dark);
  color: #fff;
  box-shadow: 0 12px 28px rgba(240, 74, 36, .22);
}

body.lynq-admin .admin-sidebar .admin-side-note {
  border-color: rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .055);
  color: #fff;
}

body.lynq-admin .admin-sidebar .admin-side-note p,
body.lynq-admin .admin-sidebar footer > a,
body.lynq-admin .admin-sidebar .admin-user small {
  color: rgba(255, 255, 255, .58);
}

body.lynq-admin .admin-sidebar .admin-user {
  border-color: rgba(255, 255, 255, .1);
}

/* The final legacy admin layout uses !important for a light sidebar. Keep the
   shell internally consistent instead of mixing a light panel with white text. */
body.lynq-admin.admin-console .admin-sidebar {
  border-color: rgba(255, 255, 255, .1) !important;
  background: var(--lynq-navy-deep) !important;
  color: #fff !important;
}

body.lynq-admin.admin-console :is(.admin-sidebar-head, .admin-sidebar-footer) {
  border-color: rgba(255, 255, 255, .1) !important;
}

body.lynq-admin.admin-console .admin-sidebar-footer {
  background: rgba(255, 255, 255, .035) !important;
}

body.lynq-admin.admin-console .admin-sidebar-toggle,
body.lynq-admin.admin-console .admin-sidebar-quick a {
  border-color: rgba(255, 255, 255, .13) !important;
  background: rgba(255, 255, 255, .07) !important;
  color: rgba(255, 255, 255, .78) !important;
}

body.lynq-admin.admin-console .admin-sidebar-toggle:hover,
body.lynq-admin.admin-console .admin-sidebar-quick a:hover {
  background: rgba(255, 255, 255, .13) !important;
  color: #fff !important;
}

body.lynq-admin.admin-console .admin-nav-group h2 {
  color: rgba(255, 255, 255, .52) !important;
}

body.lynq-admin.admin-console .admin-sidebar .admin-nav {
  color: rgba(255, 255, 255, .7) !important;
}

body.lynq-admin.admin-console .admin-sidebar :is(.admin-nav-link:hover, .admin-nav:hover) {
  background: rgba(255, 255, 255, .08) !important;
  color: #fff !important;
}

body.lynq-admin.admin-console .admin-sidebar :is(.admin-nav.active, .admin-nav[aria-current="page"]),
body.lynq-admin.admin-console .admin-sidebar .admin-nav.active:hover {
  border-color: rgba(255, 255, 255, .13) !important;
  background: var(--lynq-orange-dark) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(240, 74, 36, .22) !important;
}

body.lynq-admin.admin-console .admin-sidebar .admin-nav b {
  background: rgba(255, 255, 255, .11) !important;
  color: rgba(255, 255, 255, .76) !important;
}

body.lynq-admin.admin-console .admin-sidebar .admin-user {
  border-color: rgba(255, 255, 255, .1) !important;
  background: rgba(255, 255, 255, .075) !important;
  color: #fff !important;
}

body.lynq-admin.admin-console .admin-sidebar .admin-user > span {
  background: var(--lynq-paper-strong) !important;
  color: var(--lynq-navy) !important;
}

body.lynq-admin.admin-console .admin-sidebar :is(.admin-user small, .admin-logout) {
  color: rgba(255, 255, 255, .58) !important;
}

body.lynq-admin.admin-console .admin-sidebar .admin-logout:hover {
  background: rgba(255, 255, 255, .1) !important;
  color: #fff !important;
}

body.lynq-admin .admin-topbar {
  border-color: var(--lynq-line);
  background: rgba(246, 240, 229, .9);
  box-shadow: 0 10px 30px rgba(9, 39, 66, .045);
  backdrop-filter: blur(20px) saturate(1.12);
}

body.lynq-admin .admin-main,
body.lynq-admin .admin-view,
body.lynq-admin .editor-content {
  background-color: var(--lynq-cream);
}

body.lynq-admin .admin-search,
body.lynq-admin .admin-icon,
body.lynq-admin .language-button {
  border-color: var(--lynq-line);
  background: var(--lynq-paper-strong);
  color: var(--lynq-navy);
}

body.lynq-admin .admin-page-head h1,
body.lynq-admin .page-title h1,
body.lynq-admin .editor-content-head h1 {
  color: var(--lynq-navy);
}

body.lynq-admin .admin-page-head p,
body.lynq-admin .page-title p,
body.lynq-admin .editor-content-head p {
  color: var(--lynq-muted);
}

body.lynq-admin .filter-chip.active,
body.lynq-admin .editor-tab.active {
  border-color: var(--lynq-orange-dark);
  background: var(--lynq-orange-dark);
  color: #fff;
}

body.lynq-admin .admin-toast {
  background: var(--lynq-navy-deep);
}

body.lynq-admin :is(
  .card,
  .mini-card,
  .panel,
  .metric,
  .admin-backup-panel,
  .admin-entity-card,
  .admin-inspector-card,
  .admin-readiness-panel,
  .admin-tools-panel,
  .admin-video-card,
  .career-main-card,
  .career-wide-card,
  .editor-form-card,
  .events-card,
  .setting-card,
  .session-policy-card,
  .user-card,
  .growth-editor-form,
  .growth-admin-hero,
  .growth-admin-list,
  .growth-admin-editor,
  .affiliate-settings,
  .growth-metric-grid article,
  .funnel-card,
  .mentor-context-card,
  .opportunity-admin-card,
  .opportunity-stat,
  .mentor-audit-section,
  .program-admin-card,
  .program-positioning-card,
  .program-rhythm-card,
  .quality-panel,
  .resource-editor-card,
  .review-settings-panel,
  .rubric-editor-card,
  .referral-admin-shell
) {
  border-color: var(--lynq-line);
  border-radius: var(--lynq-radius-m);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-admin.growth-admin-page :is(
  .growth-admin-hero,
  .growth-admin-list,
  .growth-admin-editor,
  .affiliate-settings,
  .growth-metric-grid article
) {
  background-color: var(--lynq-paper-strong);
}

body.lynq-admin.opportunity-admin-shell .opportunity-admin-main {
  margin-inline: auto;
  margin-left: auto;
}

/* --------------------------------------------------------------------------
   Operations, communications and verification
   -------------------------------------------------------------------------- */
body.lynq-ops {
  background: var(--lynq-cream);
  color: var(--lynq-text);
}

body.lynq-ops .ops-topbar {
  border-color: rgba(255, 255, 255, .1);
  background: rgba(6, 27, 45, .96);
  box-shadow: 0 12px 34px rgba(6, 27, 45, .14);
  backdrop-filter: blur(18px);
}

body.lynq-ops .ops-brand {
  color: #fff;
}

body.lynq-ops .ops-brand > svg {
  border: 1px solid rgba(255, 255, 255, .16);
  background: var(--lynq-paper-strong) !important;
  color: var(--lynq-navy) !important;
}

body.lynq-ops .ops-topbar .ops-button:not(.primary) {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .07);
  color: #fff;
}

body.lynq-ops .ops-main {
  background: var(--lynq-cream);
}

body.lynq-ops .ops-hero h1 {
  color: var(--lynq-navy);
}

body.lynq-ops .ops-card,
body.lynq-ops .ops-metric,
body.lynq-ops .ops-provider,
body.lynq-ops .ops-product,
body.lynq-ops .ops-stage-card {
  border-color: var(--lynq-line);
  background: var(--lynq-paper-strong);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-ops .ops-tabs a {
  border-color: var(--lynq-line);
  background: var(--lynq-paper-strong);
  color: var(--lynq-muted-strong);
}

body.lynq-ops .ops-tabs a.active {
  border-color: var(--lynq-orange-dark);
  background: var(--lynq-orange-dark);
  color: #fff;
}

body.lynq-ops .ops-bar i::after,
body.lynq-ops .update-progress-track i {
  background: linear-gradient(90deg, var(--lynq-orange), var(--lynq-yellow));
}

body.lynq-communications {
  background: var(--lynq-cream);
  color: var(--lynq-text);
}

body.lynq-communications .communications-topbar {
  border-color: var(--lynq-line);
  background: rgba(246, 240, 229, .91);
  box-shadow: 0 10px 30px rgba(9, 39, 66, .045);
}

body.lynq-communications .communications-brand > svg {
  background: var(--lynq-navy);
  color: #fff;
}

body.lynq-communications .communications-hero {
  border-color: var(--lynq-line);
  background-color: var(--lynq-paper-strong);
  background-image:
    linear-gradient(rgba(9, 39, 66, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(9, 39, 66, .045) 1px, transparent 1px);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-communications .communications-hero h1 {
  color: var(--lynq-navy);
}

body.lynq-communications .communications-metrics article,
body.lynq-communications .transport-grid label > span,
body.lynq-communications .smtp-panel,
body.lynq-communications .communications-options {
  border-color: var(--lynq-line);
  background: var(--lynq-paper-strong);
}

body.lynq-communications .transport-grid input:checked + span {
  border-color: var(--lynq-orange);
  box-shadow: 0 0 0 3px rgba(240, 74, 36, .1), var(--lynq-shadow-s);
}

body.lynq-verification {
  background: var(--lynq-cream);
  color: var(--lynq-text);
}

body.lynq-verification .vi-shell {
  width: min(1180px, calc(100% - 36px));
  padding-block: clamp(38px, 5vw, 72px) clamp(70px, 8vw, 110px);
}

body.lynq-verification .vi-card,
body.lynq-verification .vi-stat,
body.lynq-verification .vi-table-wrap {
  border-color: var(--lynq-line);
  background: var(--lynq-paper-strong);
  box-shadow: var(--lynq-shadow-s);
}

body.lynq-verification .vi-button:not(.secondary) {
  border-color: var(--lynq-orange-dark);
  background: var(--lynq-orange-dark);
}

body.lynq-verification .vi-meta span {
  background: var(--lynq-orange-soft);
  color: var(--lynq-orange-deep);
}

/* Public certificate, portfolio, resume and standalone proof documents. */
body.lynq-credential :is(.certificate, .credential, .profile, .work, .certificate-sheet, .portfolio-public-card, .resume-public-card, .verification-card) {
  border-color: var(--lynq-line);
  background-color: var(--lynq-paper-strong);
  color: var(--lynq-text);
  box-shadow: var(--lynq-shadow-m);
}

body.lynq-credential :is(.public-brand-mark, .verify-brand-mark, .page .brand > span, .mark) {
  background: var(--lynq-navy) !important;
  color: #fff !important;
}

/* --------------------------------------------------------------------------
   Empty, loading and code states
   -------------------------------------------------------------------------- */
body.lynq-ui-v3 :is(.empty-state, .loading-state, .error-state, .ops-empty, .communications-empty, .compact-empty) {
  border-color: var(--lynq-line);
  background: rgba(255, 253, 248, .72);
  color: var(--lynq-muted);
}

body.lynq-ui-v3 :is(code, pre, .code-block, .mentor-code, .ops-hash) {
  border-color: var(--lynq-line);
}

body.lynq-ui-v3 pre,
body.lynq-ui-v3 .code-block {
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* --------------------------------------------------------------------------
   Responsive, accessibility and print
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  body.lynq-auth:not(.lynq-login-v3) .auth-brand {
    min-height: 300px;
  }

  body.lynq-auth:not(.lynq-login-v3) .auth-brand::after {
    right: -145px;
    bottom: -170px;
  }

  body.lynq-admin .admin-sidebar.open {
    box-shadow: 28px 0 72px rgba(6, 27, 45, .28);
  }
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 82px;
  }

  body {
    padding-bottom: env(safe-area-inset-bottom);
  }

  body.lynq-ui-v3:not(.lynq-login-v3):not(.lynq-editorial-v3) :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]),
    select,
    textarea
  ) {
    font-size: 16px !important;
  }

  body.lynq-public:not(.lynq-editorial-v3) :is(.public-main, .public-academic-main, .profession-page-main, .talent-main, .community-main, .commerce-main, .evidence-main) {
    padding-block: 36px 66px;
  }

  body.lynq-public:not(.lynq-editorial-v3) .legal-page > section {
    width: calc(100% - 22px);
    margin-block: 24px 46px;
    padding: 22px 18px;
    border-radius: 20px;
  }

  body.lynq-verification .vi-shell {
    width: calc(100% - 22px);
  }

  body.lynq-ui-v3 :is(.form-actions, .checkout-actions, .practice-actions, .admin-actions, .vi-actions) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.lynq-ui-v3 :is(.form-actions, .checkout-actions, .practice-actions, .admin-actions, .vi-actions) > :is(a, button, .button, .btn) {
    width: 100%;
  }
}

@media (max-width: 520px) {
  :root {
    --lynq-radius-l: 21px;
    --lynq-radius-xl: 26px;
  }

  body.lynq-auth:not(.lynq-login-v3) .auth-brand {
    min-height: 245px;
  }

  body.lynq-auth:not(.lynq-login-v3) .auth-card,
  body.lynq-auth:not(.lynq-login-v3) .installer-card {
    padding: 22px 18px;
    border-radius: 20px;
  }

  body.lynq-ops .ops-topbar .ops-container {
    width: calc(100% - 20px);
  }
}

@media (prefers-contrast: more) {
  :root {
    --lynq-line: rgba(9, 39, 66, .34);
    --lynq-line-strong: rgba(9, 39, 66, .58);
    --lynq-muted: #445562;
  }

  body.lynq-ui-v3 :is(.card, .panel, .public-card, .auth-card, .admin-card, .ops-card, .vi-card) {
    border-width: 2px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

@media print {
  html,
  body {
    background: #fff !important;
  }

  body.lynq-ui-v3 :is(.card, .panel, .certificate, .credential, .profile, .work) {
    box-shadow: none !important;
  }

  body.lynq-ui-v3 :is(.marketing-header, .marketing-footer, .sidebar, .topbar, .admin-sidebar, .admin-topbar, .ops-topbar, .mobile-bottom-nav, .mobile-ai-button) {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   Launch hardening: keyboard access, readable metadata and narrow viewports
   -------------------------------------------------------------------------- */
.sr-only:not(:focus):not(:active) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.lynq-skip-link {
  position: fixed;
  top: max(10px, env(safe-area-inset-top));
  left: max(10px, env(safe-area-inset-left));
  z-index: 100000;
  min-height: 44px;
  padding: 11px 16px;
  border: 2px solid #fff;
  border-radius: 12px;
  background: var(--lynq-navy-deep);
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--lynq-shadow-m);
  transform: translateY(calc(-100% - 24px));
  transition: transform .16s ease;
}

.lynq-skip-link:focus,
.lynq-skip-link:focus-visible {
  transform: translateY(0);
}

.lynq-skip-target {
  width: 0;
  height: 0;
  overflow: hidden;
  scroll-margin-top: 92px;
}

body.lynq-ui-v3 [inert] {
  pointer-events: none !important;
  user-select: none;
}

body.lynq-admin.admin-console .admin-mobile-sidebar-close {
  display: none;
}

body.lynq-app .course-detail-page {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

body.lynq-app .search-results [role="option"][aria-selected="true"] {
  border-color: var(--lynq-orange-dark);
  background: var(--lynq-orange-soft);
  color: var(--lynq-navy);
  box-shadow: inset 4px 0 0 var(--lynq-orange-dark);
}

body.lynq-ui-v3 :is(
  .onboarding-choice,
  .onboarding-profession,
  .onboarding-program,
  .segmented-control label,
  .interface-choice-grid label,
  .resume-skill-option,
  .diagnostic-scale label,
  .activation-goal,
  .choice-pills label,
  .os-connectors label,
  .switch
):has(input:focus-visible) {
  outline: 3px solid var(--lynq-orange-dark) !important;
  outline-offset: 3px !important;
  border-radius: var(--lynq-radius-s);
  box-shadow: var(--lynq-focus);
}

body.lynq-app:is([data-route="professions"], [data-route="profession"]) :is(
  .profession-match small,
  .profession-school,
  .profession-proof small,
  .profession-detail-label small,
  .profession-fit-score span,
  .profession-fit-progress > span,
  .profession-fit-stats span,
  .profession-outcome-banner small,
  .project-proof-grid article > span,
  .career-step-number,
  .career-course-step small,
  .first-90 li span
) {
  font-size: 11px !important;
  line-height: 1.4;
}

body.lynq-app:is([data-route="professions"], [data-route="profession"]) :is(
  .profession-card > p,
  .profession-proof strong,
  .profession-detail-label b,
  .profession-fit-card > p,
  .project-proof-grid p,
  .route-summary,
  .career-course-step p,
  .first-90 li p
) {
  font-size: 13px !important;
  line-height: 1.58;
}

body.lynq-app:is([data-route="professions"], [data-route="profession"]) :is(.profession-chips span, .profession-skills span, .competency-cloud span, .tool-stack span) {
  font-size: 11px !important;
  line-height: 1.35;
}

body.lynq-app:is([data-route="schools"], [data-route="school"]) :is(
  .school-index,
  .school-outcome small,
  .school-meta span,
  .school-signature > small,
  .school-detail-stats span
) {
  font-size: 11px !important;
}

body.lynq-app:is([data-route="schools"], [data-route="school"]) :is(.school-copy > p, .school-outcome strong, .school-detail-copy > p, .school-method-grid p, .school-method-grid li) {
  font-size: 13px !important;
  line-height: 1.6;
}

body.lynq-app[data-route="course"] :is(
  .quality-meta small,
  .professional-review-stamp,
  .curriculum-card-head small,
  .competency-item small,
  .capstone-deliverable small,
  .capstone-evidence small,
  .capstone-criteria span,
  .allocation-row > span,
  .allocation-row > b,
  .module-professional-outcome b,
  .reference-index,
  .reference-item small
) {
  font-size: 11px !important;
  line-height: 1.45;
}

body.lynq-app[data-route="course"] :is(.course-quality-bar p, .study-guide p, .professional-disclaimer, .module-professional-outcome, .reference-item b) {
  font-size: 13px !important;
  line-height: 1.58;
}

body.lynq-app:is([data-route="course"], [data-route="lesson"]) :is(button, .btn, .icon-btn, summary) {
  min-height: var(--lynq-touch);
}

@media (max-width: 1020px) {
  body.lynq-app .sidebar[aria-hidden="true"] {
    visibility: hidden;
    pointer-events: none;
  }
}

@media (max-width: 900px) {
  body.lynq-admin.admin-console .admin-mobile-sidebar-close {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: auto;
    border: 1px solid var(--lynq-line);
    border-radius: 12px;
    background: var(--lynq-paper-strong);
    color: var(--lynq-navy);
  }

  body.lynq-admin.admin-console .admin-mobile-sidebar-close:hover {
    background: var(--lynq-orange-soft);
  }
}

@media (max-width: 480px) {
  .ai-content-v12-start > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .ai-content-v12-phase,
  .ai-content-v12-phase > div {
    width: 100%;
    min-width: 0;
  }

  .ai-content-v12-phase b {
    max-width: 100%;
    overflow: visible;
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: 11px;
  }

  .ai-content-v12-time {
    width: 100%;
    flex-direction: row;
    justify-content: center;
    text-align: left;
  }

  .ai-content-v12-time span,
  .ai-content-v12-badge small,
  .ai-content-v12-phase small,
  .ai-content-v12-start-main > section > span,
  .ai-content-v12-start-main > aside small,
  .ai-content-v12-do > header span,
  .ai-content-v12-do > header b,
  .ai-content-v12-metrics span,
  .ai-content-v12-marker {
    font-size: 10px !important;
  }
}
