.tfp-wrap, .tfp-login-wrap {
	--tfp-bg:#0d0f14; --tfp-card:#171a22; --tfp-line:#262a36; --tfp-ink:#e7e9ee; --tfp-ink-soft:#8b91a1;
	--tfp-green:#4f9d6a; --tfp-green-soft:rgba(79,157,106,.16); --tfp-amber:#d1a54a; --tfp-amber-soft:rgba(209,165,74,.16);
	--tfp-red:#ef4444; --tfp-red-soft:rgba(239,68,68,.14);
	font-family: -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--tfp-ink);
	background: var(--tfp-bg); padding: 24px; border-radius: 14px;
}

.tfp-login-wrap { display:flex; justify-content:center; padding: 50px 16px; }
.tfp-login-card { background: var(--tfp-card); border:1px solid var(--tfp-line); border-radius:14px; padding:32px; max-width:380px; width:100%; }
.tfp-eyebrow { text-transform:uppercase; font-size:11px; letter-spacing:.12em; color:var(--tfp-amber); font-weight:700; }
.tfp-login-card h2 { margin:6px 0 2px; color: #fff; }
.tfp-sub { color: var(--tfp-ink-soft); font-size: 13px; }
.tfp-login-card form p { margin-bottom: 14px; }
.tfp-login-card input[type="text"], .tfp-login-card input[type="password"] { width:100%; padding:10px 12px; background:#0f1117; border:1px solid var(--tfp-line); border-radius:8px; color: var(--tfp-ink); }
.tfp-login-card input[type="submit"] { background: var(--tfp-green); color:#06210f; border:none; border-radius:8px; padding:11px 16px; font-weight:700; cursor:pointer; width:100%; }

.tfp-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom: 18px; flex-wrap: wrap; }
.tfp-topline h2 { margin:0; color: #fff; }
.tfp-btn { display:inline-block; padding:9px 16px; border-radius:8px; font-weight:600; font-size:13.5px; text-decoration:none; }
.tfp-btn-ghost { background: var(--tfp-card); color: var(--tfp-ink); border:1px solid var(--tfp-line); }

.tfp-cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(170px,1fr)); gap:12px; margin-bottom: 20px; }
.tfp-card { background: var(--tfp-card); border:1px solid var(--tfp-line); border-radius:10px; padding:14px 16px; }
.tfp-label { font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--tfp-ink-soft); font-weight:600; }
.tfp-value { font-size:21px; margin-top:6px; font-weight:700; color: #fff; }
.tfp-value.amber { color: var(--tfp-amber); }
.tfp-value.red { color: var(--tfp-red); }

.tfp-panel { background: var(--tfp-card); border:1px solid var(--tfp-line); border-radius:12px; padding:18px 20px; margin-bottom:18px; }
.tfp-panel h3 { margin-top:0; font-size:15px; color: #fff; }
.tfp-table-wrap { overflow-x:auto; }
.tfp-wrap table { width:100%; border-collapse: collapse; font-size:13px; }
.tfp-wrap thead th { text-align:left; font-size:11px; text-transform:uppercase; color:var(--tfp-ink-soft); padding:8px; border-bottom:1px solid var(--tfp-line); }
.tfp-wrap tbody td { padding:9px 8px; border-bottom:1px solid var(--tfp-line); color: var(--tfp-ink); }
.tfp-pill { display:inline-block; padding:2px 9px; border-radius:999px; font-size:11px; font-weight:700; }
.tfp-pill-green { background:var(--tfp-green-soft); color: var(--tfp-green); }
.tfp-pill-amber { background:var(--tfp-amber-soft); color: var(--tfp-amber); }
.tfp-pill-red { background:var(--tfp-red-soft); color: var(--tfp-red); }
.tfp-empty { text-align:center; padding:24px; color: var(--tfp-ink-soft); }
