/**
 * css/dashboard.css — header/nav layout + page-specific arrangement.
 */
.app-header{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand-icon{
  width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--secondary-teal),var(--primary-dark-teal)); color:#fff; font-weight:800; flex-shrink:0;
}
.brand-name{ font-size:18px; font-weight:800; }
.header-actions{ display:flex; align-items:center; gap:8px; position:relative; }

.card-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:14px; }
.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:22px; }

.greeting-block{ margin-bottom:20px; }
.greeting-title{ font-size:22px; font-weight:800; }
.greeting-date{ font-size:13px; color:var(--text-soft); margin-top:2px; }

.capacity-pill{ font-size:11.5px; font-weight:700; color:var(--secondary-teal); background:#EAF3F5; padding:4px 10px; border-radius:999px; }

/* Amal / Admin weekly card grid */
.overview-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-bottom:20px; }
.week-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; }
.week-day-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md); padding:12px; cursor:pointer; }
.week-day-card:hover{ border-color:var(--secondary-teal); }
.week-day-card .day-name{ font-weight:700; font-size:13px; margin-bottom:6px; }
.week-day-card .day-meta{ font-size:11.5px; color:var(--text-soft); }

.tabs{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px; }
.tab-btn{ padding:8px 14px; border-radius:999px; border:1px solid var(--border); background:var(--bg); font-size:12.5px; font-weight:700; color:var(--text-soft); cursor:pointer; }
.tab-btn.active{ background:var(--primary-dark-teal); border-color:var(--primary-dark-teal); color:#fff; }
.tab-panel.hidden{ display:none; }

.fun-fact-card{ background:linear-gradient(135deg,#EAF3F5,#F3F8FA); border:1px dashed var(--muted-teal); border-radius:var(--radius-md); padding:16px; font-size:13.5px; font-weight:600; color:var(--primary-dark-teal); }

.page-nav{
  display:flex; justify-content:center; gap:6px; margin-bottom:20px;
  background:var(--card); border:1px solid var(--border); border-radius:999px;
  padding:6px; box-shadow:var(--shadow-soft); flex-wrap:wrap;
}
.page-nav a{
  display:flex; align-items:center; gap:6px;
  text-decoration:none; color:var(--text-soft); font-size:12.5px; font-weight:700;
  padding:9px 18px; border-radius:999px;
}
.page-nav a.active{ background:var(--primary-dark-teal); color:#fff; }
.page-nav .nav-icon{ font-size:15px; }

/* =========================== PREMIUM HEADER / HERO (new) =========================== */
.date-badge{
  display:inline-flex; align-items:center; font-size:12.5px; font-weight:700; color:var(--text-soft);
  background:var(--card); border:1px solid var(--border); border-radius:999px; padding:7px 16px;
}
.top-bar{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.top-bar .brand-block{ text-align:end; }
.top-bar .brand-title{ font-size:15px; font-weight:800; }
.top-bar .brand-sub{ font-size:11.5px; color:var(--text-faint); }

.pill-toggle-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.pill-toggle{
  display:inline-flex; background:var(--card); border:1px solid var(--border); border-radius:999px; padding:4px;
  box-shadow:var(--shadow-soft);
}
.pill-toggle button{
  border:none; background:transparent; padding:8px 16px; border-radius:999px; font-size:12.5px; font-weight:700;
  color:var(--text-soft); cursor:pointer; display:flex; align-items:center; gap:6px;
}
.pill-toggle button.active{ background:var(--primary-dark-teal); color:#fff; }

.status-bar{
  display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--border);
  border-radius:999px; padding:14px 20px; margin-bottom:22px; box-shadow:var(--shadow-soft); font-size:13.5px; font-weight:600;
}
.status-bar .status-icon{ font-size:16px; flex-shrink:0; }

.hero-grid{ display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:24px; }
@media (min-width:760px){ .hero-grid{ grid-template-columns:280px 1fr; } }

.hero-card{
  background:linear-gradient(160deg,var(--primary-dark-teal),var(--secondary-teal));
  border-radius:var(--radius-lg); padding:24px; color:#fff; min-height:210px;
  display:flex; flex-direction:column; justify-content:space-between; box-shadow:var(--shadow);
}
.hero-card .hero-label{ font-size:11px; font-weight:700; opacity:.75; text-transform:uppercase; letter-spacing:.05em; }
.hero-card .hero-month{ font-size:34px; font-weight:800; font-family:'Plus Jakarta Sans',sans-serif; margin:6px 0 0; }
.hero-card .hero-year{ font-size:15px; font-weight:600; opacity:.85; }
.hero-card .hero-quote{ font-size:11.5px; opacity:.7; border-top:1px solid rgba(255,255,255,.2); padding-top:12px; margin-top:12px; }

.hero-content{ background:var(--card); border-radius:var(--radius-lg); padding:26px; box-shadow:var(--shadow); border:1px solid var(--border); }
.hero-eyebrow{ font-size:12.5px; font-weight:700; color:var(--gold); margin-bottom:6px; }
.hero-headline{ font-size:24px; font-weight:800; line-height:1.35; margin-bottom:8px; }
.hero-sub{ font-size:13.5px; color:var(--text-soft); margin-bottom:18px; }
.hero-links{ display:flex; gap:10px; flex-wrap:wrap; }
.hero-link-card{
  display:flex; align-items:center; gap:10px; background:var(--bg); border:1px solid var(--border);
  border-radius:var(--radius-md); padding:10px 14px; text-decoration:none; color:var(--text); flex:1; min-width:160px;
  cursor:pointer;
}
.hero-link-card .badge-icon{ width:34px; height:34px; }
.hero-link-card .link-title{ font-size:12.5px; font-weight:700; }
.hero-link-card .link-sub{ font-size:11px; color:var(--text-faint); }

.badge-icon{
  width:40px; height:40px; border-radius:12px; background:var(--gold-soft); color:var(--gold);
  display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0;
}
.badge-icon.navy{ background:var(--primary-dark-teal); color:#fff; }

.notice-bar{
  display:flex; align-items:center; gap:14px; background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:16px 20px; margin-bottom:20px; box-shadow:var(--shadow-soft);
}
.notice-bar .notice-text{ font-size:13.5px; font-weight:600; }
.notice-bar .notice-sub{ font-size:12px; color:var(--text-soft); margin-top:2px; }

.section-heading{ margin-bottom:14px; }
.section-heading h2{ font-size:17px; font-weight:800; }
.section-heading .sub{ font-size:13px; color:var(--text-soft); margin-top:2px; }

.spotlight-card{
  display:flex; align-items:center; gap:14px; background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:16px 18px; box-shadow:var(--shadow-soft); margin-bottom:10px;
}
.spotlight-card .badge-icon{ width:46px; height:46px; border-radius:14px; font-weight:800; font-size:16px; }
.spotlight-card .spotlight-name{ font-weight:700; font-size:14px; }
.spotlight-card .spotlight-meta{ font-size:12px; color:var(--text-soft); }
.spotlight-card .spotlight-badge{
  margin-inline-start:auto; font-size:11px; font-weight:700; background:var(--gold-soft); color:var(--gold);
  padding:4px 10px; border-radius:999px; white-space:nowrap;
}
