/*
 * Equation Fund authenticated portal design system
 * -------------------------------------------------
 * Shared presentation contract for:
 * Owner / Super Admin
 * Tech Admin
 * Operations
 * CCO
 * Counsel
 * Sponsor
 * Investor
 *
 * PRESENTATION ONLY.
 * No permissions, APIs, workflow states or business rules.
 */


/* ==========================================================
   CORE CONTROL TOKENS
   ========================================================== */

.app {
  --eqf-control-height:40px;
  --eqf-control-radius:8px;
  --eqf-card-radius:12px;
  --eqf-control-border:#bcc8da;
  --eqf-control-border-hover:#98a8c0;
  --eqf-control-bg:#ffffff;
  --eqf-panel-bg:#ffffff;
  --eqf-soft-bg:#f7f9fc;
}


/* ==========================================================
   FONT INHERITANCE
   Critical fix for browser-default select / textarea styling.
   ========================================================== */

.app button,
.app input,
.app select,
.app textarea {
  font:inherit !important;
  box-sizing:border-box;
}


/* ==========================================================
   PAGE TYPOGRAPHY
   ========================================================== */

.app .page-head {
  margin-bottom:20px;
}

.app .page-head h1 {
  margin:5px 0 6px !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size:36px !important;
  font-weight:400 !important;
  line-height:1.08 !important;
  letter-spacing:-.018em !important;

  color:var(--ink) !important;
}

.app .page-head p {
  margin:0 !important;

  max-width:900px;

  font-size:13px !important;
  line-height:1.55 !important;

  color:var(--muted) !important;
}


.app .panel-head h2 {
  margin:0 !important;

  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.25 !important;

  letter-spacing:.12em !important;
  text-transform:uppercase;

  color:var(--ink) !important;
}


/*
 * Common dynamically rendered section headings.
 */
.app .panel-body > h2,
.app .content .module-placeholder h2 {
  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-weight:400;
  color:var(--ink);
}


/* ==========================================================
   PANELS / CARDS
   ========================================================== */

.app .panel,
.app .fund-card,
.app .opp-card,
.app .flow-card,
.app .eligibility-card,
.app .portfolio-card,
.app .security-card,
.app .valuation-card,
.app .info-card,
.app .integration-card,
.app .policy-card,
.app .role-card,
.app .company-hero,
.app .rule-result {
  border-color:var(--line) !important;
  border-radius:var(--eqf-card-radius) !important;
  background:var(--eqf-panel-bg);
}


.app .panel-head {
  min-height:50px;

  box-sizing:border-box;

  display:flex;
  align-items:center;

  padding:13px 16px !important;
}


.app .panel-body {
  padding:16px !important;
}


/* ==========================================================
   FORM LABELS
   ========================================================== */

.app .content label {
  color:var(--ink) !important;

  font-size:11px !important;
  font-weight:700 !important;
  line-height:1.3 !important;

  letter-spacing:.015em !important;
}


/* ==========================================================
   TEXT INPUTS / DATE / NUMBER / EMAIL / PASSWORD
   ========================================================== */

.app .content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.app .content select {
  width:100%;

  min-height:var(--eqf-control-height) !important;
  height:var(--eqf-control-height) !important;

  margin:0;

  padding:0 13px !important;

  border:1px solid var(--eqf-control-border) !important;
  border-radius:var(--eqf-control-radius) !important;

  background:var(--eqf-control-bg) !important;

  color:var(--ink) !important;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.2 !important;

  outline:none !important;

  transition:
    border-color .15s ease,
    box-shadow .15s ease,
    background .15s ease;
}


.app .content textarea {
  width:100%;

  min-height:96px !important;

  margin:0;

  padding:11px 13px !important;

  border:1px solid var(--eqf-control-border) !important;
  border-radius:var(--eqf-control-radius) !important;

  background:var(--eqf-control-bg) !important;

  color:var(--ink) !important;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.5 !important;

  outline:none !important;

  resize:vertical;
}


