.fsc-form { margin: 0 0 1rem; }
.fsc-form label { display: block; font-weight: 600; margin-bottom: 0.35rem; }
.fsc-row { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.fsc-row input { flex: 1 1 16rem; font: inherit; padding: 0.6rem 0.75rem; border: 2px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); }
.fsc-row input:focus { outline: 3px solid var(--gold); outline-offset: 1px; }
.fsc-row button { font: inherit; font-weight: 600; padding: 0.6rem 1.2rem; border: 0; border-radius: 6px; background: var(--green); color: var(--cream); cursor: pointer; }
.fsc-row button:hover { background: var(--green-mid); }
.fsc-row button:disabled { opacity: 0.6; cursor: wait; }
.fsc-note, .fsc-small { font-size: 0.92rem; color: var(--muted); }
.fsc-status { min-height: 1.6rem; font-weight: 600; margin: 0.5rem 0 1rem; }
.fsc-devices { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.fsc-device { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 1rem 1.1rem; }
.fsc-device h3 { margin-top: 0; }
.fsc-device h4 { margin: 1rem 0 0.25rem; }
.fsc-scores { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; }
.fsc-score { text-align: center; border-radius: 8px; padding: 0.5rem 0.25rem; border: 2px solid var(--line); }
.fsc-num { display: block; font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.fsc-lbl { display: block; font-size: 0.8rem; line-height: 1.2; }
.fsc-score.fsc-good { border-color: #2e7d4f; color: #1d5a37; }
.fsc-score.fsc-ok { border-color: #c98a12; color: #7a5208; }
.fsc-score.fsc-poor { border-color: #b3261e; color: #8c1d17; }
td.fsc-good, strong.fsc-good { color: #1d5a37; }
td.fsc-ok, strong.fsc-ok { color: #7a5208; }
td.fsc-poor, strong.fsc-poor { color: #8c1d17; }
.fsc-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.fsc-table td { padding: 0.3rem 0.25rem; border-bottom: 1px solid var(--line); }
.fsc-fixes li { margin-bottom: 0.5rem; }
.fsc-next { background: var(--card); border-left: 4px solid var(--gold); padding: 0.75rem 1rem; }
.fsc-cta { margin-top: 2rem; }
@media (max-width: 30rem) { .fsc-scores { grid-template-columns: repeat(2, 1fr); } }
