/* Scoped styles: do not change existing appstore role or navigation behavior. */
.fc-store { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.fc-store h2, .fc-tool h2 { margin: 10px 0; }
.fc-store p { margin: 8px 0; color: #586b70; line-height: 1.7; }
.fc-tag { display: inline-block; padding: 4px 9px; border-radius: 5px; background: #e6f3ef; color: #176855; font-size: 12px; font-weight: 600; }
.fc-tool { margin-top: 20px; }
.fc-tool[hidden] { display: none; }
.fc-tool .card { margin-bottom: 20px; min-width: 0; }
.fc-notice { padding: 16px 18px; background: #f6f8f8; border-left: 3px solid #378471; line-height: 1.75; color: #41575b; }
.fc-notice p { margin: 7px 0 0; }
.fc-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0; }
.fc-file { min-width: 0; padding: 18px; border: 1px solid #dbe5e3; border-radius: 8px; }
.fc-file h3 { margin: 0 0 16px; font-size: 16px; }
.fc-file > label { display: flex; flex-direction: column; gap: 7px; margin: 14px 0; color: #354d51; font-weight: 500; }
.fc-file input, .fc-file select { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.fc-file input[type="file"] { font-size: 13px; padding: 8px 0; }
.fc-file input[type="number"], .fc-file select { padding: 9px 10px; border: 1px solid #ccd9d6; border-radius: 5px; background: #fff; color: #263e42; }
.fc-check { display: flex; align-items: flex-start; gap: 9px; margin: 20px 0 14px; font-size: 14px; line-height: 1.7; cursor: pointer; }
.fc-tool .fc-check input[type="checkbox"] { flex: 0 0 auto; width: 17px; height: 17px; margin: 4px 0 0; accent-color: #176855; }
.fc-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.fc-tool button:disabled { opacity: .5; cursor: not-allowed; }
.fc-tool :focus-visible, .fc-store button:focus-visible { outline: 2px solid #176855; outline-offset: 3px; }
.fc-muted { color: #65777b; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.fc-error { color: #a23124; line-height: 1.7; overflow-wrap: anywhere; }
.fc-warnings { color: #805514; padding: 15px 18px 15px 34px; background: #fff7e8; line-height: 1.8; overflow-wrap: anywhere; }
.fc-scroll { max-width: 100%; max-height: 400px; overflow: auto; border: 1px solid #dbe5e3; border-radius: 5px; }
.fc-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.fc-table th, .fc-table td { padding: 9px 12px; border-bottom: 1px solid #e4ebe9; min-width: 100px; max-width: 300px; white-space: pre-wrap; overflow-wrap: anywhere; vertical-align: top; }
.fc-table th { position: sticky; top: 0; z-index: 1; background: #edf3f1; color: #284c43; font-weight: 600; }
.fc-table tr:last-child td { border-bottom: 0; }
@media (max-width: 800px) {
  .fc-inputs { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .fc-store { align-items: flex-start; flex-direction: column; gap: 12px; }
  .fc-file { padding: 14px; }
  .fc-notice { padding: 12px 14px; font-size: 13px; }
}