.app .content input:not([type="checkbox"]):not([type="radio"]):focus,
.app .content select:focus,
.app .content textarea:focus {
  border-color:var(--accent) !important;

  box-shadow:
    0 0 0 3px
    rgba(44,74,138,.10) !important;
}


/*
 * Placeholder consistency.
 */
.app .content input::placeholder,
.app .content textarea::placeholder {
  color:#8a96a9 !important;
  opacity:1;
}


/* ==========================================================
   CHECKBOXES / RADIOS
   ========================================================== */

.app .content input[type="checkbox"],
.app .content input[type="radio"] {
  accent-color:var(--accent);
}


/* ==========================================================
   CONTENT BUTTON CONTRACT

   This intentionally catches buttons created dynamically by
   operational-tasks.js, live-client.js, document-center.js,
   sponsor-opportunities.js and similar modules.
   ========================================================== */

.app .content button {
  box-sizing:border-box !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:auto;
  min-width:0;

  min-height:38px !important;
  height:38px;

  padding:0 14px !important;

  border:1px solid #cbd4e2 !important;
  border-radius:var(--eqf-control-radius) !important;

  background:#fff;

  color:var(--ink);

  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;

  white-space:nowrap;

  box-shadow:none !important;

  cursor:pointer;

  transition:
    background .15s ease,
    border-color .15s ease,
    color .15s ease,
    transform .05s ease;
}


.app .content button:hover:not(:disabled) {
  border-color:var(--eqf-control-border-hover) !important;
  background:#f7f9fc;
}


.app .content button:active:not(:disabled) {
  transform:translateY(1px);
}


.app .content button:disabled {
  cursor:not-allowed;
  opacity:.55;
}


/* ==========================================================
   PRIMARY ACTIONS
   ========================================================== */

.app .content .primary,
.app .content button.primary,
.app .content .eqf-action-primary {
  width:auto !important;

  margin:0 !important;

  border-color:var(--accent) !important;

  background:var(--accent) !important;
  color:#fff !important;
}


.app .content .primary:hover:not(:disabled),
.app .content button.primary:hover:not(:disabled),
.app .content .eqf-action-primary:hover:not(:disabled) {
  border-color:#1e2761 !important;
  background:#1e2761 !important;
}


/* ==========================================================
   SECONDARY ACTIONS
   ========================================================== */

.app .content .secondary,
.app .content button.secondary {
  width:auto !important;

  margin:0 !important;

  border-color:#cbd4e2 !important;
  background:#fff !important;
  color:var(--ink) !important;
}


/* ==========================================================
   DESTRUCTIVE ACTIONS
   ========================================================== */

.app .content .eqf-action-danger {
  border-color:#d8aaa7 !important;

  background:#fff !important;
  color:var(--danger) !important;
}


/* ==========================================================
   NAV / FILTER / TEXT-LIKE ACTIONS
   ========================================================== */

.app .content .linkbtn {
  min-height:30px !important;
  height:30px;

  padding:0 9px !important;

  border-color:transparent !important;
  background:transparent !important;

  color:var(--accent) !important;
}


.app .content .filter-pill,
.app .content .quick button {
  min-height:30px !important;
  height:30px;

  padding:0 10px !important;

  border-radius:999px !important;

  font-size:10px !important;
}


/* ==========================================================
   SUB-NAVIGATION
   ========================================================== */

.app .subnav button,
.app #operationsSubnav button,
.app #settingsSubnav button,
.app #complianceSubnav button,
.app #portfolioSubnav button,
.app #capitalSubnav button {
  min-height:36px !important;
  height:36px;

  margin:0 !important;

  padding:0 12px !important;

  border-radius:8px !important;

  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;
}


/* ==========================================================
   STATUS / BADGE SYSTEM
   ========================================================== */

.app .tag,
.app .authoritative,
.app .section-badge,
.app .source-chip,
.app .readonly,
.app .elig,
.app .demo-badge {
  box-sizing:border-box !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  flex:0 0 auto !important;

  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;

  min-height:24px !important;
  height:auto !important;

  margin:0 !important;

  padding:5px 9px !important;

  border-radius:999px !important;

  font-size:9px !important;
  font-weight:800 !important;
  line-height:1.1 !important;

  letter-spacing:.065em !important;
  text-transform:uppercase;

  white-space:nowrap !important;

  align-self:center !important;
}


