/* =========================================================
   Gymsessed Profile — mobile app style
   ========================================================= */

.gys-app-shell .gys-profile-view {
  gap: 14px !important;
}

/* Main profile hero */
.gys-app-shell .gys-profile-hero {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 146px !important;
  padding: 18px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at top right, rgba(173, 255, 0, 0.22), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025)),
    var(--gys-surface) !important;
  border: 1px solid rgba(173, 255, 0, 0.16) !important;
  border-radius: var(--gys-radius-lg) !important;
  box-shadow: var(--gys-shadow) !important;
}

.gys-app-shell .gys-profile-hero::after {
  content: "" !important;
  position: absolute !important;
  right: -52px !important;
  top: -52px !important;
  width: 132px !important;
  height: 132px !important;
  border-radius: 999px !important;
  background: rgba(173, 255, 0, 0.08) !important;
  pointer-events: none !important;
}

.gys-app-shell .gys-profile-avatar {
  width: 78px !important;
  min-width: 78px !important;
  height: 78px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at top right, rgba(173, 255, 0, 0.36), transparent 44%),
    rgba(173, 255, 0, 0.12) !important;
  border: 1px solid rgba(173, 255, 0, 0.3) !important;
  color: var(--gys-primary) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  box-shadow: var(--gys-glow) !important;
  position: relative !important;
  z-index: 2 !important;
}

.gys-app-shell .gys-profile-avatar img,
.gys-app-shell .gys-profile-photo-preview img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.gys-app-shell .gys-profile-avatar span,
.gys-app-shell .gys-profile-photo-preview span {
  color: var(--gys-primary) !important;
  font-size: 34px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.gys-app-shell .gys-profile-main {
  min-width: 0 !important;
  flex: 1 !important;
  position: relative !important;
  z-index: 2 !important;
}

.gys-app-shell .gys-profile-main h2 {
  margin: 0 !important;
  color: var(--gys-text) !important;
  font-size: 30px !important;
  line-height: 0.96 !important;
  font-weight: 950 !important;
  letter-spacing: -0.065em !important;
  overflow-wrap: anywhere !important;
}

.gys-app-shell .gys-profile-main p:not(.gys-muted) {
  margin: 8px 0 0 !important;
  color: var(--gys-text-muted) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Stats */
.gys-app-shell .gys-profile-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.gys-app-shell .gys-profile-stat {
  min-height: 108px !important;
  padding: 16px !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025)),
    var(--gys-surface) !important;
  border: 1px solid var(--gys-border) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.3) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  text-align: left !important;
}

.gys-app-shell .gys-profile-stat span {
  color: var(--gys-text-muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

.gys-app-shell .gys-profile-stat strong {
  display: block !important;
  margin-top: 14px !important;
  color: var(--gys-primary) !important;
  font-size: 36px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.06em !important;
}

/* Profile cards */
.gys-app-shell .gys-profile-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 18px !important;
  border-radius: var(--gys-radius-lg) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025)),
    var(--gys-surface) !important;
  border: 1px solid var(--gys-border) !important;
  box-shadow: var(--gys-shadow) !important;
}

.gys-app-shell .gys-profile-card .gys-section-head {
  margin-bottom: 0 !important;
}

.gys-app-shell .gys-profile-card .gys-section-head h3 {
  margin: 0 !important;
  color: var(--gys-text) !important;
  font-size: 21px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.045em !important;
}

.gys-app-shell .gys-profile-note {
  margin: 8px 0 0 !important;
  color: var(--gys-text-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}

.gys-app-shell .gys-profile-field-note {
  margin: -2px 0 0 !important;
  color: var(--gys-text-muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
}

/* Photo editor */
.gys-app-shell .gys-profile-photo-editor {
  display: grid !important;
  grid-template-columns: 92px 1fr !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top right, rgba(173, 255, 0, 0.08), transparent 42%),
    rgba(255, 255, 255, 0.045) !important;
  border: 1px solid var(--gys-border) !important;
}

.gys-app-shell .gys-profile-photo-preview {
  width: 92px !important;
  min-width: 92px !important;
  height: 92px !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at top right, rgba(173, 255, 0, 0.36), transparent 44%),
    rgba(173, 255, 0, 0.12) !important;
  border: 1px solid rgba(173, 255, 0, 0.3) !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: var(--gys-glow) !important;
}

.gys-app-shell .gys-profile-photo-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  min-width: 0 !important;
}

.gys-app-shell .gys-profile-photo-upload,
.gys-app-shell .gys-profile-photo-remove,
.gys-app-shell button.gys-profile-photo-remove {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 17px !important;
  padding: 0 14px !important;
  font-family: var(--gys-font) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}

.gys-app-shell .gys-profile-photo-upload {
  background: var(--gys-primary) !important;
  color: #050505 !important;
  border: 0 !important;
  box-shadow: var(--gys-glow) !important;
}

.gys-app-shell .gys-profile-photo-upload:hover {
  background: var(--gys-primary-hover) !important;
  color: #050505 !important;
  transform: translateY(-1px) !important;
}

.gys-app-shell .gys-profile-photo-upload:active {
  background: var(--gys-primary-active) !important;
  transform: scale(0.98) !important;
}

.gys-app-shell .gys-profile-photo-remove,
.gys-app-shell button.gys-profile-photo-remove {
  background: rgba(255, 255, 255, 0.065) !important;
  color: var(--gys-text-muted) !important;
  border: 1px solid var(--gys-border) !important;
}

