 
/* =========================================================
   Shared variables
   dashboard / common components
========================================================= */
:root{
    --bg:#f5f7f9;
    --surface:#fff;
    --surface-soft:#f8f9fa;
    --text:#151515;
    --text-2:#444;
    --muted:#8b8f94;
    --line:#e9e9e9;
    --line-strong:#dfe2e6;
    --black:#191c24;
    --blue:#1c59e9;
    --blue-bg:#eaf5ff;
    --green:#18a45b;
    --green-bg:#e9f9f0;
    --orange:#e58a25;
    --orange-bg:#fff2e4;
    --yellow:#c69518;
    --yellow-bg:#fff7dc;
    --red:#d96565;
    --red-bg:#fff0f0;
    --gray-bg:#f1f3f4;
    --shadow:0 2px 10px rgba(20,25,30,.035),0 10px 30px rgba(20,25,30,.025);
    --shadow-hover:0 8px 28px rgba(20,25,30,.08);
    --radius:14px; 
	--color-page:#f6f7f8;
	--color-card:#fff;
	--color-text:#151b26;
	--color-text-sub:#5c646c;
	--color-text-muted:#98a2b3;
	--color-border:#e4e7ec;
	--color-border-strong:#cfd5dd;
	--color-primary:#191c24;
	--color-blue:#1c59e9;
	--color-blue-bg:#f4f8ff;
	--color-red:#e65c5c;
	--color-green:#087553;
	--color-green-bg:#effaf5;
	--color-orange:#ff9b45;
	--shadow-card:0 3px 12px rgba(16,24,40,.08);
	--radius-card:20px;
	--radius-control:8px;
}
 
/* =========================================================
   Reset
========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	-webkit-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dd,
figure,
blockquote {
	margin: 0;
	padding: 0;
}

ul,
ol {
	list-style: none;
}

button,
input,
textarea,
select {
	margin: 0;
	padding: 0;
	font: inherit;
	color: inherit;
	background: inherit;
	border:0;
}


button {
	border: 0;
	background: none;
	cursor: pointer;
}

a {
	color: inherit;
	text-decoration: none;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

legend {
	padding: 0;
}

address,
em,
i {
	font-style: normal;
}

strong,
b {
	font-weight: inherit;
}
body {
	min-width: 320px;
	background: #fff;
	color: #191c24;
	font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: -0.03em;
	-webkit-font-smoothing: antialiased;
	font-weight: 500;
}
 
 

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
textarea,
select {
    width: 100%;
    border:0;
	background: var(--bg);
    border-radius: 8px; 
    color: #202938;
    font-family: inherit;
    font-size: 15px;
	font-weight: 600;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
select {
    height: 54px;
    padding: 0 15px; 
}

input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

textarea {
    min-height: 200px;
    padding: 15px; 
	width: 100%;
}

select::placeholder,
input::placeholder,
textarea::placeholder {
    color: #c4cbd3;
    opacity: 1;
	font-weight: 500;
}

input:focus,
textarea:focus,
select:focus {
    border-color: #191c24; 
}
input:disabled {
	background: #f5f5f5;
	color: #999;
}

body.popup-open {
	overflow: hidden;
}


/* subtle scrollbar */
*::-webkit-scrollbar{width:7px;height:7px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#d9dcdf;border-radius:999px}
select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: none;
	background: url('/images/icon-select.png') var(--bg) no-repeat right 12px center / 20px;
}


/* =========================================================
    Common Form 
========================================================= */

.form-field {
    margin-top: 20px;
}