/*
 * Prevent status indicators from turning into oversized
 * grid / flex circles or stretched blocks.
 */
.app .attn > .tag,
.app .compact-row > .tag,
.app .integration-head > .tag,
.app .asset-head > .tag,
.app .panel-head > .tag,
.app .panel-head > .authoritative,
.app .panel-head > .section-badge {
  justify-self:end !important;
  align-self:center !important;

  flex-grow:0 !important;
  flex-shrink:0 !important;
}


/* ==========================================================
   TOPBAR CONTROLS
   ========================================================== */

.app .topbar .icon-btn,
.app .topbar .secondary {
  min-height:36px !important;
  height:36px;

  width:auto !important;

  padding:0 12px !important;

  margin:0 !important;

  border-radius:8px !important;

  font-size:11px !important;
  line-height:1 !important;
}


/* ==========================================================
   COMMON DYNAMIC ROWS
   ========================================================== */

.app .compact-row {
  align-items:center;
}


.app .compact-row button {
  flex:0 0 auto;
}


.app .compact-row select {
  width:auto;
  min-width:130px;
}


/* ==========================================================
   INVESTOR SELECT ROWS
   ========================================================== */

.app .select-row {
  align-items:center;
}


.app .select-row label {
  margin:0 !important;
}


.app .select-row input,
.app .select-row select {
  min-height:var(--eqf-control-height) !important;
  height:var(--eqf-control-height) !important;
}


/* ==========================================================
   OPPORTUNITY ACTIONS
   ========================================================== */

.app .opp-actions {
  align-items:center;
}


.app .opp-actions button {
  min-height:38px !important;
  height:38px;
}


/* ==========================================================
   TABLE CONSISTENCY
   ========================================================== */

.app table {
  border-collapse:collapse;
}


.app th {
  font-size:9px !important;
  line-height:1.25;
}


.app td {
  font-size:11px !important;
  line-height:1.45;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:1100px) {

  .app .content button {
    min-height:38px !important;
  }

}


@media(max-width:760px) {

  .app .page-head h1 {
    font-size:31px !important;
  }


  .app .page-head p {
    font-size:12px !important;
  }


  .app .content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .app .content select {
    min-height:42px !important;
    height:42px !important;
  }


  .app .content button {
    min-height:40px !important;
    height:40px;
  }


  .app .tag,
  .app .authoritative,
  .app .section-badge,
  .app .source-chip,
  .app .readonly,
  .app .elig,
  .app .demo-badge {
    white-space:normal !important;
    text-align:center;
  }


  .app .compact-row {
    grid-template-columns:1fr !important;
    align-items:stretch;
  }


  .app .compact-row select {
    width:100%;
  }

}


/* ==========================================================
   END SHARED PORTAL CONTRACT
   ========================================================== */


/* ==========================================================
   EQF PORTAL CHROME CONSISTENCY R2

   Scope:
   - Authenticated topbar
   - Notification trigger
   - Topbar status indicators
   - Authenticated sidebar navigation
   - Chrome micro-typography

   Presentation only.
   No API, permissions, workflow or business logic.
   ========================================================== */


/* ----------------------------------------------------------
   SIDEBAR

   The original authenticated shells use 13px navigation
   labels. Keep the same established sidebar but return it
   to a slightly more compact institutional scale.
   ---------------------------------------------------------- */

.app .sidebar .nav {
  gap:3px;
}


.app .sidebar .nav button {
  min-height:42px;

  padding:10px 11px !important;

  gap:10px !important;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}


.app .sidebar .nav .icon {
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;

  font-size:12px !important;
}


.app .sidebar .side-role {
  font-size:9px !important;
  line-height:1.25 !important;

  letter-spacing:.15em !important;
}


.app .sidebar .user-chip b {
  font-size:11px !important;
  line-height:1.25 !important;
}


.app .sidebar .user-chip small {
  font-size:9px !important;
  line-height:1.3 !important;
}


