body { font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; color: #e8e4dc; }

/* ── Header / nav ── */
header { box-shadow: 0 1px 8px rgba(0,0,0,0.4); }
nav.fixed { box-shadow: 0 -1px 8px rgba(0,0,0,0.35); }

/* ── Buttons ── */
.btn-primary   { display:inline-block; background:#d4a843; color:#0f1220; font-weight:700; padding:0.75rem 1.5rem; border-radius:0.75rem; font-size:1rem; transition:transform 0.1s, box-shadow 0.1s; box-shadow:0 2px 8px rgba(212,168,67,0.4); }
button.btn-primary { display:block; width:100%; }
.btn-primary:hover  { box-shadow:0 4px 14px rgba(212,168,67,0.55); }
.btn-primary:active { transform:scale(0.97); }
.btn-secondary { display:inline-block; background:rgba(255,255,255,0.08); color:#e8e4dc; font-weight:600; padding:0.625rem 1.25rem; border-radius:0.75rem; font-size:0.875rem; border:1px solid rgba(255,255,255,0.12); transition:transform 0.1s, background 0.1s; }
.btn-secondary:hover  { background:rgba(255,255,255,0.13); }
.btn-secondary:active { transform:scale(0.97); }
.btn-danger    { display:inline-block; background:#c0533a; color:#fff; font-weight:600; padding:0.5rem 1rem; border-radius:0.75rem; font-size:0.875rem; transition:transform 0.1s; }
.btn-danger:active { transform:scale(0.97); }

/* ── Card ── */
.card { background:#252d4a; border-radius:1rem; padding:1.25rem; border:1px solid rgba(255,255,255,0.07); box-shadow:0 4px 16px rgba(0,0,0,0.3); }

/* ── Form inputs ── */
input, select, textarea {
  background: #1e2340;
  border: 1px solid rgba(255,255,255,0.12);
  color: #e8e4dc;
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  width: 100%;
  font-size: 1rem;
  font-family: inherit;
  -webkit-text-fill-color: #e8e4dc;
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: rgba(212,168,67,0.7);
  box-shadow: 0 0 0 3px rgba(212,168,67,0.12);
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #1e2340 inset;
  -webkit-text-fill-color: #e8e4dc;
  caret-color: #e8e4dc;
}
select option { background: #14182a; color: #e8e4dc; }

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(212,168,67,0.4); border-radius: 2px; }

/* ── Flash messages ── */
.flash-success { background:rgba(22,101,52,0.3);   border:1px solid rgba(134,239,172,0.35); color:#86efac; border-radius:0.75rem; padding:0.75rem 1rem; font-size:0.875rem; }
.flash-error   { background:rgba(153,27,27,0.3);   border:1px solid rgba(252,165,165,0.35); color:#fca5a5; border-radius:0.75rem; padding:0.75rem 1rem; font-size:0.875rem; }
.flash-info    { background:rgba(30,64,175,0.3);   border:1px solid rgba(147,197,253,0.35); color:#93c5fd; border-radius:0.75rem; padding:0.75rem 1rem; font-size:0.875rem; }
.flash-warning { background:rgba(146,64,14,0.3);   border:1px solid rgba(252,211,77,0.35);  color:#fcd34d; border-radius:0.75rem; padding:0.75rem 1rem; font-size:0.875rem; }

/* ── Activity type tags ── */
.tag-rest      { background:rgba(255,255,255,0.06); color:rgba(232,228,220,0.45); }
.tag-hike      { background:rgba(30,90,60,0.45);    color:#6ee7b7; }
.tag-run       { background:rgba(30,70,175,0.45);   color:#93c5fd; }
.tag-bike      { background:rgba(8,145,178,0.4);    color:#67e8f9; }
.tag-strength  { background:rgba(180,83,9,0.45);    color:#fcd34d; }
.tag-pilates   { background:rgba(157,23,77,0.4);    color:#f9a8d4; }
.tag-treadmill { background:rgba(109,40,217,0.4);   color:#d8b4fe; }
.tag-recovery  { background:rgba(15,118,110,0.4);   color:#5eead4; }
.tag-travel    { background:rgba(161,98,7,0.4);     color:#fcd34d; }
.tag-walk      { background:rgba(22,101,52,0.4);    color:#6ee7b7; }

/* ── Safe area for bottom nav on iOS ── */
.safe-bottom { padding-bottom: env(safe-area-inset-bottom, 16px); }
