/* AFROTOOLS DASHBOARD STYLES */

/* Dashboard widget cards */
.dash-widget {
  background: #fff;
  border: 1.5px solid #E5E7EB;
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 16px;
}
.dash-widget-title {
  font-size: .88rem;
  font-weight: 800;
  color: #111827;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dash-widget-title .widget-icon { font-size: 1.1rem; }
.dash-empty {
  font-size: .82rem;
  color: #9CA3AF;
  text-align: center;
  padding: 18px 12px;
  line-height: 1.6;
}

/* Widgets grid */
.dash-widgets-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .dash-widgets-grid { grid-template-columns: 1fr; }
}

/* Tax Calendar */
.cal-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #F3F4F6;
}
.cal-item:last-child { border-bottom: none; }
.cal-date {
  min-width: 54px;
  font-size: .78rem;
  font-weight: 700;
  color: #374151;
  text-align: center;
  background: #F9FAFB;
  padding: 6px 8px;
  border-radius: 6px;
}
.cal-urgent .cal-date { background: #FEF2F2; color: #991B1B; }
.cal-soon .cal-date { background: #FFF8E8; color: #8a5c00; }
.cal-name { font-size: .82rem; font-weight: 600; color: #111827; }
.cal-meta { font-size: .7rem; color: #9CA3AF; margin-top: 2px; }
.cal-badge-urgent {
  font-size: .58rem;
  font-weight: 800;
  background: #FEE2E2;
  color: #991B1B;
  padding: 2px 8px;
  border-radius: 100px;
  letter-spacing: .06em;
  flex-shrink: 0;
}

/* Alerts */
.alert-item {
  padding: 14px;
  border-radius: 10px;
  margin-bottom: 10px;
  border-left: 3px solid;
}
.alert-item:last-child { margin-bottom: 0; }
.alert-high { background: #FEF2F2; border-color: #dc2626; }
.alert-medium { background: #FFF8E8; border-color: #F5A623; }
.alert-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.alert-severity { font-size: .68rem; font-weight: 700; letter-spacing: .04em; }
.alert-dismiss {
  background: none; border: none; font-size: 1.1rem; color: #9CA3AF; cursor: pointer;
  padding: 0 4px; line-height: 1;
}
.alert-dismiss:hover { color: #374151; }
.alert-title { font-size: .85rem; font-weight: 700; color: #111827; margin-bottom: 4px; }
.alert-desc { font-size: .78rem; color: #4b5563; line-height: 1.55; }
.alert-date { font-size: .68rem; color: #9CA3AF; margin-top: 6px; }

/* Recommendations */
.rec-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1.5px solid #E5E7EB;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: all .15s;
  margin-bottom: 8px;
}
.rec-card:last-child { margin-bottom: 0; }
.rec-card:hover { border-color: var(--color-primary); box-shadow: 0 2px 8px rgba(0,122,255,.1); }
.rec-icon {
  font-size: 1.5rem;
  width: 42px; height: 42px;
  background: #EFF6FF;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rec-name { font-size: .82rem; font-weight: 700; color: #111827; }
.rec-desc { font-size: .72rem; color: #6B7280; margin-top: 2px; line-height: 1.4; }

/* YoY Comparison */
.yoy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}
.yoy-table th {
  text-align: left;
  font-size: .68rem;
  font-weight: 700;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 8px 10px;
  border-bottom: 2px solid #E5E7EB;
}
.yoy-table td {
  padding: 10px;
  border-bottom: 1px solid #F3F4F6;
  color: #374151;
}
.yoy-label { font-weight: 600; color: #111827; }
.yoy-up { color: #dc2626; }
.yoy-down { color: var(--color-primary); }
.yoy-flat { color: #9CA3AF; }
.yoy-dates { font-size: .68rem; color: #9CA3AF; margin-top: 8px; text-align: right; }