/* ----------------------------------------------------------
   TOPBAR BASE
   ---------------------------------------------------------- */

.app .topbar {
  min-height:72px;
  height:72px;

  gap:16px;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}


.app .topbar > div:first-child {
  display:flex;
  align-items:center;

  gap:6px;

  min-width:0;
}


.app .topbar .topbar-crumb {
  display:flex;
  align-items:center;

  gap:6px;

  min-width:0;
}


.app .topbar .top-actions,
.app .topbar > div:last-child {
  align-items:center !important;

  gap:8px !important;

  min-width:0;
}


/* ----------------------------------------------------------
   TOPBAR BREADCRUMB TYPOGRAPHY
   ---------------------------------------------------------- */

.app .topbar .crumb,
.app .topbar .topbar-crumb > span:first-child,
.app .topbar > div:first-child > span:first-child {
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1.2 !important;

  color:var(--muted);
}


.app .topbar .crumb strong,
.app .topbar .topbar-crumb b,
.app .topbar > div:first-child > b {
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1.2 !important;

  color:var(--ink);
}


/* ----------------------------------------------------------
   BUSINESS CONTROLS IN TOPBAR

   Admin already uses .icon-btn.
   Sponsor / Investor use .portal-notification-trigger.
   Normalize both to the same exact component dimensions.
   ---------------------------------------------------------- */

.app .topbar .icon-btn,
.app .topbar .portal-notification-trigger,
.app .topbar .secondary {
  box-sizing:border-box !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:auto !important;

  min-height:36px !important;
  height:36px !important;

  margin:0 !important;

  padding:0 11px !important;

  gap:7px !important;

  border:1px solid var(--line) !important;
  border-radius:8px !important;

  background:#fff !important;

  color:#4A5568 !important;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:11px !important;
  font-weight:600 !important;
  line-height:1 !important;

  letter-spacing:0 !important;

  white-space:nowrap !important;

  box-shadow:none !important;
}


.app .topbar .icon-btn:hover,
.app .topbar .portal-notification-trigger:hover,
.app .topbar .secondary:hover {
  border-color:#B7C2D3 !important;
  background:#F9FAFC !important;
}


/* ----------------------------------------------------------
   SPONSOR / INVESTOR NOTIFICATION ICON

   Their current markup deliberately remains untouched.
   Add the same Equation Fund math-tile treatment through
   presentation CSS only.
   ---------------------------------------------------------- */

.app .topbar .portal-notification-trigger::before {
  content:"Δ";

  box-sizing:border-box;

  display:inline-grid;
  place-items:center;

  width:20px;
  height:20px;
  flex:0 0 20px;

  border:1px solid #4A210F;
  border-radius:3px;

  color:#F2D49B;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size:9px;
  font-weight:700;
  line-height:1;

  background:
    repeating-linear-gradient(
      7deg,
      rgba(255,255,255,.035) 0 1px,
      rgba(0,0,0,.055) 1px 3px,
      transparent 3px 6px
    ),
    linear-gradient(
      145deg,
      #8D4C20,
      #4D220F 58%,
      #2E1209
    );

  box-shadow:
    inset 0 1px 0 rgba(255,220,160,.48),
    inset 0 -2px 3px rgba(25,8,2,.72),
    inset 1px 0 1px rgba(255,196,120,.14),
    0 1px 2px rgba(0,0,0,.28);

  text-shadow:
    0 1px 0 #2A1108,
    0 0 4px rgba(240,195,115,.22);
}


.app .topbar .portal-notification-trigger b {
  font:inherit !important;
  font-weight:800 !important;

  color:var(--ink) !important;
}


/* ----------------------------------------------------------
   STATUS / ROLE PILLS IN THE HEADER
   ---------------------------------------------------------- */

.app .topbar .status-pill,
.app .topbar .sponsor-badge,
.app .topbar .investor-badge {
  box-sizing:border-box !important;

  min-height:34px !important;
  height:34px !important;

  margin:0 !important;

  padding:0 10px !important;

  border-radius:999px !important;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:10px !important;
  font-weight:600 !important;
  line-height:1 !important;

  letter-spacing:0 !important;

  white-space:nowrap;
}


