/* Patient Factory custom styles */
.fade-in { animation: fadeIn 0.25s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.spinner {
  width: 20px; height: 20px; border: 3px solid rgba(43,127,255,.25);
  border-top-color: #2b7fff; border-radius: 50%;
  animation: spin .7s linear infinite; display: inline-block;
}
@keyframes spin { to { transform: rotate(360deg); } }

.tab-active { border-bottom: 2px solid #2b7fff; color: #1a6bec; font-weight: 600; }

.badge-pass { background:#dcfce7; color:#15803d; }
.badge-warn { background:#fef9c3; color:#a16207; }
.badge-fixed { background:#fee2e2; color:#b91c1c; }

.result-body { white-space: pre-wrap; word-break: break-word; line-height: 1.75; }
.result-body h2, .result-body strong { font-weight: 700; }

textarea:focus, input:focus, select:focus { outline: 2px solid #2b7fff33; }

@media (max-width: 640px) {
  .result-body { font-size: 0.9rem; }
}

/* 문서 팩토리 종이 느낌 */
.doc-paper {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px 22px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  max-height: 60vh;
  overflow-y: auto;
}
