.auth-section{padding:80px 0 100px}
.auth-shell{width:min(460px,92%);margin:auto}
.auth-shell h1{font-size:clamp(28px,4vw,36px);margin:0 0 8px}
.auth-subtitle{color:var(--muted);margin:0 0 32px;font-size:15px}

.auth-tabs{display:flex;gap:8px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.auth-tab{background:none;border:none;padding:10px 4px;margin-right:20px;font-family:"Inter",Arial,sans-serif;font-size:15px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;position:relative;top:1px}
.auth-tab.active{color:var(--ink);border-bottom-color:var(--accent)}

.auth-panel{display:none}
.auth-panel.active{display:block}

.field{margin-bottom:18px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.field input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-family:"Inter",Arial,sans-serif;font-size:15px}
.field input:focus{outline:none;border-color:var(--accent)}

.auth-submit{width:100%;padding:13px;border:none;border-radius:8px;background:var(--ink);color:var(--bg);font-weight:500;font-size:15px;cursor:pointer;margin-top:4px}
.auth-submit:hover{background:var(--accent)}
.auth-submit:disabled{opacity:.6;cursor:not-allowed}

.auth-link-row{display:flex;justify-content:flex-end;margin:-10px 0 18px}
.auth-link-row button{background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}

.auth-msg{margin-top:16px;padding:12px 14px;border-radius:8px;font-size:14px;display:none}
.auth-msg.show{display:block}
.auth-msg.ok{background:rgba(29,78,137,.08);color:var(--accent);border:1px solid rgba(29,78,137,.2)}
.auth-msg.err{background:rgba(160,60,45,.08);color:#a03c2d;border:1px solid rgba(160,60,45,.2)}

.account-card{border:1px solid var(--line);border-radius:14px;padding:28px;margin-bottom:20px;background:var(--surface)}
.account-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.account-row:last-child{border-bottom:none}
.account-row-label{font-size:13px;color:var(--muted)}
.account-row-value{font-size:15px;font-weight:500}
.badge{font-size:12px;padding:3px 10px;border-radius:20px;font-weight:500}
.badge.yes{background:rgba(29,78,137,.12);color:var(--accent)}
.badge.no{background:rgba(160,60,45,.1);color:#a03c2d}

.account-card h2{font-size:19px;margin:0 0 6px}
.account-card p.hint{color:var(--muted);font-size:13px;margin:0 0 18px}

.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.avatar{width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:"Fraunces",Georgia,serif;font-size:20px;flex:none;object-fit:cover;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile-username{font-weight:500;font-size:17px}
.profile-name{color:var(--muted);font-size:14px}
.text-btn{background:none;border:1px solid var(--ink);border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer;color:var(--ink)}
.text-btn:hover{background:var(--ink);color:var(--bg)}
.text-btn:disabled{opacity:.5;cursor:not-allowed}

.signout-row{text-align:center;margin-top:8px}
.signout-row button{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

#recaptcha-container{margin:14px 0}


/* Uploadcare profile photo */
.photo-upload-wrap {
  margin-top: 4px;
}
.photo-upload-wrap .uploadcare--widget {
  width: 100%;
}
.photo-upload-wrap .uploadcare--widget__button {
  background: var(--ink) !important;
  border-radius: 8px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 10px 16px !important;
}
.photo-upload-wrap .uploadcare--widget__button:hover {
  background: var(--accent) !important;
}
.photo-upload-wrap .uploadcare--widget__text {
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 13px !important;
  color: var(--muted) !important;
}
.upload-hint {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
}

.dash-actions {
  margin: 0 0 28px;
}
.dash-actions .btn {
  display: inline-flex;
  padding: 11px 20px;
  font-size: 14px;
}
