/* FinanceGPT DP12 ecosystem directory + responsive experience QA */
:root{--fg-dp12-good:#2ed391;--fg-dp12-warn:#f0b44d;--fg-dp12-public-ink:#102133;--fg-dp12-public-muted:#65788b}

/* Public ecosystem directory */
.fg-public-surface .fg-directory-summary{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:22px;border:1px solid #dfe7f0;border-radius:16px;background:#f9fbfd}
.fg-public-surface .fg-directory-proof{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.fg-public-surface .fg-directory-proof span,.fg-public-surface .fg-chip-row span{display:inline-flex;align-items:center;padding:.42rem .62rem;border-radius:999px;background:#edf6ff;border:1px solid #d1e8fb;color:#226da7;font-size:.78rem;font-weight:600}
.fg-public-surface .fg-ecosystem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fg-public-surface .fg-ecosystem-card{display:flex;flex-direction:column;min-width:0;padding:20px;border-radius:14px;border:1px solid #dce5ef;background:#fff;box-shadow:0 10px 30px rgba(22,44,67,.045)}
.fg-public-surface .fg-ecosystem-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.fg-public-surface .fg-ecosystem-card h3 a{color:var(--fg-dp12-public-ink);text-decoration:none}.fg-public-surface .fg-ecosystem-card h3 a:hover{color:#0879df}
.fg-public-surface .fg-ecosystem-headline{color:#40556a;font-weight:600;line-height:1.45}
.fg-public-surface .fg-verified-mark{display:inline-flex;align-items:center;white-space:nowrap;padding:.35rem .55rem;border-radius:999px;background:#ecfbf5;border:1px solid #bdebd8;color:#167b58;font-size:.74rem;font-weight:700}
.fg-public-surface .fg-chip-row{display:flex;flex-wrap:wrap;gap:6px}.fg-public-surface .fg-ecosystem-card .fg-chip-row{margin-top:auto;padding-top:8px}
.fg-public-surface .fg-ecosystem-meta{display:flex;justify-content:space-between;gap:12px;padding-top:14px;margin-top:14px;border-top:1px solid #edf1f5;color:#718396;font-size:.76rem}
.fg-public-surface .fg-directory-empty{grid-column:1/-1;padding:32px;border:1px dashed #cdd8e4;border-radius:14px;text-align:center;background:#fbfcfe}
.fg-public-surface .fg-profile-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:24px}
.fg-public-surface .fg-profile-verification{text-align:right}.fg-public-surface .fg-profile-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:38px;align-items:start}
.fg-public-surface .fg-profile-proof-card{border:1px solid #dce5ef;background:#f8fafc;border-radius:14px;padding:20px;position:sticky;top:96px}.fg-public-surface .fg-profile-proof-card dl{margin:0}.fg-public-surface .fg-profile-proof-card dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;color:#7a8b9b;margin-top:14px}.fg-public-surface .fg-profile-proof-card dt:first-child{margin-top:0}.fg-public-surface .fg-profile-proof-card dd{margin:.25rem 0 0;color:#1b2d3f;word-break:break-word}
.fg-break-all{word-break:break-all}

/* Portal ecosystem operations and analytics */
.fg-portal-surface .fg-analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fg-portal-surface .fg-analytics-grid>div{background:#0d1722;border:1px solid #2a3a4c;border-radius:10px;padding:14px;min-width:0}
.fg-portal-surface .fg-metric-row{display:flex;justify-content:space-between;gap:12px;padding:.48rem 0;border-bottom:1px solid #223244;color:#9eafbe}.fg-portal-surface .fg-metric-row:last-child{border-bottom:0}.fg-portal-surface .fg-metric-row strong{color:#f2f7fb!important}
.fg-portal-surface .fg-status{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .48rem;border:1px solid #405268;color:#b8c7d5;font-size:.72rem;text-transform:capitalize;white-space:nowrap}.fg-portal-surface .fg-status-success{border-color:#286b55;color:#78e0b5;background:#102820}.fg-portal-surface .fg-status-warning{border-color:#745a29;color:#f3cf79;background:#2c2413}.fg-portal-surface .fg-status-info{border-color:#225a87;color:#7fc5ff;background:#10283b}

/* Experience QA: keep layouts readable and bounded at realistic widths. */
.fg-portal-surface .fg-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.fg-portal-surface .fg-form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fg-portal-surface .fg-toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fg-portal-surface .fg-page-header>*{min-width:0}
.fg-portal-surface .fg-panel-title{font-size:1rem;margin:0;color:#f4f8fc}
.fg-portal-surface .fg-panel .table{margin-bottom:0}
.fg-portal-surface .fg-panel .table td,.fg-portal-surface .fg-panel .table th{max-width:520px}
.fg-portal-surface .fg-panel .table code{white-space:normal;word-break:break-all}
.fg-portal-surface textarea.form-control{min-height:108px;resize:vertical}

/* QLM Studio, Quant Models and LQM Builder stronger wide-screen/overflow gates. */
.fg-portal-surface .fg-qlm-studio,.fg-portal-surface .fg-quant-models,.fg-portal-surface .fg-lqm-builder{min-width:0}
.fg-portal-surface .fg-qlm-studio .fg-qlm-layout>*{min-width:0}
.fg-portal-surface .fg-qlm-studio select,.fg-portal-surface .fg-qlm-studio input,.fg-portal-surface .fg-qlm-studio textarea{max-width:100%}
.fg-portal-surface .fg-quant-models .fg-table-wrap,.fg-portal-surface .fg-lqm-builder .table-responsive{scrollbar-width:thin}
.fg-portal-surface .fg-quant-models #quant-model-table th:first-child,.fg-portal-surface .fg-quant-models #quant-model-table td:first-child{min-width:330px}
.fg-portal-surface .fg-lqm-builder .card-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}

@media(max-width:1199.98px){
  .fg-public-surface .fg-ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fg-portal-surface .fg-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fg-public-surface .fg-profile-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}
}
@media(max-width:767.98px){
  .fg-public-surface .fg-directory-summary,.fg-public-surface .fg-profile-hero{align-items:flex-start;flex-direction:column}
  .fg-public-surface .fg-directory-proof{justify-content:flex-start}.fg-public-surface .fg-profile-verification{text-align:left}
  .fg-public-surface .fg-ecosystem-grid,.fg-public-surface .fg-profile-layout,.fg-portal-surface .fg-analytics-grid,.fg-portal-surface .fg-form-grid-2{grid-template-columns:1fr}
  .fg-public-surface .fg-profile-proof-card{position:static}
  .fg-public-surface .fg-ecosystem-meta{flex-direction:column}
  .fg-portal-surface .fg-page-header{gap:12px}.fg-portal-surface .fg-toolbar{justify-content:flex-start;width:100%}
  .fg-portal-surface .fg-toolbar .btn{flex:1 1 180px}
}
@media(max-width:575.98px){
  .fg-public-surface .fg-ecosystem-card{padding:16px}.fg-public-surface .fg-ecosystem-card-top{flex-direction:column}
  .fg-public-surface .fg-directory-summary{padding:16px}.fg-public-surface .fg-directory-proof span,.fg-public-surface .fg-chip-row span{font-size:.72rem}
  .fg-portal-surface .fg-panel-header{align-items:flex-start;flex-direction:column}
  .fg-portal-surface .fg-kpi{min-height:0}.fg-portal-surface .table td,.fg-portal-surface .table th{padding:.7rem .55rem}
}
