/* 울산대학교 창업특화 생성형 AI - 로그인/개인정보 화면 */
.auth-body {
	min-width:1120px;
	background:#f3f7ff;
	color:#1e293b;
	overflow:visible
}
.auth-shell {
	min-height:100vh;
	display:grid;
	grid-template-columns:minmax(620px,1.25fr) minmax(430px,.75fr)
}
.auth-visual {
	position:relative;
	min-height:100vh;
	background:#1e4db7;
	overflow:hidden;
	display:flex;
	align-items:stretch
}
.auth-visual__image {
	position:absolute;
	inset:0;
	background-image:linear-gradient(90deg,rgba(10,31,78,.25),rgba(10,31,78,.02)),url('../images/startup-hero.png');
	background-size:cover;
	background-position:center
}
.auth-visual__overlay {
	position:relative;
	z-index:1;
	width:100%;
	padding:56px 64px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	color:#fff
}
.auth-brand {
	display:flex;
	align-items:center;
	gap:14px
}
.auth-brand__mark {
	width:46px;
	height:46px;
	border-radius:15px;
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 18px 50px rgba(0,0,0,.16)
}
.auth-brand__mark img {
	width:31px;
	height:31px;
	object-fit:contain
}
.auth-brand__text strong {
	display:block;
	font-size:18px;
	letter-spacing:-.5px
}
.auth-brand__text span {
	display:block;
	font-size:13px;
	opacity:.82;
	margin-top:2px
}
.auth-visual-copy {
	max-width:620px
}
.auth-visual-copy .eyebrow {
	display:inline-flex;
	align-items:center;
	border:1px solid rgba(255,255,255,.28);
	background:rgba(255,255,255,.13);
	border-radius:999px;
	padding:7px 14px;
	font-size:13px;
	font-weight:700;
	backdrop-filter:blur(8px)
}
.auth-visual-copy h1 {
	font-size:48px;
	line-height:1.16;
	letter-spacing:-1.8px;
	margin:22px 0 14px
}
.auth-visual-copy p {
	font-size:17px;
	line-height:1.7;
	color:#eaf2ff;
	max-width:560px
}
.auth-feature-row {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
	max-width:660px
}
.auth-feature {
	border:1px solid rgba(255,255,255,.18);
	background:rgba(255,255,255,.13);
	border-radius:18px;
	padding:16px;
	backdrop-filter:blur(10px)
}
.auth-feature b {
	display:block;
	font-size:18px
}
.auth-feature span {
	display:block;
	font-size:12px;
	opacity:.82;
	margin-top:4px
}
.auth-panel {
	display:flex;
	padding:46px;
	background:linear-gradient(180deg,#fff,#f8fbff)
}
/* 폼이 화면보다 길어도 잘리지 않도록: 짧으면 중앙정렬, 길면 위에서부터 스크롤 */
.auth-panel > * {
	margin:auto
}
/* 데스크탑(2단) 레이아웃: 좌측 브랜드는 고정, 우측 폼 패널만 내부 스크롤.
   화면 높이가 낮아 회원가입 폼이 길어져도 하단(가입 완료 버튼)까지 도달 가능. */
@media (min-width:1181px){
	.auth-shell{height:100vh}
	.auth-visual{height:100vh;overflow:hidden}
	.auth-panel{height:100vh;overflow-y:auto}
}
.login-card {
	width:100%;
	max-width:430px;
	background:#fff;
	border:1px solid #e2e8f0;
	border-radius:26px;
	box-shadow:0 24px 70px rgba(30,77,183,.16);
	padding:34px
}
.login-title {
	margin-bottom:24px
}
.login-title .kicker {
	font-size:12px;
	color:#1e4db7;
	font-weight:800;
	letter-spacing:.5px
}
.login-title h2 {
	font-size:30px;
	letter-spacing:-1px;
	margin-top:5px
}
.login-title p {
	font-size:13px;
	color:#64748b;
	margin-top:7px
}
.auth-form {
	display:grid;
	gap:16px
}
.auth-label {
	display:grid;
	gap:8px;
	font-size:13px;
	font-weight:700;
	color:#334155
}
.auth-input-wrap {
	position:relative
}
.auth-input {
	width:100%;
	height:48px;
	border:1px solid #dbe4f0;
	border-radius:14px;
	background:#f8fafc;
	padding:0 14px;
	font-size:14px;
	outline:none;
	transition:.16s
}
.auth-input:focus {
	border-color:#1e4db7;
	background:#fff;
	box-shadow:0 0 0 4px rgba(30,77,183,.09)
}
.auth-options {
	display:flex;
	align-items:center;
	justify-content:space-between;
	color:#64748b;
	font-size:12px;
	margin-top:-2px
}
.auth-check {
	display:flex;
	align-items:center;
	gap:7px
}
.auth-check input {
	accent-color:#1e4db7
}
.auth-link {
	border:0;
	background:transparent;
	color:#1e4db7;
	font-weight:700;
	cursor:pointer
}
.auth-submit {
	height:50px;
	border:0;
	border-radius:15px;
	background:linear-gradient(135deg,#1e4db7,#3b82f6);
	color:white;
	font-size:15px;
	font-weight:800;
	cursor:pointer;
	box-shadow:0 12px 24px rgba(30,77,183,.25);
	transition:.16s
}
.auth-submit:hover {
	transform:translateY(-1px);
	box-shadow:0 16px 30px rgba(30,77,183,.3)
}
.auth-divider {
	display:flex;
	align-items:center;
	gap:12px;
	color:#94a3b8;
	font-size:12px;
	margin:7px 0
}
.auth-divider:before,.auth-divider:after {
	content:'';
	height:1px;
	background:#e2e8f0;
	flex:1
}
.sso-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px
}
.sso-btn {
	height:42px;
	border:1px solid #dbe4f0;
	background:#fff;
	border-radius:13px;
	color:#334155;
	font-weight:700;
	cursor:pointer
}
.auth-help {
	margin-top:20px;
	background:#eff6ff;
	border:1px solid #bfdbfe;
	color:#1e40af;
	border-radius:16px;
	padding:13px;
	font-size:12px;
	line-height:1.55
}
.profile-page .content-wrap {
	background:#f6f8fc
}
.profile-layout {
	display:grid;
	grid-template-columns:310px 1fr;
	gap:16px
}
.profile-summary {
	background:linear-gradient(180deg,#1e4db7,#4170c0);
	color:#fff;
	border-radius:18px;
	padding:22px;
	box-shadow:0 16px 34px rgba(30,77,183,.18)
}
.profile-avatar {
	width:78px;
	height:78px;
	border-radius:24px;
	background:#fff;
	color:#1e4db7;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:30px;
	font-weight:900;
	margin-bottom:14px
}
.profile-summary h3 {
	font-size:21px;
	letter-spacing:-.6px
}
.profile-summary p {
	color:#dbeafe;
	margin-top:4px
}
.profile-meta {
	display:grid;
	gap:9px;
	margin-top:22px
}
.profile-meta div {
	display:flex;
	justify-content:space-between;
	gap:12px;
	padding:10px 0;
	border-bottom:1px solid rgba(255,255,255,.18);
	font-size:12px
}
.profile-meta span {
	opacity:.78
}
.profile-card-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px
}
.profile-form-card {
	background:#fff;
	border:1px solid #e2e8f0;
	border-radius:18px;
	padding:20px;
	box-shadow:0 1px 3px rgba(0,0,0,.06)
}
.profile-form-card.full {
	grid-column:1 / -1
}
.profile-form-card h3 {
	font-size:17px;
	letter-spacing:-.4px;
	margin-bottom:14px
}
.profile-form {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:14px
}
.profile-form .full {
	grid-column:1 / -1
}
.profile-input,.profile-select,.profile-textarea {
	width:100%;
	border:1px solid #dbe4f0;
	border-radius:10px;
	background:#fff;
	height:36px;
	padding:0 11px;
	outline:none
}
.profile-textarea {
	height:94px;
	padding:10px;
	resize:vertical
}
.profile-input:focus,.profile-select:focus,.profile-textarea:focus {
	border-color:#1e4db7;
	box-shadow:0 0 0 3px rgba(30,77,183,.09)
}
.tag-options {
	display:flex;
	flex-wrap:wrap;
	gap:8px
}
.tag-option {
	display:inline-flex;
	align-items:center;
	gap:6px;
	border:1px solid #cbd5e1;
	border-radius:999px;
	padding:7px 11px;
	font-size:12px;
	background:#fff;
	cursor:pointer
}
.tag-option input {
	accent-color:#1e4db7
}
.security-list {
	display:grid;
	gap:10px
}
.security-item {
	display:flex;
	align-items:center;
	justify-content:space-between;
	border:1px solid #e2e8f0;
	border-radius:13px;
	padding:12px;
	background:#fbfdff
}
.security-item b {
	display:block;
	font-size:13px
}
.security-item span {
	font-size:12px;
	color:#64748b
}
.profile-actions {
	display:flex;
	justify-content:flex-end;
	gap:8px;
	margin-top:16px
}
@media(max-width:1180px) {
	.auth-shell {
		grid-template-columns:1fr
	}
	.auth-visual {
		min-height:48vh
	}
	.auth-panel {
		min-height:52vh
	}
	.auth-body {
		overflow:visible
	}
	.profile-layout,.profile-card-grid {
		grid-template-columns: 1fr
	}
}
/* ============================================================
   Responsive patch - auth/profile pages
   ============================================================ */
@media (max-width:1180px){
  .auth-body{min-width:0!important;overflow:visible;}
  .auth-shell{grid-template-columns:1fr;min-height:100vh;}
  .auth-visual{min-height:42vh;}
  .auth-visual__overlay{padding:34px;gap:24px;}
  .auth-visual-copy h1{font-size:36px;}
  .auth-panel{padding:32px 20px;}
  .login-card{max-width:560px;}
  .register-card{max-width:760px;}
  .profile-layout,.profile-card-grid{grid-template-columns:1fr!important;}
}
@media (max-width:768px){
  .auth-visual{min-height:360px;}
  .auth-visual__overlay{padding:24px;}
  .auth-brand__mark{width:40px;height:40px;border-radius:12px;}
  .auth-brand__text strong{font-size:16px;}
  .auth-brand__text span{font-size:12px;}
  .auth-visual-copy h1{font-size:28px;letter-spacing:-1px;}
  .auth-visual-copy p{font-size:14px;line-height:1.6;}
  .auth-feature-row{grid-template-columns:1fr;gap:8px;}
  .auth-feature{padding:12px;border-radius:14px;}
  .auth-panel{padding:20px 12px;background:#f8fbff;}
  .login-card{border-radius:20px;padding:24px;box-shadow:0 12px 34px rgba(30,77,183,.13);}
  .login-title h2{font-size:25px;}
  .auth-options{align-items:flex-start;gap:8px;flex-direction:column;}
  .sso-grid,.register-grid,.profile-form{grid-template-columns:1fr!important;}
  .email-row{display:grid;grid-template-columns:1fr;gap:8px;}
  .inline-btn{width:100%;}
  .join-agree{max-height:none;}
  .profile-summary{position:relative;top:auto;}
  .security-item{align-items:flex-start;flex-direction:column;gap:10px;}
  .profile-actions{flex-direction:column;}
  .profile-actions .btn{width:100%;}
}
@media (max-width:480px){
  .auth-visual{min-height:310px;}
  .auth-visual__overlay{padding:18px;}
  .auth-visual-copy .eyebrow{font-size:11px;padding:5px 10px;}
  .auth-visual-copy h1{font-size:23px;}
  .auth-feature-row{display:none;}
  .login-card{padding:20px;border-radius:18px;}
  .auth-input{height:46px;}
  .auth-submit{height:48px;}
  .register-section-title{margin-top:4px;}
}
