.shared-dashboard-feedback{

  display:
    flex;

  flex-direction:
    column;

  align-items:
    center;

  justify-content:
    center;

  gap:
    12px;

  min-height:
    160px;

  padding:
    28px 20px;

  border:
    1px solid #e5e7eb;

  border-radius:
    10px;

  background:
    #ffffff;

  color:
    #6b7280;

  text-align:
    center;

}


.shared-dashboard-feedback-message{

  max-width:
    520px;

  font-size:
    14px;

  line-height:
    1.5;

}


.shared-dashboard-spinner{

  width:
    28px;

  height:
    28px;

  border:
    3px solid #e5e7eb;

  border-top-color:
    #16a34a;

  border-radius:
    50%;

  animation:
    shared-dashboard-spin .8s linear infinite;

}


.shared-dashboard-error-icon{

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    36px;

  height:
    36px;

  border-radius:
    50%;

  background:
    #fee2e2;

  color:
    #991b1b;

  font-size:
    20px;

  font-weight:
    700;

}


.shared-dashboard-error{

  border-color:
    #fecaca;

  background:
    #fffafa;

}


.shared-dashboard-empty{

  min-height:
    120px;

}


.shared-dashboard-retry-button{

  min-height:
    36px;

  padding:
    8px 14px;

  border:
    1px solid #16a34a;

  border-radius:
    8px;

  background:
    #16a34a;

  color:
    #ffffff;

  font-size:
    13px;

  font-weight:
    600;

  cursor:
    pointer;

  transition:
    background .2s ease,
    border-color .2s ease;

}


.shared-dashboard-retry-button:hover{

  background:
    #15803d;

  border-color:
    #15803d;

}


@keyframes shared-dashboard-spin{

  from{

    transform:
      rotate(0deg);

  }

  to{

    transform:
      rotate(360deg);

  }

}


.shared-refresh-spinner{

  width:
    14px;

  height:
    14px;

  border:
    2px solid rgba(255,255,255,.45);

  border-top-color:
    #ffffff;

  border-radius:
    50%;

  animation:
    shared-dashboard-spin .8s linear infinite;

}


button.is-loading{

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  gap:
    8px;

  cursor:
    wait;

}