.form-field > label,
.form-field > legend {
    display: block;
    margin-bottom: 9px;
    color: #202938;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}

.form-field .required::before {
    content: "*";
    margin-right: 4px;
    color: #ef4b4b;
    font-weight: 700;
}
 

.radio-label {
	position:relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer; 
	line-height: 1;
}

.radio-label input {
    appearance: none;
    width: 18px;
    aspect-ratio:1;
    margin: 0;
    border: 1px solid #cbd3de;
    border-radius: 50%;
    background: #fff;
}

.radio-label input:checked {
    border-color: #191c24; 
    background: #191c24;
}


.radio-label input:checked::after {
    content: "";
    position: absolute; 
    top: 6px;
    left: 5px;
    width: 8px;
    height: 4.5px;
	border-right:2px solid #fff;
	border-top:2px solid #fff; 
	transform:rotate(135deg);
}


 
/* ------------------------------
   Header
------------------------------ */
.header{
    position:sticky;
    top:0;
    z-index:100;
    height:68px;
    background: #fff;  
	box-shadow: var(--shadow);
}
.header__inner{
	width: 90%; 
	max-width:1200px;
    height:100%;
    margin:0 auto;
    display:flex;
    align-items:center;
}
.header-logo{
    font-size:22px;
    font-weight:800;
	width: 110px;
	background: url('/images/logo.png') no-repeat center center / contain;
	aspect-ratio:1275 / 223;  
}
.header-nav{
    position:absolute;
    left:50%;
    top:0;
    height:68px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:60px;
}
.header-nav a{
    position:relative;
    height:100%;
    display:flex;
    align-items:center;
    color:var(--color-text-sub); 
    font-weight:600;
    white-space:nowrap;
    transition:color .2s ease;
}
.header-nav a:hover{color:#191c24}
.header-nav a.is-active{
    color:#191c24; 
	font-weight: 700;
} 

.header-user{
    position:relative;
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:24px;
    color:#333;
    font-size:14px;
    font-weight:500;
}
.header-user__button{
    display:flex;
    align-items:center;
    gap:8px;
    padding:5px 0;
    border:0;
    background:none;
} 

.header-user__button .profile-logo{
	width: 32px;
	border-radius:50%;
} 
.header-user__name{ 
}
.header-user__button svg{
    width:16px;
    aspect-ratio:1;
    fill:none;
    stroke:#777;
    stroke-width:2;
    transition:transform .2s ease;
}
.header-user__button[aria-expanded="true"] svg{transform:rotate(180deg)}
.header-alarm{
    display:flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:30px;
    padding:0;
    border:0;
    background:none;
}
.header-alarm svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:#333;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.header-user__menu{
    position:absolute;
    top:45px;
    right:8px;
    width:142px;
    padding:8px;
    border:1px solid rgba(0,0,0,.06);
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.13);
    display:none;
    overflow:hidden;
}
.header-user__menu.is-open{display:block}
.header-user__menu a{
    display:block;
    padding:10px 11px;
    border-radius:8px;
    color:#555;
    font-size:13px;
    transition:background .15s,color .15s;
}
.header-user__menu a:hover{
    background:#f5f6f7;
    color:#191c24;
}


/* =========================================================
	Top Banner
========================================================= */
.dashboard-banner{
	width:100%;
	background:#000;
	color:#fff;
}

