*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  padding:32px 16px;
  background:#f5f7fa;
  color:#0f172a;
  font-family:'Malgun Gothic',sans-serif;
}
.signup-container{
  max-width:420px;
  margin:38px auto;
  padding:30px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 2px 10px rgba(0,0,0,.1);
}
.signup-logo-wrap{
  margin-bottom:15px;
  text-align:center;
}
.signup-logo{
  width:176px;
  height:auto;
  object-fit:contain;
}
h1{
  margin:0;
  color:#0f172a;
  font-size:24px;
  text-align:center;
}
.signup-subtitle{
  margin:7px 0 25px;
  color:#64748b;
  font-size:13px;
  text-align:center;
}
.form-group{margin-bottom:15px}
label{
  display:block;
  margin-bottom:5px;
  font-size:13px;
  font-weight:bold;
}
input{
  width:100%;
  padding:10px;
  border:1px solid #cbd5e1;
  border-radius:6px;
  font-size:14px;
}
input:focus{
  outline:2px solid rgba(0,102,204,.14);
  border-color:#0066cc;
}
button{
  width:100%;
  padding:12px;
  border:0;
  border-radius:6px;
  background:#5f6874;
  color:#fff;
  font-size:14px;
  font-weight:bold;
  cursor:pointer;
}
button:hover{background:#4b5563}
button:active{transform:translateY(1px)}
button:focus-visible{outline:3px solid rgba(107,114,128,.22);outline-offset:2px}
button:disabled{background:#94a3b8;cursor:not-allowed}
.notice{
  margin-top:15px;
  color:#64748b;
  font-size:12px;
  line-height:1.5;
  text-align:center;
}
.result{
  display:none;
  margin-top:15px;
  padding:12px;
  border-radius:6px;
  font-size:13px;
  line-height:1.5;
}
.result.success{
  display:block;
  background:#dcfce7;
  border:1px solid #86efac;
  color:#166534;
}
.result.error{
  display:block;
  background:#fee2e2;
  border:1px solid #fca5a5;
  color:#991b1b;
}
.back-link{
  margin-top:15px;
  text-align:center;
}
.back-link a{
  color:#64748b;
  font-size:12px;
  text-decoration:none;
}
.back-link a:hover,
.back-link a:focus-visible{
  color:#0066cc;
  text-decoration:underline;
  text-underline-offset:3px;
}
