body{margin:0;font:17px/1.5 system-ui,sans-serif;color:#24233c;background:#f8f7fb}
header,main{max-width:920px;margin:auto;padding:18px}
header{display:flex;justify-content:space-between;align-items:center;gap:16px}
header img{width:180px;max-width:100%}
main{display:grid;gap:18px}
section,.unavailable{background:white;border:1px solid #dedbe8;border-radius:14px;padding:20px}
h1{font-size:1.7rem;margin:0}h2{font-size:1.2rem;margin:0 0 12px}
ul{padding-left:22px}li{margin:8px 0}.muted{color:#595670}
.qr svg{width:220px;height:220px;max-width:100%}
button{font:inherit;padding:8px 14px;border:1px solid #3f366f;border-radius:8px;background:white;color:#3f366f;cursor:pointer}
:focus-visible{outline:3px solid #d69d36;outline-offset:3px}
.unavailable{display:block;max-width:560px;margin:10vh auto;padding:32px}
.unavailable img{width:210px;max-width:100%}
.unavailable p{margin:1rem 0}.unavailable a{color:#153d70}
.unavailable form{margin:1.2rem 0}
.unavailable label{font-weight:600}
.unavailable input[type=tel]{font:inherit;padding:9px 11px;margin-top:6px;width:100%;max-width:320px;border:1px solid #9b96b5;border-radius:8px;color:inherit;background:white}
.unavailable #portal-phone-hint{margin:.4rem 0 1rem;font-size:.94rem}
/* Анкета самозаписи — 22.10.2026.

   ФИО: ТРИ ОТДЕЛЬНЫЕ СТРОКИ, каждая со своей подписью, одна под другой.
   Прежняя правка выстраивала их в ряд (flex-wrap) — владелец поправил:
   просили три строки, а не три поля в одну строку. На узком экране ряд
   к тому же рвался произвольно, и подпись «Отчество» оказывалась под
   полем «Имя». Поле остаётся КОМПАКТНЫМ: ширину задаёт `size`, а не
   растягивание на всю строку. */
.name-fields{display:block}
.name-fields .field{margin:0 0 12px}
.name-fields label{font-weight:600}
main input[type=text]{font:inherit;padding:9px 11px;margin-top:6px;width:auto;max-width:100%;border:1px solid #9b96b5;border-radius:8px;color:inherit;background:white}
.channels{border:1px solid #dedbe8;border-radius:12px;padding:12px 16px;margin:0}
.channels legend{font-weight:600;padding:0 6px}
.channels label{display:inline-block;margin:4px 0}
.errors{color:#8a1c1c;background:#fdeeee;border:1px solid #e9bcbc;border-radius:10px;padding:10px 14px;margin:.4rem 0}