.dashboard-banner-inner{
	max-width:1200px;
	width: 90%;
	height:46px;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.dashboard-banner-content{
	display:flex;
	align-items:center;
	gap:18px;
}
 
.dashboard-banner-content strong{
	font-size:15px;
	font-weight:600;
	letter-spacing:-.03em;
}
 

.dashboard-banner-link{
	display:flex;
	align-items:center;
	gap:12px;
	color:#fff;
	font-size:12px;
	font-weight:600;  
	line-height: 1;
	text-decoration:none;
}

.dashboard-banner-link span{ 
	line-height:20px; 
	transition:transform .25s ease;
	border:1px solid #fff;
	width: 22px;
	aspect-ratio:1;
	border-radius:50%;
	display:flex;
	align-items:center; 
	justify-content:center;
}
 

/* =========================================================
	Footer
========================================================= */
 

.footer{
	background: var(--bg);
}
.footer-inner {
	display: flex;
	align-items: flex-start; 
	width: 90%;
	max-width:1200px;
	margin: 0 auto;
	padding: 50px 0; 
	gap: 60px; 
}

.footer-company {
	flex: 0 0 420px;
}

.footer-company strong {
	display: block;

	margin-bottom: 5px;

	color: #1c59e9;

	font-size: 15px;
	font-weight: 700;
}

.footer-company b {
	display: block;

	margin-bottom: 7px;

	font-size: 13px;
}

.footer-company p {
	margin: 0;

	font-size: 13px;
	line-height: 1.6;
	color: #777;
}

.footer-info {
	flex: 1;
}

.footer-info p,
.footer-links p {
	margin: 0 0 4px;

	font-size: 13px;
	line-height: 1.5;
	color: #777;
}

.footer-links {
	flex: 0 0 400px;
}

.footer-links div {
	display: flex;
	gap: 10px;

	margin-bottom: 8px;
}

.footer-links a {
	font-size: 13px;
	font-weight: 600;
	color: #444;
}

.footer-links a + a::before {
	content: "|";

	margin-right: 10px;

	color: #ccc;
}

.footer-links .copyright {
	margin-top: 9px;

	font-size: 12px;
	color: #999;
}




/* =========================================================
    Common Layout
========================================================= */
 
.container{
    width:90%;
    max-width:1200px;
    margin:0 auto;
    padding: 60px 0 120px;
	min-height:80vh;
}
  
.container:has(.page-breadcrumb){
	padding-top: 20px;
}

.page-breadcrumb{
	display:flex;
	align-items:center; 
	gap:8px;
	margin-bottom:60px;
	font-size:13px;
	color:var(--color-text-muted);
}

.page-breadcrumb .back{ 
	line-height:1;  
}

.page-breadcrumb strong{
	color:var(--color-text);
	font-weight:700;
	line-height: 1;
}
.page-breadcrumb span{
	display:flex;
	align-items:center;
	gap:8px;
	line-height: 1;
}
.page-breadcrumb span:not(.back):after{
	content:'';
	width: 5px;
	aspect-ratio:1;
	border-top:1px solid var(--color-text-muted);
	border-right:1px solid var(--color-text-muted);
	transform:rotate(45deg);  
}

.page-title-wrap{
	margin-bottom:40px;
}

.page-title-wrap .arrow{
	font-size: 15px;
	font-weight: 650;
}
.page-title{ 
	font-size:32px;
	font-weight:750;  
	line-height: 1.3;
}
 
.page-description{  
	font-size: 15px;
	font-weight: 400;
	margin-top: 12px;
	color:var(--color-text-sub);
}

.arrow{
	display:inline-flex;
	gap:8px;
	align-items: center; 
}

.arrow:after{
	content:''; 
	width: 8px;
	aspect-ratio:1;
	border-top:2px solid #191c24;
	border-right:2px solid #191c24;
	margin-top: -1px;
	transform:rotate(45deg);
}

/* ------------------------------
   Pagination
------------------------------ */
.pagination{
    display:flex;
    justify-content:center;
    gap:5px;
    margin-top:50px;
}
.pagination a,
.pagination button{
    width:27px;
    aspect-ratio:1;
	display:flex;
	align-items:center;
	justify-content:center;
    padding:0;
    border:1px solid var(--line);
    border-radius:7px;
    background:#fff;
    color:#999;
    font-size:12px;
	line-height: 1;
    transition:all .16s;
}
.pagination a:hover,
.pagination button:hover{
    border-color:#c8ccd0;
    color:#191c24;
}
.pagination a.is-active,
.pagination button.is-active{
    border-color:#191c24;
    background:#191c24;
    color:#fff; 
}
.pagination .prev:before,
.pagination .next:before{
	content:'';
	width: 5px;
	aspect-ratio:1;
	border-top:1px solid #999;
	border-right:1px solid #999;
	transform:rotate(45deg); 
	margin-right: 2px; 
}
.pagination .prev:before{
	transform:rotate(-135deg); 
	margin-left: 2px;
	margin-right: 0;
}

/* =========================================================
	Popup Contents
========================================================= */

.popup-wrap {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.popup-wrap.active {
	visibility: visible;
	opacity: 1;
}

.popup-dim {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.popup {
	position: relative;
	z-index: 1;
	width: calc(100% - 40px);
	max-width: 1045px;
	max-height: calc(100vh - 40px);
	padding: 30px;
	border-radius: 20px;
	background: #fff;
	box-sizing: border-box; 
}
 
.popup select{
	font-size: 14px;
	background: url(/images/icon-select.png) var(--bg) no-repeat right 12px center / 20px;
	margin-bottom: 10px;
}
.popup input{
	font-size: 14px; 
	margin-bottom: 10px;
}



.popup-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.popup-head h2 {
	margin: 0;
	font-size: 22px;
	font-weight: 700; 
}



.popup-guide {
	margin: 10px 0;   
	font-weight: 500; 
	color: #666;  
	font-size: 14px; 
}

.popup-close {
	position: relative;
	width: 28px;
	aspect-ratio:1;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.popup-close span::before,
.popup-close span::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 13px;
	width: 18px;
	height: 1.5px;
	background: #191c24;
}

.popup-close span::before {
	transform: rotate(45deg);
}

.popup-close span::after {
	transform: rotate(-45deg);
}

.popup-foot {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 20px;
}

.popup-button {
	width: 45%;
	max-width:150px;
	font-size: 14px;
	height: 50px;
	border-radius: 8px; 
	font-weight: 700;
	cursor: pointer;
	display:flex; 
	align-items:center;
	justify-content:center;
}

.popup-cancel {
	border: 1px solid var(--line);
	background: #fff;
	color: #333;
}

.popup-save {
	border: 1px solid #1c59e9;
	background: #1c59e9;
	color: #fff;
}
.popup-content{
	padding-top: 20px;
}

.popup-form{ 
	display:flex;
	flex-direction:column;
	gap:5px; 
}

.popup-form-item label{
	margin-bottom: 10px;
	font-weight: 650;
	display:block;
}


/* 면접 일정 */
.interview-schedule-popup .popup{
	max-width:500px;
} 

/* 전담매니저 */
.manager-call-popup .popup{
	max-width:500px;
}
 
 
.manager-info{
	display: flex;
	align-items: center;
	gap: 20px;
}
.manager-call-popup .profile-logo{
	border-radius:50%;
}
 
.manager-info-text{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-size: 17px;
	font-weight: 650;
}
 

.manager-role{
	margin-top: 5px;  
	font-size: 14px;
	color: var(--color-text-sub);
	font-weight: 500;
}

.manager-guide{ 
	padding: 14px;
	border-radius: 8px;
	background: var(--bg);
	margin-top: 20px;
}

.manager-guide p{ 
	font-size: 13px;
	color: var(--color-text-sub);
}



/* =========================================================
	Popup Input
========================================================= */

.popup-input {
	position: relative;
	display: flex;
	align-items: center;
    width: 100%; 
    border-radius: 8px; 
    font-family: inherit;
    font-size: 15px;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
    height: 54px;
    padding: 0 15px;
	border:1px solid var(--line);
	background: url('/images/icon-search.png') #fff no-repeat right 16px center / 20px;
}

.popup-placeholder { 
	color: #c4cbd3;
}

.popup-input.selected .popup-placeholder {
	color: #191c24;
}

.popup-search-icon {
	position: absolute;
	right: 18px;
	top: 50%;
	width: 20px;
	height: 20px;
	border: 2px solid #191c24;
	border-radius: 50%;
	transform: translateY(-55%);
}

.popup-search-icon::after {
	content: "";
	position: absolute;
	right: -5px;
	bottom: -4px;
	width: 8px;
	height: 2px;
	background: #191c24;
	transform: rotate(-45deg);
}




/* =========================================================
	Button
========================================================= */
.action-button-wr{
	display:flex;
	gap:10px;
	justify-content:center;
	margin-top: 50px;
}
.action-button{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px; 
	width: 100%;
	max-width:200px;
	height:54px;
	border-radius:8px; 
	font-weight:600;
	border:1px solid var(--line);
}

.action-button--black{
	background:#191c24;
	color:#fff;
}

.action-button--outline{
	border:1px solid var(--line);
	background:#fff;
	color:#191c24;
}

.action-button--danger{
	border:1px solid #ffb6b6;
	background:#fff;
	color:#df5656;
}
 
.action-arrow{
	font-size:17px;
	line-height:1;
}



/* =========================================================
	Responsive
========================================================= */
 
@media (max-width:1100px){ 
    .header-nav{gap:28px} 
}
@media (max-width:850px){
    .header{height:62px}
    .header-nav{
        position:static;
        transform:none;
        margin-left:45px;
        height:62px;
        gap:20px;
    }
    .header-nav a{font-size:13px}
    .header-user__name{display:none} 
}
@media (max-width:640px){ 
    .header{height:58px}
    .header-nav{display:none} 
}

 
 
@media (max-width: 700px) {
 

	.footer-company,
	.footer-info,
	.footer-links {
		width: 100%;
		margin-bottom: 20px;
	} 
}  
