/* Diaspora Auth — shared premium styling */
:root{
  --ink:#0E0E0E; --cream:#FAF7F2; --sand:#F0EBE0; --gold:#D4A444;
  --terra:#C85A3E; --navy:#0A1E3A; --sage:#2A5F4A; --line:#E6DFD1;
  --muted:#6B6357; --bg:#F6F2EA; --surface:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--cream);color:var(--ink);font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.serif{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-0.01em}

.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.auth-left{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#0A1E3A 0%, #1B3A5F 50%, #2A5F4A 100%);
  color:white;
  padding:60px 80px; display:flex; flex-direction:column; justify-content:space-between;
}
.auth-left::before{
  content:""; position:absolute; inset:0;
  background-image:url('https://images.unsplash.com/photo-1528605248644-14dd04022da1?q=80&w=1600&auto=format');
  background-size:cover; background-position:center; opacity:0.15; mix-blend-mode:overlay;
}
.auth-left > *{position:relative;z-index:2}
.auth-logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px;letter-spacing:-0.02em}
.auth-logo img{width:74px;height:74px;object-fit:contain;border-radius:16px;background:white;box-shadow:0 14px 36px rgba(0,0,0,0.18)}
.auth-logo-text{display:flex;flex-direction:column;line-height:1.05}
.auth-logo-text small{font-size:10px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;opacity:0.72;margin-top:5px}
.auth-headline{font-family:'Playfair Display',serif;font-size:48px;line-height:1.05;font-weight:500;max-width:540px;letter-spacing:-0.02em}
.auth-headline em{color:var(--gold);font-style:italic}
.auth-sub{font-size:16px;line-height:1.6;opacity:0.85;max-width:460px;margin-top:20px}
.auth-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.auth-badge{padding:8px 14px;border:1px solid rgba(255,255,255,0.25);border-radius:999px;font-size:13px;backdrop-filter:blur(10px);background:rgba(255,255,255,0.05)}
.auth-foot{display:flex;gap:18px;font-size:13px;opacity:0.7}

.auth-right{display:flex;align-items:center;justify-content:center;padding:60px 40px;background:var(--cream)}
.auth-card{width:100%;max-width:440px}
.auth-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-bottom:28px;transition:color .15s}
.auth-back:hover{color:var(--ink)}
.auth-title{font-family:'Playfair Display',serif;font-size:36px;font-weight:500;line-height:1.1;letter-spacing:-0.02em;margin-bottom:10px}
.auth-desc{font-size:15px;color:var(--muted);margin-bottom:32px;line-height:1.55}

.social-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.social-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s, border-color .15s}
.social-btn:hover{background:var(--sand);border-color:var(--ink)}
.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:20px 0}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}

.field{margin-bottom:16px}
.field label{display:block;font-size:12px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;margin-bottom:8px;color:var(--ink)}
.field input,.field select,.field textarea{
  width:100%;padding:14px 16px;border:1px solid var(--line);background:white;border-radius:12px;
  font-size:15px;font-family:inherit;color:var(--ink);transition:border-color .15s, box-shadow .15s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(14,14,14,0.06)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field .hint{font-size:12px;color:var(--muted);margin-top:6px}

.form-foot{display:flex;align-items:center;justify-content:space-between;margin:8px 0 20px;font-size:13px}
.check{display:flex;align-items:center;gap:8px;color:var(--muted);cursor:pointer}
.check input{accent-color:var(--terra)}
.link{color:var(--terra);font-weight:600}
.link:hover{text-decoration:underline}

.btn-primary{
  width:100%;padding:16px;background:var(--ink);color:white;border:none;border-radius:12px;
  font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s, transform .15s;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.btn-primary:hover{background:var(--terra);transform:translateY(-1px)}
.btn-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none}

.alt-link{text-align:center;margin-top:24px;font-size:14px;color:var(--muted)}

.err{background:#FFF1EC;border:1px solid #F2A993;color:#8A2B15;padding:12px 14px;border-radius:10px;font-size:13px;margin-bottom:16px;display:none}
.err.show{display:block}

@media (max-width: 900px){
  .auth-wrap{grid-template-columns:1fr}
  .auth-left{padding:40px 28px;min-height:260px}
  .auth-headline{font-size:32px}
  .auth-right{padding:36px 24px}
}
