.safe-account-card{max-width:900px;margin:24px auto;background:#fff;border:1px solid #e4e7eb;border-radius:14px;box-shadow:0 8px 28px rgba(15,23,42,.07);padding:24px;box-sizing:border-box}.safe-member-dashboard{width:calc(100% - 40px);max-width:1120px;margin:-16px auto 24px;background:#fff;border:1px solid #e4e7eb;border-radius:14px;box-shadow:0 8px 28px rgba(15,23,42,.07);padding:24px;box-sizing:border-box}.safe-account-card h2,.safe-member-dashboard h2,.safe-member-dashboard h3{margin-top:0}.safe-account-form{display:grid;gap:14px}.safe-account-form label{display:grid;gap:6px;font-weight:600}.safe-account-form input[type=text],.safe-account-form input[type=email],.safe-account-form input[type=password]{width:100%;padding:11px 12px;border:1px solid #cfd6df;border-radius:8px;box-sizing:border-box}.safe-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.safe-btn,.safe-account-form .safe-btn{display:inline-block;width:auto;border:0;border-radius:8px;padding:10px 16px;background:#143b63;color:#fff!important;text-decoration:none;cursor:pointer;font-weight:600}.safe-btn.secondary{background:#eef2f6;color:#18344f!important}.safe-account-foot{margin-bottom:0}.safe-account-notice{max-width:900px;margin:16px auto;padding:12px 14px;border-radius:8px}.safe-account-notice.success{background:#edf8f0;border:1px solid #b8e0c2}.safe-account-notice.error{background:#fff0f0;border:1px solid #efb9b9}.safe-logged-card{display:flex;gap:18px;align-items:center}.safe-logged-card img{border-radius:50%}.safe-dashboard-cover{height:150px;border-radius:12px;background:linear-gradient(135deg,#0b2f55,#486f91);background-size:cover;background-position:center}.safe-dashboard-head{display:flex;gap:18px;align-items:center;margin:-46px 20px 24px}.safe-dashboard-avatar{border-radius:50%;border:5px solid #fff;background:#fff}.safe-dashboard-id{flex:1;padding-top:46px}.safe-dashboard-id h2{margin-bottom:2px}.safe-dashboard-actions{padding-top:46px;display:flex;gap:8px;flex-wrap:wrap}.safe-badges{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.safe-badges span{background:#eef3f8;border-radius:999px;padding:5px 10px;font-size:13px}.safe-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.safe-dashboard-grid section,.safe-dashboard-section{border:1px solid #e4e7eb;border-radius:12px;padding:18px}.safe-dashboard-grid dl{display:grid;grid-template-columns:140px 1fr;gap:9px 12px;margin:0}.safe-dashboard-grid dt{font-weight:600}.safe-dashboard-grid dd{margin:0}.safe-favorites-list{margin:0;padding-left:18px}.safe-favorites-list li{margin:0 0 10px}.safe-favorites-list small{display:block;opacity:.65}.safe-favorite-form{display:inline}.safe-favorite-btn,.safe-favorite-link{border:1px solid #ccd5df;background:#fff;border-radius:999px;padding:7px 12px;cursor:pointer;text-decoration:none}.safe-favorite-btn[aria-pressed=true]{background:#fff4f4}.safe-dashboard-section{margin-top:18px}@media(max-width:700px){.safe-member-dashboard{width:calc(100% - 24px);margin:16px auto 24px;padding:18px}.safe-dashboard-head{align-items:flex-start;flex-wrap:wrap}.safe-dashboard-id,.safe-dashboard-actions{padding-top:0}.safe-dashboard-grid{grid-template-columns:1fr}.safe-dashboard-grid dl{grid-template-columns:1fr}.safe-dashboard-grid dd{margin-bottom:6px}}

.safe-account-turnstile-wrap{min-height:72px;margin:2px 0 4px;display:flex;align-items:center}.safe-turnstile-loading{font-size:13px;color:#667085}.safe-turnstile-error{font-size:13px;line-height:1.45;color:#b42318;background:#fff1f0;border:1px solid #fecdca;border-radius:8px;padding:10px 12px;width:100%;box-sizing:border-box}


/* SAFE profile photo controls */
.safe-profile-avatar{display:block;object-fit:cover;aspect-ratio:1/1}.safe-dashboard-avatar{width:108px;height:108px}.safe-dashboard-avatar-link{position:relative;display:block;flex:0 0 108px;border-radius:50%;text-decoration:none!important;color:inherit}.safe-dashboard-avatar-link .safe-profile-avatar{border-radius:50%;border:5px solid #fff;background:#fff}.safe-avatar-edit{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);white-space:nowrap;background:#143b63;color:#fff;border:2px solid #fff;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;line-height:1.2;box-shadow:0 2px 8px rgba(15,23,42,.18)}.safe-dashboard-avatar-link:hover .safe-avatar-edit,.safe-dashboard-avatar-link:focus .safe-avatar-edit{background:#0b2f55}.safe-login-avatar-link{display:block;flex:0 0 auto;border-radius:50%}.safe-login-avatar-link .safe-profile-avatar{width:72px;height:72px;border-radius:50%}.safe-profile-photo-editor{display:flex;align-items:center;gap:20px;padding:16px;border:1px solid #e4e7eb;border-radius:12px;background:#f8fafc}.safe-profile-photo-preview{flex:0 0 120px}.safe-profile-photo-preview .safe-profile-avatar{width:120px;height:120px;border-radius:50%;background:#fff;border:4px solid #fff;box-shadow:0 2px 10px rgba(15,23,42,.10)}.safe-profile-photo-controls{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:8px}.safe-profile-photo-controls>strong{font-size:18px}.safe-profile-photo-controls>span{font-size:13px;color:#667085}.safe-photo-file{display:inline-flex!important;align-items:center!important;justify-content:center;padding:9px 13px;border-radius:8px;background:#143b63;color:#fff!important;cursor:pointer;font-weight:600!important}.safe-photo-file input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.safe-photo-remove{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center;gap:7px!important;font-weight:400!important;font-size:13px}@media(max-width:700px){.safe-profile-photo-editor{align-items:flex-start;flex-direction:column}.safe-profile-photo-preview{flex-basis:auto}.safe-avatar-edit{font-size:10px}}

/* SAFE internship certificate link */
.safe-dashboard-tools{display:flex;align-items:center;gap:10px;margin:0 0 18px}.safe-certificate-btn{background:#0b7895!important}.safe-certificate-btn:hover,.safe-certificate-btn:focus{background:#075f77!important}

/* v3.5.6 - wider login card so all controls remain inside the card */
.safe-login-card{
  width:420px;
  max-width:100%;
  padding:24px;
}
.safe-login-card .safe-account-form,
.safe-login-card .safe-account-turnstile-wrap{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.safe-login-card .safe-account-turnstile-wrap > div,
.safe-login-card .cf-turnstile,
.safe-login-card iframe{
  max-width:100%;
}
@media(max-width:520px){
  .safe-login-card{
    width:100%;
    padding:20px;
  }
}

/* v3.5.8 - definitive account-card width fix.
   Keep equal breathing room on both sides and prevent theme/Elementor rules
   from forcing fields, Turnstile, or buttons beyond the white card. */
.safe-account-card.safe-login-card,
.safe-account-card.safe-logged-card{
  box-sizing:border-box !important;
}

@media (min-width:701px){
  .safe-account-card.safe-login-card,
  .safe-account-card.safe-logged-card{
    width:500px !important;
    max-width:500px !important;
    min-width:500px !important;
    padding:28px 36px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .safe-login-card .safe-account-form,
  .safe-login-card .safe-account-form label,
  .safe-login-card .safe-account-form input[type=text],
  .safe-login-card .safe-account-form input[type=email],
  .safe-login-card .safe-account-form input[type=password],
  .safe-login-card .safe-account-turnstile-wrap,
  .safe-login-card .safe-btn{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .safe-login-card .safe-account-turnstile-wrap{
    overflow:hidden !important;
  }

  .safe-login-card .safe-account-turnstile-wrap > div,
  .safe-login-card .cf-turnstile{
    max-width:100% !important;
  }

  .safe-login-card .safe-account-foot{
    margin-top:2px;
  }
}

@media (max-width:700px){
  .safe-account-card.safe-login-card,
  .safe-account-card.safe-logged-card{
    width:calc(100% - 24px) !important;
    max-width:500px !important;
    min-width:0 !important;
    padding:22px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .safe-login-card .safe-account-form,
  .safe-login-card .safe-account-form label,
  .safe-login-card .safe-account-form input[type=text],
  .safe-login-card .safe-account-form input[type=email],
  .safe-login-card .safe-account-form input[type=password],
  .safe-login-card .safe-account-turnstile-wrap,
  .safe-login-card .safe-btn{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}


/* v3.5.9 - built-in internship certificate request fallback */
.safe-certificate-request-card{max-width:760px}
.safe-certificate-intro{margin-top:-4px;color:#52606d}
.safe-certificate-request-form textarea,
.safe-certificate-request-form input[type=date]{
  width:100%;
  padding:11px 12px;
  border:1px solid #cfd6df;
  border-radius:8px;
  box-sizing:border-box;
  font:inherit;
  background:#fff;
}
.safe-certificate-request-form textarea{resize:vertical;min-height:110px}
.safe-certificate-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:700px){.safe-certificate-date-grid{grid-template-columns:1fr}}
