/*
 * NFA Academy — Phase 12 Styles
 * Multi-School: Institutions · Branding · FERPA · REST API
 */

:root {
    --nfa-navy:  #1E2855;
    --nfa-gold:  #E8C84A;
    --nfa-green: #1A5C2E;
    --nfa-rust:  #8B3A1A;
    --nfa-cream: #FAF8F2;
    --ff-display: 'Playfair Display', Georgia, serif;
    --ff-mono:    'Space Mono', monospace;
}

/* ── Institution header (front-end) ────────────────────────────────────── */
.nfa-inst-dashboard        { margin: 0; }
.nfa-inst-header           { display:flex; align-items:center; gap:16px; padding:18px 24px; border-radius:8px; margin-bottom:24px; }
.nfa-inst-logo             { height:44px; max-width:180px; object-fit:contain; }
.nfa-inst-header-text h2   { color:#fff; font-family:var(--ff-display); font-size:1.3rem; margin:0 0 4px; }
.nfa-inst-header-text p    { color:rgba(255,255,255,.85); font-size:.88rem; margin:0; }
.nfa-inst-co-brand         { margin-left:auto; text-align:right; color:rgba(255,255,255,.6); font-size:.7rem; font-family:var(--ff-mono); }
.nfa-inst-co-brand strong  { display:block; color:var(--nfa-gold); font-family:var(--ff-display); font-size:.85rem; }

/* ── Institution KPI cards ─────────────────────────────────────────────── */
.nfa-inst-kpi-grid         { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:14px; margin-bottom:20px; }
.nfa-inst-kpi              { background:#fff; border:1.5px solid #e8e8e8; border-radius:8px; padding:16px; text-align:center; }
.nfa-inst-kpi-val          { font-size:2rem; font-weight:700; color:var(--nfa-navy); font-family:var(--ff-mono); }
.nfa-inst-kpi-label        { font-size:.7rem; text-transform:uppercase; letter-spacing:.07em; color:#666; margin-top:4px; }
.nfa-inst-kpi-bar          { background:#f0f0f0; border-radius:4px; height:5px; margin-top:8px; overflow:hidden; }
.nfa-inst-kpi-bar-fill     { background:var(--nfa-navy); height:5px; border-radius:4px; transition:width .6s ease; }

/* ── Branding panel ─────────────────────────────────────────────────────── */
.nfa-brand-panel           { max-width:720px; }
.nfa-brand-preview         { background:#f8f8f8; border:1.5px solid #ddd; border-radius:6px; padding:16px; margin:16px 0; }
.nfa-brand-preview-label   { font-family:var(--ff-mono); font-size:.65rem; color:#999; margin-bottom:8px; text-transform:uppercase; letter-spacing:.07em; }
.nfa-brand-preview-header  { border-radius:4px; padding:12px 16px; display:flex; align-items:center; gap:12px; }
.nfa-brand-nfa-name        { font-family:var(--ff-display); font-size:1rem; font-weight:700; }
.nfa-brand-divider         { color:rgba(255,255,255,.3); }
.nfa-brand-preview-logo    { height:28px; object-fit:contain; }
.nfa-brand-preview-inst    { color:rgba(255,255,255,.85); font-size:.85rem; }
.nfa-cobrand-notice        { background:#FFF3E0; border-left:3px solid var(--nfa-rust); border-radius:4px; padding:10px 14px; font-size:.8rem; color:#555; margin-top:12px; }

/* ── FERPA data rights (front-end) ─────────────────────────────────────── */
.nfa-data-rights-panel     { max-width:640px; margin:0 auto; }
.nfa-data-rights-panel h2  { font-family:var(--ff-display); color:var(--nfa-navy); }
.nfa-data-rights-card      { background:#fff; border:1.5px solid #e0e0e0; border-radius:8px; padding:20px; }
.nfa-data-rights-card h3   { font-family:var(--ff-display); color:var(--nfa-navy); margin-top:0; font-size:1rem; }
.nfa-data-rights-card p    { font-size:.85rem; color:#555; }

/* ── API key display ────────────────────────────────────────────────────── */
.nfa-api-key-reveal        { background:#E8F5E9; border:1px solid #A5D6A7; border-radius:4px; padding:14px; margin-top:12px; }
.nfa-api-key-value         { font-family:var(--ff-mono); font-size:.82rem; word-break:break-all; background:#fff; padding:8px; border-radius:3px; margin:8px 0; display:block; }

/* ── Webhook status chips ───────────────────────────────────────────────── */
.nfa-wh-ok     { color:#2e7d32; font-weight:700; }
.nfa-wh-fail   { color:#c62828; font-weight:700; }
.nfa-wh-never  { color:#999; }

/* ── API endpoint reference table ──────────────────────────────────────── */
.nfa-endpoint-table        { font-size:.82rem; }
.nfa-endpoint-table code   { font-size:.78rem; }
.nfa-method-get            { color:#1565C0; font-weight:700; }
.nfa-method-post           { color:#2E7D32; font-weight:700; }
.nfa-method-delete         { color:#c62828; font-weight:700; }

/* ── Institution status badges ─────────────────────────────────────────── */
.nfa-status-badge          { display:inline-block; font-family:var(--ff-mono); font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; padding:2px 8px; border-radius:10px; }
.nfa-status-active         { background:#E8F5E9; color:#2e7d32; }
.nfa-status-trial          { background:#FFF3E0; color:#E65100; }
.nfa-status-suspended      { background:#FFEBEE; color:#c62828; }

/* ── Seat utilization bar ───────────────────────────────────────────────── */
.nfa-seat-bar              { background:#f0f0f0; border-radius:4px; height:8px; margin-top:6px; overflow:hidden; }
.nfa-seat-bar-fill         { height:8px; border-radius:4px; background:var(--nfa-navy); transition:width .4s ease; }
.nfa-seat-bar-fill.warn    { background:#E65100; }
.nfa-seat-bar-fill.full    { background:#c62828; }

/* ── Audit log ──────────────────────────────────────────────────────────── */
.nfa-audit-action          { font-family:var(--ff-mono); font-size:.7rem; }
.nfa-audit-time            { font-size:.75rem; color:#666; }

/* ── FERPA request queue ────────────────────────────────────────────────── */
.nfa-ferpa-warning         { background:#E8F4FD; border:1px solid #90CAF9; border-radius:4px; padding:12px 16px; font-size:.85rem; margin-bottom:16px; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width:782px) {
    .nfa-inst-header         { flex-direction:column; align-items:flex-start; }
    .nfa-inst-co-brand       { margin-left:0; text-align:left; }
    .nfa-inst-kpi-grid       { grid-template-columns:1fr 1fr; }
    .nfa-data-rights-panel > div[style*="grid"] { grid-template-columns:1fr; }
}
