/* Reset minimal */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
	background: linear-gradient(180deg,#f5f7fb 0%, #ffffff 100%);
	color:#1c1c1e;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* Layout root */
.login-root{
	min-height:100vh;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:32px;
	padding-top: calc(70px + 32px);
}

/* Card */
.login-card{
	width:100%;
	max-width:1080px;
	background:#fff;
	border-radius:12px;
	box-shadow:0 10px 30px rgba(20,30,60,0.08);
	overflow:hidden;
	display:flex;
	gap:0;
}

/* Left promo */
.promo{
	flex:1.1;
	padding:48px;
	background: linear-gradient(135deg,#00a680 0%, #00c894 100%);
	color:#fff;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:12px;
	min-width:320px;
}
.brand{
	font-size:26px;
	font-weight:700;
	letter-spacing:0.4px;
}
.promo-title{
	font-size:22px;
	margin-top:4px;
	font-weight:600;
}
.promo-desc{
	margin-top:12px;
	opacity:0.95;
	line-height:1.45;
	font-size:15px;
	max-width:330px;
}

/* Right form */
.form-side{
	flex:1;
	padding:44px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:10px;
}
.form-side h2{
	font-size:22px;
	margin-bottom:6px;
}
.hint{
	color:#6b7280;
	margin-bottom:14px;
	font-size:14px;
}

/* Form elements */
.login-form{display:flex;flex-direction:column;gap:12px}
.input-group{display:flex;flex-direction:column;gap:6px;font-size:13px}
.input-group input{
	width: 100%;
	padding:12px 14px;
	border-radius:8px;
	border:1px solid #e6e9ef;
	font-size:14px;
	outline:none;
	transition:box-shadow .12s, border-color .12s;
}
.input-group input:focus{
	box-shadow:0 6px 18px rgba(28,28,30,0.06);
	border-color:#b6f2da;
}

.password-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}
.password-wrapper input {
	padding-right: 40px;
}
.toggle-password {
	position: absolute;
	right: 12px;
	background: none;
	border: none;
	cursor: pointer;
	color: #6b7280;
	display: flex;
	align-items: center;
	padding: 0;
	transition: color 0.15s;
}
.toggle-password:hover {
	color: #1c1c1e;
}


/* Row with checkbox and forgot */
.form-row{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-top:4px;
}
.checkbox{display:flex;align-items:center;gap:8px;color:#444;font-size:13px}
.checkbox input{width:16px;height:16px}
.link{color:#00a680;text-decoration:none;font-size:13px}
.link:hover{text-decoration:underline}

/* Buttons */
.btn{
	padding:11px 14px;
	border-radius:10px;
	border:none;
	font-weight:600;
	cursor:pointer;
	font-size:14px;
}
.btn.primary{
	background:#00a680;
	color:#fff;
	box-shadow:0 8px 20px rgba(0,166,128,0.14);
}
.btn.primary:hover{filter:brightness(.98)}
.separator{
	display:flex;
	align-items:center;
	gap:12px;
	justify-content:center;
	color:#9aa0a6;
	font-size:13px;
	margin:8px 0;
}
.separator::before,
.separator::after{
	content:"";
	flex:1;
	height:1px;
	background:#eef2f5;
}

/* Social buttons */
.socials{display:flex;flex-direction:column;gap:8px}
.btn.social{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	background:#f6f7fb;
	border:1px solid #e6e9ef;
	color:#222;
}
.btn.google{background:white;border:1px solid #e5e5e5}
.btn.facebook{background:#1877f2;color:#fff}

/* Signup hint */
.signup{font-size:13px;color:#6b7280;margin-top:8px}
.signup .link{color:#00a680}

/* Footer */
.login-footer{margin-top:18px;text-align:center;opacity:.7;font-size:13px;color:#4b5563}


/* Responsive Design */
@media (max-width: 1024px) {
.login-card{
max-width:900px;
}
}

@media (max-width: 768px) {
.login-root{
padding:16px;
padding-top: calc(65px + 16px)
}

.login-card{
flex-direction:column;
}

.promo{
min-width:auto;
padding:32px;
text-align:center;
}

.form-side{
padding:32px 24px;
}

.form-side h2{
font-size:20px;
}
}

@media (max-width: 480px) {
.login-root{
padding:8px;
padding-top: calc(65px + 8px);
}

.promo{
padding:24px;
}

.brand{
font-size:22px;
}

.promo-title{
font-size:18px;
}

.promo-desc{
font-size:14px;
}

.form-side{
padding:24px 16px;
}

.form-side h2{
font-size:18px;
}

.form-row{
flex-direction:column;
align-items:flex-start;
gap:8px;
}

.newsletter-form input{
width:100%;
}
}
