/* FIIC governed interface theme
 * Final cascade for shared portal primitives. Page-specific layout remains in
 * style.css; interaction and responsive behaviour remain in ui-system.css.
 */

:root {
  --fiic-space-1: .25rem;
  --fiic-space-2: .5rem;
  --fiic-space-3: .75rem;
  --fiic-space-4: 1rem;
  --fiic-space-5: 1.5rem;
  --fiic-space-6: 2rem;
  --fiic-space-7: 3rem;
  --fiic-radius-xs: 4px;
  --fiic-radius-sm: 7px;
  --fiic-radius-md: 10px;
  --fiic-radius-lg: 12px;
  --fiic-radius-xl: 16px;
  --fiic-radius-pill: 999px;
  --fiic-control-height: 46px;
  --fiic-control-height-sm: 40px;
  --fiic-control-height-lg: 52px;
  --fiic-card-inset: clamp(1rem, 2vw, 1.5rem);
  --fiic-section-gap: clamp(1.5rem, 3vw, 2rem);
  --fiic-border: 1px solid rgba(49, 67, 27, .13);
  --fiic-shadow-xs: 0 1px 2px rgba(23, 37, 19, .04);
  --fiic-shadow-sm: 0 2px 8px rgba(23, 37, 19, .06);
  --fiic-shadow-md: 0 10px 24px rgba(23, 37, 19, .10);
  --fiic-font-sans: Roboto, Arial, sans-serif;
  --fiic-font-editorial: Roboto, Arial, sans-serif;
  --fiic-focus-ring: 0 0 0 3px rgba(187, 144, 39, .24);

  /* Keep the earlier UI contract mapped to the canonical theme scale. */
  --ui-space-1: var(--fiic-space-2);
  --ui-space-2: var(--fiic-space-3);
  --ui-space-3: var(--fiic-space-4);
  --ui-space-4: var(--fiic-space-5);
  --ui-space-5: var(--fiic-space-6);
  --ui-card-padding: var(--fiic-card-inset);
  --ui-grid-gap: clamp(.875rem, 2vw, 1.25rem);
  --ui-action-clearance: var(--fiic-space-3);
  --radius: var(--fiic-radius-lg);
  --radius-sm: var(--fiic-radius-sm);
  --shadow-sm: var(--fiic-shadow-sm);
  --shadow-lg: var(--fiic-shadow-md);
}

