:root{
	--brand:#1e5eff;
	--brand-dark:#1544c4;
	--ink:#1f2430;
	--muted:#6b7280;
	--line:#e3e7ee;
	--bg:#f4f6fb;
	--card:#ffffff;
	--red:#e5484d;
	--green:#12a150;
	--radius:14px;
	--shadow:0 10px 30px rgba(20,40,90,.08);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
	font-family:"Malgun Gothic","¸¼Àº °íµñ",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
	background:var(--bg);
	color:var(--ink);
	line-height:1.55;
	-webkit-text-size-adjust:100%;
	min-height:100vh;
	display:flex;
	flex-direction:column;
	align-items:center;
	padding:24px 16px 48px;
}
.wrap{width:100%;max-width:520px;}

.topbar{
	display:flex;align-items:center;gap:12px;
	background:linear-gradient(135deg,var(--brand),var(--brand-dark));
	color:#fff;
	padding:16px 20px;
	border-radius:var(--radius) var(--radius) 0 0;
	box-shadow:var(--shadow);
}
.topbar .ic{
	width:38px;height:38px;border-radius:10px;
	background:rgba(255,255,255,.18);
	display:flex;align-items:center;justify-content:center;
	font-size:18px;flex:0 0 auto;
}
.topbar h1{font-size:17px;margin:0;font-weight:700;letter-spacing:-.01em;}
.topbar h1 small{display:block;font-size:12px;font-weight:400;opacity:.85;margin-top:2px;}

.card{
	background:var(--card);
	border-radius:0 0 var(--radius) var(--radius);
	box-shadow:var(--shadow);
	padding:26px 24px 28px;
}
.lead{font-size:14px;color:var(--muted);margin:0 0 20px;}

.seg-label{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 10px;}
.seg{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:8px;
	margin-bottom:22px;
}
.seg label{
	position:relative;display:block;cursor:pointer;
}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.seg .chip{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
	padding:12px 6px;border:1.5px solid var(--line);border-radius:12px;
	font-size:13px;font-weight:600;color:var(--muted);
	transition:.15s ease;text-align:center;
}
.seg .chip i{font-size:16px;}
.seg input:checked + .chip{
	border-color:var(--brand);color:var(--brand);
	background:rgba(30,94,255,.06);
	box-shadow:0 0 0 3px rgba(30,94,255,.10);
}
.seg input:focus-visible + .chip{outline:2px solid var(--brand);outline-offset:2px;}

.field{margin-bottom:16px;}
.field label{display:block;font-size:13px;font-weight:700;margin:0 0 6px;}
.field input[type=text]{
	width:100%;padding:12px 14px;font-size:15px;
	border:1.5px solid var(--line);border-radius:10px;
	background:#fbfcfe;color:var(--ink);
	transition:.15s ease;
}
.field input[type=text]:focus{
	outline:none;border-color:var(--brand);
	background:#fff;box-shadow:0 0 0 3px rgba(30,94,255,.12);
}
.field .hint{font-size:12px;color:var(--muted);margin:5px 2px 0;}

.alert{
	margin:4px 0 20px;padding:13px 15px;border-radius:10px;
	background:#fdecec;border:1px solid #f6c9cb;color:#a3282c;
	font-size:13px;line-height:1.6;
}

.btn{
	display:block;width:100%;border:none;cursor:pointer;
	padding:14px;font-size:16px;font-weight:700;
	color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-dark));
	border-radius:12px;transition:.15s ease;
	font-family:inherit;
}
.btn:hover{filter:brightness(1.05);}
.btn:active{transform:translateY(1px);}

.foot{text-align:center;font-size:12px;color:var(--muted);margin-top:18px;}

@media (max-width:420px){
	.seg{grid-template-columns:1fr;}
	.topbar h1{font-size:15px;}
	.card{padding:22px 18px 24px;}
}
