:root {
  font-family: system-ui, sans-serif;
  color: #20242a;
  background: #f4f6f8;
}
body { margin: 0; }
header {
  background: #14213d;
  color: white;
  padding: 1rem;
}
nav {
  max-width: 1000px;
  margin: auto;
  display: flex;
  gap: 1rem;
  align-items: center;
}
nav a { color: white; text-decoration: none; }
nav .spacer { flex: 1; }
main { max-width: 1000px; margin: 2rem auto; padding: 0 1rem; }
.card {
  background: white;
  border-radius: 14px;
  padding: 1.25rem;
  box-shadow: 0 4px 18px rgba(0,0,0,.08);
  margin-bottom: 1rem;
}
.grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
label { display: block; font-weight: 650; margin-top: 1rem; }
input, textarea, select {
  width: 100%;
  box-sizing: border-box;
  padding: .75rem;
  margin-top: .3rem;
  border: 1px solid #b9c1ca;
  border-radius: 8px;
  font: inherit;
}
button, .button {
  display: inline-block;
  border: 0;
  border-radius: 8px;
  background: #1769aa;
  color: white;
  padding: .75rem 1rem;
  margin-top: 1rem;
  text-decoration: none;
  cursor: pointer;
}
.button.secondary { background: #555f6d; }
.flash { padding: .75rem; border-radius: 8px; margin-bottom: 1rem; }
.flash.error { background: #ffd7d7; }
.flash.success { background: #daf4df; }
.profile-photo {
  width: 220px;
  max-height: 260px;
  object-fit: cover;
  border-radius: 12px;
}
.meta { color: #66707b; }
.actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.notice { background: #fff4cc; padding: 1rem; border-radius: 8px; }
.checkbox { width: auto; }
@media print {
  header, .no-print { display: none !important; }
  body { background: white; }
  .label-card { box-shadow: none; border: 2px solid black; width: 3.5in; }
}
