/* Profile page styles. Shared across every company. */

.loading { color: #888; font-style: italic; padding: 40px 20px; text-align: center; }

.owner-header { display: flex; flex-wrap: wrap; gap: 18px; align-items: baseline;
  margin: 14px 0 4px; padding-bottom: 14px; border-bottom: 1px solid #e0e6ed; }
.owner-header .owner-name { font-size: 17px; font-weight: 700; color: #1a1a1a; }
.owner-header .owner-role { font-size: 14px; color: #555; margin-left: 6px; }

h3.section { margin-top: 28px; font-size: 14px; color: #555; text-transform: uppercase;
  letter-spacing: 0.06em; font-weight: 600; }

.tag-row { display: grid; grid-template-columns: max-content 1fr; column-gap: 24px; row-gap: 8px;
  margin: 10px 0 0; font-size: 14px; line-height: 1.5; }
.tag-row dt { font-weight: 600; color: #555; }
.tag-row dd { margin: 0; color: #1a1a1a; }
.tag-row dd a { color: #326AB5; text-decoration: none; word-break: break-all; }
.tag-row dd a:hover { text-decoration: underline; }

.bio-block { margin: 10px 0 0; font-size: 14px; line-height: 1.6; color: #1a1a1a; }
.bio-block p { margin: 0; }

/* Status section — per-artifact review status, in nav order. Two columns:
   artifact name and review round badge. Driven by FEEDBACK_INDEX + ARTIFACTS;
   adding a new artifact to ARTIFACTS auto-adds a row. */
.status-section { margin: 10px 0 0; }
.state-row {
  display: grid; grid-template-columns: 200px auto;
  gap: 16px; align-items: baseline;
  padding: 10px 14px; border-radius: 6px;
  margin-bottom: 4px; font-size: 14px; line-height: 1.5;
}
.state-row:hover { background: #f4f7fb; }
.state-row .artifact { font-weight: 600; color: #1a1a1a; }
.state-row .artifact a { color: inherit; text-decoration: none; }
.state-row .artifact a:hover { color: #326AB5; }
.state-row .round {
  font-size: 11px; color: #555; background: #eaf1fb; padding: 2px 8px;
  border-radius: 999px; text-align: center; font-weight: 600;
}
.state-row .round.no-review { background: #f0f0f0; color: #888; }
.state-row.outstanding .artifact { color: #999; font-weight: 500; }
/* OO row — North Star, gets a left rule + tinted background */
.state-row.oo {
  background: #f4f7fb; border-left: 3px solid #326AB5; padding-left: 16px;
}
.state-row.oo .artifact a { color: #326AB5; }

.coaching-card { background: #f4f7fb; border: 1px solid #c8d4e3; border-radius: 6px;
  padding: 14px 18px; margin: 10px 0 0; font-size: 14px; line-height: 1.5; }
.coaching-card .row { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 4px; }
.coaching-card .row .label { font-weight: 600; color: #555; margin-right: 6px; }
.coaching-card a { color: #326AB5; text-decoration: none; }
.coaching-card a:hover { text-decoration: underline; }

.work-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 14px;
  border: 1px solid #e0e6ed; border-radius: 6px; overflow: hidden; background: #fff;
  table-layout: fixed; }
.work-table col.col-due { width: 140px; }
.work-table col.col-owner { width: 140px; }
.work-table th { text-align: left; padding: 10px 14px; background: #eaf1fb;
  color: #326AB5; border-bottom: 2px solid #c8d4e3; font-weight: 600;
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; }
.work-table td { padding: 10px 14px; border-bottom: 1px solid #f0f3f7; }
.work-table tr:last-child td { border-bottom: none; }
.work-table td.overdue { color: #b71c1c; font-weight: 600; }
.work-group { font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em;
  color: #555; font-weight: 600; margin: 14px 0 0; }
.empty-section { color: #b0b6bf; font-style: italic; margin: 6px 0 4px; font-size: 14px; }
.work-table td.empty-row { color: #b0b6bf; font-style: italic; text-align: center; }
.team-member { margin: 6px 0; font-size: 14px; line-height: 1.55; }
.team-member strong { color: #1a1a1a; }

.empty-state { text-align: center; padding: 80px 20px; color: #888;
  font-size: 15px; font-style: italic; border: 1px dashed #c8d4e3;
  border-radius: 8px; background: #fafbfc; margin: 20px 0; }
.empty-state strong { color: #326AB5; font-style: normal; }
