*{
box-sizing:border-box;
margin:0;
padding:0;
}

body{
font-family:'Inter',sans-serif;
background:#F3F5F7;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:40px 16px;
color:#1F2937;
}

.wrapper{
width:100%;
max-width:480px;
}

.brand{
display:flex;
align-items:center;
gap:12px;
margin-bottom:20px;
}

.brand-badge{
width:40px;
height:40px;
border-radius:10px;
background:#101B3D;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-family:'Plus Jakarta Sans',sans-serif;
font-weight:800;
font-size:18px;
}

.brand-text{
font-family:'Plus Jakarta Sans',sans-serif;
font-weight:700;
font-size:15px;
color:#1F2937;
}

.brand-text span{
display:block;
font-weight:500;
font-size:12px;
color:#6B7280;
}

.card{
background:#fff;
border-radius:16px;
box-shadow:0 1px 3px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.06);
overflow:hidden;
}

.header-box{
padding:28px 28px 16px;
border-bottom:1px solid #EEF0F2;
}

.header-box h2{
font-family:'Plus Jakarta Sans',sans-serif;
font-weight:800;
font-size:20px;
margin-bottom:6px;
}

.header-box p{
font-size:13px;
color:#6B7280;
}

.form-body{
padding:24px 28px 28px;
}

.form-group{
margin-bottom:18px;
}

.form-group label{
display:block;
font-size:13px;
font-weight:600;
margin-bottom:6px;
color:#374151;
}

.form-group input[type=text],
.form-group input[type=email],
.form-group select,
.form-group input[type=file]{
width:100%;
padding:11px 14px;
border:1px solid #D1D5DB;
border-radius:10px;
font-family:'Inter',sans-serif;
font-size:14px;
color:#1F2937;
background:#fff;
transition:border-color .15s,box-shadow .15s;
}

.form-group input[type=text]:focus,
.form-group input[type=email]:focus,
.form-group select:focus{
outline:none;
border-color:#16A34A;
box-shadow:0 0 0 3px rgba(22,163,74,.12);
}

.form-group input.invalid,
.form-group select.invalid{
border-color:#DC2626;
box-shadow:0 0 0 3px rgba(220,38,38,.10);
}

.form-group select{
appearance:none;
background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' fill='none'/></svg>") no-repeat right 14px center;
}

.form-group small{
display:block;
margin-top:6px;
font-size:12px;
color:#9CA3AF;
}

.error-msg{
display:none;
margin-top:6px;
font-size:12.5px;
color:#DC2626;
font-weight:500;
}

.error-msg.show{
display:block;
}

.checkbox{
display:flex;
align-items:flex-start;
gap:10px;
margin-bottom:24px;
}

.checkbox input{
margin-top:3px;
accent-color:#16A34A;
width:16px;
height:16px;
flex-shrink:0;
}

.checkbox span{
font-size:12.5px;
color:#6B7280;
line-height:1.5;
}

button[type=submit]{
width:100%;
padding:13px;
border:none;
border-radius:10px;
background:#101B3D;
color:#fff;
font-family:'Inter',sans-serif;
font-weight:600;
font-size:14.5px;
cursor:pointer;
transition:background .15s,opacity .15s;
}

button[type=submit]:hover{
background:#1A2A5E;
}

button[type=submit]:disabled{
opacity:.5;
cursor:not-allowed;
}

.footer{
text-align:center;
margin-top:20px;
font-size:12px;
color:#9CA3AF;
}
