.registration-panel form{display:grid;gap:18px}
.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.registration-field{min-width:0}
.registration-field-wide{grid-column:span 2}
.registration-field label,.registration-subjects legend{display:block;margin-bottom:7px;font-weight:750;color:var(--ink)}
.registration-field input,.registration-field select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:12px 13px;outline:0}
.registration-field input:focus,.registration-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(40,132,111,.14)}
.registration-subjects{border:0;padding:0;margin:0}
.subject-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.subject-option{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;cursor:pointer}
.subject-option input{accent-color:var(--accent);width:18px;height:18px}
.subject-option.is-disabled{opacity:.55;cursor:not-allowed}
.registration-result{scroll-margin-top:18px}
.registration-result .secondary-button{margin-top:10px}
.registration-panel .primary-button{width:100%}
@media(max-width:680px){
  .public-header{padding-top:10px;padding-bottom:2px}
  .brand{gap:8px}
  .brand-mark{width:38px;height:38px;border-radius:11px}
  .brand strong{font-size:.92rem}
  .brand small{font-size:.7rem}
  .public-shell{padding-bottom:28px}
  .hero{padding:16px 4px 14px}
  .hero h1{font-size:clamp(1.75rem,10vw,2.55rem)}
  .hero p:last-child{margin-top:8px;font-size:.9rem;line-height:1.35}
  .registration-panel{padding:15px 13px;border-radius:16px;margin-bottom:12px}
  .registration-panel .section-heading{gap:8px;margin-bottom:12px}
  .registration-panel .section-heading h2{font-size:1.12rem}
  .registration-panel .section-heading p{font-size:.86rem;line-height:1.35}
  .registration-panel .step-number{flex-basis:30px;width:30px;height:30px}
  .registration-panel form{gap:10px}
  .registration-fields{grid-template-columns:1fr;gap:10px}
  .registration-field-wide{grid-column:auto}
  .registration-field label,.registration-subjects legend{margin-bottom:4px;font-size:.9rem}
  .registration-field input,.registration-field select{min-height:42px;padding:9px 10px;border-radius:10px}
  .registration-subjects .hint{margin:4px 0 0;font-size:.78rem;line-height:1.3}
  .subject-options{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:7px;margin-top:6px}
  .subject-option{min-height:42px;padding:7px 8px;gap:6px;font-size:.86rem;line-height:1.25}
  .subject-option input{width:17px;height:17px}
  .registration-panel .primary-button{min-height:43px;padding:9px 12px}
  .registration-panel{scroll-margin-bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){
  .subject-options{grid-template-columns:1fr}
  .registration-panel{padding-left:11px;padding-right:11px}
  .registration-field input,.registration-field select{font-size:.92rem}
  .subject-option{font-size:.84rem}
}
