* {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
  margin:0; padding:0;
  color:#1E293B;
}

body { font-family:"Pretendard", sans-serif; color:#1E293B; }
h1,h2,h3,h4,h5,h6 { font-family:"Pretendard", sans-serif; margin:0; }
a { cursor:pointer !important; color:#1E293B; }
p { margin:0; }

input[type='text'], input[type='password'], input[type='tel'] {padding: 0 5px}
input[type=submit], input[type=button] {-webkit-appearance: none;}
input[type=button], input[type=submit], button {cursor:pointer}
input:focus, button:focus, textarea {outline:none;}
label { margin:0; }
input[type='text']:disabled { background:#f5f5f5; }
.label { padding:0; color:#1E293B; font-size:14px; font-weight:400; display:inline-block; }

.calendar_wrap { gap:10px; }
.calendar_wrap > span { width:15px; font-weight:500; text-align:center; display:inline-block; }
.calendar_box { position:relative; }
.calendar_box .date_box { width:100%; position:relative; }
.calendar_box .date_box button { min-width:auto; height:auto; padding:0; border:0; position:absolute; top:50%; right:16px; transform:translateY(-50%); background:none; }
.calendar_box .date_box button img { width:25px; }

/*a:focus { outline:none; }*/
img {border:none; vertical-align: top}
dl,dt,dd,ul,ol,li { list-style:none; margin:0; }
em,address {font-style:normal} 

a:link {text-decoration:none; border:none}
a:hover, a:active, a:visited {text-decoration:none; cursor:pointer; color:#1E293B;}
a:hover, a:focus { text-decoration:none; }
legend, caption {position:absolute; top:0; left:0; width:0; height:0; overflow:hidden; visibility:hidden; font-size:0; line-height:0}
textarea {overflow: auto; resize: none; border: 1px solid #dadbdc; border-radius: 5px;}
table { width:100%; border-collapse:collapse; border-spacing:0; }

/* placholder */
/* ::-webkit-input-placeholder{color:#999}
::-moz-placeholder{color:#4A4A4A} /* firefox 19+
:-ms-input-placeholder{color:#999}  ie
input:-moz-placeholder{color:#999} */
/* placholder */
::-webkit-input-placeholder{color:#b5bfcd}
::-moz-placeholder{color:#4A4A4A} /* firefox 19+ */
:-ms-input-placeholder{color:#b5bfcd} /* ie */
input:-moz-placeholder{color:#b5bfcd}

/* layout */
.elp {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.mlp {overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}

/* ─── 공통 Toast 알림 ─── */
.toast_alert { position:fixed; bottom:2rem; left:50%; transform:translateX(-50%) translateY(20px); z-index:9999; transition:0.3s cubic-bezier(0.34,1.56,0.64,1); opacity:0; pointer-events:none; }
.toast_inner { background:rgba(17,24,39,0.92); backdrop-filter:blur(10px); color:#fff; padding:0.875rem 1.5rem; border-radius:1.25rem; display:flex; align-items:center; gap:0.625rem; box-shadow:0 25px 50px -12px rgba(0,0,0,0.4); white-space:nowrap; }
.toast_inner .toast_icon { display:flex; align-items:center; flex-shrink:0; }
.toast_inner .toast_msg_text { font-size:0.875rem; font-weight:800; color:#fff; }
.toast_inner.success .toast_icon svg { stroke:#2563EB; }
.toast_inner.error   .toast_icon svg { stroke:#EF4444; }
.toast_inner.warn    .toast_icon svg { stroke:#F59E0B; }
.toast_inner.info    .toast_icon svg { stroke:#06B6D4; }