/* Site attendance — extends ops-weekly.css */

.req { color: var(--accent); font-weight: 700; }

.att-declaration {
  background: #f8fafc;
  border-left: 3px solid var(--accent);
  padding: 10px 12px;
  font-size: .86rem;
  line-height: 1.45;
  color: var(--ink);
  margin: 0 0 14px;
}

.att-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.att-pill {
  border: 1px solid #cbd5e1;
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: .8rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--ink);
}
.att-pill:hover { border-color: var(--brand); }
.att-pill.is-selected {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}

.att-loc-status {
  margin: 8px 0 0;
  font-size: .82rem;
  color: var(--muted);
  font-weight: 600;
}
.att-loc-status.ok { color: #166534; }
.att-loc-status.err { color: #991b1b; }

#sigPad {
  display: block;
  width: 100%;
  max-width: 640px;
  height: 160px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  touch-action: none;
  cursor: crosshair;
}

.att-entries { display: flex; flex-direction: column; gap: 8px; }
.att-entry {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
}
.att-entry-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
  margin-bottom: 4px;
}
.att-entry-head strong { color: var(--brand); font-size: .92rem; }
.att-badge {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.att-badge.in { background: #dcfce7; color: #166534; }
.att-badge.out { background: #fee2e2; color: #991b1b; }
.att-entry p {
  margin: 2px 0;
  font-size: .8rem;
  color: var(--muted);
}
.att-entry p span { color: var(--ink); font-weight: 500; }

.ops-list table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.ops-list th, .ops-list td { border-bottom: 1px solid var(--line); padding: 8px 6px; text-align: left; }
.ops-list tr.row-click { cursor: pointer; }
.ops-list tr.row-click:hover { background: #f8fafc; }

.ops-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
  margin-bottom: 10px;
}
.ops-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: .75rem;
  color: var(--muted);
  font-weight: 600;
}
.ops-toolbar input[type="date"] {
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font: inherit;
}

.ops-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: .75rem;
  color: var(--muted);
  font-weight: 600;
}
.ops-field input,
.ops-field select,
.ops-field textarea {
  padding: 8px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font: inherit;
  color: var(--ink);
  font-weight: 500;
}
.ops-field textarea { min-height: 72px; resize: vertical; }
