/* ===========================================================
   RendaBot — Area do Aluno
   Mesma identidade visual da landing (creme/sage/dourado)
   =========================================================== */

:root {
  --cream:      #f9f6f0;
  --cream2:     #f2ede3;
  --cream3:     #e4ddd0;
  --sage:       #7a9e7e;
  --sage-dark:  #4a7050;
  --sage-light: #c8deca;
  --sage-pale:  #eef4ee;
  --gold:       #c9a84c;
  --gold-light: #f5e9c8;
  --gold-pale:  #fdf8ee;
  --text:       #2a2a22;
  --text2:      #5a5a4a;
  --text3:      #9a9a8a;
  --white:      #ffffff;
  --shadow:     0 4px 24px rgba(74,112,80,.10);
  --shadow-hv:  0 8px 32px rgba(74,112,80,.18);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'DM Sans',sans-serif;
  background:var(--cream);
  color:var(--text);
  line-height:1.6;
  min-height:100vh;
}

/* ---------- NAVBAR ---------- */
.aluno-nav {
  position:sticky; top:0; z-index:100;
  background:rgba(249,246,240,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--cream3);
  padding:0 24px; height:64px;
  display:flex; align-items:center; justify-content:space-between;
}
.aluno-nav-logo {
  display:flex; align-items:center; gap:8px;
  font-family:'Playfair Display',serif;
  font-size:20px; font-weight:700;
  color:var(--text); text-decoration:none;
}
.aluno-nav-dot {
  width:8px; height:8px; background:var(--sage);
  border-radius:50%;
}
.aluno-nav-right {
  display:flex; align-items:center; gap:14px;
}
.aluno-nav-user {
  display:flex; align-items:center; gap:10px;
  font-size:13px; color:var(--text2);
}
.aluno-nav-avatar {
  width:32px; height:32px; border-radius:50%;
  background:var(--sage-pale);
  border:1px solid var(--sage-light);
  display:flex; align-items:center; justify-content:center;
  color:var(--sage-dark); font-weight:600; font-size:13px;
  overflow:hidden;
}
.aluno-nav-avatar img { width:100%; height:100%; object-fit:cover; }
.btn-sair {
  background:transparent; border:1px solid var(--cream3);
  color:var(--text2); padding:7px 14px; border-radius:99px;
  font-size:12px; cursor:pointer;
  font-family:'DM Sans',sans-serif;
  transition:all .2s;
}
.btn-sair:hover { background:var(--cream2); border-color:var(--sage-light); }

/* ---------- BOTOES ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--sage-dark); color:white;
  padding:14px 28px; border-radius:99px;
  font-size:15px; font-weight:500; cursor:pointer;
  border:none; font-family:'DM Sans',sans-serif;
  transition:all .25s;
  box-shadow:0 4px 16px rgba(74,112,80,.20);
}
.btn:hover { background:var(--sage); transform:translateY(-1px); box-shadow:var(--shadow-hv); }
.btn-outline {
  background:transparent; color:var(--sage-dark);
  border:1px solid var(--sage-light); box-shadow:none;
}
.btn-outline:hover { background:var(--sage-pale); transform:none; box-shadow:none; }
.btn-gold {
  background:var(--gold); color:white;
  box-shadow:0 4px 16px rgba(201,168,76,.25);
}
.btn-gold:hover { background:#b59440; }
.btn-sm { padding:9px 18px; font-size:13px; }

/* ---------- BADGES E TAGS ---------- */
.badge {
  display:inline-block;
  background:var(--gold-pale); border:1px solid var(--gold-light);
  color:var(--gold);
  font-size:11px; font-weight:500;
  padding:4px 12px; border-radius:99px;
  letter-spacing:.5px; text-transform:uppercase;
}
.badge-sage {
  background:var(--sage-pale); border-color:var(--sage-light);
  color:var(--sage-dark);
}

/* ---------- LOADING ---------- */
.loading {
  display:flex; align-items:center; justify-content:center;
  min-height:60vh; color:var(--text3); font-size:14px;
}

/* ---------- TOAST ---------- */
.toast {
  position:fixed; bottom:24px; left:50%;
  transform:translateX(-50%) translateY(20px);
  background:var(--text); color:white;
  padding:12px 22px; border-radius:99px;
  font-size:13px; opacity:0; pointer-events:none;
  transition:all .3s; z-index:500;
}
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
