/* ═══════════════════════════════════════════
   Profile & Journal Page
   ═══════════════════════════════════════════ */
.profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem }
.form-row { margin-bottom: 1.2rem }
.form-row label {
  display: block; font-size: .75rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--light); margin-bottom: .4rem;
}
.form-row input, .form-row select {
  width: 100%; padding: .7rem .9rem; border: 1.5px solid var(--border);
  border-radius: 10px; font-size: .9rem; color: var(--dark);
  background: var(--cream); transition: all .2s; outline: none;
}
.form-row input:focus, .form-row select:focus { border-color: var(--rose); background: white }
.btn-save {
  padding: .7rem 2rem; background: var(--sage); color: white; border: none;
  border-radius: 10px; font-size: .85rem; font-weight: 600; transition: all .2s;
}
.btn-save:hover { background: #6a8a6e }
.btn-danger {
  padding: .7rem 1.5rem; background: transparent; color: #e05555;
  border: 1.5px solid #e05555; border-radius: 10px; font-size: .85rem;
  font-weight: 500; transition: all .2s;
}
.btn-danger:hover { background: #fee8e8 }

/* Weight chart */
.weight-chart-svg { width: 100%; overflow: visible }
.wc-line { fill: none; stroke: var(--rose); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round }
.wc-area { fill: url(#wc-grad); opacity: .15 }
.wc-dot { fill: var(--rose); stroke: white; stroke-width: 2 }
.wc-axis { stroke: var(--border); stroke-width: 1 }
.wc-label { font-family: var(--sans); font-size: 11px; fill: var(--light) }

/* Weight add form */
.weight-form { display: flex; gap: .75rem; align-items: flex-end; margin-bottom: 1.2rem }
.weight-form .wf-field { flex: 1 }
.weight-form .wf-field label {
  display: block; font-size: .72rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--light); margin-bottom: .35rem;
}
.weight-form .wf-field input {
  width: 100%; padding: .65rem .9rem; border: 1.5px solid var(--border);
  border-radius: 10px; font-size: .9rem; background: var(--cream);
  color: var(--dark); outline: none; transition: all .2s;
}
.weight-form .wf-field input:focus { border-color: var(--rose); background: white }
.btn-wadd {
  padding: .65rem 1.2rem; background: var(--rose); color: white; border: none;
  border-radius: 10px; font-size: .83rem; font-weight: 600; transition: all .2s; white-space: nowrap;
}
.btn-wadd:hover { background: #c0667a }

/* Symptom journal */
.journal-list { display: flex; flex-direction: column; gap: .6rem; max-height: 300px; overflow-y: auto }
.journal-entry { padding: .75rem 1rem; background: var(--cream); border-radius: 10px; font-size: .83rem }
.je-header { display: flex; justify-content: space-between; margin-bottom: .25rem }
.je-date { font-weight: 600; font-size: .75rem; color: var(--rose) }
.je-week { font-size: .7rem; color: var(--light) }
.je-text { color: var(--mid); line-height: 1.6 }
.je-tags { display: flex; gap: .3rem; margin-top: .35rem; flex-wrap: wrap }

/* Symptom chips */
.symptom-chip {
  padding: .3rem .8rem; border-radius: 100px; border: 1.5px solid var(--border);
  background: white; font-size: .75rem; color: var(--mid); cursor: pointer; transition: all .2s;
}
.symptom-chip.active { background: var(--sage-p); border-color: var(--sage); color: var(--sage) }