.gys-app-shell .gys-profile-photo-remove:hover,
.gys-app-shell button.gys-profile-photo-remove:hover {
  background: rgba(255, 71, 87, 0.14) !important;
  color: #ff9da6 !important;
  border-color: rgba(255, 71, 87, 0.34) !important;
}

/* Form layout */
.gys-app-shell .gys-profile-form-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

.gys-app-shell .gys-profile-view .gys-field {
  gap: 8px !important;
}

.gys-app-shell .gys-profile-view .gys-field label {
  color: var(--gys-text-soft) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

.gys-app-shell .gys-profile-view .gys-field input,
.gys-app-shell .gys-profile-view .gys-field textarea {
  min-height: 56px !important;
  border-radius: 19px !important;
  background: rgba(255, 255, 255, 0.055) !important;
  border: 1px solid var(--gys-border) !important;
  color: var(--gys-text) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.gys-app-shell .gys-profile-view .gys-field input:disabled {
  opacity: 0.68 !important;
  color: var(--gys-text-muted) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  cursor: not-allowed !important;
}

.gys-app-shell .gys-profile-view .gys-field input:focus,
.gys-app-shell .gys-profile-view .gys-field textarea:focus {
  border-color: rgba(173, 255, 0, 0.55) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 0 0 3px rgba(173, 255, 0, 0.1) !important;
}

/* Password */
.gys-app-shell .gys-password-wrap {
  position: relative !important;
  width: 100% !important;
}

.gys-app-shell .gys-password-wrap input {
  padding-right: 76px !important;
}

.gys-app-shell .gys-password-toggle,
.gys-app-shell button.gys-password-toggle {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: absolute !important;
  right: 7px !important;
  top: 7px !important;
  width: 62px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.075) !important;
  color: var(--gys-text-muted) !important;
  font-family: var(--gys-font) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gys-app-shell .gys-password-toggle:hover,
.gys-app-shell button.gys-password-toggle:hover {
  background: rgba(173, 255, 0, 0.12) !important;
  color: var(--gys-primary) !important;
}

.gys-app-shell .gys-password-strength {
  width: 100% !important;
  height: 8px !important;
  background: rgba(255, 255, 255, 0.065) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  margin-top: 2px !important;
}

.gys-app-shell .gys-password-strength span {
  display: block !important;
  width: 0% !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: rgba(255, 71, 87, 0.9) !important;
  transition: width 0.18s ease, background 0.18s ease !important;
}

.gys-app-shell .gys-password-strength[data-score="1"] span {
  width: 20% !important;
  background: rgba(255, 71, 87, 0.9) !important;
}

.gys-app-shell .gys-password-strength[data-score="2"] span {
  width: 40% !important;
  background: rgba(255, 159, 28, 0.9) !important;
}

.gys-app-shell .gys-password-strength[data-score="3"] span {
  width: 60% !important;
  background: rgba(255, 210, 64, 0.9) !important;
}

.gys-app-shell .gys-password-strength[data-score="4"] span {
  width: 82% !important;
  background: rgba(173, 255, 0, 0.85) !important;
}

.gys-app-shell .gys-password-strength[data-score="5"] span {
  width: 100% !important;
  background: var(--gys-primary) !important;
}

.gys-app-shell .gys-password-hint {
  margin: 0 !important;
  color: var(--gys-text-muted) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

/* Danger/session card */
.gys-app-shell .gys-profile-danger-card {
  background:
    radial-gradient(circle at top right, rgba(255, 71, 87, 0.09), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025)),
    var(--gys-surface) !important;
  border-color: rgba(255, 71, 87, 0.16) !important;
}

.gys-app-shell .gys-btn-danger,
.gys-app-shell button.gys-btn-danger {
  background: rgba(255, 71, 87, 0.14) !important;
  color: #ff9da6 !important;
  border: 1px solid rgba(255, 71, 87, 0.3) !important;
  box-shadow: none !important;
}

.gys-app-shell .gys-btn-danger:hover,
.gys-app-shell button.gys-btn-danger:hover {
  background: rgba(255, 71, 87, 0.21) !important;
  color: #ffc0c6 !important;
  border-color: rgba(255, 71, 87, 0.46) !important;
  transform: translateY(-1px) !important;
}

.gys-app-shell .gys-btn-danger:active,
.gys-app-shell button.gys-btn-danger:active {
  transform: scale(0.98) !important;
}

/* Messages inside profile */
.gys-app-shell .gys-profile-view .gys-form-message {
  margin: 0 !important;
}

/* Small screens */
@media (max-width: 390px) {
  .gys-app-shell .gys-profile-hero {
    align-items: flex-start !important;
  }

  .gys-app-shell .gys-profile-avatar {
    width: 68px !important;
    min-width: 68px !important;
    height: 68px !important;
    border-radius: 22px !important;
  }

  .gys-app-shell .gys-profile-main h2 {
    font-size: 26px !important;
  }

  .gys-app-shell .gys-profile-photo-editor {
    grid-template-columns: 78px 1fr !important;
    gap: 12px !important;
  }

  .gys-app-shell .gys-profile-photo-preview {
    width: 78px !important;
    min-width: 78px !important;
    height: 78px !important;
    border-radius: 25px !important;
  }

  .gys-app-shell .gys-profile-form-grid {
    grid-template-columns: 1fr !important;
  }
}