*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: Arial, sans-serif; background: #f0f2f5; color: #333; }
header { background: #003087; color: #fff; padding: 20px 40px; }
header h1 { font-size: 24px; }
header p  { font-size: 14px; opacity: .8; margin-top: 4px; }
main { max-width: 860px; margin: 30px auto; padding: 0 16px 60px; }
section { background: #fff; border-radius: 8px; padding: 28px 32px; margin-bottom: 24px; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
section h2 { font-size: 16px; text-transform: uppercase; letter-spacing: .05em; color: #003087; border-bottom: 2px solid #003087; padding-bottom: 8px; margin-bottom: 20px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .grid-2 { grid-template-columns: 1fr; } }
.field { display: flex; flex-direction: column; gap: 5px; }
.field label { font-size: 13px; font-weight: 600; color: #555; }
.field small  { font-weight: 400; color: #888; }
.field input, .field select, .field textarea { padding: 9px 12px; border: 1px solid #ccc; border-radius: 5px; font-size: 14px; transition: border .2s; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: #003087; }
.field input[readonly] { background: #f5f7ff; color: #444; }
.hint { font-size: 13px; color: #666; margin-bottom: 14px; }
.scores-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.scores-table thead th { background: #003087; color: #fff; padding: 10px 8px; text-align: center; }
.scores-table thead th:first-child { text-align: left; padding-left: 14px; }
.scores-table tbody tr:nth-child(even) { background: #f7f9ff; }
.scores-table tbody td { padding: 10px 8px; border-bottom: 1px solid #eee; }
.scores-table tbody td:first-child { padding-left: 14px; font-weight: 500; }
.radio-cell { text-align: center; }
.radio-cell label { display: flex; flex-direction: column; align-items: center; cursor: pointer; gap: 2px; font-size: 12px; color: #777; }
.radio-cell input[type=radio] { accent-color: #003087; transform: scale(1.2); }
.submit-row { text-align: center; margin-top: 10px; }
.submit-row button { background: #003087; color: #fff; border: none; padding: 14px 40px; font-size: 16px; border-radius: 6px; cursor: pointer; transition: background .2s; }
.submit-row button:hover { background: #0050cc; }
