/* 指導案サポート - カスタムCSS */

.nav-link {
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4B5563;
  transition: color 0.2s, background-color 0.2s;
}
.nav-link:hover, .nav-link.active {
  color: #28523C;
  background-color: #EEF6F0;
}
.mobile-nav-link {
  display: block;
  padding: 0.625rem 1rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  color: #4B5563;
}
.mobile-nav-link:hover { color: #28523C; background-color: #EEF6F0; }

.label { display: block; font-size: 0.875rem; font-weight: 600; color: #374151; margin-bottom: 0.25rem; }
.req { font-size: 0.65rem; font-weight: 700; color: #B45309; background: #FEF3C7; padding: 0.1rem 0.35rem; border-radius: 0.25rem; margin-left: 0.25rem; vertical-align: middle; }
.hint { font-size: 0.75rem; color: #6B7280; margin-top: 0.25rem; }
.input {
  width: 100%;
  border: 1px solid #D1D5DB;
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.9375rem;
  background: #fff;
  color: #1F2937;
}
.input:focus { outline: 2px solid #8CC09E; outline-offset: 1px; border-color: #5FA37A; }
.btn-ghost {
  font-size: 0.8125rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid #D1D5DB;
  border-radius: 0.5rem;
  background: #fff;
  color: #374151;
}
.btn-ghost:hover { background: #F3F4F6; }
.btn-copy {
  font-size: 0.75rem;
  padding: 0.25rem 0.6rem;
  border: 1px solid #B6D8C1;
  border-radius: 0.375rem;
  background: #EEF6F0;
  color: #28523C;
}
.btn-copy:hover { background: #D9EBDE; }
.btn-copy.done { background: #3D7A5A; color: #fff; border-color: #3D7A5A; }

.target-hl:target { background: #FEF3C7; border-radius: 0.25rem; }