.app .topbar .investor-badge {
  max-width:360px;

  overflow:hidden;

  text-overflow:ellipsis;
}


/* ----------------------------------------------------------
   ADMIN ACTUAL NOTIFICATION ICON

   Keep existing markup and dimensions exactly compact.
   ---------------------------------------------------------- */

.app .topbar .notification-trigger .math-tile.sm {
  width:20px !important;
  height:20px !important;
  flex-basis:20px !important;

  font-size:9px !important;
}


/* ----------------------------------------------------------
   RESPONSIVE TOPBAR
   ---------------------------------------------------------- */

@media(max-width:1100px) {

  .app .topbar {
    padding-left:22px;
    padding-right:22px;
  }


  .app .topbar .investor-badge {
    max-width:260px;
  }

}


@media(max-width:900px) {

  .app .topbar {
    min-height:64px;
    height:auto;

    padding-top:8px;
    padding-bottom:8px;
  }


  .app .topbar .top-actions,
  .app .topbar > div:last-child {
    display:flex;
    flex-wrap:wrap;

    justify-content:flex-end;

    row-gap:6px !important;
  }


  .app .topbar .investor-badge {
    max-width:220px;
  }

}


@media(max-width:760px) {

  .app .sidebar .nav button {
    min-height:38px;

    padding:8px 10px !important;

    font-size:11px !important;
  }


  .app .topbar {
    padding:
      8px
      16px !important;
  }


  .app .topbar .portal-notification-trigger,
  .app .topbar .icon-btn,
  .app .topbar .secondary {
    min-height:34px !important;
    height:34px !important;

    padding:
      0
      9px !important;

    font-size:10px !important;
  }


  /*
   * Long role/compliance summaries do not need to consume
   * the complete mobile header. They remain available in
   * the corresponding page content.
   */
  .app .topbar .investor-badge,
  .app .topbar .sponsor-badge {
    display:none;
  }

}


/* ==========================================================
   END EQF PORTAL CHROME CONSISTENCY R2
   ========================================================== */


/* ==========================================================
   EQF SEMANTIC TYPOGRAPHY R2B

   ADMIN DASHBOARD IS THE VISUAL BASELINE.

   Rule:
   Same semantic component = same typography everywhere.

   This does NOT make every piece of text the same size.
   ========================================================== */

.app {
  --eqf-type-page-title:36px;
  --eqf-type-page-description:13px;
  --eqf-type-eyebrow:11px;

  --eqf-type-panel-title:12px;
  --eqf-type-section-title:16px;
  --eqf-type-card-title:12px;

  --eqf-type-body:11px;
  --eqf-type-label:11px;
  --eqf-type-meta:9px;
  --eqf-type-button:11px;
}


/* ----------------------------------------------------------
   PAGE LEVEL

   Examples:
   Fund overview
   Capital
   Operations
   Opportunities
   Investor Overview
   Sponsor Overview
   ---------------------------------------------------------- */

.app .content .page-head h1 {
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size:
    var(--eqf-type-page-title) !important;

  font-weight:400 !important;
  line-height:1.08 !important;
  letter-spacing:-.018em !important;

  margin:5px 0 6px !important;
}


.app .content .page-head > div > .eyebrow,
.app .content .page-head .eyebrow {
  font-size:
    var(--eqf-type-eyebrow) !important;

  font-weight:700 !important;
  line-height:1.2 !important;

  letter-spacing:.18em !important;
  text-transform:uppercase;
}


.app .content .page-head p {
  font-size:
    var(--eqf-type-page-description) !important;

  line-height:1.55 !important;

  margin:0 !important;
}


/* ----------------------------------------------------------
   PANEL HEADERS

   Examples:
   FUNDS & OFFERINGS
   CANONICAL ACTIVITY
   PRODUCTION SOURCE STATUS
   OPPORTUNITY PIPELINE
   ---------------------------------------------------------- */

.app .content .panel-head h2 {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:
    var(--eqf-type-panel-title) !important;

  font-weight:800 !important;
  line-height:1.25 !important;

  letter-spacing:.12em !important;
  text-transform:uppercase !important;

  margin:0 !important;
}


