
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: #fff;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 11px;
  color: #000;
}

.ffc-page {
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  overflow-x: hidden;
}

.ffc-page-h1 {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* Header — white with dark navy text, matching screenshot */
.ffc-page-header {
  background: #fff;
  padding: 6px 12px 4px;
  text-align: right;
  border-bottom: 1px solid #ccc;
}
.ffc-site-name {
  font-size: 13px;
  font-weight: bold;
  color: #000;
  text-decoration: underline;
}
.ffc-site-name:hover { color: #000080; }
.ffc-header-right { display: inline; }
.ffc-tagline { font-size: 11px; color: #333; font-style: normal; display: block; }
.ffc-nav-links { display: none; }

/* Welcome bar */
.ffc-welcome-bar {
  background: #e8eaf0;
  border-bottom: 1px solid #b0b8cc;
  padding: 3px 10px;
  font-size: 11px;
  color: #333;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ffc-archive-note { color: #888; font-style: italic; margin-left: auto; }

/* Breadcrumb */
.ffc-breadcrumb {
  background: #f0f2f6;
  border-bottom: 1px solid #c0c8d8;
  padding: 3px 8px;
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 4px;
  color: #333;
}
.ffc-breadcrumb a { color: #000080; }
.ffc-breadcrumb a:hover { color: #3050a0; }
.ffc-bsep { color: #888; font-size: 13px; }

/* Links */
a { color: #000080; }
a:hover { color: #3050a0; }

/* Table — slate/steel blue scheme matching screenshot */
.ffc-table {
  width: calc(100% - 16px);
  margin: 6px 8px;
  border-collapse: separate;
  border-spacing: 1px;
  background: #8a90a8;   /* shows as thin grid lines between cells */
  font-size: 11px;
}
.ffc-cat-header {
  background: #6878a0;   /* medium slate blue — category rows */
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 8px;
  text-align: left;
}
.ffc-col-header th {
  background: #505878;   /* darker slate — column headers */
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  padding: 2px 6px;
  text-align: left;
}

/* Member list rows */
.ffc-member-row td { background: #fff; padding: 4px 7px; vertical-align: middle; }
.ffc-member-row:nth-child(even) td { background: #f0f2f8; }
.ffc-member-row:hover td { background: #e0e4f0; }
.ffc-member-name a { font-weight: bold; font-size: 11px; color: #000080; text-decoration: none; }
.ffc-member-name a:hover { color: #3050a0; text-decoration: underline; }
.ffc-num { text-align: center; color: #333; vertical-align: middle; }
.ffc-author { font-size: 10px; color: #555; vertical-align: middle; }
.ffc-last { font-size: 10px; color: #555; vertical-align: middle; }
.ffc-col-name  { }
.ffc-col-num   { width: 60px; }
.ffc-col-title { width: 130px; }
.ffc-col-last  { width: 120px; }

/* Bar row */
.ffc-bar-row {
  margin: 0 8px 8px;
  background: #505878;
  padding: 2px 8px;
  color: #fff;
  font-size: 10px;
}

/* Profile page — matches authentic Ikonboard layout */
.ffc-profile-wrap {
  margin: 6px 8px 10px;
}

/* Ikonboard-style two-column profile table */
.ffc-profile-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  border: 1px solid #999;
}
.ffc-profile-table td {
  padding: 5px 8px;
  border: 1px solid #999;
  vertical-align: top;
  background: #fff;
}
.ffc-profile-table .ffc-field-label {
  font-weight: bold;
  width: 38%;
  background: #fff;
  color: #000;
  white-space: nowrap;
}
.ffc-profile-table .ffc-avatar-cell {
  padding: 10px 8px;
  vertical-align: middle;
}
.ffc-avatar-lg {
  display: block;
  max-width: 150px;
  max-height: 150px;
}
.ffc-profile-table .ffc-sig-cell {
  vertical-align: top;
}
.ffc-sig-cell img { max-width: 400px; }
.ffc-emote { max-width: 32px; max-height: 32px; vertical-align: middle; }

/* Ikonboard-style profile header bar */
.ffc-profile-header {
  background: #6878a0;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  padding: 4px 8px;
  margin: 6px 8px 0;
  border: 1px solid #505878;
}

/* Back link */
.ffc-back { margin: 6px 8px; font-size: 11px; }
.ffc-back a { color: #000080; font-weight: bold; }

/* Admin note / alert banner */
.ffc-admin-note {
  margin: 8px 8px 4px;
  padding: 8px 12px;
  font-size: 11px;
  line-height: 1.5;
  border: 1px solid #e0c040;
  border-left: 4px solid #c8a000;
}
.ffc-admin-note--warning {
  background: #fffbe6;
  color: #5a4500;
}
.ffc-admin-note__label {
  font-weight: bold;
  margin-right: 8px;
}

/* robots */
.ffc-note { color: #888; font-style: italic; }
