/* Reset minimal */


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

/* Card */
.signup-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;
}

/* 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 */
.signup-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.row-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    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;
}

/* Terms */
.checkbox.terms{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#444;
    font-size:13px;
}
.checkbox.terms input{
    margin-top:3px;
    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/footer */
.signup-hint{
    font-size:13px;
    color:#6b7280;
    margin-top:8px;
}
.signup-hint .link{
    color:#00a680;
}
.signup-footer{
    margin-top:18px;
    text-align:center;
    opacity:.7;
    font-size:13px;
    color:#4b5563;
}



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

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

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

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

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

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

.row-grid{
grid-template-columns:1fr;
}
}

@media (max-width: 480px) {
.signup-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;
}

.row-grid{
gap:10px;
}
}

.form-message {
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 0.9rem;
    margin-bottom: 1rem;
    font-weight: 500;
}

.form-message.error {
    background-color: #fdf0ef;
    color: #922b21;
    border: 1px solid #f5c6c2;
}

.form-message.success {
    background-color: #edf7f2;
    color: #005f45;
    border: 1px solid #b6ddd0;
}
