/* AUTH PAGES */
.auth-body { margin:0; padding:0; height:100vh; overflow:hidden; }
.auth-split { display:grid; grid-template-columns:1fr 1fr; height:100vh; }
.auth-left {
  background:linear-gradient(145deg,var(--dark),var(--primary));
  padding:36px; display:flex; flex-direction:column; position:relative; overflow:hidden;
}
.auth-left::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:28px 28px;
}
.auth-back {
  color:rgba(255,255,255,.7); font-size:.82rem; font-weight:600;
  display:inline-flex; align-items:center; gap:7px; margin-bottom:48px;
  transition:color .2s; position:relative; z-index:1;
}
.auth-back:hover { color:#fff; }
.auth-left-content { flex:1; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:1; }
.auth-left-logo { font-size:3.5rem; margin-bottom:20px; }
.auth-left-content h2 { color:#fff; font-size:1.9rem; line-height:1.2; margin-bottom:14px; }
.auth-left-content p { color:rgba(255,255,255,.7); font-size:.9rem; line-height:1.7; margin-bottom:28px; }
.auth-left-features { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.auth-feat { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.85); font-size:.85rem; }
.auth-feat i { color:var(--accent); width:16px; }
.auth-destinations { display:flex; flex-wrap:wrap; gap:8px; }
.dest-chip {
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.8); padding:5px 12px; border-radius:var(--r-full); font-size:.78rem; font-weight:600;
}
.auth-left-footer { color:rgba(255,255,255,.4); font-size:.72rem; margin-top:24px; position:relative; z-index:1; }

.auth-right { overflow-y:auto; background:var(--white); display:flex; align-items:center; justify-content:center; padding:40px; }
.auth-form-wrap { width:100%; max-width:460px; }
.auth-tabs {
  display:flex; gap:4px; background:var(--light-gray); border-radius:var(--r-full);
  padding:4px; margin-bottom:28px;
}
.auth-tab {
  flex:1; padding:10px; border-radius:var(--r-full); font-family:var(--font-body);
  font-size:.88rem; font-weight:700; color:var(--gray); transition:.2s; cursor:pointer; border:none; background:none;
}
.auth-tab.active { background:var(--white); color:var(--primary); box-shadow:var(--shadow-sm); }
.auth-tab-content { display:none; }
.auth-tab-content.active { display:block; animation:fadeIn .3s ease; }
.auth-tab-content h3 { font-size:1.5rem; margin-bottom:4px; }
.auth-sub { color:var(--gray); font-size:.85rem; margin-bottom:24px; }

.input-with-prefix { display:flex; align-items:center; border:2px solid var(--border); border-radius:var(--r-md); overflow:hidden; }
.input-with-prefix:focus-within { border-color:var(--primary-light); box-shadow:0 0 0 3px rgba(82,183,136,.15); }
.prefix { background:var(--light-gray); padding:12px 14px; font-size:.9rem; font-weight:700; color:var(--gray); border-right:2px solid var(--border); white-space:nowrap; }
.input-with-prefix input { border:none; box-shadow:none; border-radius:0; }
.input-with-prefix input:focus { box-shadow:none; }

.file-upload-area {
  border:2px dashed var(--border); border-radius:var(--r-md); padding:28px;
  text-align:center; cursor:pointer; position:relative; transition:.2s;
  background:#FAFCFB;
}
.file-upload-area:hover { border-color:var(--primary-light); background:var(--accent-soft); }
.file-upload-area i { font-size:2rem; color:var(--primary-light); margin-bottom:8px; display:block; }
.file-upload-area p { font-size:.85rem; color:var(--gray); margin:0; }
.file-upload-area span { color:var(--primary-light); font-weight:700; }

.checkbox-label { display:flex; align-items:flex-start; gap:10px; font-size:.82rem; color:var(--gray); cursor:pointer; line-height:1.5; }
.checkbox-label input { margin-top:3px; accent-color:var(--primary); }

.auth-divider { text-align:center; position:relative; margin:20px 0; color:var(--gray); font-size:.82rem; }
.auth-divider::before,.auth-divider::after { content:''; position:absolute; top:50%; width:42%; height:1px; background:var(--border); }
.auth-divider::before { left:0; } .auth-divider::after { right:0; }

@media(max-width:768px){
  .auth-split { grid-template-columns:1fr; }
  .auth-left { display:none; }
  .auth-body { overflow:auto; height:auto; }
}