/* GIS registry and concession workflow */
.gis-registry-panel,.gis-evidence-stack,.concession-action-card{margin-block:var(--fiic-space-5,1.5rem)}
.gis-quality-grid,.application-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--fiic-space-3,1rem);margin-top:1rem}
.gis-quality-grid article,.application-summary-grid article{display:flex;min-width:0;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid var(--fiic-border,#dfe6db);border-radius:var(--fiic-radius-md,16px);background:var(--fiic-surface-soft,#f7f9f5)}
.gis-quality-grid strong,.application-summary-grid strong{font-size:1.5rem;color:var(--fiic-primary,#315225)}
.gis-quality-grid span,.application-summary-grid small{color:var(--fiic-text-muted,#647064);font-size:.82rem}
.gis-import-details{margin-top:1.25rem;border-top:1px solid var(--fiic-border,#dfe6db);padding-top:1rem}.gis-import-details summary{cursor:pointer;font-weight:700;color:var(--fiic-primary,#315225)}
.gis-import-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.gis-import-form label,.concession-draft-form label,.application-review-form label{display:flex;flex-direction:column;gap:.45rem;font-weight:650}.gis-import-form .wide{grid-column:1/-1}.gis-import-form input,.gis-import-form select,.gis-import-form textarea,.concession-draft-form textarea,.application-review-form select,.application-review-form textarea,.gis-review-form input,.gis-review-form select{width:100%;min-height:46px;border:1px solid var(--fiic-border,#d5ded1);border-radius:12px;padding:.7rem .8rem;background:#fff;color:var(--fiic-text,#172219)}
.gis-import-confirm,.concession-existing{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;border-radius:14px;background:var(--fiic-success-soft,#edf8ee);border:1px solid #cce3cd}.gis-import-confirm p,.concession-existing p{margin:.25rem 0 0;color:var(--fiic-text-muted,#647064)}
.land-detail-hero{padding:3rem 0;background:linear-gradient(115deg,#142d1c,#4f622c);color:#fff}.land-back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:inherit;text-decoration:none;font-weight:700}.land-detail-title{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.land-detail-title h1{margin:.35rem 0;font-size:clamp(2rem,4vw,3.4rem);color:#fff}.land-detail-title p{max-width:760px;margin:0;color:rgba(255,255,255,.8)}
.land-record-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.25rem}.land-record-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--fiic-border,#dfe6db);margin:1rem 0}.land-record-facts dl div{padding:.9rem 0;border-bottom:1px solid var(--fiic-border,#dfe6db)}.land-record-facts dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fiic-text-muted,#647064)}.land-record-facts dd{margin:.2rem 0 0;font-weight:650}.land-record-map .land-map{min-height:360px}
.concession-action-card{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:2rem}.concession-draft-form{display:grid;gap:1rem}.check-row{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.7rem!important}.check-row input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--fiic-primary,#315225)}
.gis-evidence-stack{display:grid;gap:1.25rem}.gis-evidence-columns,.application-workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.empty-state-inline{padding:1rem;border-radius:12px;background:var(--fiic-surface-soft,#f7f9f5);color:var(--fiic-text-muted,#647064)}.evidence-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.evidence-list li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem;border:1px solid var(--fiic-border,#dfe6db);border-radius:12px}.evidence-list p{margin:.2rem 0 0;color:var(--fiic-text-muted,#647064)}
.gis-review-form{display:grid;grid-template-columns:120px minmax(160px,1fr) auto;gap:.5rem;min-width:390px}.application-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.25rem}.application-summary-grid article{margin:0}.field-label{font-size:.78rem;color:var(--fiic-text-muted,#647064)}.application-proposal{white-space:normal;line-height:1.7}.review-note{margin:1rem 0;padding:1rem;border-left:4px solid var(--fiic-gold,#c28e1c);background:#fff8e8}.application-timeline{list-style:none;margin:1rem 0 0;padding:0}.application-timeline li{display:grid;grid-template-columns:18px 1fr;gap:.8rem;position:relative;padding-bottom:1.2rem}.application-timeline li>span{width:12px;height:12px;margin-top:.25rem;border-radius:50%;background:var(--fiic-primary,#315225)}.application-timeline li:not(:last-child)>span:after{content:"";position:absolute;width:2px;top:16px;bottom:0;margin-left:5px;background:var(--fiic-border,#dfe6db)}.application-timeline p{margin:.15rem 0;color:var(--fiic-text-muted,#647064)}.application-timeline time{font-size:.75rem;color:var(--fiic-text-muted,#647064)}.application-decision-card{margin-top:1.25rem}.application-review-form{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(280px,1fr) auto;align-items:end;gap:1rem}
@media(max-width:1100px){.gis-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.land-record-grid,.concession-action-card{grid-template-columns:1fr}.gis-import-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.gis-quality-grid,.application-summary-grid,.gis-import-form,.gis-evidence-columns,.application-workspace-grid,.land-record-facts dl{grid-template-columns:1fr}.land-detail-title,.gis-import-confirm,.concession-existing,.section-heading-row{align-items:flex-start;flex-direction:column}.gis-review-form,.application-review-form{grid-template-columns:1fr;min-width:0}.land-detail-hero{padding:2rem 0}}

/* Consent, privacy notice and visitor analytics */
.consent-decision-required .floating-utility-stack{display:none}
.login-form-shell{max-width:480px;margin:auto}.demo-login-panel{margin-top:1.25rem;border:1px solid var(--fiic-line);border-radius:16px;background:var(--fiic-bg);overflow:hidden}.demo-login-panel summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;color:var(--fiic-forest-deep);cursor:pointer;font-size:.8rem;font-weight:800;list-style:none}.demo-login-panel summary::-webkit-details-marker{display:none}.demo-login-panel summary>span{display:inline-flex;align-items:center;gap:.5rem}.demo-login-panel summary small{color:var(--fiic-muted);font-size:.63rem;font-weight:700}.demo-login-panel[open] summary{border-bottom:1px solid var(--fiic-line);background:#fff}.demo-login-panel-body{padding:1rem}.demo-login-panel-body>p{margin:0 0 .8rem;color:var(--fiic-muted);font-size:.72rem;line-height:1.5}.demo-login-panel code{padding:.18rem .35rem;border-radius:6px;color:var(--fiic-forest-deep);background:#fff;font-weight:800}.demo-login-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.demo-login-account{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0;min-height:58px;padding:.65rem .75rem;border:1px solid var(--fiic-line);border-radius:12px;color:var(--fiic-ink);background:#fff;text-align:left}.demo-login-account:hover{border-color:var(--fiic-gold);box-shadow:var(--fiic-shadow-sm)}.demo-login-account:focus-visible{outline:3px solid rgba(187,144,39,.4);outline-offset:2px}.demo-login-account>span{display:grid;min-width:0}.demo-login-account strong{color:var(--fiic-forest-deep);font-size:.7rem}.demo-login-account small{overflow:hidden;color:var(--fiic-muted);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.demo-login-account i{flex:0 0 auto;color:var(--fiic-gold)}.demo-login-status{margin:.8rem 0 0!important;font-size:.64rem!important}.demo-login-status.is-selected{color:var(--fiic-forest-deep);font-weight:800}
.consent-decision-required{overflow:hidden!important;overflow-y:hidden!important}.cookie-consent{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:1rem;color:var(--fiic-ink);background:rgba(15,31,19,.72);backdrop-filter:blur(7px)}.cookie-consent-panel{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;width:min(680px,100%);padding:clamp(1.25rem,4vw,2rem);border:1px solid rgba(81,105,46,.24);border-radius:var(--fiic-radius-lg);background:#fff;box-shadow:0 24px 80px rgba(8,18,11,.34)}
.cookie-consent[hidden],.cookie-settings-launcher[hidden]{display:none!important}.cookie-consent-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--fiic-forest),var(--fiic-forest-deep));font-size:1.25rem}.cookie-consent strong{display:block;color:var(--fiic-forest-deep);font-size:1.2rem}.cookie-consent p{max-width:560px;margin:.35rem 0;color:var(--fiic-muted);font-size:.86rem;line-height:1.55}.cookie-consent a{font-size:.78rem;font-weight:800}.cookie-consent-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.cookie-consent-actions .btn{width:100%}.cookie-consent-error:empty{display:none}.cookie-consent-error{color:#9d2929!important;font-weight:700}.cookie-consent.has-error .cookie-consent-panel{border-color:#b94a48}.floating-utility-stack{position:fixed;z-index:1055;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}.cookie-settings-launcher,.floating-help-launcher{position:static;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.62rem .9rem;border:1px solid rgba(81,105,46,.25);border-radius:999px;color:var(--fiic-forest-deep);background:#fff;box-shadow:var(--fiic-shadow-sm);font-size:.72rem;font-weight:800;line-height:1;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.cookie-settings-launcher:hover,.floating-help-launcher:hover{color:var(--fiic-forest-deep);background:var(--fiic-bg);box-shadow:var(--fiic-shadow-md);transform:translateY(-1px)}.cookie-settings-launcher:focus-visible,.floating-help-launcher:focus-visible{outline:3px solid rgba(187,144,39,.45);outline-offset:3px}.floating-help-launcher{color:#fff;background:var(--fiic-forest);border-color:var(--fiic-forest)}.floating-help-launcher:hover{color:#fff;background:var(--fiic-forest-deep)}
.privacy-choice-page{max-width:920px}.privacy-choice-card{display:grid;gap:1rem;padding:clamp(1.25rem,4vw,2.5rem)!important}.privacy-choice-card h1{margin:0;color:var(--fiic-forest-deep);font-size:clamp(2rem,5vw,3.3rem)}.privacy-choice-card h2{font-size:1.08rem}.privacy-choice-card p{color:var(--fiic-muted);line-height:1.7}.privacy-choice-card section{padding:1rem;border-radius:14px;background:var(--fiic-bg)}.privacy-choice-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.analytics-heading{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.5rem}.analytics-heading .status-badge{margin-bottom:.65rem}.analytics-range{display:grid;gap:.35rem;min-width:180px}.analytics-range label{color:var(--fiic-muted);font-size:.68rem;font-weight:800}.analytics-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.analytics-kpis article{display:grid;grid-template-columns:auto 1fr;gap:.25rem .65rem;padding:1rem;border:1px solid var(--fiic-line);border-radius:var(--fiic-radius-md);background:#fff;box-shadow:var(--fiic-shadow-sm)}.analytics-kpis i{grid-row:span 2;color:var(--fiic-gold);font-size:1.2rem}.analytics-kpis span{color:var(--fiic-muted);font-size:.67rem}.analytics-kpis strong{color:var(--fiic-forest);font-size:1.45rem}.analytics-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.35fr);gap:1rem;margin-bottom:1rem}.analytics-trend,.analytics-privacy-note,.analytics-list{padding:var(--fiic-card-inset)!important}.analytics-bars{display:flex;align-items:end;gap:.65rem;min-height:260px;padding-top:1rem;overflow-x:auto}.analytics-bars>div{display:grid;grid-template-rows:auto minmax(90px,1fr) auto auto;gap:.35rem;min-width:54px;height:230px;text-align:center}.analytics-bars span,.analytics-bars small{color:var(--fiic-muted);font-size:.58rem}.analytics-bars i{position:relative;align-self:end;width:24px;height:var(--bar);max-height:150px;justify-self:center;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--fiic-gold),var(--fiic-forest))}.analytics-bars strong{font-size:.72rem}.analytics-privacy-note>i{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1rem;border-radius:14px;color:#fff;background:var(--fiic-forest);font-size:1.25rem}.analytics-privacy-note h2,.analytics-list h2{font-size:1rem}.analytics-privacy-note p{color:var(--fiic-muted);font-size:.72rem;line-height:1.65}.analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.analytics-list ol{display:grid;gap:.25rem;margin:0;padding:0;list-style:none}.analytics-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .7rem;padding:.7rem 0;border-bottom:1px solid var(--fiic-line)}.analytics-list li:last-child{border-bottom:0}.analytics-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.analytics-list li strong{color:var(--fiic-forest)}.analytics-list li small{grid-column:1/-1;color:var(--fiic-muted);font-size:.58rem}
@media(max-width:991.98px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-layout{grid-template-columns:1fr}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.cookie-consent-panel{grid-template-columns:1fr}.cookie-consent-icon{width:44px;height:44px}.cookie-consent-actions{grid-template-columns:1fr}.floating-utility-stack{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));gap:.4rem}.cookie-settings-launcher,.floating-help-launcher{min-height:42px;padding:.58rem .75rem}.analytics-heading{align-items:stretch;flex-direction:column}.analytics-range{width:100%}.analytics-kpis,.analytics-grid{grid-template-columns:1fr}.privacy-choice-actions{display:grid}.privacy-choice-actions>*{width:100%}}

@media(max-width:575.98px){.demo-login-grid{grid-template-columns:1fr}.demo-login-panel summary{align-items:flex-start;flex-direction:column;gap:.15rem}}

html { font-size: 16px; }
body { font-size: 1rem; line-height: 1.6; text-rendering: optimizeLegibility; }
button, input, select, textarea { font: inherit; }

/* Typography and readable content rhythm. */
:where(.page-body, main) :where(h1, h2, h3, h4, h5, h6) {
  color: var(--fiic-forest-deep);
  font-weight: 800;
  line-height: 1.2;
  text-wrap: balance;
}

.page-title {
  margin: 0 0 var(--fiic-space-2);
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  line-height: 1.12;
}

.page-subtitle,
.record-meta {
  color: var(--fiic-muted);
  line-height: 1.55;
}

.page-subtitle { max-width: 72ch; font-size: .94rem; }
.record-meta { font-size: .78rem; }

/* Govern every ordinary content link through the final theme. Keeping the
 * selector inside :where() gives navigation, cards and purpose-built link
 * components permission to override it without specificity battles. */
:where(.page-body, main) :where(a[href]:not(.btn)) {
  color: var(--fiic-forest);
  font-weight: 650;
  text-decoration-color: rgba(81, 105, 46, .45);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, text-decoration-color .18s ease, transform .18s ease;
}

:where(.page-body, main) :where(a[href]:not(.btn):visited) {
  color: var(--fiic-forest);
}

:where(.page-body, main) :where(a[href]:not(.btn):hover) {
  color: var(--fiic-gold-dark);
  text-decoration-color: currentColor;
}

:where(.page-body, main) :where(a[href]:not(.btn):focus-visible) {
  border-radius: .3rem;
  outline: var(--fiic-focus-ring);
  outline-offset: 3px;
}

/* Action links use a compact surface treatment rather than imitating a
 * primary form button. Ordinary prose links inherit the global link contract. */
.ui-action-link,
:where(.card-action-zone) > :where(a[href]:not(.btn):not(.listing-view-button):not(.opportunity-view-button)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  width: fit-content;
  min-height: 44px;
  padding: .58rem .78rem;
  border: 1px solid rgba(81, 105, 46, .18);
  border-radius: .75rem;
  color: var(--fiic-forest) !important;
  background: var(--fiic-forest-soft);
  font-size: .8rem;
  font-weight: 800 !important;
  line-height: 1.2;
  text-decoration: none !important;
}

.ui-action-link:hover,
:where(.card-action-zone) > :where(a[href]:not(.btn):not(.listing-view-button):not(.opportunity-view-button)):hover {
  border-color: rgba(81, 105, 46, .34);
  color: #fff !important;
  background: var(--fiic-forest);
  box-shadow: var(--fiic-shadow-sm);
  transform: translateY(-1px);
}

.ui-action-link :where(.bi-arrow-right, .bi-arrow-up-right),
:where(.card-action-zone) > :where(a[href]:not(.btn):not(.listing-view-button):not(.opportunity-view-button)) :where(.bi-arrow-right, .bi-arrow-up-right) {
  transition: transform .18s ease;
}

.ui-action-link:hover :where(.bi-arrow-right, .bi-arrow-up-right),
:where(.card-action-zone) > :where(a[href]:not(.btn):not(.listing-view-button):not(.opportunity-view-button)):hover :where(.bi-arrow-right, .bi-arrow-up-right) {
  transform: translateX(2px);
}

/* Page and section composition. */
.page-body { padding: clamp(1.25rem, 2.5vw, 2rem); }

.section-heading {
  min-width: 0;
  align-items: flex-start;
  gap: var(--fiic-space-4);
  margin-bottom: var(--fiic-space-5);
}

.section-heading > * { min-width: 0; }
.section-heading h2,
.section-heading h3 { font-size: 1.125rem; line-height: 1.3; }
.section-heading :where(p, small) { line-height: 1.5; }
.section-heading > a:not(.btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 44px;
  margin: -.5rem -.65rem -.5rem 0;
  padding: .5rem .65rem;
  border-radius: .65rem;
  color: var(--fiic-forest);
  font-weight: 800;
  text-decoration: none;
}
.section-heading > a:not(.btn):hover { color: var(--fiic-gold-dark); background: var(--fiic-gold-soft); }

/* Surfaces and cards. */
:where(
  .content-card,
  .public-listing-card,
  .knowledge-card,
  .knowledge-resource-card,
  .opportunity-card,
  .sme-public-card,
  .featured-listing,
  .market-filter,
  .directory-filter,
  .knowledge-filter,
  .investment-filter,
  .land-filter
) {
  border: var(--fiic-border);
  border-radius: var(--fiic-radius-lg);
  background-color: var(--fiic-surface);
  box-shadow: var(--fiic-shadow-sm);
}

.content-card { min-width: 0; }

/* Every normal card uses the governed inset. The important declaration closes
 * older page-level overrides that could reintroduce cramped surfaces; p-0 is
 * the sole explicit edge-to-edge contract for tables and media. */
:where(.content-card:not(.p-0)) { padding: var(--fiic-card-inset) !important; }
.content-card.p-3,
.content-card.p-4 { padding: var(--fiic-card-inset) !important; }
.content-card > :first-child { margin-top: 0; }
.content-card > :last-child { margin-bottom: 0; }

.content-card.p-0 > .table-responsive {
  border: 0;
  border-radius: inherit;
  box-shadow: none;
}

.content-card.p-0 > .section-heading {
  margin: 0;
  padding: var(--fiic-card-inset);
}

:where(.module-link, .featured-listing, .list-group-item-action, .sme-card-action a) {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

:where(.module-link, .featured-listing):hover { transform: translateY(-2px); }

/* One button family with deliberate sizes and states. */
.btn {
  min-height: var(--fiic-control-height);
  padding: .68rem 1rem;
  border-width: 1px;
  border-style: solid;
  border-radius: var(--fiic-radius-sm);
  font-size: .875rem;
  font-weight: 750;
  line-height: 1.2;
  box-shadow: none;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.btn.btn-sm {
  min-height: var(--fiic-control-height-sm);
  padding: .52rem .78rem;
  border-radius: 10px;
  font-size: .8125rem;
}

.btn.btn-lg {
  min-height: var(--fiic-control-height-lg);
  padding: .8rem 1.25rem;
  border-radius: 14px;
  font-size: .95rem;
}

:where(.btn-fiic, .btn-forest) {
  border-color: var(--fiic-forest);
  background: var(--fiic-forest);
  color: #fff;
  box-shadow: 0 6px 16px rgba(49, 67, 27, .16);
}

:where(.btn-gold) {
  border-color: var(--fiic-gold);
  background: var(--fiic-gold);
  color: #fff;
  box-shadow: 0 6px 16px rgba(146, 111, 25, .16);
}

:where(.btn-outline-fiic, .btn-outline-forest) {
  border-color: rgba(81, 105, 46, .42);
  background: #fff;
  color: var(--fiic-forest-dark);
}

.btn:hover:not(:disabled):not(.disabled) { transform: translateY(-1px); }
.btn:active:not(:disabled):not(.disabled) { transform: translateY(0); }
.btn:disabled,
.btn.disabled { cursor: not-allowed; opacity: .58; box-shadow: none; }

.btn.ui-icon-only { border-radius: var(--fiic-radius-sm); }
.btn.btn-sm.ui-icon-only {
  width: var(--fiic-control-height-sm) !important;
  min-width: var(--fiic-control-height-sm) !important;
  max-width: var(--fiic-control-height-sm) !important;
  height: var(--fiic-control-height-sm);
  min-height: var(--fiic-control-height-sm);
  flex-basis: var(--fiic-control-height-sm);
}

/* Form controls share one height, inset and focus treatment. */
:where(.page-body, main) form,
:where(.page-body, main) fieldset {
  min-width: 0;
  max-width: 100%;
}

/* Many FIIC templates use a semantic label as the field wrapper. Bootstrap's
 * default inline label behaviour can shrink that wrapper to the control's
 * intrinsic width and pull the following action alongside it. Treat every
 * label that directly owns a standard control as a full-width field. */
:where(.page-body, main) form label:has(> :where(.form-control, .form-select)) {
  display: grid;
  align-content: start;
  gap: var(--fiic-space-2);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-bottom: 0;
}

:where(.page-body, main) form :where(.form-control, .form-select, .password-field, .password-control) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

:where(.page-body, main) form :where(.row, .form-grid, .enterprise-form-grid, .field-assignment-grid) > * {
  min-width: 0;
}

/* Reusable vertical form and toolbar contracts for card-contained workflows. */
.fiic-form-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: var(--fiic-space-4);
  width: 100%;
}

.fiic-form-stack > :where(h1, h2, h3, p),
.fiic-form-stack > label,
.fiic-form-stack > .row { margin-block: 0; }

.fiic-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--fiic-space-3);
  width: 100%;
  padding-top: var(--fiic-space-1);
}

.fiic-form-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--fiic-space-3) !important;
  width: 100%;
}

.user-status-select { width: auto !important; min-width: 8.5rem; }

.form-label {
  margin-bottom: var(--fiic-space-2);
  color: var(--fiic-forest-deep);
  font-size: .8125rem;
  font-weight: 750;
}

:where(.form-control, .form-select) {
  min-height: var(--fiic-control-height);
  padding: .68rem .85rem;
  border: var(--fiic-border);
  border-radius: var(--fiic-radius-sm);
  background-color: #fff;
  color: var(--fiic-ink);
  line-height: 1.35;
  box-shadow: var(--fiic-shadow-xs);
}

textarea.form-control { min-height: 112px; resize: vertical; }
:where(.form-control, .form-select)::placeholder { color: #8a958d; opacity: 1; }
:where(.form-control, .form-select):hover:not(:disabled) { border-color: rgba(81, 105, 46, .28); }
:where(.form-control, .form-select):focus {
  border-color: var(--fiic-forest);
  box-shadow: var(--fiic-focus-ring);
}

:where(.form-check-input, input[type="checkbox"], input[type="radio"]) { accent-color: var(--fiic-forest); }
/* Search and reporting filters historically used several independent control
 * sizes. Resolve every filter surface to the same component contract. */
.market-filter,
.directory-filter,
.knowledge-filter,
.knowledge-search,
.investment-filter,
.land-filter,
.analytics-filter,
.market-data-filter,
.notification-filters,
.governance-inline-form {
  gap: var(--fiic-space-3);
  padding: var(--fiic-card-inset);
  border: var(--fiic-border);
  border-radius: var(--fiic-radius-lg);
  background-color: #fff;
  box-shadow: var(--fiic-shadow-sm);
}

.market-filter label,
.directory-filter label,
.knowledge-filter label,
.knowledge-search label,
.investment-filter label,
.land-filter label,
.analytics-filter label,
.market-data-filter label,
.notification-filters label,
.governance-inline-form label {
  gap: var(--fiic-space-2);
  color: var(--fiic-forest-deep);
  font-size: .75rem;
  font-weight: 750;
}

.market-filter :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.directory-filter :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.knowledge-filter :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.knowledge-search :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.investment-filter :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.land-filter :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.analytics-filter :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.market-data-filter :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.notification-filters :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.governance-inline-form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: var(--fiic-control-height);
  padding: .68rem .85rem;
  border: var(--fiic-border);
  border-radius: var(--fiic-radius-sm);
  background-color: #fff;
  color: var(--fiic-ink);
  line-height: 1.35;
}

/* Icon-bearing fields need a protected text inset even when a page-level
 * input rule has greater selector weight. */
.market-filter .filter-input > input,
.directory-filter .filter-input > input,
.knowledge-filter input[type="search"] { padding-left: 2.5rem !important; }

.market-filter .btn,
.directory-filter .btn,
.knowledge-filter .btn,
.knowledge-search .btn,
.investment-filter .btn,
.land-filter .btn,
.analytics-filter .btn,
.market-data-filter .btn,
.notification-filters .btn,
.governance-inline-form .btn { min-height: var(--fiic-control-height); }

/* Status, notice and feedback components. */
.status-badge {
  min-height: 26px;
  padding: .34rem .62rem;
  border: 1px solid transparent;
  border-radius: var(--fiic-radius-pill);
  font-size: .6875rem;
  line-height: 1;
}

.alert {
  margin-bottom: var(--fiic-space-5);
  padding: .9rem 1rem;
  border-width: 1px;
  border-radius: var(--fiic-radius-md);
  font-size: .875rem;
  line-height: 1.55;
  box-shadow: var(--fiic-shadow-xs);
}

.alert-success { border-color: #cce2cf; background: #eef8ef; color: #285f31; }
.alert-warning { border-color: #ead8a6; background: #fff8e7; color: #75550f; }
.alert-danger { border-color: #e7c3c3; background: #fff0f0; color: #873737; }
.alert-info { border-color: #c8dce3; background: #edf7fa; color: #285f72; }

/* Lists and tables use the same vertical rhythm as cards. */
:where(.page-body, main) :where(ul, ol):not([class]) { padding-left: 1.25rem; }
:where(.page-body, main) :where(ul, ol):not([class]) > li + li { margin-top: var(--fiic-space-2); }

.list-group { border-radius: var(--fiic-radius-md); }
.list-group-item {
  padding-block: .9rem;
  border-color: rgba(49, 67, 27, .1);
  background: transparent;
  line-height: 1.45;
}

.list-group-item-action:hover,
.list-group-item-action:focus { background: var(--fiic-forest-soft); color: var(--fiic-forest-deep); }

footer.py-4 > .container a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
}

:where(.activity-item, .login-activity-list > article, .verification-list > article) {
  gap: var(--fiic-space-3);
  padding: .875rem;
  border-color: rgba(49, 67, 27, .1);
  border-radius: var(--fiic-radius-sm);
}

.table-responsive {
  border: var(--fiic-border);
  border-radius: var(--fiic-radius-md);
  background: #fff;
}

.table { margin-bottom: 0; vertical-align: middle; }
.table > :not(caption) > * > * { padding: .85rem .9rem; border-color: rgba(49, 67, 27, .09); }
.table thead th {
  background: #f7f9f5;
  color: #657164;
  font-size: .6875rem;
  font-weight: 800;
  letter-spacing: .045em;
}
.table tbody tr:hover { background: rgba(234, 240, 227, .46); }

/* MFA enrollment keeps the secret entirely in the no-store response while
 * making authenticator setup direct, scannable and usable without a camera. */
.mfa-enrollment {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: var(--fiic-space-6);
  align-items: start;
  margin-bottom: var(--fiic-space-2);
}

.mfa-qr-panel {
  display: grid;
  justify-items: center;
  gap: var(--fiic-space-3);
  padding: var(--fiic-space-4);
  border: var(--fiic-border);
  border-radius: var(--fiic-radius-lg);
  background: linear-gradient(180deg, #fff 0%, var(--fiic-forest-soft) 100%);
  text-align: center;
}

.mfa-qr-code {
  display: block;
  width: min(100%, 248px);
  height: auto;
  aspect-ratio: 1;
  padding: .5rem;
  border: 1px solid rgba(49, 67, 27, .12);
  border-radius: var(--fiic-radius-md);
  background: #fff;
  box-shadow: var(--fiic-shadow-sm);
}

.mfa-qr-panel small { max-width: 31ch; color: var(--fiic-muted); line-height: 1.5; }
.mfa-setup-steps h2 { margin-bottom: var(--fiic-space-3); font-size: 1.15rem; }
.mfa-setup-steps ol { display: grid; gap: var(--fiic-space-3); margin: 0 0 var(--fiic-space-4); padding-left: 1.35rem; }
.mfa-setup-steps li { padding-left: var(--fiic-space-2); line-height: 1.55; }
.mfa-manual-setup { padding: .875rem 1rem; border: var(--fiic-border); border-radius: var(--fiic-radius-md); background: #fff; }
.mfa-manual-setup summary { cursor: pointer; color: var(--fiic-forest-deep); font-weight: 750; }
.mfa-manual-setup > p { margin: var(--fiic-space-3) 0; color: var(--fiic-muted); font-size: .8125rem; }
.mfa-manual-setup details { margin-top: var(--fiic-space-3); }
.mfa-manual-setup textarea { margin-top: var(--fiic-space-2); font-size: .75rem; }
.mfa-secret-row { display: flex; gap: var(--fiic-space-2); align-items: center; }
.mfa-secret-row code { flex: 1; min-width: 0; padding: .7rem .8rem; border-radius: var(--fiic-radius-sm); background: var(--fiic-forest-soft); color: var(--fiic-forest-deep); overflow-wrap: anywhere; font-size: .8125rem; letter-spacing: .06em; }
.mfa-code-input { max-width: 18rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.1rem; letter-spacing: .15em; }

/* Consistent empty and overlay surfaces. */
:where(.empty-state, .empty-market, .investment-empty, .connection-empty, .account-empty-state) {
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: var(--fiic-radius-lg);
  text-align: center;
}

:where(.modal-content, .dropdown-menu, .jconfirm-box) {
  border: var(--fiic-border);
  border-radius: var(--fiic-radius-lg);
  box-shadow: var(--fiic-shadow-md);
}

/* One visible keyboard-focus language across every component family. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid rgba(187, 144, 39, .34);
  outline-offset: 2px;
}

@media (max-width: 991.98px) {
  .btn.btn-sm,
  .btn.btn-sm.ui-icon-only {
    min-height: 44px;
  }

  .btn.btn-sm.ui-icon-only {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px;
    flex-basis: 44px;
  }
}

@media (max-width: 575.98px) {
  :root {
    --fiic-card-inset: 1rem;
    --fiic-section-gap: 1.5rem;
  }

  .page-body { padding: 1.125rem .875rem 5.5rem; }
  .section-heading { gap: var(--fiic-space-3); margin-bottom: var(--fiic-space-4); }
  .section-heading h2,
  .section-heading h3 { font-size: 1.05rem; }
  .btn { white-space: normal; }
  .btn.ui-icon-only {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px;
    min-height: 44px;
    flex-basis: 44px;
  }
  :where(.form-control, .form-select) { font-size: 1rem; }
  .fiic-form-toolbar { grid-template-columns: minmax(0, 1fr); }
  .fiic-form-toolbar > .btn,
  .fiic-form-actions > .btn { width: 100%; }
  .fiic-form-stack > .row > .col { flex: 0 0 100%; width: 100%; }
  .table > :not(caption) > * > * { padding: .75rem; }
  .mfa-enrollment { grid-template-columns: 1fr; gap: var(--fiic-space-5); }
  .mfa-qr-panel { padding: var(--fiic-space-3); }
  .mfa-secret-row { align-items: stretch; flex-direction: column; }
  .mfa-secret-row .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  :where(.btn, .module-link, .featured-listing, .list-group-item-action, .sme-card-action a) {
    transition: none;
  }
}
/* SME support hub */
.sme-funding-callout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;margin-bottom:1.25rem;padding:1.25rem;border:1px solid #d7e4ce;border-radius:var(--fiic-radius-lg,18px);background:linear-gradient(120deg,#f6faf2,#fff9e9)}.sme-funding-callout>i{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.85rem;background:var(--fiic-primary,#17351c);color:#fff;font-size:1.25rem}.sme-funding-callout span{color:var(--fiic-secondary,#9d7112);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sme-funding-callout h2{margin:.15rem 0;font-size:1.15rem}.sme-funding-callout p{margin:0;color:var(--fiic-muted,#617064)}
.sme-support-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.sme-support-heading h1{margin:0 0 .35rem;color:var(--fiic-color-primary,#263f24);font-weight:800}.sme-support-heading p{margin:0;color:var(--fiic-text-muted,#627064);max-width:780px}.sme-support-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.sme-support-summary article{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;align-items:center;padding:1.25rem;border:1px solid var(--fiic-border,#dfe6dc);border-radius:var(--fiic-radius-lg,18px);background:#fff;box-shadow:var(--fiic-shadow-sm,0 8px 24px rgba(27,54,29,.06))}.sme-support-summary i{grid-row:1/3;width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:.8rem;background:var(--fiic-surface-soft,#eef3e9);color:var(--fiic-color-primary,#436527);font-size:1.2rem}.sme-support-summary span{color:var(--fiic-text-muted,#627064);font-size:.86rem}.sme-support-summary strong{font-size:1.6rem;color:var(--fiic-color-primary,#263f24)}.sme-support-section{padding:clamp(1.25rem,2.5vw,2rem);margin-bottom:1.5rem}.sme-support-section .section-heading{margin-bottom:1.25rem}.sme-support-section .section-heading h2{font-size:1.25rem;margin-bottom:.25rem}.sme-support-section .section-heading p{margin:0;color:var(--fiic-text-muted,#627064)}.sme-support-filter,.sme-document-upload,.sme-feedback-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end;padding:1rem;border-radius:1rem;background:var(--fiic-surface-soft,#f3f6f0);margin-bottom:1.25rem}.sme-support-filter.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.sme-support-filter label,.sme-document-upload label,.sme-feedback-form label{min-width:0}.sme-support-filter label span,.sme-document-upload label span,.sme-feedback-form label span{display:block;font-weight:700;font-size:.84rem;margin-bottom:.4rem;color:var(--fiic-color-primary,#314b2d)}.sme-document-upload{grid-template-columns:repeat(4,minmax(0,1fr))}.sme-document-upload .wide,.sme-feedback-form .wide{grid-column:1/-1}.sme-feedback-form{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.sme-provider-grid,.sme-opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.sme-provider-grid>article,.sme-opportunity-grid>article{padding:1.25rem;border:1px solid var(--fiic-border,#dfe6dc);border-radius:1rem;background:#fff}.sme-provider-grid header>div,.sme-opportunity-grid header{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:.75rem}.sme-provider-grid h3,.sme-opportunity-grid h3{font-size:1.05rem;margin:.4rem 0}.sme-provider-grid p,.sme-opportunity-grid p{color:var(--fiic-text-muted,#627064)}.sme-provider-grid dl,.sme-opportunity-grid dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.sme-provider-grid dl div,.sme-opportunity-grid dl div{padding:.75rem;border-radius:.75rem;background:var(--fiic-surface-soft,#f3f6f0)}.sme-provider-grid dt,.sme-opportunity-grid dt{font-size:.72rem;text-transform:uppercase;color:var(--fiic-text-muted,#627064)}.sme-provider-grid dd,.sme-opportunity-grid dd{margin:.2rem 0 0;font-weight:700;font-size:.86rem}.sme-opportunity-grid form{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end}.sme-support-empty{display:flex;gap:1rem;align-items:center;padding:1.25rem;border:1px dashed var(--fiic-border,#dfe6dc);border-radius:1rem}.sme-support-empty i{font-size:1.5rem;color:var(--fiic-text-muted,#627064)}.sme-support-empty p{margin:0;color:var(--fiic-text-muted,#627064)}.sme-feedback-history{display:grid;gap:.75rem}.sme-feedback-history article{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:1rem;border:1px solid var(--fiic-border,#dfe6dc);border-radius:1rem}.sme-feedback-history article>div{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.sme-feedback-history p{grid-column:1/-1;margin:0;color:var(--fiic-text-muted,#627064)}
@media(max-width:992px){.sme-support-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sme-support-filter,.sme-document-upload,.sme-feedback-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sme-document-upload .wide,.sme-feedback-form .wide{grid-column:1/-1}}
@media(max-width:640px){.sme-support-heading{display:block}.sme-support-heading>.status-badge{margin-top:.75rem}.sme-support-summary,.sme-provider-grid,.sme-opportunity-grid,.sme-support-filter,.sme-support-filter.compact,.sme-document-upload,.sme-feedback-form{grid-template-columns:1fr}.sme-provider-grid dl,.sme-opportunity-grid dl{grid-template-columns:1fr}.sme-opportunity-grid form{grid-template-columns:1fr}.sme-document-upload .wide,.sme-feedback-form .wide{grid-column:auto}.sme-feedback-history article{grid-template-columns:1fr}}
@media(max-width:720px){.sme-funding-callout{grid-template-columns:auto minmax(0,1fr)}.sme-funding-callout .btn{grid-column:1/-1;width:100%}}
/* Knowledge subscriptions and privacy-aware audience */
.knowledge-subscription-panel{padding:0;overflow:hidden}.knowledge-subscription-panel>summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.15rem 1.35rem;cursor:pointer;list-style:none}.knowledge-subscription-panel>summary::-webkit-details-marker{display:none}.knowledge-subscription-panel>summary span{display:flex;gap:.65rem;align-items:center;color:var(--fiic-color-primary,#314b2d)}.knowledge-subscription-panel>summary small{color:var(--fiic-text-muted,#627064)}.knowledge-subscription-body{padding:0 1.35rem 1.35rem;border-top:1px solid var(--fiic-border,#dfe6dc)}.knowledge-subscription-body>p{margin:1rem 0;color:var(--fiic-text-muted,#627064)}.knowledge-subscription-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;border-radius:1rem;background:var(--fiic-surface-soft,#f3f6f0);align-items:end}.knowledge-subscription-form fieldset{min-width:0}.knowledge-subscription-form legend,.knowledge-subscription-form>label>span{font-weight:700;font-size:.86rem;color:var(--fiic-color-primary,#314b2d);margin-bottom:.5rem}.knowledge-subscription-form fieldset>div{display:flex;flex-wrap:wrap;gap:.45rem}.knowledge-subscription-form fieldset label{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border:1px solid var(--fiic-border,#dfe6dc);border-radius:.65rem;background:#fff;font-size:.8rem}.knowledge-subscription-form .knowledge-subscription-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:.55rem;padding:.75rem;border-radius:.75rem;background:#fff}.knowledge-audience-panel{padding:1.35rem}.knowledge-audience-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.knowledge-audience-kpis article{padding:1rem;border-radius:.85rem;background:var(--fiic-surface-soft,#f3f6f0)}.knowledge-audience-kpis span{display:block;color:var(--fiic-text-muted,#627064);font-size:.8rem}.knowledge-audience-kpis strong{display:block;margin-top:.3rem;color:var(--fiic-color-primary,#314b2d);font-size:1.25rem}.knowledge-source-list{margin-top:1rem}.knowledge-source-list h3{font-size:1rem}.knowledge-source-list ul{display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0;list-style:none}.knowledge-source-list li{display:flex;gap:1rem;padding:.6rem .8rem;border:1px solid var(--fiic-border,#dfe6dc);border-radius:.7rem}.knowledge-source-list li strong{color:var(--fiic-color-primary,#314b2d)}
@media(max-width:720px){.knowledge-subscription-form,.knowledge-audience-kpis{grid-template-columns:1fr}.knowledge-subscription-form .knowledge-subscription-consent{grid-column:auto}.knowledge-subscription-panel>summary{align-items:flex-start;flex-direction:column}}

/* Help Centre ----------------------------------------------------------- */
.help-centre{background:var(--fiic-surface,#f4f7f2);min-height:calc(100vh - 5rem);color:var(--fiic-ink,#172319)}
.help-centre .container{max-width:1180px}
.help-hero{padding:clamp(2.5rem,6vw,5.5rem) 0;background:linear-gradient(120deg,var(--fiic-primary,#18361c),#304e24 58%,var(--fiic-secondary,#ad7d13));color:#fff}
.help-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.78fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.help-kicker,.help-section-heading span,.help-role-hero span{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fiic-accent,#c69422)}
.help-hero h1,.help-role-hero h1{font-size:clamp(2.35rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.045em;margin:.65rem 0 1rem;color:inherit}
.help-hero p,.help-role-hero p{max-width:46rem;font-size:clamp(1rem,2vw,1.25rem);line-height:1.7;margin:0;color:rgba(255,255,255,.82)}
.help-search{background:#fff;border-radius:1.25rem;padding:1.25rem;box-shadow:0 1.25rem 3.5rem rgba(8,22,11,.18);color:var(--fiic-ink,#172319)}
.help-search>label{display:block;font-weight:800;margin-bottom:.6rem}
.help-search>div{display:flex;align-items:center;border:1px solid #cbd5c7;border-radius:.85rem;overflow:hidden;background:#fff}
.help-search>div>i{margin-left:1rem;color:#68776a}.help-search input{border:0;outline:0;min-width:0;flex:1;padding:.95rem .75rem;background:transparent}.help-search button{align-self:stretch;border-radius:0}.help-search small{display:block;margin-top:.6rem;color:#647166}
.help-content{display:grid;gap:clamp(2.5rem,5vw,4.5rem);padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(3.5rem,6vw,6rem)}
.help-section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.25rem}.help-section-heading h2{font-size:clamp(1.6rem,3vw,2.35rem);margin:.25rem 0 0;letter-spacing:-.025em}.help-section-heading p{max-width:42rem;color:#5f6d61;margin:0}
.help-role-callout,.help-support{display:flex;align-items:center;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid #d8e0d5;border-radius:1.35rem;background:#fff;box-shadow:0 1rem 2.6rem rgba(24,54,28,.07)}
.help-role-callout>i,.help-support>i{display:grid;place-items:center;flex:0 0 3.5rem;height:3.5rem;border-radius:1rem;background:#edf3e9;color:var(--fiic-primary,#18361c);font-size:1.45rem}.help-role-callout div,.help-support div{flex:1}.help-role-callout span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--fiic-secondary,#9a6b08)}.help-role-callout h2,.help-support h2{font-size:1.3rem;margin:.2rem 0}.help-role-callout p,.help-support p{margin:0;color:#5f6d61}
.help-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.help-card{display:flex;gap:1rem;padding:1.35rem;border:1px solid #dbe2d8;border-radius:1.1rem;background:#fff;color:inherit;text-decoration:none;transition:.18s ease}.help-card:hover,.help-list>a:hover{transform:translateY(-2px);border-color:#9eaf92;box-shadow:0 .9rem 2rem rgba(24,54,28,.09);color:inherit}.help-card>i{color:var(--fiic-secondary,#9a6b08);font-size:1.35rem}.help-card h3{font-size:1.05rem;margin:0 0 .4rem}.help-card p{margin:0 0 .65rem;color:#637066;line-height:1.5}.help-card small{color:#78847a}
.help-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.help-topic{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid #dbe2d8;border-radius:.9rem;background:#fff;font-weight:750}.help-topic i{color:var(--fiic-secondary,#9a6b08)}
.help-footer{background:#fff;border-top:1px solid #e1e6df;padding:1.5rem}.help-footer .container{display:flex;justify-content:space-between;gap:1rem}.help-footer a{color:var(--fiic-primary,#18361c)}
.help-breadcrumb{display:flex;align-items:center;gap:.55rem;font-size:.84rem;margin-bottom:1.5rem}.help-breadcrumb a{color:inherit}.help-breadcrumb i{font-size:.65rem;opacity:.65}.help-hero .help-breadcrumb{color:rgba(255,255,255,.75)}
.help-role-hero{padding:clamp(2rem,5vw,4rem) 0;background:linear-gradient(135deg,#172f1b,#355526);color:#fff}.help-role-hero>div>div>i{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:1rem;background:rgba(255,255,255,.1);font-size:1.55rem;color:#f0c65e}.help-role-hero h1{font-size:clamp(2.2rem,4vw,3.7rem)}
.help-list{display:grid;gap:.75rem}.help-list>a{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.4rem;border:1px solid #dbe2d8;border-radius:1rem;background:#fff;text-decoration:none;color:inherit;transition:.18s ease}.help-list>a>div{flex:1}.help-list span{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:#7c6a31}.help-list h3{font-size:1.08rem;margin:.25rem 0}.help-list p{margin:0;color:#637066}.help-list>a>i{font-size:1.2rem;color:var(--fiic-primary,#18361c)}
.help-search-hero{padding:2.5rem 0;background:#eaf0e6}.help-search-hero h1{font-size:clamp(2rem,4vw,3.3rem);margin-bottom:1.25rem}.help-search-hero .help-search{max-width:52rem;padding:0;background:transparent;box-shadow:none}.help-empty{text-align:center;padding:3rem 1.5rem;border:1px solid #dbe2d8;border-radius:1.2rem;background:#fff}.help-empty>i{font-size:2rem;color:#7c8d7d}.help-empty h3{margin:1rem 0 .5rem}.help-empty p{max-width:42rem;margin:0 auto 1.5rem;color:#637066}.help-empty>div{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}
.help-article-shell{padding-top:2rem;padding-bottom:5rem}.help-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:2rem;align-items:start}.help-article{background:#fff;border:1px solid #dbe2d8;border-radius:1.25rem;overflow:hidden;box-shadow:0 1.2rem 3rem rgba(24,54,28,.07)}.help-article>header,.help-article>section,.help-article>aside,.help-article>footer{padding:clamp(1.4rem,4vw,2.4rem)}.help-article>header{background:linear-gradient(145deg,#f7faf5,#eef3ea);border-bottom:1px solid #dbe2d8}.help-article h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.04em;margin:.65rem 0 1rem}.help-article>header>p{font-size:1.1rem;line-height:1.65;color:#566459}.help-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.2rem;font-size:.84rem;color:#647166}.help-meta span{display:inline-flex;align-items:center;gap:.35rem}.help-article section+section{border-top:1px solid #edf0eb}.help-article h2{font-size:1.3rem;margin:0 0 1rem}.help-article ul{padding-left:1.2rem}.help-article li{margin:.55rem 0;line-height:1.65}.help-steps{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.help-steps li{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:1rem;align-items:start;margin:0}.help-steps li>span{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--fiic-primary,#18361c);color:#fff;font-weight:850}.help-steps p{margin:.4rem 0 0;line-height:1.65}.help-success,.help-security{display:flex;gap:1rem;background:#edf7ec}.help-success>i{color:#26843a;font-size:1.5rem}.help-success h2,.help-security h2{margin:0 0 .35rem}.help-success p,.help-security p{margin:0}.help-errors{display:grid;gap:.65rem}.help-errors details{border:1px solid #dbe2d8;border-radius:.8rem;padding:.9rem 1rem}.help-errors summary{font-weight:800;cursor:pointer}.help-errors p{margin:.75rem 0 0;color:#5f6d61}.help-security{background:#fff8e5;border-top:1px solid #ead9a7}.help-security>i{color:#9a6b08;font-size:1.5rem}.help-article-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#f7f9f6;font-size:.78rem;color:#677469}.help-article-footer a{color:var(--fiic-primary,#18361c);font-weight:750}.help-article-aside{position:sticky;top:6rem;display:grid;gap:.75rem}.help-article-aside .btn{justify-content:center}.help-article-aside>div{display:grid;gap:.6rem;margin-top:.75rem;padding:1rem;border:1px solid #dbe2d8;border-radius:.9rem;background:#fff}.help-article-aside h2{font-size:.9rem;margin:0}.help-article-aside>div>a{font-size:.86rem;color:var(--fiic-primary,#18361c)}
.context-help-link{display:flex;align-items:center;gap:.75rem;width:100%;max-width:100%;margin:.35rem 0 1.75rem;padding:.85rem 1rem;border:1px solid #d6dfd2;border-radius:.9rem;background:#fff;color:var(--fiic-primary,#18361c);text-decoration:none;box-shadow:0 .45rem 1.2rem rgba(24,54,28,.05)}.context-help-link>i:first-child{color:var(--fiic-secondary,#9a6b08)}.context-help-link span{display:grid;flex:1;font-weight:800}.context-help-link small{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#758176}
@media(max-width:991.98px){.help-hero-grid,.help-article-layout{grid-template-columns:1fr}.help-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-article-aside{position:static;order:-1;grid-template-columns:repeat(2,minmax(0,1fr))}.help-article-aside>div{grid-column:1/-1}}
@media(max-width:575.98px){.help-card-grid,.help-topic-grid{grid-template-columns:1fr}.help-search>div{display:grid;grid-template-columns:auto 1fr}.help-search button{grid-column:1/-1;border-radius:0}.help-section-heading,.help-role-callout,.help-support{align-items:flex-start;flex-direction:column}.help-role-callout .btn,.help-support .btn{width:100%}.help-article-aside{grid-template-columns:1fr}.help-article-footer{flex-direction:column}.help-footer .container{flex-direction:column}.context-help-link{max-width:100%;margin:.15rem 0 1.35rem}}
@media(prefers-reduced-motion:reduce){.help-card,.help-list>a{transition:none!important}}

.help-topic{text-decoration:none;color:inherit}.help-topic:hover{color:inherit;border-color:#9eaf92;box-shadow:0 .6rem 1.5rem rgba(24,54,28,.07)}
.help-step-warning{display:block;margin-top:.45rem;color:#855900}.help-correction{margin-top:1rem;padding:1rem;border-left:4px solid var(--fiic-secondary,#ad7d13);background:#fff8e5}.help-correction p{margin:.25rem 0 0!important;font-size:.95rem!important}
.help-flash{margin:1rem;padding:1rem;border-radius:.8rem;font-weight:700}.help-flash.is-success{background:#eaf7e9;color:#1d682d}.help-flash.is-error{background:#fff0ef;color:#8e2b25}.help-feedback form{display:grid;grid-template-columns:auto minmax(12rem,1fr) auto;gap:1rem;align-items:end}.help-feedback fieldset{display:flex;gap:1rem;padding:.7rem 0;border:0}.help-feedback>p,.help-feedback small{color:#637066}.help-feedback form>label{display:grid;gap:.35rem;font-size:.8rem;font-weight:750}.help-feedback select{padding:.7rem;border:1px solid #cbd5c7;border-radius:.65rem;background:#fff}.help-feedback small{grid-column:1/-1}
.help-heading-action{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.help-heading-action h2{margin:0}.help-copy-link,.help-step-link{border:0;background:transparent;color:var(--fiic-primary,#18361c);font-weight:750;min-height:44px}.help-copy-link{padding:.45rem .65rem;border-radius:.55rem}.help-step-link{display:grid;place-items:center;width:44px;height:44px;border-radius:50%}.help-copy-link:hover,.help-step-link:hover{background:#edf3e9}.help-steps li{grid-template-columns:2.4rem minmax(0,1fr) 44px;scroll-margin-top:6rem}
.help-search-filters fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;padding:0;border:0}.help-search-filters legend{grid-column:1/-1;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#647166}.help-search-filters fieldset label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.help-search-filters select{min-width:0;padding:.7rem;border:1px solid #cbd5c7;border-radius:.7rem;background:#fff}
.help-skip-link{position:fixed;z-index:1100;left:1rem;top:-5rem;padding:.75rem 1rem;border-radius:.6rem;background:#fff;color:#122617;font-weight:800;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.2)}.help-skip-link:focus{top:1rem}
.help-connection-notice{position:sticky;z-index:1020;top:0;display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:44px;padding:.7rem 1rem;background:#fff3cd;border-bottom:1px solid #e4ca72;color:#614b0b;font-weight:750;text-align:center}.help-connection-notice[hidden]{display:none}
@media(max-width:575.98px){.help-search-filters fieldset{grid-template-columns:1fr}.help-heading-action{align-items:flex-start;flex-direction:column}.help-steps li{grid-template-columns:2.4rem minmax(0,1fr)}.help-step-link{grid-column:2;justify-self:end;margin-top:-2.8rem}}
@media(max-width:767.98px){.help-feedback form{grid-template-columns:1fr}.help-feedback small{grid-column:1}}
@media print{.public-nav,.sidebar,.topbar,.cookie-consent,.floating-utility-stack,.help-article-aside,.help-skip-link,.help-copy-link,.help-step-link{display:none!important}.main-content,.page-body,.help-centre{margin:0!important;padding:0!important;background:#fff!important}.help-article-shell{max-width:none!important;padding:0!important}.help-article-layout{display:block}.help-article{box-shadow:none;border:0}.help-article>header,.help-article>section,.help-article>aside,.help-article>footer{padding:1rem 0}.help-steps li{break-inside:avoid}.help-article a::after{content:' (' attr(href) ')';font-size:.8em;overflow-wrap:anywhere}}

/* Platform-wide spacing acceptance contract. These final rules normalize the
   interior rhythm of forms, overlays, tables and fixed utilities without
   changing page-specific grid composition. */
:root{
  --fiic-field-gap:var(--fiic-space-4);
  --fiic-fieldset-inset:clamp(1rem,2vw,1.25rem);
  --fiic-overlay-inset:clamp(1rem,2.5vw,1.5rem);
}

:where(.page-body,main) :where(.form-grid,.enterprise-form-grid,.field-assignment-grid,.gis-import-form,.concession-draft-form,.application-review-form){row-gap:var(--fiic-field-gap)}
:where(.page-body,main) form :where(.form-control,.form-select,textarea,input,select){max-width:100%}
:where(.page-body,main) form .field-help{display:block;margin-top:var(--fiic-space-2);line-height:1.45}
:where(.page-body,main) form :where(fieldset.enterprise-category-fieldset,fieldset.knowledge-preference-fieldset){padding:var(--fiic-fieldset-inset)}
:where(.page-body,main) form :where(fieldset.enterprise-category-fieldset,fieldset.knowledge-preference-fieldset)>legend{float:none;width:auto;max-width:calc(100% - 1rem);padding-inline:var(--fiic-space-2);line-height:1.35}
.fiic-form-actions{flex-wrap:wrap;margin-top:var(--fiic-space-2);padding-top:var(--fiic-space-3);border-top:var(--fiic-border)}

:where(.modal-header,.modal-body,.modal-footer,.offcanvas-header,.offcanvas-body){padding:var(--fiic-overlay-inset)}
:where(.modal-header,.modal-footer){gap:var(--fiic-space-3)}
.modal-body>:first-child,.offcanvas-body>:first-child{margin-top:0}
.modal-body>:last-child,.offcanvas-body>:last-child{margin-bottom:0}
.modal-footer{flex-wrap:wrap}

.table>:not(caption)>*>*{padding:.8rem .9rem;vertical-align:middle}
.table-responsive{max-width:100%}
.content-card.p-0>.table-responsive .table{margin-bottom:0}

.floating-utility-stack{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));gap:var(--fiic-space-2)}

@media(max-width:575.98px){
  :root{--fiic-field-gap:var(--fiic-space-3);--fiic-fieldset-inset:1rem;--fiic-overlay-inset:1rem}
  .fiic-form-actions{align-items:stretch;flex-direction:column}
  .fiic-form-actions>*{width:100%}
  :where(.modal-footer)>.btn{width:100%}
  .table>:not(caption)>*>*{padding:.75rem}
  .floating-utility-stack{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom))}
}
@media(forced-colors:active){.help-card,.help-topic,.help-list>a,.help-article,.help-support,.help-search,.help-errors details,.help-connection-notice{border:1px solid CanvasText;box-shadow:none}.help-steps li>span,.btn-fiic,.btn-gold{forced-color-adjust:none}.help-copy-link:focus,.help-step-link:focus,.help-skip-link:focus{outline:3px solid Highlight;outline-offset:3px}.help-kicker,.help-section-heading span,.help-role-hero span{color:CanvasText}}
/* Funding calls and protected Expression of Interest workflow */
.funding-impact-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0 0 1rem}.funding-impact-preview>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border:1px solid var(--fiic-border,#dfe7dc);border-radius:12px;background:var(--fiic-surface-soft,#f7faf5)}.funding-impact-preview span{color:var(--fiic-muted,#617064);font-size:.82rem}@media(max-width:680px){.funding-impact-preview{grid-template-columns:1fr}.funding-impact-preview>div{align-items:flex-start;flex-direction:column}}
.funding-round-edit{grid-column:1/-1;border-top:1px solid var(--fiic-border,#dfe7dc);padding-top:.75rem}.funding-round-edit>summary{cursor:pointer;color:var(--fiic-primary,#17351c);font-weight:800}.funding-round-edit[open]>summary{margin-bottom:1rem}.funding-round-edit .funding-editor-form{padding:1rem;border-radius:14px;background:var(--fiic-surface-soft,#f7faf5)}
.funding-filter{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:1rem;align-items:end;padding:1.25rem;margin-bottom:2rem;border:1px solid var(--fiic-border,#dfe7dc);border-radius:var(--fiic-radius-lg,22px);background:#fff;box-shadow:var(--fiic-shadow-sm,0 8px 25px rgba(24,53,28,.06))}.funding-filter.compact{grid-template-columns:repeat(2,minmax(180px,1fr)) auto;margin-bottom:1rem}.funding-filter label,.funding-editor-form label,.funding-eoi-panel label,.funding-review-form label,.funding-interest-actions label,.funding-export-form label{display:grid;gap:.45rem;min-width:0;font-weight:700}.funding-filter input,.funding-filter select,.funding-editor-form input,.funding-editor-form select,.funding-editor-form textarea,.funding-eoi-panel input,.funding-eoi-panel select,.funding-eoi-panel textarea,.funding-review-form input,.funding-review-form select,.funding-review-form textarea,.funding-interest-actions input,.funding-interest-actions select,.funding-interest-actions textarea,.funding-export-form input{width:100%;min-height:48px;padding:.75rem .9rem;border:1px solid var(--fiic-border,#d7e0d5);border-radius:12px;background:#fff;color:var(--fiic-ink,#152018)}.funding-interest-list header,.funding-review-list article>header,.funding-source-panel header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.funding-review-grid a{color:var(--fiic-primary,#17351c);text-decoration-thickness:1px;text-underline-offset:3px}.funding-source-panel dl,.funding-enterprise-list dl{display:grid;gap:.65rem;margin:0}.funding-source-panel dl div,.funding-enterprise-list dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--fiic-border,#e3e9e1);padding-bottom:.55rem}.funding-source-panel dt,.funding-enterprise-list dt{color:var(--fiic-muted,#617064);font-weight:500}.funding-source-panel dd,.funding-enterprise-list dd{margin:0;text-align:right;font-weight:700}.funding-status{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .65rem;border-radius:999px;background:#eef3eb;color:#405143;font-size:.82rem;font-weight:800}.funding-status i{font-size:.48rem}.funding-status.is-open{background:#e5f5e8;color:#17662a}.funding-status.is-closing_soon{background:#fff1cf;color:#7b5400}.funding-status.is-upcoming{background:#e8f2f6;color:#175d72}.funding-status.is-paused,.funding-status.is-cancelled{background:#fbe9e7;color:#962e22}.funding-status.is-closed,.funding-status.is-archived{background:#eef0ed;color:#59625b}.funding-empty{padding:3rem 1.5rem;text-align:center;border:1px dashed var(--fiic-border,#cfdacc);border-radius:22px;background:#fff}.funding-empty.compact{padding:1.5rem}
.funding-workspace-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}.funding-workspace-heading h1{margin:.25rem 0}.funding-workspace-heading p{max-width:850px;margin:0;color:var(--fiic-muted,#617064)}.funding-summary,.funding-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.funding-summary article,.funding-admin-summary article{padding:1.25rem;border:1px solid var(--fiic-border,#dfe7dc);border-radius:18px;background:#fff}.funding-summary span,.funding-summary strong,.funding-admin-summary span,.funding-admin-summary strong{display:block}.funding-summary strong,.funding-admin-summary strong{margin-top:.5rem;font-size:1.8rem;color:var(--fiic-primary,#17351c)}.funding-workspace-section,.funding-admin-section{padding:clamp(1.25rem,2.5vw,2rem);margin-bottom:1.5rem}.funding-enterprise-list,.funding-interest-list,.funding-review-list{display:grid;gap:1rem}.funding-enterprise-list>article,.funding-interest-list>article{padding:1.25rem;border:1px solid var(--fiic-border,#dfe7dc);border-radius:18px}.funding-enterprise-list>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:1.5rem;align-items:start}.funding-badges{display:flex;gap:.5rem;flex-wrap:wrap}.funding-eoi-panel{border:1px solid var(--fiic-border,#dce5d9);border-radius:15px;background:var(--fiic-surface-soft,#f7faf5)}.funding-eoi-panel summary,.funding-interest-list details>summary{padding:1rem;cursor:pointer;font-weight:800;color:var(--fiic-primary,#17351c)}.funding-eoi-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:0 1rem 1rem}.funding-eoi-panel .wide,.funding-review-form .wide{grid-column:1/-1}.funding-consent{grid-template-columns:auto 1fr!important;align-items:start}.funding-consent input{width:20px!important;min-height:20px!important;margin-top:.15rem}.funding-non-guarantee{padding:.8rem 1rem;margin:0;border-radius:12px;background:#fff6dc;color:#5e470d}.funding-eoi-panel .funding-non-guarantee{grid-column:1/-1}.funding-interest-list details{margin-top:1rem;border-top:1px solid var(--fiic-border,#e1e8df)}.funding-statement{padding:1rem;white-space:normal;background:#f7faf5;border-radius:12px}.funding-review-message{padding:1rem;border-left:4px solid var(--fiic-secondary,#bf8f1c);background:#fff8e7}.funding-interest-actions{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.funding-interest-actions form{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--fiic-border,#dfe7dc);border-radius:14px}.funding-source-panel{padding:1.25rem;margin:1.5rem 0;border:1px solid #d7e4ce;border-left:5px solid var(--fiic-secondary,#bf8f1c);border-radius:16px;background:#f8fbf5}.funding-source-panel h2{margin:.25rem 0;font-size:1.35rem}.funding-source-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.funding-round-list{display:grid;gap:.5rem;padding:1rem 0 0;list-style:none}.funding-round-list li{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.65rem;border-bottom:1px solid var(--fiic-border,#dfe7dc)}
.funding-share-safe{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem;margin:0 0 1.25rem;border:1px solid var(--fiic-border,#dfe7dc);border-radius:14px;background:var(--fiic-surface-soft,#f7faf5)}.funding-share-safe>span{padding:.35rem .65rem;border-radius:999px;background:#fff;font-weight:750}.funding-share-safe>small{flex-basis:100%;color:var(--fiic-muted,#617064)}
.funding-editor{padding:clamp(1.25rem,2.5vw,2rem)}.funding-editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.funding-editor-form .wide{grid-column:1/-1}.funding-toggle{grid-template-columns:auto 1fr!important;align-items:center}.funding-toggle input{width:20px!important;min-height:20px!important}.funding-editor-rounds{display:grid;gap:.65rem;margin-bottom:1.25rem}.funding-editor-rounds article{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:1rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--fiic-border,#dfe7dc);border-radius:12px}.funding-editor-rounds article>div{display:flex;gap:.6rem;align-items:center}.funding-review-list article{padding:1.5rem}.funding-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.funding-review-grid div{display:grid;gap:.3rem;padding:.8rem;background:#f7faf5;border-radius:10px}.funding-review-grid span{color:var(--fiic-muted,#617064);font-size:.8rem}.funding-review-form{display:grid;grid-template-columns:minmax(180px,.5fr) repeat(2,minmax(260px,1fr)) auto;gap:1rem;align-items:end;padding-top:1rem;border-top:1px solid var(--fiic-border,#dfe7dc)}.funding-review-form .wide{grid-column:auto}.funding-export-form{display:flex;align-items:end;gap:1rem;justify-content:flex-end}.funding-export-form label{width:min(100%,430px)}
@media(max-width:1050px){.funding-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.funding-filter .btn{width:100%}.funding-enterprise-list>article{grid-template-columns:1fr}.funding-review-form{grid-template-columns:repeat(2,minmax(0,1fr))}.funding-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.funding-editor-rounds article{grid-template-columns:1fr}.funding-editor-rounds article>small{overflow-wrap:anywhere}}
@media(max-width:680px){.funding-filter,.funding-filter.compact,.funding-summary,.funding-admin-summary,.funding-eoi-panel form,.funding-interest-actions,.funding-editor-form,.funding-review-grid,.funding-review-form{grid-template-columns:1fr}.funding-workspace-heading{align-items:flex-start;flex-direction:column}.funding-editor-form .wide,.funding-eoi-panel .wide{grid-column:auto}.funding-export-form{align-items:stretch;flex-direction:column}.funding-export-form label{width:100%}.funding-round-list li{grid-template-columns:1fr}.funding-source-panel dl div,.funding-enterprise-list dl div{align-items:flex-start;flex-direction:column}.funding-source-panel dd,.funding-enterprise-list dd{text-align:left}}

.knowledge-create-funding{padding:1.25rem!important;border:1px solid var(--fiic-border,#dfe7dc)!important;border-radius:18px;background:var(--fiic-surface-soft,#f7faf5)}.knowledge-create-funding>.section-heading{align-items:center;margin-bottom:0}.knowledge-create-funding>.section-heading h2{margin-bottom:.25rem}.knowledge-create-funding>.section-heading p{max-width:760px;margin:0;color:var(--fiic-muted,#617064);font-size:.78rem;line-height:1.55}.knowledge-create-funding [data-create-funding-fields]{margin-top:1.25rem}.knowledge-create-funding [data-create-funding-fields][hidden]{display:none!important}.funding-create-round-heading{display:grid;gap:.25rem;padding-top:1rem;border-top:1px solid var(--fiic-border,#dfe7dc)}.funding-create-round-heading small{color:var(--fiic-muted,#617064);font-weight:500}

/* International visual foundation: solid, editorial and evidence-led. */
.public-nav-shared{padding:10px 0;border-bottom:2px solid var(--fiic-forest-deep);background:#fff;box-shadow:none;backdrop-filter:none}
.public-nav-shared .brand-mark{max-width:250px;gap:10px}.public-nav-shared .brand-mark img{width:48px;height:48px;border:1px solid var(--fiic-line);border-radius:var(--fiic-radius-xs);box-shadow:none}.public-nav-shared .brand-mark strong{letter-spacing:.01em}.public-nav-shared .brand-mark small{max-width:175px;margin-top:3px;overflow:visible;color:var(--fiic-muted);font-size:.62rem;line-height:1.15;letter-spacing:.045em;text-overflow:clip;white-space:normal}.public-nav-shared .public-nav-links{gap:0}.public-nav-shared .public-nav-links>a:not(.btn){padding:10px 8px;border-radius:0;font-size:.76rem}.public-nav-shared .public-nav-links>a:not(.btn):hover{background:#f4f1e8}.public-nav-shared .public-nav-links>a:not(.btn).active{background:transparent}.public-nav-shared .public-nav-links>a:not(.btn).active::after{right:8px;bottom:4px;left:8px;height:2px;border-radius:0;background:var(--fiic-forest)}
.has-public-nav main>:where(header,section) h1,.has-public-nav main>:where(header,section) h2,.public-footer strong{font-family:var(--fiic-font-editorial);font-weight:700;letter-spacing:-.025em}
.hero{min-height:0;color:var(--fiic-ink);background:#f3f0e8;border-bottom:1px solid #d5cfbf}.hero::before{display:none}.hero-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);align-items:end;gap:clamp(2rem,6vw,6rem);min-height:590px}.hero-copy{max-width:820px}.hero-kicker{margin:0 0 1.25rem!important;color:var(--fiic-forest)!important;font-size:.78rem!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero h1{max-width:780px;margin:0;color:var(--fiic-forest-deep)!important;font-family:var(--fiic-font-editorial);font-size:clamp(3rem,6vw,5.6rem);font-weight:700;line-height:.98;letter-spacing:-.045em}.hero p{max-width:700px;color:#526057;font-size:1.05rem;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.hero-proof{display:flex;flex-wrap:wrap;gap:0;margin-top:2rem}.hero-proof span{padding:.2rem 1rem .2rem 0;border:0;border-radius:0;color:#4c5a50;background:transparent;font-size:.72rem;font-weight:700}.hero-proof span+span{padding-left:1rem;border-left:1px solid #c3bcaa}.hero-programme-note{align-self:end;padding:1.5rem 0 1.5rem 1.5rem;border-left:4px solid var(--fiic-gold)}.hero-programme-note strong{color:var(--fiic-forest-deep);font-family:var(--fiic-font-editorial);font-size:1.35rem}.hero-programme-note p{margin:.65rem 0 1rem;font-size:.82rem;line-height:1.65}.hero-programme-note a{font-size:.78rem}
.market-strip{border-bottom:0;color:#fff;background:var(--fiic-forest-deep);box-shadow:none}.market-strip .container>div{border-color:rgba(255,255,255,.16)}.market-strip span{color:rgba(255,255,255,.68)}.market-strip strong{color:#fff}.market-strip a{color:#f2d984}
.capability-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--fiic-line)}.capability-item{min-width:0;border-bottom:1px solid var(--fiic-line)}.capability-item:nth-child(odd){border-right:1px solid var(--fiic-line)}.capability-item .module-link{color:inherit}.capability-item .module-card{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:baseline;gap:.35rem 1rem;min-height:150px;padding:1.5rem;border:0;border-radius:0;background:transparent;box-shadow:none}.capability-item .module-card:hover{transform:none;box-shadow:inset 4px 0 0 var(--fiic-gold)}.capability-item .module-card>small{grid-row:1/3;color:var(--fiic-gold-dark);font-family:var(--fiic-font-editorial);font-size:1rem}.capability-item .module-card h3{margin:0;font-size:1.05rem}.capability-item .module-card p{min-height:0;margin:0;font-size:.78rem}.capability-item .module-action{align-self:end;grid-column:3;grid-row:1/3}
.trust-section{background:#e8ede4}.trust-grid{gap:0;border-top:1px solid #cbd5c6}.trust-grid article{gap:1rem;padding:1.35rem 1rem;border:0;border-bottom:1px solid #cbd5c6;border-radius:0;background:transparent;box-shadow:none}.trust-grid article:nth-child(odd){border-right:1px solid #cbd5c6}.trust-grid article>small{color:var(--fiic-gold-dark);font-family:var(--fiic-font-editorial);font-weight:700}
.membership-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:2rem}.membership-grid{gap:0;border-top:1px solid var(--fiic-line)}.membership-grid article{padding:1.5rem 1.25rem;border:0;border-right:1px solid var(--fiic-line);border-bottom:1px solid var(--fiic-line);border-radius:0;box-shadow:none}.membership-grid article:last-child{border-right:0}.membership-grid article small{color:var(--fiic-gold-dark);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.membership-grid h3{margin-top:.75rem}
.platform-cta,.market-cta{background:var(--fiic-forest-deep)}.public-footer{color:#fff;background:#101b12}.public-footer>.container{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,1fr);gap:2rem;padding-top:2.5rem;padding-bottom:2.5rem}.public-footer strong{font-size:1.6rem}.public-footer p{max-width:460px;margin:.4rem 0 0;color:rgba(255,255,255,.64);font-size:.78rem}.public-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem 1.25rem}.public-footer a{color:#fff!important;font-size:.78rem}.public-footer small{grid-column:1/-1;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55)}
@media(max-width:991.98px){.hero-layout{grid-template-columns:1fr;min-height:0}.hero-programme-note{max-width:680px}.membership-heading{grid-template-columns:1fr;gap:.5rem}}
@media(max-width:767.98px){.capability-index{grid-template-columns:1fr}.capability-item:nth-child(odd){border-right:0}.capability-item .module-card{grid-template-columns:2rem minmax(0,1fr);min-height:0}.capability-item .module-action{grid-column:2;grid-row:3}.membership-grid{grid-template-columns:1fr 1fr}.membership-grid article:nth-child(even){border-right:0}.public-footer>.container{grid-template-columns:1fr}.public-footer-links{justify-content:flex-start}.public-footer small{grid-column:1}}
@media(max-width:575.98px){.floating-utility-stack{right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));gap:.35rem}.cookie-settings-launcher,.floating-help-launcher{width:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;font-size:.9rem}.cookie-settings-launcher span,.floating-help-launcher span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero h1{font-size:clamp(2.7rem,15vw,4.2rem)}.hero-proof{display:grid;gap:.5rem}.hero-proof span,.hero-proof span+span{padding:0;border:0}.hero-programme-note{padding-left:1rem}.membership-grid{grid-template-columns:1fr}.membership-grid article{border-right:0}}

/* Platform-wide solid visual contract: typography, surfaces and hierarchy. */
:where(body,button,input,select,textarea){font-family:var(--fiic-font-sans)}
:where(h1,h2,h3,h4,h5,h6,.page-title,.brand-mark strong,.sidebar-user strong){font-family:var(--fiic-font-sans);font-synthesis:none}
.sidebar{background:var(--fiic-forest-deep);box-shadow:none}
.topbar,.public-nav-shared{backdrop-filter:none}
.market-hero,.directory-hero,.guide-hero,.registration-intro,.application-status-hero,.enterprise-profile-hero,.investment-hero,.knowledge-hero,.trace-public-hero,.land-hero,.land-detail-hero,.publications-hero,.help-hero,.help-role-hero{background:var(--fiic-forest-deep);box-shadow:none}
.guide-hero::after,.registration-intro::after{display:none}
.market-summary,.investment-hero-stats,.knowledge-hero-stats,.land-hero-metrics{border:0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);border-radius:0;background:transparent;backdrop-filter:none}
.investment-hero-stats article,.knowledge-hero-stats article,.land-hero-metrics article{border:0;border-left:1px solid rgba(255,255,255,.22);border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none}
.investment-hero-stats article:first-child,.knowledge-hero-stats article:first-child,.land-hero-metrics article:first-child{border-left:0}
.platform-cta,.market-cta,.listing-benefits,.credential-banner,.guide-end-cta,.enterprise-connect-card{background:var(--fiic-forest-deep);box-shadow:none}
.listing-visual{min-height:auto;padding:1rem 1rem 0;background:#fff}
.listing-visual>i{display:none}
.publication-card-visual{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;min-height:78px;padding:1rem;border-bottom:1px solid var(--fiic-line);background:#fff}
.publication-card-visual>i{margin-right:auto;color:var(--fiic-forest);background:var(--fiic-forest-soft)}
.events-page .publication-card-visual>i{display:none}
.events-page .publication-card-visual time{position:static;display:inline-flex;align-items:baseline;gap:.3rem;min-width:74px;min-height:44px;margin-right:auto;padding:.55rem .7rem;border:1px solid #d6dfd2;border-radius:var(--fiic-radius-sm);color:var(--fiic-forest-deep);background:var(--fiic-forest-soft)}
.events-page .publication-card-visual time strong{font-size:1.4rem;line-height:1}
.events-page .publication-card-visual time span{font-size:.7rem;line-height:1;font-weight:850;text-transform:uppercase}
.sme-monogram,.cookie-consent-icon,.fiic-404-icon{background:var(--fiic-forest);box-shadow:none}
.phone-format-card,.account-type-card.selected,.publication-trust,.sme-funding-callout,.help-article>header,.home-updates-section,.public-story-main>header,.application-status-page,.registration-page,.fiic-404{background:var(--fiic-bg)}
.land-map{background:#e2e9dc}
.knowledge-media-preview,.knowledge-audio-art{background:var(--fiic-forest-deep)}
.knowledge-document-art{color:var(--fiic-forest);background:var(--fiic-forest-soft)}
.readiness-ring,.readiness-score-ring,.governance-boundary-note{background:var(--fiic-forest-soft)}
.mfa-qr-panel{background:#fff}
.progress-fiic>span,.profile-completeness>div>span,.readiness-progress span,.analytics-bars i{background:var(--fiic-forest)}
body.is-navigating::after{background:var(--fiic-gold);box-shadow:none}
.content-card,.public-listing-card,.opportunity-card,.knowledge-media-card,.publication-card,.land-result-card,.readiness-summary>article,.readiness-criterion,.readiness-action,.analytics-kpis article{box-shadow:var(--fiic-shadow-xs)}
.content-card:hover,.public-listing-card:hover,.opportunity-card:hover,.knowledge-media-card:hover,.publication-card:hover,.land-result-card:hover{transform:none;box-shadow:var(--fiic-shadow-sm)}

/* Mobile action contract: clear touch targets and separated navigation actions. */
@media(max-width:1199.98px){
  .public-nav-shared .public-nav-collapse{padding:12px}
  .public-nav-shared .public-nav-links{grid-template-columns:1fr;gap:0}
  .public-nav-shared .public-nav-links>a:not(.btn){min-height:44px;padding:10px 12px;border-bottom:1px solid #e2e8df;border-radius:0}
  .public-nav-shared .public-nav-links>a:not(.btn).active::after{top:10px;right:auto;bottom:10px;left:0;width:3px;height:auto;border-radius:0;background:var(--fiic-forest)}
  .public-nav-shared .public-nav-links>.btn{grid-column:1;min-height:48px;padding:.7rem 1rem;border-radius:12px;justify-content:center!important;text-align:center;line-height:1.2}
  .public-nav-shared .public-nav-links>.btn i{font-size:1rem}
  .public-nav-shared .public-nav-signin,.public-nav-shared .public-nav-workspace{margin-top:12px!important}
  .public-nav-shared .public-nav-signin+.public-nav-primary{margin-top:8px!important}
}
@media(max-width:575.98px){
  .btn:not(.ui-icon-only){min-height:46px;padding:.65rem .9rem;border-radius:11px;line-height:1.2}
  .btn.btn-sm:not(.ui-icon-only){min-height:44px;padding:.6rem .8rem}
  .public-nav-shared .public-nav-links>.btn{min-height:48px;padding:.7rem 1rem;border-radius:12px}
}
