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

body{
font-family:Arial,Helvetica,sans-serif;
background:#f5f7fb;
}

.acp-container{
display:flex;
justify-content:center;
align-items:center;
padding:30px 15px;
}

.acp-card{
width:100%;
max-width:500px;
background:#ffffff;
padding:25px;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.acp-card h2{
text-align:center;
margin-bottom:20px;
color:#222;
font-size:30px;
}

.acp-card label{
display:block;
margin-bottom:8px;
font-weight:bold;
color:#333;
}

.acp-card input{
width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:8px;
font-size:16px;
margin-bottom:15px;
}

.acp-card button{
width:100%;
padding:12px;
border:none;
border-radius:8px;
font-size:17px;
cursor:pointer;
margin-top:10px;
background:#0073aa;
color:#fff;
transition:.3s;
}

.acp-card button:hover{
background:#005f8d;
}

#acp-reset{
background:#666;
}

#acp-reset:hover{
background:#444;
}

.acp-result{
margin-top:25px;
text-align:center;
}

.acp-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:15px;
margin-top:20px;
}

.acp-box{
background:#0073aa;
color:#fff;
padding:20px 10px;
border-radius:10px;
}

.acp-box span{
display:block;
font-size:28px;
font-weight:bold;
}

.acp-box small{
font-size:14px;
}

#acp-next-birthday{
margin-top:20px;
font-size:16px;
font-weight:bold;
color:#0073aa;
}

@media(max-width:600px){

.acp-grid{
grid-template-columns:1fr;
}

.acp-card{
padding:20px;
}

.acp-card h2{
font-size:24px;
}

}