@charset "UTF-8";
 

.content-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) 340px;
	gap:40px;
	align-items:start; 
}

.content-grid > .card{
    padding: 40px;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
}
.content-grid--wide{
	grid-template-columns:minmax(0,1fr) 360px;
}

.content-stack{
	display:flex;
	flex-direction:column; 
	gap:20px;
    padding: 40px;
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
}

.content-stack .card + .card{ 
	padding-top: 40px;
	margin-top: 40px;
    border-top: 1px solid var(--line);
}

.side-stack{
	display:flex;
	flex-direction:column;
	gap:16px; 
	position: sticky;
    top: 90px;
	align-self: start;
}

.side-stack .card{
	padding:28px; 
	border:1px solid var(--line);
	border-radius:var(--radius-card); 
	color: var(--color-text-sub);
}


.side-stack .card .action-button{
	max-width:100%;
}


.side-stack .card .action-button + .action-button{
	margin-top:10px;
}


.side-stack .profile-logo{
	width: 50px;
}

.side-stack .profile-summary{
	gap:16px;
	margin-bottom: 10px; 
}
.side-stack .profile-title{
	font-size: 18px;
	margin-bottom: 5px;
	color:#191c24;
}
.side-stack .section-block{
	display:flex;
	flex-direction:column;
	gap:3px;
	margin-top: 15px;
}
.card-title{
	margin:0 0 30px; 
	font-size:20px;
	font-weight:700;  
}

.card-title--no-border{
	padding-bottom:0;
	border-bottom:0;
	margin-bottom:15px;
}

.section-title{
	margin:0 0 15px;
	font-size:15px;
	font-weight:700;
	letter-spacing:-.02em;
}

.section-title--line{
	padding-bottom:14px;
	border-bottom:1px solid var(--color-border);
}

.label{
	display:block;
	margin-bottom:12px; 
	font-weight:700;
	font-size: 16px; 
}

.required::after{
	content:"*";
	margin-left:3px;
	color:#1c59e9;
}

.form-row{
	margin-top:40px;
}

.form-row:first-child{
	margin-top:0;
}

.form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
}

.input,
.textarea,
.select{
	width:100%;
	border:1px solid var(--line);
	border-radius:var(--radius-control);
	background:#fff;
	outline:none;
	transition:border-color .15s,box-shadow .15s;
}

.input{
	height:44px;
	padding:0 13px;
}

.textarea{
	min-height:88px; 
}

.textarea--large{
	min-height:112px;
}

.input::placeholder,
.textarea::placeholder{
	color:var(--color-text-muted);
}

.input:focus,
.textarea:focus,
.select:focus{
	border-color:#222;
	box-shadow:0 0 0 2px rgba(17,17,17,.05);
}

.choice-list{
	display:flex;
	flex-wrap:wrap;
	gap:7px;
}

.choice{
	position:relative;
}

.choice input{
	position:absolute;
	width:1px;
	height:1px;
	opacity:0;
}

.choice span{
	display:flex;
	align-items:center;
	justify-content:center; 
	height:40px;
	padding:0 15px;
	border:1px solid var(--color-border);
	border-radius:8px;
	font-size:13px;
	font-weight: 600;
	color:var(--color-text-sub);
	background:#fff;
	cursor:pointer;
}

.choice input:checked + span{
	border-color:#1c59e9;
	color:#fff;
	background:#1c59e9;
}

.choice--small span{  
}

.time-fields{
	display:flex;
	align-items:center;
	gap:8px;
}

.time-fields .input{
	max-width:200px;
}

.time-separator{
	color:var(--color-text-sub);
}

.salary-input-wrap{
	display:flex;
	align-items:center;
	gap:8px;
	max-width:360px;
	margin-top:12px;
}

.salary-input-wrap .input{
	min-width:0;
}

.salary-input-unit{
	flex:0 0 auto;
	font-weight:600;
}

.radio-list{
	display:flex;
	gap:24px;
}

.radio{
	display:flex;
	align-items:center;
	gap:7px;
	font-size:13px;
}

.radio input{
	width:15px;
	height:15px;
	margin:0;
	accent-color:#111;
}

.info-box{
	display:flex;
	align-items:center;
	gap:9px;
	margin-top:18px;
	padding: 13px;
	border-radius:7px;
	background:var(--bg);
	font-size:13px;
	color:#8490a0;
}

.info-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:17px;
	height:17px;
	flex:0 0 17px;
	border-radius:50%;
	background:#191c24;
	color:#fff;
	font-size:10px;
	font-weight:700;
}

.profile-summary{
	display:flex;
	align-items:flex-start;
	gap:24px;
}
 