/* ----------------------------------------------------------
   STANDARD CONTENT SECTION HEADINGS

   Dynamic modules sometimes emit plain H2 elements instead
   of .panel-head. Give those one consistent level.

   Examples:
   Canonical work queue
   Workflow history
   Subscription controls
   ---------------------------------------------------------- */

.app .content h2 {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  font-size:
    var(--eqf-type-section-title);

  font-weight:700;
  line-height:1.3;

  letter-spacing:0;

  color:var(--ink);
}


/*
 * Preserve the deliberately larger editorial / hero H2
 * treatment used by the established Admin visual language.
 */

.app .content .module-placeholder h2,
.app .content .company-hero h2,
.app .content .hero-investor h2 {
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size:28px !important;
  font-weight:400 !important;
  line-height:1.12 !important;

  letter-spacing:-.01em !important;
}


/*
 * Panel titles always win over the generic content H2.
 */

.app .content .panel-head h2 {
  font-size:
    var(--eqf-type-panel-title) !important;
}


/* ----------------------------------------------------------
   CARD TITLES

   This removes the existing 11px / 12px / 13px variations.
   ---------------------------------------------------------- */

.app .content h3,
.app .content .fund-card h3,
.app .content .asset-card h3,
.app .content .security-card h3,
.app .content .integration-card h3,
.app .content .policy-card h3,
.app .content .role-card h3,
.app .content .doc-card h3,
.app .content .valuation-card h3,
.app .content .info-card h3 {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:
    var(--eqf-type-card-title) !important;

  font-weight:700 !important;
  line-height:1.35 !important;

  letter-spacing:0 !important;

  color:var(--ink) !important;
}


/* ----------------------------------------------------------
   FORM LABELS

   Same label hierarchy for Admin / Sponsor / Investor.
   ---------------------------------------------------------- */

.app .content label {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:
    var(--eqf-type-label) !important;

  font-weight:700 !important;
  line-height:1.3 !important;

  letter-spacing:.015em !important;
}


/* ----------------------------------------------------------
   BUSINESS BUTTON TYPOGRAPHY

   Dimensions remain controlled by the existing design system.
   ---------------------------------------------------------- */

.app .content button,
.app .topbar button,
.app .subnav button {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:
    var(--eqf-type-button) !important;

  font-weight:700 !important;
  line-height:1 !important;
}


/*
 * Small utility buttons intentionally remain one level below
 * normal business actions.
 */

.app .content .linkbtn,
.app .content .filter-pill,
.app .content .quick button,
.app .notification-action,
.app .notification-mark-all {
  font-size:10px !important;
}


/* ----------------------------------------------------------
   STATUS / BADGE TYPOGRAPHY
   ---------------------------------------------------------- */

.app .tag,
.app .authoritative,
.app .section-badge,
.app .source-chip,
.app .readonly,
.app .elig,
.app .demo-badge {
  font-size:
    var(--eqf-type-meta) !important;

  font-weight:800 !important;
  line-height:1.1 !important;
}


/* ----------------------------------------------------------
   TABLE TYPOGRAPHY
   ---------------------------------------------------------- */

.app .content table th {
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}


.app .content table td {
  font-size:11px !important;
  line-height:1.45 !important;
}


/* ----------------------------------------------------------
   RESPONSIVE TYPOGRAPHY

   Preserve hierarchy while scaling only the page title.
   ---------------------------------------------------------- */

@media(max-width:760px) {

  .app .content .page-head h1 {
    font-size:31px !important;
  }


  .app .content .page-head p {
    font-size:12px !important;
  }


  .app .content h2 {
    font-size:15px;
  }


  .app .content .panel-head h2 {
    font-size:
      var(--eqf-type-panel-title) !important;
  }


  .app .content .module-placeholder h2,
  .app .content .company-hero h2,
  .app .content .hero-investor h2 {
    font-size:24px !important;
  }

}


/* ==========================================================
   END EQF SEMANTIC TYPOGRAPHY R2B
   ========================================================== */
