/* Private model pages (dashboard + model detail). All rules scoped under
   .ffm-wrap so nothing leaks to the public app, which also loads this file.
   Uses the site theme variables, so it inherits the shared light/dark toggle. */

.ffm-wrap{max-width:880px;margin:0 auto;padding:22px 24px 70px}
.ffm-wrap .ffm-h1{font-size:21px;font-weight:600;margin:.2rem 0 0;font-family:var(--font-display);color:var(--text)}
.ffm-wrap .ffm-title{font-size:21px;font-weight:600;font-family:var(--font-display);color:var(--text)}
.ffm-wrap .ffm-desc{font-size:13px;color:var(--text-muted);margin-top:3px}
.ffm-wrap .ffm-meta{font-size:12px;color:var(--text-faint);margin-top:5px;font-family:var(--font-data)}
.ffm-wrap .ffm-back{font-size:12px;color:var(--text-muted)}
.ffm-wrap .ffm-prose{font-size:13px;line-height:1.7;color:var(--text)}
.ffm-wrap .ffm-empty{color:var(--text-muted);padding:48px 0;text-align:center}

.ffm-wrap a{color:var(--gold)}
.ffm-wrap a:hover{color:var(--gold-bright)}

.ffm-wrap .ffm-metrics{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 20px}
.ffm-wrap .metric{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:11px 14px;flex:1;min-width:104px}
.ffm-wrap .metric .l{font-size:12px;color:var(--text-muted)}
.ffm-wrap .metric .v{font-size:23px;font-weight:500;margin-top:3px;font-family:var(--font-data);color:var(--text)}

.ffm-wrap .ffm-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:15px 18px;margin-bottom:16px}
.ffm-wrap .ffm-sec{display:flex;align-items:baseline;gap:8px;margin:0 0 11px}
.ffm-wrap .ffm-sec .t{font-size:15px;font-weight:500;color:var(--text)}
.ffm-wrap .ffm-sec .s{font-size:12.5px;color:var(--text-muted)}

.ffm-wrap table.ffm-tbl{width:100%;border-collapse:collapse}
.ffm-wrap table.ffm-tbl th{font-size:11px;font-weight:500;color:var(--text-faint);padding:7px 10px;border-bottom:1px solid var(--border);font-family:var(--font-data)}
.ffm-wrap table.ffm-tbl td{font-size:13px;padding:8px 10px;border-bottom:1px solid var(--border);font-family:var(--font-data);color:var(--text)}
.ffm-wrap table.ffm-tbl tr:last-child td{border-bottom:none}
.ffm-wrap table.ffm-mret{table-layout:fixed}
.ffm-wrap table.ffm-mret th{padding:5px 3px;text-align:center;color:var(--text-muted)}
.ffm-wrap table.ffm-mret td{font-size:11px;padding:5px 3px;border-bottom:1px solid var(--border)}

.ffm-wrap .badge{font-size:11px;font-weight:500;padding:2px 9px;border-radius:var(--radius);white-space:nowrap;font-family:var(--font-data)}
.ffm-wrap .badge.b-live,.ffm-wrap .badge.b-long,.ffm-wrap .badge.b-win,.ffm-wrap .badge.b-buy{background:rgba(76,175,125,0.16);color:var(--green)}
.ffm-wrap .badge.b-paper,.ffm-wrap .badge.b-trim{background:rgba(200,169,110,0.18);color:var(--gold)}
.ffm-wrap .badge.b-research,.ffm-wrap .badge.b-flat{background:rgba(138,143,152,0.16);color:var(--text-muted)}
.ffm-wrap .badge.b-add{background:rgba(74,143,212,0.18);color:var(--blue)}
.ffm-wrap .badge.b-exit,.ffm-wrap .badge.b-loss{background:rgba(224,85,85,0.16);color:var(--red)}
.ffm-wrap .pos{color:var(--green)}
.ffm-wrap .neg{color:var(--red)}