.profile-meta{
	min-width:0;
	flex:1;
}
.profile-meta .tag-list{
	margin-top: 10px;
}

.profile-name{
	margin:0 0 3px;  
	font-weight: 600;
	font-size: 14px;
}

.profile-title{
	margin-bottom: 10px;
	font-size:24px;
	font-weight:700;
	letter-spacing:-.03em;
}

.profile-sub{ 
	margin:4px 0; 
	font-size: 14px;
	font-weight: 400;
    color: var(--color-text-sub);
}

.tag-list{
	display:flex;
	flex-wrap:wrap;
	gap:6px; 
}

.tag{
    display: inline-flex;
    align-items: center;
    padding:8px 10px;
    border-radius: 999px; 
    font-size: 12px; 
    background: #fff;
	border:1px solid var(--line);
    line-height: 1;
	color:#191c24;
}

.profile-head-card{
	position:relative; 
	display:flex;
	padding:40px;
	background: var(--bg);
	border-radius:20px;
	margin-bottom: 40px;
}

.profile-head-card .profile-summary{  
	flex:1;
}

.profile-head-card .profile-logo{
	border-radius:50%;
}

.profile-head-side{ 
	margin-left: auto;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:8px;
	margin-top: 20px;
}

.status-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:28px;
	padding:0 11px;
	border:1px solid var(--color-orange);
	border-radius:999px;
	color:#ff8a30;
	background:#fff8f1;
	font-size:12px;
}

.privacy-badge{
	display:inline-flex;
	align-items:center;
	gap:5px; 
	padding:6px 11px;
	border-radius:999px;
	background:#fff;
	color:var(--color-text-muted);
	font-size:12px;
}
.privacy-badge i{
	opacity:.5;
	width: 14px;
}

.updated-date{
	font-size:13px;
	color:#999;
}

.detail-list{
	display:flex;
	flex-direction:column;
	gap:16px;
}

.detail-item{
	display:grid;
	grid-template-columns:120px minmax(0,1fr);
	gap:16px;
	align-items:center;
}

.detail-label{ 
	color:var(--color-text-sub);
	font-size: 13px;
	font-weight: 400;
}

.detail-value{ 
	font-weight:650;
	display:flex;
	flex-wrap:wrap;
	gap:8px 16px;
	font-size: 16px; 
	color: #191c24;
}

.detail-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:30px;
}

.detail-grid .detail-item{
	display:block;
}

.detail-grid .detail-label{
	margin-bottom:5px;
	display:block;
}

.salary{
	font-weight:700;
}

.salary-note{ 
	color:#666;
	font-weight:400;
}

.readonly-box{
	padding:17px 16px;
	border-radius:8px;
	background:#f8f8f8;
	color:#4b5563;
	font-size:12px;
	line-height:1.7;
}

.section-block + .section-block{
	margin-top:22px;
}

.education-item,
.career-item{
	padding:0 0 20px;
	border-bottom:1px solid var(--color-border);
}

.education-item + .education-item,
.career-item + .career-item{
	padding-top:20px;
}

.education-item:last-child,
.career-item:last-child{
	padding-bottom:0;
	border-bottom:0;
}
 

.notice-list{
	margin:0;  
	font-weight: 400;
	font-size:14px; 
}
.notice-list li{
	position:Relative;
	padding-left: 10px;
}
.notice-list li:before{
	content:'';
	width: 4px;
	aspect-ratio:1;
	border-radius:50%;
	background: var(--color-border-strong);
	position:absolute;
	left:0;
	top:6px;
	
}

.notice-list li + li{
	margin-top:4px;
}

.side-card-title{
	margin:0 0 15px;
	font-size:18px;
	font-weight:700; 
	color: #191c24;
}

.side-card-description{
	margin:0 0 15px;
	font-size:14px; 
	color:var(--color-text-sub);
} 
.action-caption{
	margin:10px 0 0;
	text-align:center;
	font-size:11px;
	color:var(--color-text-muted);
}

.security-title{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 9px;
	font-size:15px;
	font-weight:700;
	color: #191c24;
}

.icon-unlock{
	display:inline-block;
	font-style:normal;
	width: 18px;
	aspect-ratio:1;
	background: url('/images/icon-unlock.png') no-repeat center center / contain; 
}

.icon-lock{
	display:inline-block;
	font-style:normal;
	width: 18px;
	aspect-ratio:1;
	background: url('/images/icon-lock.png') no-repeat center center / contain;
	opacity:.3;
}

.security-text{
	margin:0;
	font-size:11px;
	line-height:1.65;
	color:var(--color-text-muted);
}

.status-message{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:14px;
	font-size:12px;
	font-weight:600;
}

