/* ============================================================
   AgendaUnha — app.css (global)
   ============================================================ */
:root {
  --pink: #FF2D8D;
  --purple: #5B21B6;
  --dark: #0F0F0F;
  --radius: 12px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Segoe UI', Arial, sans-serif; font-size: 16px; color: #1a1a1a; }
a { color: var(--pink); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; }

/* ---- BUTTONS ---- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .65rem 1.4rem; border-radius: 999px; font-weight: 700; font-size: .95rem;
  cursor: pointer; border: 2px solid transparent; transition: .2s; text-decoration: none;
  line-height: 1;
}
.btn-primary   { background: var(--pink); color: #fff; border-color: var(--pink); }
.btn-primary:hover   { background: #e0007a; border-color: #e0007a; }
.btn-outline   { background: transparent; color: var(--pink); border-color: var(--pink); }
.btn-outline:hover   { background: var(--pink); color: #fff; }
.btn-danger    { background: #ef4444; color: #fff; border-color: #ef4444; }
.btn-danger:hover    { background: #dc2626; }
.btn-green     { background: #25D366; color: #fff; border-color: #25D366; }
.btn-green:hover     { background: #1da851; }
.btn-block     { width: 100%; display: flex; }
.btn-sm        { padding: .4rem .85rem; font-size: .82rem; }
.btn-lg        { padding: .85rem 2rem; font-size: 1.05rem; }

/* ---- ALERTS ---- */
.alert { padding: .85rem 1rem; border-radius: var(--radius); margin-bottom: 1rem; font-size: .95rem; }
.alert-error   { background: #fff0f0; border: 1px solid #ffcccc; color: #c00; }
.alert-success { background: #f0fff4; border: 1px solid #c6f6d5; color: #276749; }

/* ---- FORMS ---- */
.form-group   { margin-bottom: 1rem; }
.form-group label { display: block; font-weight: 600; font-size: .9rem; color: #444; margin-bottom: .35rem; }
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%; padding: .65rem .9rem; border: 1.5px solid #e0e0e0; border-radius: 10px;
  font-size: .95rem; transition: .15s; background: #fff; color: #1a1a1a;
  font-family: inherit;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { outline: none; border-color: var(--pink); box-shadow: 0 0 0 3px rgba(255,45,141,.1); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media(max-width:500px) { .form-row { grid-template-columns: 1fr; } }

/* ---- AUTH ---- */
.auth-body { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #fff0f8 0%, #f3e8ff 100%); padding: 1rem; }
.auth-container { width: 100%; max-width: 420px; }
.auth-card { background: #fff; border-radius: 20px; padding: 2.5rem 2rem; box-shadow: 0 8px 32px rgba(255,45,141,.12); }
.auth-logo { text-align: center; font-size: 2rem; font-weight: 900; margin-bottom: 1rem; }
.logo-agenda { color: #1a1a1a; }
.logo-unha   { color: var(--pink); }
.logo-star   { color: var(--pink); margin-left: .1rem; }
.auth-card h2 { text-align: center; font-size: 1.3rem; margin-bottom: 1.5rem; color: #1a1a1a; }
.auth-subtitle { text-align: center; color: #888; font-size: .9rem; margin: -.75rem 0 1.25rem; }
.auth-footer { text-align: center; margin-top: 1.25rem; color: #666; font-size: .9rem; }

/* ---- TOAST ---- */
#toast {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 9999;
  background: #1a1a1a; color: #fff; padding: .85rem 1.5rem; border-radius: 12px;
  font-size: .95rem; font-weight: 500; box-shadow: 0 8px 24px rgba(0,0,0,.2);
  transform: translateY(20px); opacity: 0; transition: .3s; pointer-events: none;
}
#toast.show { transform: translateY(0); opacity: 1; }
#toast.error { background: #ef4444; }