.status-dot{
	width:9px;
	height:9px;
	border-radius:50%;
	background:#20b56b;
	box-shadow:0 0 0 5px #e8faf1;
}

.check-box{
	display:flex;
	align-items:center;
	gap:9px;
	width:100%;
	min-height:46px;
	padding:0 13px; 
	border-radius:7px;
	background:var(--bg);
	font-size:12px;
	color:#344054;
}

.check-box input{
	width:16px;
	height:16px;
	margin:0;
	accent-color:#111;
}

.proposal-submit{
	margin-top:10px;
}

.hospital-summary{
	display:flex;
	align-items:center;
	gap:20px;
}

.hospital-logo{
	display:flex;
	align-items:center;
	justify-content:center;
	width:96px;
	height:96px;
	flex:0 0 96px;
	border-radius:50%;
	background:#087553;
	color:#fff;
	font-size:25px;
	font-weight:700;
	line-height:.85;
	text-align:center;
}

.hospital-name{
	margin:0 0 4px;
	font-size:23px;
	font-weight:700;
	letter-spacing:-.04em;
}

.hospital-info{
	margin:0;
	font-size:13px;
	color:#555;
}

.hospital-info + .hospital-info{
	margin-top:3px;
}

.proposal-summary-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:25px 50px;
}

.proposal-summary-item .summary-label{
	margin-bottom:4px;
	font-size:11px;
	color:var(--color-text-muted);
}

.proposal-summary-item .summary-value{
	font-size:13px;
	font-weight:600;
}

.proposal-summary-item--full{
	grid-column:1 / -1;
}

.inline-salary{
	display:inline-flex;
	align-items:center;
	gap:6px;
}

.salary-net::before{ 
	font-size:12px;
}

.salary-gross::before{ 
	font-size:12px;
	color:var(--color-text-muted);
}

.public-info{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}

.public-info-item{
	padding:24px;
	border-radius:16px;
	background:var(--bg);
}

.public-info-item--private{
	background:var(--bg);
}

.public-info-title{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:5px; 
	font-weight:700;
}

.public-info-text{
	margin:0;
	font-size:13px;
	color:var(--color-text-muted);
}
  
.lock-note{
	display:flex;
	align-items:center;
	gap:7px;
	margin-top:14px;
	font-size:13px;
	color:var(--color-text-muted);
}

.proposal-flow{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	position:relative;
	margin:18px 0 4px;
}

.proposal-flow::before{
	content:"";
	position:absolute;
	top:14px;
	left:14%;
	right:14%;
	height:1px;
	background:#e1e5ea;
}

.flow-step{
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	align-items:center;
	width:33.333%;
	text-align:center;
}

.flow-number{
	display:flex;
	align-items:center;
	justify-content:center;
	width:32px;
	aspect-ratio:1;
	line-height: 1;
	border-radius:50%;
	background:var(--color-blue-bg); 
	color:#1c59e9; 
	font-size: 14px;
	font-weight:700;
}

.flow-label{
	margin-top:7px;
	font-size:13px; 
	font-weight: 600;
}

.flow-note{
	margin-top:14px;
	padding:10px 12px;
	border-radius:7px;
	background:var(--bg);
	font-size:12px; 
	color:var(--color-text-muted);
	word-break: keep-all;
}

.action-card-large .side-card-title{
	font-size:18px;
	margin-bottom:14px;
}

.chat-card .side-card-title{
	font-size:17px;
}

.textarea-count{ 
	text-align:right;
	font-size:12px;
	color:var(--color-text-muted);
}

@media (max-width:1100px){
	.content-grid,
	.content-grid--wide{
		grid-template-columns:1fr;
	}

	.side-stack{
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.profile-head-side{
		position:static;
		align-items:flex-start;
		margin-top:15px;
	}
}

@media (max-width:760px){
	.page-wrap{
		width:calc(100% - 28px);
		padding:24px 0 45px;
	}

	.page-title{
		font-size:22px;
	}

	.card,
	.profile-head-card{
		padding:20px;
	}

	.form-grid,
	.detail-grid, 
	.proposal-summary-grid,
	.public-info,
	.side-stack{
		grid-template-columns:1fr;
	}

	.proposal-summary-item--full{
		grid-column:auto;
	}

	.detail-item{
		grid-template-columns:90px minmax(0,1fr);
	}

	.time-fields .input{
		max-width:none;
	}

	.profile-head-card .profile-summary{
		align-items:flex-start;
	}

	.hospital-logo{
		width:72px;
		height:72px;
		flex-basis:72px;
		font-size:20px;
	}

	.hospital-name{
		font-size:19px;
	}

	.profile-title{
		font-size:17px;
	}

	.public-info{
		gap:8px;
	}
}
